共用方式為


NmrDeregisterClient 函式 (netioddk.h)

NmrDeregisterClient 函式會從NMR取消註冊客戶端模組。

語法

NTSTATUS NmrDeregisterClient(
  [in] HANDLE NmrClientHandle
);

參數

[in] NmrClientHandle

NMR 用來表示用戶端模組註冊的句柄。 當用戶端模組呼叫 NmrRegisterClient 函式時,NMR 會將此句柄傳回給客戶端模組。

傳回值

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

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

備註

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

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

注意如果用戶端模組使用 Windows Driver Framework,它通常會從其 EvtDriverUnload 事件回呼函式呼叫 NmrDeregisterClient 函式。 在此情況下,用戶端模組不得從其 EvtDriverUnload 函式的呼叫傳回,直到取消註冊完成為止。
 

規格需求

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

另請參閱

ClientDetachProvider

EvtDriverUnload

NmrRegisterClient

NmrWaitForClientDeregisterComplete

ProviderDetachClient

卸載