SCardGetStatusChangeA 関数 (winscard.h)

SCardGetStatusChange 関数は、特定のリーダー セット内のカードの現在の可用性が変更されるまで実行をブロックします。

呼び出し元は、SCARD_READERSTATE配列によって監視される リーダー の一覧と、リストされているリーダーのいずれかでアクションが発生するのを待機する最大時間 (ミリ秒単位) を提供します。 SCardGetStatusChange は、リーダーの現在の状態の定義として、rgReaderStatesSCARD_READERSTATE配列の dwCurrentState メンバーでユーザーが指定した値を使用します。 この関数は、rgReaderStatesdwEventState メンバーを適切に入力して、可用性の変更があった場合に を返します。

構文

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

watchするリーダーを指定し、結果を受け取るSCARD_READERSTATE構造体の配列。

新しいスマート カード リーダーの到着を通知するには、SCARD_READERSTATE構造体の szReader メンバーを "\\ に設定します。PnP?\Notification"、およびその構造体の他のすべてのメンバーを 0 に設定します。

大事な この配列内の各構造体の各メンバーは、0 に初期化してから、必要に応じて特定の値に設定する必要があります。 これが行われなければ、リモート カード リーダーが関係する状況では、関数は失敗します。
 

[in] cReaders

rgReaderStates 配列内の要素の数。

戻り値

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

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

注釈

SCardGetStatusChange 関数は、スマート カード追跡関数です。 その他の追跡関数の詳細については、「 スマート カード追跡関数」を参照してください。

この関数を呼び出す方法については、「 SCardLocateCards」の例を参照してください。

注意

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

要件

要件
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー winscard.h
Library Winscard.lib
[DLL] Winscard.dll

こちらもご覧ください

SCARD_READERSTATE

SCardCancel

SCardEstablishContext

SCardLocateCards