nmrDeregisterClient 函数 (netioddk.h)
NmrDeregisterClient 函数从 NMR 取消注册客户端模块。
语法
NTSTATUS NmrDeregisterClient(
[in] HANDLE NmrClientHandle
);
参数
[in] NmrClientHandle
NMR 用于表示客户端模块注册的句柄。 当客户端模块调用 NmrRegisterClient 函数时,NMR 将此句柄返回到客户端模块。
返回值
NmrDeregisterClient 函数返回以下 NTSTATUS 代码之一:
返回代码 | 说明 |
---|---|
|
NMR 启动了客户端模块的注销。 客户端模块必须调用 NmrWaitForClientDeregisterComplete 函数等待取消注册完成,然后才能卸载客户端模块。 |
|
出现了错误。 |
注解
当客户端模块调用 NmrDeregisterClient 函数时,NMR 针对客户端模块和提供程序模块之间的每个绑定调用客户端模块的 ClientDetachProvider 回调函数和提供程序模块的 ProviderDetachClient 回调函数。 在客户端模块从它所附加到的所有提供程序模块成功分离,并且所有这些提供程序模块都已成功从客户端模块分离后,从 NMR 取消注册。
客户端模块通常从其 Unload 函数调用 NmrDeregisterClient 函数,以在从系统卸载客户端模块之前,从它附加到的所有提供程序模块中分离自身。 调用 NmrDeregisterClient 函数后,客户端模块必须调用 NmrWaitForClientDeregisterComplete 函数等待取消注册完成,然后才能卸载客户端模块。 在注销完成之前,客户端模块不得从对其 Unload 函数的调用返回。
注意如果客户端模块使用 Windows 驱动程序框架,它通常会从其 EvtDriverUnload 事件回调函数调用 NmrDeregisterClient 函数。 在这种情况下,在取消注册完成之前,客户端模块不得从对其 EvtDriverUnload 函数的调用返回。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 在 Windows Vista 和更高版本的 Windows 操作系统中可用。 |
目标平台 | 桌面 |
标头 | netioddk.h (包括 Wsk.h) |
Library | Netio.lib |
IRQL | <= DISPATCH_LEVEL |
另请参阅
NmrWaitForClientDeregisterComplete反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈