张
张鸿林
Unregistered / Unconfirmed
GUEST, unregistred user!
对c++不熟,因此有这个问题:<br>api的相关声明:<br>1。typedef struct _RAPIINIT { <br>DWORD cbSize; <br>HANDLE heRapiInit; <br>HANDLE hrRapiInit; <br>} RAPIINIT; <br>2。CeRapiInitEx <br>HRESULT CeRapiInitEx(<br>RAPIINIT* pRapiInit );<br>我在delphi如此声明:<br>Type<br> RAPIINIT=packed record<br> cbsize : integer;<br> heRapiInit: integer;<br> hrRapiInit: integer;<br> end ;<br> PRAPIINIT =^RAPIINIT;<br>Function CeRapiInitEx(pRapiInit : PRAPIINIT):integer;<br>实现:<br>Function CeRapiInitEx(pRapiInit : PRAPIINIT):integer; external 'rapi.dll';<br><br>调用的代码:<br>Function ConnectRapi:integer;<br>var lcon :integer;<br> lRapiInit:RAPIINIT;<br>begin<br> With lRapiInit do begin<br> cbsize := SizeOf(lRapiInit) ;<br> heRapiInit := 0 ;<br> hrRapiInit := 0 ;<br> end;<br> <br> lcon := CeRapiInitEx(@lRapiInit) ; //在这里出现access vialation at address XXXXXXXXXXX<br> result:=lcon ;<br>end;<br>