請問此C#的宣告,如何改為Delphi方式 |
答題得分者是:careychen
|
wayne.jye
一般會員 發表:1 回覆:0 積分:0 註冊:2008-10-17 發送簡訊給我 |
請問各位先進:
如何將此C#的宣告,如何改為Delphi方式,在此先行謝謝 public struct SCARD_IO_REQUEST { public int dwProtocol; public int cbPciLength; } public static extern int SCardTransmit(int hCard, ref SCARD_IO_REQUEST pioSendPci, byte[] pbSendBuffer, int cbSendLength, ref SCARD_IO_REQUEST pioRecvPci, ref byte pbRecvBuffer, ref int pcbRecvLength);
------
梧桐 |
careychen
尊榮會員 發表:41 回覆:580 積分:959 註冊:2004-03-03 發送簡訊給我 |
HI, 可以這樣用
[code delphi] SCARD_IO_REQUEST = record dwProtocol: Integer; cbPciLength: Integer; end; function SCardTransmit(hCard: Integer; pioSendPci: SCARD_IO_REQUEST; pbSendBuffer: array of byte; pioRecvPci: SCARD_IO_REQUEST; pbRecvBuffer: Byte; pcbRecvLength: Integer): Integer; external; [/code] ===================引 用 wayne.jye 文 章=================== 請問各位先進: 如何將此C#的宣告,如何改為Delphi方式,在此先行謝謝 public struct SCARD_IO_REQUEST { public int dwProtocol; public int cbPciLength; } public static extern int SCardTransmit(int hCard, ref SCARD_IO_REQUEST pioSendPci, byte[] pbSendBuffer, int cbSendLength, ref SCARD_IO_REQUEST pioRecvPci, ref byte pbRecvBuffer, ref int pcbRecvLength);
------
價值的展現,來自於你用哪一個角度來看待它!! |
HikaruGo
中階會員 發表:22 回覆:69 積分:88 註冊:2007-12-09 發送簡訊給我 |
照 WinScard.dll API int 與 uint 值域是不一樣的
hCard 是 uint 應宣告這樣 public static extern int SCardTransmit(uint hCard, public static extern int SCardTransmit(int hCard, 但是還是可以運作 hCard會變成負的 C# CODE FOR WinScard.dll 有空可以幫轉一下Delphi ? 這樣比較完整 當成Delphi 的Resource ~~ public struct SCARD_IO_REQUEST { public int dwProtocol; public int cbPciLength; } [DllImport("WinScard.dll")] public static extern int SCardConnect(uint hContext, string szReaderName, uint dwShareMode, uint dwPrefProtocol, ref uint phCard, ref int ActiveProtocol); [DllImport("WinScard.dll")] public static extern int SCardDisconnect(uint hCard, int Disposition); [DllImport("WinScard.dll")] public static extern int SCardEstablishContext(uint dwScope, int nNotUsed1, int nNotUsed2, out uint phContext); [DllImport("WinScard.dll")] public static extern int SCardFreeMemory(uint hContext, string cResourceToFree); [DllImport("WinScard.dll")] public static extern int SCardGetAttrib(uint hContext, uint dwAttrId, ref byte[] bytRecvAttr, ref int nRecLen); [DllImport("WinScard.dll")] public static extern int SCardListReaderGroups(uint hContext, ref string cGroups, ref int nStringSize); [DllImport("WinScard.dll")] public static extern int SCardListReaders(uint hContext, string cGroups, byte[] mszReaders, ref int pcchReaders); [DllImport("WinScard.dll")] public static extern int SCardReleaseContext(uint phContext); [DllImport("WinScard.dll")] private static extern int SCardStatus(uint hCard, byte[] mszReaders, ref int pcchReaderLen, ref int pdwState, ref int pdwProtocol, byte[] pbAtr, ref int pcbAtrLen); [DllImport("WinScard.dll")] public static extern int SCardTransmit(uint hCard, ref SCARD_IO_REQUEST pioSendPci, byte[] pbSendBuffer, int cbSendLength, ref SCARD_IO_REQUEST pioRecvPci, ref byte pbRecvBuffer, ref int pcbRecvLength); |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |