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

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

返回值

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