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