共用方式為


winscard.h (SCARD_READERSTATEA 結構)

函式會使用SCARD_READERSTATE結構來追蹤讀取器內的智慧卡

語法

typedef struct {
  LPCSTR szReader;
  LPVOID pvUserData;
  DWORD  dwCurrentState;
  DWORD  dwEventState;
  DWORD  cbAtr;
  BYTE   rgbAtr[36];
} SCARD_READERSTATEA, *PSCARD_READERSTATEA, *LPSCARD_READERSTATEA;

成員

szReader

所監視讀取器名稱的指標。

將此成員的值設定為 「\\?PnP?\Notification「 和所有其他成員的值為零,以收到新智慧卡讀卡機的抵達通知。

pvUserData

智慧卡子系統未使用。 應用程式會使用此成員。

dwCurrentState

讀取器目前 的狀態 ,如應用程式所見。 此欄位可以接受下列任一值,並結合為位元遮罩。

意義
SCARD_STATE_UNAWARE
應用程式不知道目前 的狀態,而且想要知道。 使用此值會導致立即從狀態轉換監視服務傳回。 這會以所有設定為零的位表示。
SCARD_STATE_IGNORE
應用程式對這個讀取器不感興趣,而且不應該在監視作業期間加以考慮。 如果設定此位值,則會忽略所有其他位。
SCARD_STATE_UNAVAILABLE
應用程式預期此讀取器無法使用。 如果設定此位,則會忽略下列所有位。
SCARD_STATE_EMPTY
應用程式預期讀取器中沒有卡片。 如果設定此位,則會忽略下列所有位。
SCARD_STATE_PRESENT
應用程式預期讀取器中有卡片。
SCARD_STATE_ATRMATCH
應用程式預期讀取器中有一張卡片,且 ATR 符合其中一張目標卡片。 如果設定此位,則會假設SCARD_STATE_PRESENT。 此位對 SCardGetStatusChange 沒有意義,超過 SCARD_STATE_PRESENT。
SCARD_STATE_EXCLUSIVE
應用程式預期讀取器中的卡片會配置給另一個應用程式獨佔使用。 如果設定此位,則會假設SCARD_STATE_PRESENT。
SCARD_STATE_INUSE
應用程式預期讀取器中的卡片正由一或多個其他應用程式使用,但可能以共用模式連線到 。 如果設定此位,則會假設SCARD_STATE_PRESENT。
SCARD_STATE_MUTE
應用程式預期讀取器中有沒有回應的卡片。
SCARD_STATE_UNPOWERED
這表示讀取器中的卡片尚未啟動。

dwEventState

讀取器的目前狀態,稱為智慧卡資源管理員。 此欄位可以接受下列任一值,並結合為位元遮罩。

意義
SCARD_STATE_IGNORE
應該忽略此讀取器。
SCARD_STATE_CHANGED
應用程式所認為的狀態與資源管理員所知道的狀態之間有差異。 設定此位時,應用程式可能會假設此讀取器發生重大狀態變更。
SCARD_STATE_UNKNOWN
資源管理員無法辨識指定的讀取器名稱。 如果設定此位,則也會設定SCARD_STATE_CHANGED和SCARD_STATE_IGNORE。
SCARD_STATE_UNAVAILABLE
此讀取器的實際狀態無法使用。 如果設定此位,則下列所有位都會清除。
SCARD_STATE_EMPTY
讀取器中沒有卡片。 如果設定此位,則會清除下列所有位。
SCARD_STATE_PRESENT
讀取器中有卡片。
SCARD_STATE_ATRMATCH
讀取器中有一張卡片,其中包含符合其中一張目標卡片的 ATR。 如果設定此位,也會設定SCARD_STATE_PRESENT。 此位只會在 SCardLocateCards 函式上傳回。
SCARD_STATE_EXCLUSIVE
讀取器中的卡片會配置給另一個應用程式獨佔使用。 如果設定此位,也會設定SCARD_STATE_PRESENT。
SCARD_STATE_INUSE
讀取器中的卡片正由一或多個其他應用程式使用,但可能以共用模式連線到 。 如果設定此位,也會設定SCARD_STATE_PRESENT。
SCARD_STATE_MUTE
讀取器中有沒有回應的卡片。
SCARD_STATE_UNPOWERED
這表示讀取器中的卡片尚未啟動。

cbAtr

傳回 ATR 中的位元組數目。

rgbAtr[36]

插入卡片的 ATR,具有額外的對齊位元組。

備註

注意

winscard.h 標頭會將SCARD_READERSTATE定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程式碼,可能會導致編譯或執行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例

規格需求

   
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限桌面應用程式]
標頭 winscard.h

另請參閱

SCardGetStatusChange

SCardLocateCards