NmrWaitForProviderDeregisterComplete 函数 (netioddk.h)

NmrWaitForProviderDeregisterComplete 函数等待提供程序模块的注销完成。

语法

NTSTATUS NmrWaitForProviderDeregisterComplete(
  [in] HANDLE NmrProviderHandle
);

参数

[in] NmrProviderHandle

NMR 用于表示提供程序模块注册的句柄。 当提供程序模块调用 NmrRegisterProvider 函数时,NMR 会将此句柄返回到提供程序模块。

返回值

NmrWaitForProviderDeregisterComplete 函数返回以下 NTSTATUS 代码之一:

返回代码 说明
STATUS_SUCCESS
NMR 已完成取消注册提供程序模块。
STATUS_INVALID_PARAMETER
在调用 NmrDeregisterProvider 函数之前,提供程序模块调用 NmrWaitForProviderDeregisterComplete 函数,或者在 NmrClientHandle 参数中指定的句柄不是有效的提供程序句柄。
其他状态代码
出现了错误。

注解

提供程序模块调用 NmrWaitForProviderDeregisterComplete 函数以等待提供程序模块的取消注册完成。 提供程序模块仅在调用 NmrDeregisterProvider 函数后调用 NmrWaitForProviderDeregisterComplete 函数。

提供程序模块通常从其 Unload 函数调用 NmrWaitForProviderDeregisterComplete 函数,等待它从 NMR 完全注销,然后才从系统卸载提供程序模块。 在取消注册完成之前,提供程序模块不得从对其 Unload 函数的调用返回。

注意 如果提供程序模块使用 Windows 驱动程序框架,它通常会调用 NmrWaitForProviderDeregisterComplete 函数来自其 EvtDriverUnload 事件回调函数。 在这种情况下,在取消注册完成之前,提供程序模块不得从对其 EvtDriverUnload 函数的调用返回。
 

要求

要求
最低受支持的客户端 在 Windows Vista 和更高版本的 Windows 操作系统中可用。
目标平台 桌面
标头 netioddk.h (包括 Wsk.h)
Library Netio.lib
IRQL < DISPATCH_LEVEL

另请参阅

NmrDeregisterProvider