共用方式為


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

傳回碼 描述
STATUS_SUCCESS
提供者 NPI 擷取已順利完成。
STATUS_DEVICE_NOT_READY
提供者 NPI 尚無法使用。
STATUS_NOINTERFACE
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 (請參閱一節)

另請參閱

WskDeregister

WskRegister

WskReleaseProviderNPI