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 パラメーターで指定されたバッファー長を無視し、このパラメーターが NULL でない場合に返されるバッファーの長さを cchDeviceInstanceId に書き込み、成功コードを返します。
[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.
}
Note
winscard.h ヘッダーは、SCardGetReaderDeviceInstanceId をエイリアスとして定義し、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
サポートされている最小のクライアント | Windows 8 [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2012 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | winscard.h |