NDK_FN_INVALIDATE回调函数 (ndkpi.h)

NdkInvalidate (NDK_FN_INVALIDATE) 函数 (MR) 或内存窗口的快速寄存器 NDK 内存区域失效, (兆瓦) 。

语法

NDK_FN_INVALIDATE NdkFnInvalidate;

NTSTATUS NdkFnInvalidate(
  [in]           NDK_QP *pNdkQp,
  [in, optional] PVOID RequestContext,
  [in]           NDK_OBJECT_HEADER *pNdkMrOrMw,
  [in]           ULONG Flags
)
{...}

参数

[in] pNdkQp

指向 NDK 队列对 (QP) 对象 (NDK_QP) 的指针。

[in, optional] RequestContext

要在此请求的 NDK_RESULT 结构的 RequestContext 成员中返回的上下文值。

[in] pNdkMrOrMw

指向内存区域的指针 (MR) 对象 (NDK_MR) 或内存 (兆瓦) 对象 (NDK_OBJECT_HEADER结构中指定的NDK_MW) 。 如果指定了 MR 对象,则 MR 对象必须已注册到 NdkFastRegister (NDK_FN_FAST_REGISTER) 函数。 NDK 使用者不得在 pNdkMrOrMw 参数中指定已注册到 NdkRegister (NDK_FN_REGISTER) 函数的 MR 对象。 可以使用 NdkDeregisterMr (NDK_FN_DEREGISTER_MR ) 函数删除对 NdkRegister (NDK_FN_REGISTER) ) 函数注册的 MR 对象的访问。

[in] Flags

指定允许的操作的标志的按位 OR。 支持以下标志:

含义
NDK_OP_FLAG_SILENT_SUCCESS
0x00000001
指示此请求的成功完成不会在出站完成队列中生成完成事件。 但是,失败的请求会在完成队列中生成事件。
NDK_OP_FLAG_READ_FENCE
0x00000002
指示在硬件开始处理此请求之前,所有以前的读取请求都必须完成。
NDK_OP_FLAG_DEFER
0x00000200
向 NDK 提供程序指示它可以延迟指示对硬件的请求进行处理。 有关此标志的详细信息,请参阅 NDKPI 延迟处理方案

注意此标志仅在 NDKPI 1.2 (Windows Server 2012 R2) 及更高版本中受支持。

返回值

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

返回代码 说明
STATUS_SUCCESS
已成功发布请求。 完成工作请求后,完成项将排队到 CQ。
STATUS_CONNECTION_INVALID
QP 未连接。
其他状态代码
出现了错误。

注解

NdkInvalidate 使 NDK 快速注册 MR 或 MW 失效。

要求

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

另请参阅

NDKPI 完成处理要求

NDKPI 延迟处理方案

NDKPI 工作请求发布要求

NDK_FN_DEREGISTER_MR

NDK_FN_FAST_REGISTER

NDK_FN_REGISTER

NDK_MR

NDK_MW

NDK_OBJECT_HEADER

NDK_QP

NDK_RESULT