SCardGetReaderIconW 関数 (winscard.h)

SCardGetReaderIcon 関数は、特定のリーダーの名前のスマート カード リーダーのアイコンを取得します。 この関数は、カード リーダーの状態には影響しません。

構文

LONG SCardGetReaderIconW(
  [in]      SCARDCONTEXT hContext,
  [in]      LPCWSTR      szReaderName,
  [out]     LPBYTE       pbIcon,
  [in, out] LPDWORD      pcbIcon
);

パラメーター

[in] hContext

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

[in] szReaderName

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

[out] pbIcon

アイコン ファイルから読み取られたスマート カード リーダー アイコンの BLOB を含むバッファーへのポインター。 この値が NULL の場合、関数は pcbIcon パラメーターで指定されたバッファー長を無視し、このパラメーターが NULL でない場合に pcbIcon に返されるバッファーの長さを書き込み、成功コードを返します。

[in, out] pcbIcon

pbIcon バッファーの長さ (文字数)。 このパラメーターは、受信した属性の実際の長さを受け取ります。 バッファー長が SCARD_AUTOALLOCATE として指定されている場合、 pbIcon はポインターからバイト ポインターに変換され、 属性を含むメモリ ブロックのアドレスを受け取ります。 このメモリ ブロックは 、SCardFreeMemory 関数を使用して割り当てを解除する必要があります。

戻り値

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

リターン コード 説明
Success
SCARD_S_SUCCESS。
障害
エラー コード。 詳細については、「 スマート カードの戻り値」を参照してください。

解説

アイコンは、アルファ チャネルのない 256 × 256 ピクセルである必要があります。

PBYTE    pbIcon = NULL;
DWORD    cbIcon = SCARD_AUTOALLOCATE;
DWORD    i;
LONG     lReturn;
LPTSTR   szReaderName = "USB Smart Card Reader 0";

// Retrieve the reader's icon.
// hContext was set by a previous call to SCardEstablishContext.
lReturn = SCardGetReaderIcon(hContext,
                         szReaderName,
                         (PBYTE)&pbIcon,
                         &cbIcon);

if ( SCARD_S_SUCCESS != lReturn )
{
    printf("Failed SCardGetReaderIcon - %x\n", lReturn);
    // Take appropriate action.
}
else
{
    // Free the memory when done. 
    lReturn = SCardFreeMemory(hContext, pbIcon);
}

Note

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

要件

   
サポートされている最小のクライアント Windows 8 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2012 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー winscard.h