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 として定義されています |
関連項目