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 代碼:

傳回碼 Description
STATUS_SUCCESS
提供者 NPI 擷取已成功完成。
STATUS_DEVICE_NOT_READY
提供者 NPI 尚未提供。
STATUS_NOINTERFACE
WSK 子系統不支援 WSK 用戶端所要求的版本。
其他狀態代碼
提供者 NPI 擷取失敗。

備註

對於每個傳回成功碼的 WskCaptureProviderNPI 呼叫,都必須有一個對應的 WskReleaseProviderNPI 呼叫,其使用傳遞至 WskCaptureProviderNPI 的相同 WskRegistration 參數。

只有在未釋放或覆寫 WskRegistration 區塊時,才能呼叫 WskCaptureProviderNPI 呼叫 WskDeregister。 呼叫 WskDeregister 之後,對 WskCaptureProviderNPI 的任何進一步呼叫都會 STATUS_DEVICE_NOT_READY失敗,而且除非提供者 NPI 同時可用,否則在等候 WSK 提供者 NPI 變成可用的其他線程中封鎖的任何現有 WskCaptureProviderNPI 呼叫,也會立即傳回狀態代碼STATUS_DEVICE_NOT_READY。

如需將 WSK 應用程式附加至 WSK 子系統的詳細資訊,請參閱 註冊 Winsock 核心應用程式

如果 WaitTimeout 未設定為 WSK_NO_WAIT,WskCaptureProviderNPI 函式的呼叫端必須在 IRQL = PASSIVE_LEVEL執行;否則,呼叫端必須在 IRQL <= DISPATCH_LEVEL上執行。

規格需求

需求
最低支援的用戶端 可在 Windows Vista 和更新版本的 Windows 作業系統中使用。
目標平台 Universal
標頭 wsk.h (包含 Wsk.h)
程式庫 Netio.lib
IRQL PASSIVE_LEVEL (请参阅一节)

另請參閱

WskDeregister

WskRegister

WskReleaseProviderNPI