ISCardDatabase::GetProviderCardId 方法
[ GetProviderCardId 方法可用於需求一節中指定的作業系統。 它不適用於 Windows Server 2003 Service Pack 1 (SP1) 及更新版本、Windows Vista、Windows Server 2008 和後續版本的作業系統。 智慧卡模組提供類似的功能。]
GetProviderCardId方法會擷取指定智慧卡之主要服務提供者的 GUID (識別碼) 。
語法
HRESULT GetProviderCardId(
[in] BSTR bstrCardName,
[out] LPGUID *ppguidProviderId
);
參數
-
bstrCardName [in]
-
智慧卡的名稱。
-
ppguidProviderId [out]
-
成功時,主要服務提供者識別碼的指標 (GUID) ;如果作業失敗, 則為 Null 。
傳回值
方法會傳回下列其中一個可能的值。
傳回碼 | 描述 |
---|---|
|
作業順利完成。 |
|
無效的參數。 |
|
在 ppguidProviderId中傳遞不正確的指標。 |
|
記憶體不足。 |
備註
若要列出智慧卡的介面,請呼叫 ListCardInterfaces。
若要擷取所有已知的智慧卡、讀取器和讀取器群組分別呼叫ListCards、ListReaders和ListReaderGroups。
如需此介面提供之所有方法的清單,請參閱 ISCardDatabase。
除了上面所列的 COM 錯誤碼之外,如果呼叫智慧卡函式以完成要求,此介面可能會傳回智慧卡錯誤碼。 如需詳細資訊,請參閱 智慧卡傳回值。
範例
下列範例顯示擷取指定智慧卡之主要服務提供者的識別碼。
BSTR bstrCard = NULL;
LPGUID pguidProvId = NULL;
HRESULT hr;
bstrCard = SysAllocString(L"My Card");
hr = pISCDataBase->GetProviderCardId(bstrCard,&pguidProvId);
if (FAILED(hr))
{
printf("Failed GetProviderCardId\n");
}
else
{
// Use pguidProvId as needed.
}
// Free BSTR when done.
if ( NULL != bstrCard )
{
SysFreeString(bstrCard);
bstrCard=NULL;
}
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 |
Windows XP [僅限傳統型應用程式] |
最低支援的伺服器 |
Windows Server 2003 [僅限桌面應用程式] |
用戶端支援結束 |
Windows XP |
伺服器終止支援 |
Windows Server 2003 |
標頭 |
|
類型程式庫 |
|
DLL |
|
IID |
IID_ISCardDatabase定義為 1461AAC8-6810-11D0-918F-00AA00C18068 |
另請參閱