WskCaptureProviderNPI 函式 (wsk.h)
WskCaptureProviderNPI 函式會在 WSK 子系統取得時擷取提供者 網路程式設計介面 (NPI)。
語法
NTSTATUS WskCaptureProviderNPI(
[in] PWSK_REGISTRATION WskRegistration,
[in] ULONG WaitTimeout,
[out] PWSK_PROVIDER_NPI WskProviderNpi
);
參數
[in] WskRegistration
WskRegister 所初始化之內存位置的指標, 識別 WSK 應用程式的註冊實例。 如需詳細資訊,請參閱 WSK_REGISTRATION。
[in] WaitTimeout
WskCaptureProviderNPI 函式可以等候到 WSK 提供者 NPI 可供使用的時間。 或者,可以指定下列專案:
WSK_NO_WAIT
如果提供者 NPI 無法使用,請立即從此函式傳回。
WSK_INFINITE_WAIT
等候提供者 NPI 可從 WSK 子系統取得。
如需如何使用此參數的詳細資訊,請參閱 註冊 Winsock 核心應用程式。
[out] WskProviderNpi
WSK 提供者所傳回之 NPI 的指標。 這個 WSK_PROVIDER_NPI 結構包含 WSK 提供者分派數據表的指標,WSK 應用程式可以呼叫的 WSK 函式。
傳回值
WskCaptureProviderNPI 會傳回下列其中一個 NTSTATUS 程式代碼:
傳回碼 | 描述 |
---|---|
|
提供者 NPI 擷取已順利完成。 |
|
提供者 NPI 尚無法使用。 |
|
WSK 子系統不支援 WSK 用戶端所要求的版本。 |
|
提供者 NPI 擷取失敗。 |
言論
對於傳回成功程式代碼的每個呼叫 WskCaptureProviderNPI,必須只有一個對應 WskReleaseProviderNPI 呼叫,而呼叫會使用相同的 WskRegistration 參數傳遞 至 WskCaptureProviderNPI。
WskCaptureProviderNPI 呼叫後,只有在未釋放或覆寫 WskRegistration 區塊時,才能呼叫 WskDeregister。 呼叫 WskDeregister 之後, WskCaptureProviderNPI 的任何進一步呼叫都會失敗,狀態代碼STATUS_DEVICE_NOT_READY,而且除非提供者 NPI 同時可供使用,否則任何現有的 WskCaptureProviderNPI 其他線程中封鎖的呼叫,等待 WSK 提供者 NPI 可供使用,也會立即傳回狀態代碼STATUS_DEVICE_NOT_READY。
如需將 WSK 應用程式附加至 WSK 子系統的詳細資訊,請參閱 註冊 Winsock 核心應用程式。
WskCaptureProviderNPI 函式的呼叫端必須在 IRQL = PASSIVE_LEVEL 執行,如果 waitTimeout 未設定為 WSK_NO_WAIT;否則,呼叫端必須在 IRQL <= DISPATCH_LEVEL執行。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | 可在 Windows Vista 和更新版本的 Windows作系統中使用。 |
目標平臺 | 普遍 |
標頭 | wsk.h (包括 Wsk.h) |
連結庫 | Netio.lib |
IRQL | PASSIVE_LEVEL (請參閱一節) |