共用方式為


nmrDeregisterProvider 函式 (netioddk.h)

NmrDeregisterProvider 函式會從NMR取消註冊提供者模組。

語法

NTSTATUS NmrDeregisterProvider(
  [in] HANDLE NmrProviderHandle
);

參數

[in] NmrProviderHandle

NMR 用來表示提供者模組註冊的句柄。 當提供者模組呼叫 NmrRegisterProvider 函式時,NMR 會將此句柄傳回給提供者模組。

傳回值

NmrDeregisterProvider 函式會傳回下列其中一個 NTSTATUS 代碼:

傳回碼 Description
STATUS_PENDING
NMR 起始了提供者模組的取消註冊。 提供者模組必須呼叫 NmrWaitForProviderDeregisterComplete 函式等到取消註冊完成,才能卸除提供者模組。
其他狀態代碼
發生錯誤。

備註

當提供者模組呼叫 NmrDeregisterProvider 函式時,NMR 會針對提供者模組與用戶端模組之間的每個系結呼叫提供者模組的 ProviderDetachClient 回呼函式和用戶端模組的 ClientDetachProvider 回呼函式。 從NMR取消註冊提供者模組之後,提供者模組已成功從它所連結的所有用戶端模組中斷連結,而且所有這些客戶端模組都已成功從提供者模組中斷連結之後完成。

提供者模組通常會從其 Unload 函式呼叫 NmrDeregisterProvider 函式,以從系統卸載提供者模組之前,從它附加的所有用戶端模組中斷連結。 呼叫 NmrDeregisterProvider 函 式之後,提供者模組必須呼叫 NmrWaitForProviderDeregisterComplete 函式等待取消註冊完成,才能卸除提供者模組。 在取消註冊完成之前,提供者模組不得從其 Unload 函式的呼叫傳回。

注意 如果提供者模組使用 Windows 驅動程式架構,通常會呼叫 NmrDeregisterProvider 函式來自其 EvtDriverUnload 事件回呼函式。 在此情況下,提供者模組不得從其 EvtDriverUnload 函式的呼叫傳回,直到取消註冊完成為止。
 

規格需求

需求
最低支援的用戶端 可在 Windows Vista 和更新版本的 Windows 作業系統中使用。
目標平台 桌面
標頭 netioddk.h (包含 Wsk.h)
程式庫 Netio.lib
IRQL <= DISPATCH_LEVEL

另請參閱

ClientDetachProvider

EvtDriverUnload

NmrRegisterProvider

NmrWaitForProviderDeregisterComplete

ProviderDetachClient

卸載