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
應用程式的目前 狀態。 此欄位可以採用下列任何一個值,結合做為位掩碼。
價值 | 意義 |
---|---|
|
應用程式不知道目前 狀態,而且想要知道。 使用此值會導致立即從狀態轉換監視服務傳回。 這會以設定為零的所有位來表示。 |
|
應用程式對此讀取器不感興趣,因此不應該在監視作業期間加以考慮。 如果設定此位值,則會忽略所有其他位。 |
|
應用程式預期此讀取器無法使用。 如果已設定此位,則會忽略下列所有位。 |
|
應用程式預期讀取器中沒有卡片。 如果設定此位,則會忽略下列所有位。 |
|
應用程式預期讀取器中有卡片。 |
|
應用程式預期讀取器中有一張卡片,且 ATR 符合其中一張目標卡片。 如果設定此位,則會假設SCARD_STATE_PRESENT。 此位對SCARD_STATE_PRESENT以外的 SCardGetStatusChange 沒有任何意義。 |
|
應用程式預期讀取器中的卡片已配置給另一個應用程式獨佔使用。 如果設定此位,則會假設SCARD_STATE_PRESENT。 |
|
應用程式預期讀取器中的卡片正由一或多個其他應用程式使用,但可能以共用模式連線到 。 如果設定此位,則會假設SCARD_STATE_PRESENT。 |
|
應用程式預期讀取器中有沒有回應的卡片。 |
|
這意味著卡片在讀取器中尚未啟動。 |
dwEventState
讀取器的目前 狀態,稱為 智慧卡 資源管理員。 此欄位可以採用下列任何一個值,結合做為位掩碼。
價值 | 意義 |
---|---|
|
應該忽略此讀取器。 |
|
應用程式所相信的狀態與資源管理員所知道的狀態之間有差異。 設定此位時,應用程式可能會假設此讀取器發生重大狀態變更。 |
|
資源管理員無法辨識指定的讀取器名稱。 如果已設定此位,則也會設定SCARD_STATE_CHANGED和SCARD_STATE_IGNORE。 |
|
此讀取器的實際狀態無法使用。 如果已設定此位,則下列所有位都是清楚的。 |
|
讀取器中沒有卡片。 如果已設定此位,則會清除下列所有位。 |
|
讀取器中有一張卡片。 |
|
讀取器中有一張卡片,具有符合其中一張目標卡片的 ATR。 如果設定此位,也會設定SCARD_STATE_PRESENT。 此位只會傳回 SCardLocateCards 函式。 |
|
讀取器中的卡片會配置給另一個應用程式獨佔使用。 如果設定此位,也會設定SCARD_STATE_PRESENT。 |
|
讀取器中的卡片正由一或多個其他應用程式使用,但可能以共用模式連線到 。 如果設定此位,也會設定SCARD_STATE_PRESENT。 |
|
讀取器中有一張沒有回應的卡片。 |
|
這意味著卡片在讀取器中尚未啟動。 |
cbAtr
傳回 ATR 中的位元元組數目。
rgbAtr[36]
插入卡片的 ATR,具有額外的對齊位元組。
言論
注意
winscard.h 標頭會將 SCARD_READERSTATE 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows XP [僅限傳統型應用程式] |
支援的最低伺服器 | Windows Server 2003 [僅限傳統型應用程式] |
標頭 | winscard.h |