SCardGetStatusChangeW 関数 (winscard.h)
SCardGetStatusChange 関数は、特定のリーダー セット内のカードの現在の可用性が変更されるまで実行をブロックします。
呼び出し元は、SCARD_READERSTATE配列によって監視される リーダー の一覧と、一覧表示されているリーダーのいずれかでアクションが発生するのを待機する最大時間 (ミリ秒単位) を提供します。 SCardGetStatusChange では、rgReaderStatesSCARD_READERSTATE配列の dwCurrentState メンバーのユーザー指定値がリーダーの現在の状態の定義として使用されることに注意してください。 この関数は、rgReaderStates の dwEventState メンバーを適切に入力して、可用性に変更があった場合に を返します。
構文
LONG SCardGetStatusChangeW(
[in] SCARDCONTEXT hContext,
[in] DWORD dwTimeout,
[in, out] LPSCARD_READERSTATEW rgReaderStates,
[in] DWORD cReaders
);
パラメーター
[in] hContext
リソース マネージャー コンテキストを識別するハンドル。 リソース マネージャー コンテキストは、 SCardEstablishContext 関数の以前の呼び出しによって設定されます。
[in] dwTimeout
アクションを待機する最大時間 (ミリ秒単位)。 値が 0 の場合、関数はすぐに返されます。 INFINITE の値を指定すると、この関数はタイムアウトしません。
[in, out] rgReaderStates
watchするリーダーを指定し、結果を受け取るSCARD_READERSTATE構造体の配列。
新しいスマート カード リーダーの到着を通知するには、SCARD_READERSTATE構造体の szReader メンバーを "\\? に設定します。PnP?\Notification"。その構造体の他のすべてのメンバーを 0 に設定します。
[in] cReaders
rgReaderStates 配列内の要素の数。
戻り値
この関数は、成功するか失敗したかに応じて異なる値を返します。
リターン コード | 説明 |
---|---|
|
SCARD_S_SUCCESS。 |
|
エラー コード。 詳細については、「 スマート カードの戻り値」を参照してください。 |
解説
SCardGetStatusChange 関数はスマート カード追跡関数です。 その他の追跡関数の詳細については、「 スマート カード追跡関数」を参照してください。
例
この関数を呼び出す方法については、 SCardLocateCards の例を参照してください。
注意
winscard.h ヘッダーは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして SCardGetStatusChange を定義します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | winscard.h |
Library | Winscard.lib |
[DLL] | Winscard.dll |