次の方法で共有


SCardGetReaderDeviceInstanceIdA 関数 (winscard.h)

SCardGetReaderDeviceInstanceId 関数は、指定されたリーダー名のカード リーダーのデバイス インスタンス識別子を取得します。 この関数は、リーダーの状態には影響しません。

構文

LONG SCardGetReaderDeviceInstanceIdA(
  [in]            SCARDCONTEXT hContext,
  [in]            LPCSTR       szReaderName,
  [out, optional] LPSTR        szDeviceInstanceId,
  [in, out]       LPDWORD      pcchDeviceInstanceId
);

パラメーター

[in] hContext

クエリのリソース マネージャー コンテキストを識別するハンドル。 SCardEstablishContext 関数を前回呼び出すことで、リソース マネージャー コンテキストを設定できます。 このパラメーターは NULLできません。

[in] szReaderName

閲覧者名。 この値を取得するには、SCardListReaders 関数を呼び出します。

[out, optional] szDeviceInstanceId

リーダーのデバイス インスタンス ID を受け取るバッファー。 この値が NULL場合、関数は cchDeviceInstanceId パラメーターで指定されたバッファー長 無視し、このパラメーターが cchDeviceInstanceIdを するために NULL されていない場合に返されたバッファーの長さを書き込み、成功コードを返します。

[in, out] pcchDeviceInstanceId

NULL ターミネータを含む、szDeviceInstanceId バッファーの長さ (文字数)。 バッファーの長さがSCARD_AUTOALLOCATEとして指定されている場合、szDeviceInstanceId パラメーターはバイト ポインターへのポインターに変換され、インスタンス ID を含むメモリ ブロックのアドレスを受け取ります。このメモリ ブロックは、SCardFreeMemory 関数で割り当てを解除する必要があります。

戻り値

この関数は、成功するか失敗したかに応じて異なる値を返します。

リターン コード 形容
成功 の
SCARD_S_SUCCESS。
エラーの
エラー コード。 詳細については、「スマート カードの戻り値 を参照してください。

備考

この関数はリダイレクトされません。 SCARD_E_READER_UNAVAILABLEエラー コードでリモート デスクトップ セッション内で失敗した場合に、SCardGetReaderDeviceInstanceId 関数を呼び出します。


LONG     lReturn;
LPTSTR   szReaderName = "USB Smart Card Reader 0";
WCHAR    szDeviceInstanceId[256];
DWORD    cchDeviceInstanceId = 256;

// Retrieve the reader's device instance ID.
// hContext was set by a previous call to SCardEstablishContext.
lReturn = SCardGetReaderDeviceInstanceId (hContext,
                         szReaderName,
                         szDeviceInstanceId,
                         &cchDeviceInstanceId);

if ( SCARD_S_SUCCESS != lReturn )
{
    printf("Failed SCardGetReaderDeviceInstanceId - %x\n", lReturn);
    // Take appropriate action.
}



手記

winscard.h ヘッダーは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして SCardGetReaderDeviceInstanceId を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows 8 [デスクトップ アプリのみ]
サポートされる最小サーバー Windows Server 2012 [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー winscard.h