読まずにレスするけど、
byte *fdmpciGetBuffer(void)
の戻り値はbyte配列の先頭アドレスなんだろうから
インポートするときにシグネチャを

[DllImport( hoge.dll )]
IntPtr fdmpciGetBuffer();

ってすりゃいいんでないの?