| | タイトル | : VB.NETからVC++作成したDLL呼び出す問題 |  | 記事No | : 8290 |  | 投稿日 | : 2008/10/06(Mon) 16:36 |  | 投稿者 | : ato | 
 atoです。
 VB.NETで下記のDLLを呼び出す際に甘く行きません。
 ご教授のほど、よろしくお願いいたします。
 
 extern "C" __declspec(dllexport) int Token(const char * pszPIN, char* pszPasscode)
 {
 LONG ret = 0;
 LONG lTokenServiceHandle;
 LONG lTokens, lDefaultToken;
 LPTOKENBASICINFO lpTokens = new TOKENBASICINFO[100];
 DWORD dwBufferSize = 100 * sizeof(TOKENBASICINFO);
 char chPassword[32];
 char chPIN[9];
 char chPASSCODE[12];
 char chNextPASSCODE[12];
 char chTokencode[12];
 char chNextTokencode[12];
 DLLINFO pDllInfo;
 LPTOKENERRORINFO pErrorInfo;
 
 if(OpenTokenService(&lTokenServiceHandle) > 0)
 {
 if(EnumToken(lTokenServiceHandle, &lTokens, &lDefaultToken, lpTokens, &dwBufferSize) > 0)
 {
 LPTOKENBASICINFO lpToken = lpTokens;
 if(lTokens > 0)
 {
 chPassword[0] = '\0';
 if(SelectToken(lTokenServiceHandle, lpTokens[0].serialnumber, NULL, chPassword) > 0)
 {
 strcpy(chPIN, pszPIN);
 GetPasscode(lTokenServiceHandle, chPIN, pszPasscode, chNextPASSCODE, chTokencode, chNextTokencode);
 ret = 1;
 }
 }
 }
 
 CloseTokenService(lTokenServiceHandle);
 }
 
 delete lpTokens;
 return ret;
 }
 
 以上です。
 
 |