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