共用方式為


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

識別資源管理員內容之 句柄。 資源管理員內容是由先前呼叫 SCardEstablishContext 函式所設定。

[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

另請參閱

SCARD_READERSTATE

SCardCancel

SCardEstablishContext

SCardLocateCards