SCARD_READERSTATEW 構造体 (winscard.h)
SCARD_READERSTATE構造は、リーダー内のスマート カードを追跡するために関数によって使用されます。
構文
typedef struct {
LPCWSTR szReader;
LPVOID pvUserData;
DWORD dwCurrentState;
DWORD dwEventState;
DWORD cbAtr;
BYTE rgbAtr[36];
} SCARD_READERSTATEW, *PSCARD_READERSTATEW, *LPSCARD_READERSTATEW;
メンバー
szReader
監視対象のリーダーの名前へのポインター。
このメンバーの値を "\\? に設定します。PnP?\Notification" と他のすべてのメンバーの値をゼロにして、新しいスマート カード リーダーの到着を通知します。
pvUserData
スマート カード サブシステムでは使用されません。 このメンバーは、アプリケーションによって使用されます。
dwCurrentState
アプリケーションに表示されるリーダーの現在の 状態 。 このフィールドは、次のいずれかの値を組み合わせてビットマスクとして受け取ることができます。
値 | 意味 |
---|---|
|
アプリケーションは現在の 状態を認識し、知りたいと考えます。 この値を使用すると、状態遷移監視サービスからすぐに戻ります。 これは、0 に設定されたすべてのビットで表されます。 |
|
アプリケーションはこのリーダーに関心がありません。監視操作中は考慮しないでください。 このビット値が設定されている場合、他のすべてのビットは無視されます。 |
|
アプリケーションは、このリーダーを使用できないと想定しています。 このビットが設定されている場合、次のすべてのビットは無視されます。 |
|
アプリケーションは、リーダーにカードがないことを想定しています。 このビットが設定されている場合、次のすべてのビットは無視されます。 |
|
アプリケーションは、リーダーにカードがあることを想定しています。 |
|
アプリケーションでは、ターゲット カードの 1 つに一致する ATR を持つカードがリーダーに存在することを想定しています。 このビットが設定されている場合は、SCARD_STATE_PRESENTが想定されます。 このビットは、SCARD_STATE_PRESENT以外の SCardGetStatusChange には意味がありません。 |
|
アプリケーションは、リーダー内のカードが別のアプリケーションによって排他的に使用されるように割り当てられていることを想定しています。 このビットが設定されている場合は、SCARD_STATE_PRESENTが想定されます。 |
|
アプリケーションは、リーダー内のカードが 1 つ以上の他のアプリケーションで使用されていることを想定していますが、共有モードで に接続されている可能性があります。 このビットが設定されている場合は、SCARD_STATE_PRESENTが想定されます。 |
|
アプリケーションは、リーダーに応答しないカードがあることを想定しています。 |
|
これは、リーダー内のカードが電源が入っていないことを意味します。 |
dwEventState
スマート カード リソース マネージャーによって認識されるリーダーの現在の状態。 このフィールドは、次のいずれかの値を組み合わせてビットマスクとして受け取ることができます。
値 | 意味 |
---|---|
|
このリーダーは無視する必要があります。 |
|
アプリケーションによって認識される状態と、リソース マネージャーによって認識される状態には違いがあります。 このビットが設定されている場合、アプリケーションでは、このリーダーで重大な状態変更が発生したと想定される場合があります。 |
|
指定されたリーダー名は、リソース マネージャーによって認識されません。 このビットが設定されている場合は、SCARD_STATE_CHANGEDとSCARD_STATE_IGNOREも設定されます。 |
|
このリーダーの実際の状態は使用できません。 このビットが設定されている場合は、次のすべてのビットがクリアされます。 |
|
リーダーにカードはありません。 このビットが設定されている場合、次のすべてのビットがクリアされます。 |
|
リーダーにカードがあります。 |
|
ターゲット カードの 1 つに一致する ATR を持つカードがリーダーにあります。 このビットが設定されている場合は、SCARD_STATE_PRESENTも設定されます。 このビットは 、SCardLocateCards 関数でのみ返されます。 |
|
リーダー内のカードは、別のアプリケーションで排他的に使用するために割り当てられます。 このビットが設定されている場合は、SCARD_STATE_PRESENTも設定されます。 |
|
リーダー内のカードは、1 つ以上の他のアプリケーションで使用されていますが、共有モードで に接続されている可能性があります。 このビットが設定されている場合は、SCARD_STATE_PRESENTも設定されます。 |
|
リーダーに応答しないカードがあります。 |
|
これは、リーダー内のカードが電源が入っていないことを意味します。 |
cbAtr
返された ATR 内のバイト数。
rgbAtr[36]
追加のアラインメント バイトを含む、挿入されたカードの ATR。
注釈
注意
winscard.h ヘッダーは、unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとしてSCARD_READERSTATEを定義します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
Header | winscard.h |