void __RPC_STUB IDirectUI_Init_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);com 的dll的一个函数的原型,要想将这个原型写成delphi的并在delphi中使用,该怎么写呢?特别是IRpcStubBuffer等几个类型

解决方案 »

  1.   

    type
      PIRpcStubBuffer = ^IRpcStubBuffer;
      PIRpcChannelBuffer = ^IRpcChannelBuffer;
      PDWORD = ^DWORD;procedure __RPC_STUB IDirectUI_Init_Stub(
        This : PIRpcStubBuffer;
        _pRpcChannelBuffer : PIRpcChannelBuffer;
        _pRpcMessage : PRPC_MESSAGE;
        pdwStubPhase : PDWORD);
      

  2.   

    不好意思,刚才没注意到"__RPC_STUB" ,这个你得看下它的定义是什么了,可能应该为下面这个样子:type 
      PIRpcStubBuffer = ^IRpcStubBuffer; 
      PIRpcChannelBuffer = ^IRpcChannelBuffer; 
      PDWORD = ^DWORD; function IDirectUI_Init_Stub( 
        This : PIRpcStubBuffer; 
        _pRpcChannelBuffer : PIRpcChannelBuffer; 
        _pRpcMessage : PRPC_MESSAGE; 
        pdwStubPhase : PDWORD) : __RPC_STUB; //这后面还应该根据实际情况加上stdcall或cdecl
      

  3.   

    额,关键是delphi里面找不到和IRPCStubBuffer对应的数据类型