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