nmrDeregisterProvider 函式 (netioddk.h)
NmrDeregisterProvider 函式會從NMR取消註冊提供者模組。
語法
NTSTATUS NmrDeregisterProvider(
[in] HANDLE NmrProviderHandle
);
參數
[in] NmrProviderHandle
NMR 用來表示提供者模組註冊的句柄。 當提供者模組呼叫 NmrRegisterProvider 函式時,NMR 會將此句柄傳回給提供者模組。
傳回值
NmrDeregisterProvider 函式會傳回下列其中一個 NTSTATUS 代碼:
傳回碼 | Description |
---|---|
|
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 |