NDK_FN_CLOSE_OBJECT回调函数 (ndkpi.h)

NdkCloseObject (NDK_FN_CLOSE_OBJECT) 函数启动对 NDK 对象的关闭请求。

语法

NDK_FN_CLOSE_OBJECT NdkFnCloseObject;

NTSTATUS NdkFnCloseObject(
  [in]           NDK_OBJECT_HEADER *pNdkObject,
  [in]           NDK_FN_CLOSE_COMPLETION CloseCompletion,
  [in, optional] PVOID RequestContext
)
{...}

参数

[in] pNdkObject

指向对象标头的指针 (NDK_OBJECT_HEADER 对象关闭) 。

[in] CloseCompletion

指向 NdkCloseCompletion 关闭完成回调函数的指针 (NDK_FN_CLOSE_COMPLETION) 。

[in, optional] RequestContext

NDK 提供程序的上下文值,用于传递回 CloseCompletion 参数中指定的 NdkCloseCompletion 函数。

返回值

NdkCloseObject 函数返回以下 NTSTATUS 代码之一。

返回代码 说明
STATUS_SUCCESS
NDK 对象已关闭。 提供程序不会调用 NdkCloseCompletion 函数。
STATUS_PENDING
请求处于挂起状态,提供程序将调用 NdkCloseCompletion 函数以异步方式完成操作。 关闭请求已成功启动,但可能尚未完成。
其他状态代码
出现了错误。

注解

每种类型的 NDK 对象的函数调度表都包含 NDK_FN_CLOSE_OBJECT 函数指针。 关闭请求是异步的。 NDK 使用者在启动关闭请求后不得访问 对象。

NDK 提供程序必须确保 NdkCloseCompletion 函数 (NDK_FN_CLOSE_COMPLETION) 是针对正在关闭的对象调用的最后一个回调。 在提供程序调用 NdkCloseCompletion 函数之前,提供程序必须确保完成所有未完成的异步请求并返回所有正在进行的回调,并阻止进一步的回调。 提供程序调用 NdkCloseCompletion 函数后,提供程序不会为对象调用任何完成函数或通知回调函数。

要求

要求
最低受支持的客户端 不支持,NDIS 6.30 及更高版本支持。
最低受支持的服务器 Windows Server 2012
目标平台 Windows
标头 ndkpi.h (包括 Ndkpi.h)
IRQL <=DISPATCH_LEVEL

另请参阅

NDKPI 对象生存期要求

NDK_CONNECTOR_DISPATCH

NDK_CQ_DISPATCH

NDK_FN_CLOSE_COMPLETION

NDK_OBJECT_HEADER