SCardGetStatusChangeA 函式 (winscard.h)
SCardGetStatusChange 函式會封鎖執行,直到特定讀取器集中卡片的目前可用性變更為止。
呼叫端會提供 讀取器清單, 由SCARD_READERSTATE數位監視,以及它願意等待其中一個列出的讀取器上發生動作的時間上限(以毫秒為單位)。 請注意,SCardGetStatusChange 會使用 dwCurrentSt ate 中的使用者提供值,rgReaderStatesSCARD_READERSTATE 數位列的成員做為讀取器目前 狀態 的定義。 當可用性發生變更時,函式會傳回 ,已填入 dwEventStatergReaderStates 的成員。
語法
LONG SCardGetStatusChangeA(
[in] SCARDCONTEXT hContext,
[in] DWORD dwTimeout,
[in, out] LPSCARD_READERSTATEA rgReaderStates,
[in] DWORD cReaders
);
參數
[in] hContext
識別資源管理員內容之
[in] dwTimeout
等候動作的時間量上限,以毫秒為單位。 值為零會導致函式立即傳回。 INFINITE 的值會導致此函式永遠不會逾時。
[in, out] rgReaderStates
SCARD_READERSTATE 結構的陣列,指定要監看的讀取器,以及接收結果。
若要收到新智慧卡讀取器抵達的通知,請將 SCARD_READERSTATE 結構 szReader 成員設為 “\\?PnP?\Notification“,並將該結構的所有其他成員設定為零。
[in] cReaders
rgReaderStates 陣列中的元素數目。
傳回值
此函式會根據它是否成功或失敗,傳回不同的值。
傳回碼 | 描述 |
---|---|
|
SCARD_S_SUCCESS。 |
|
錯誤碼。 如需詳細資訊,請參閱 |
言論
SCardGetStatusChange 函式是 智慧卡 追蹤函式。 如需其他追蹤函式的詳細資訊,請參閱
例子
如需如何呼叫此函式的詳細資訊,請參閱 SCardLocateCards中的範例。
注意
winscard.h 標頭會根據 UNICODE 預處理器常數的定義,將 SCardGetStatusChange 定義為自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows XP [僅限傳統型應用程式] |
支援的最低伺服器 | Windows Server 2003 [僅限傳統型應用程式] |
目標平臺 | 窗戶 |
標頭 | winscard.h |
連結庫 | Winscard.lib |
DLL | Winscard.dll |