次の方法で共有


ISCardDatabase::ListReaderGroups メソッド

[ ListReaderGroups メソッドは、[要件] セクションで指定したオペレーティング システムで使用できます。 Windows Server 2003 Service Pack 1 (SP1) 以降、Windows Vista、Windows Server 2008、および以降のバージョンのオペレーティング システムでは使用できません。 スマート カード モジュールも同様の機能を提供します

ListReaderGroups メソッドは、スマート カード データベースに登録されているリーダー グループの名前を取得します。

構文

HRESULT ListReaderGroups(
  [in]  LONG        localeId,
  [out] LPSAFEARRAY *ppReaderGroups
);

パラメーター

localeId [in]

言語ローカライズ ID。

ppReaderGroups [out]

成功した場合に検索パラメーターを満たすスマート カード リーダー グループの名前を含む BSTR の SAFEARRAY へのポインター。操作が失敗した場合は NULL

戻り値

メソッドは、次のいずれかの値を返します。

リターン コード 説明
S_OK
操作は正常に完了しました。
E_INVALIDARG
無効なパラメーター。
E_POINTER
ppReaderGroups で不適切なポインターが渡されました。
E_OUTOFMEMORY
メモリが不足しています。

 

解説

既知のすべての スマート カード または リーダーを取得するには、それぞれ ListCards または ListReaders を呼び出します。

プライマリ サービス プロバイダーまたは特定のカードのインターフェイスを取得するには、それぞれ GetProviderCardId または ListCardInterfaces

このインターフェイスによって提供されるすべてのメソッドの一覧については、「 ISCardDatabase」を参照してください。

上記の COM エラー コードに加えて、要求を完了するためにスマート カード関数が呼び出された場合、このインターフェイスはスマート カード エラー コードを返す場合があります。 詳細については、「 スマート カードの戻り値」を参照してください。

次の例は、スマート カード データベースに登録されているリーダー グループの名前を取得する方法を示しています。

LPSAFEARRAY pGroups = NULL;
HRESULT     hr;

// Determine the reader groups.
hr = pISCDataBase->ListReaderGroups(0x0409,  // English (US)
                                    &pGroups);
if (FAILED(hr))
{
   printf("Failed ListReaderGroups\n");
   // Take other error handling action as needed.
}
else
{
   // Use the safe array as needed.
   // ...
}

要件

要件
サポートされている最小のクライアント
Windows XP [デスクトップ アプリのみ]
サポートされている最小のサーバー
Windows Server 2003 [デスクトップ アプリのみ]
クライアント サポートの終了
Windows XP
サーバー サポートの終了
Windows Server 2003
ヘッダー
Scardmgr.h
タイプ ライブラリ
Scardmgr.tlb
[DLL]
Scardssp.dll
IID
IID_ISCardDatabaseは 1461AAC8-6810-11D0-918F-00AA00C18068 として定義されています

関連項目

GetProviderCardId

ISCardDatabase

ListCardInterfaces

ListCards

ListReaders