SCardListInterfacesA 関数 (winscard.h)
SCardListInterfaces 関数は、特定のカードによって提供されるインターフェイスの一覧を提供します。
呼び出し元は、サブシステムに既に導入
構文
LONG SCardListInterfacesA(
[in] SCARDCONTEXT hContext,
[in] LPCSTR szCard,
[out] LPGUID pguidInterfaces,
[in, out] LPDWORD pcguidInterfaces
);
パラメーター
[in] hContext
クエリのリソース マネージャー コンテキスト
[in] szCard
スマート カード サブシステムに既に導入されているスマート カードの名前。
[out] pguidInterfaces
スマート カードでサポートされているインターフェイスを示すインターフェイス識別子 (GUID) の配列。 この値が NULL
[in, out] pcguidInterfaces
pcguidInterfaces 配列のサイズ。返された配列の実際のサイズを受け取ります。 配列サイズがSCARD_AUTOALLOCATEとして指定されている場合、pcguidInterfaces は GUID ポインターへのポインターに変換され、配列を含むメモリ ブロックのアドレスを受け取ります。 このメモリ ブロックは、SCardFreeMemoryで割り当てを解除する必要があります。
戻り値
この関数は、成功するか失敗したかに応じて異なる値を返します。
リターン コード | 形容 |
---|---|
|
SCARD_S_SUCCESS。 |
|
エラー コード。 詳細については、「スマート カードの戻り値 を参照してください。 |
備考
この関数はリダイレクトされませんが、リモート デスクトップ セッションの実行時に関数を呼び出してもエラーは発生しません。 これは、結果がローカル コンピューターではなくリモート コンピューターからの結果であることを意味するだけです。
SCardListInterfaces 関数はデータベース クエリ関数です。 その他のデータベース クエリ関数の詳細については、「スマート カード データベース クエリ関数の
例
次の例は、スマート カードのインターフェイスの一覧を示しています。
LPGUID pGuids = NULL;
LONG lReturn;
DWORD cGuid = SCARD_AUTOALLOCATE;
// Retrieve the list of interfaces.
lReturn = SCardListInterfaces(NULL,
(LPCSTR) "MyCard",
(LPGUID)&pGuids,
&cGuid );
if ( SCARD_S_SUCCESS != lReturn )
{
printf("Failed SCardListInterfaces\n");
exit(1); // Or other appropriate action
}
if ( 0 != cGuid )
{
// Do something with the array of Guids.
// Remember to free pGuids when done (by SCardFreeMemory).
// ...
}
手記
winscard.h ヘッダーは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして SCardListInterfaces を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows XP [デスクトップ アプリのみ] |
サポートされる最小サーバー | Windows Server 2003 [デスクトップ アプリのみ] |
ターゲット プラットフォーム の |
ウィンドウズ |
ヘッダー | winscard.h |
ライブラリ | Winscard.lib |
DLL | Winscard.dll |