NDK_FN_MODIFY_SRQ回调函数 (ndkpi.h)

NdkModifySrq (NDK_FN_MODIFY_SRQ) 函数修改 NDK 共享接收队列 (SRQ) 的大小和通知阈值。

语法

NDK_FN_MODIFY_SRQ NdkFnModifySrq;

NTSTATUS NdkFnModifySrq(
  [in]           NDK_SRQ *pNdkSrq,
  [in]           ULONG SrqDepth,
  [in]           ULONG NotifyThreshold,
  [in]           NDK_FN_REQUEST_COMPLETION RequestCompletion,
  [in, optional] PVOID RequestContext
)
{...}

参数

[in] pNdkSrq

指向 NDK 共享接收队列的指针, (SRQ) 对象 (NDK_SRQ) 。

[in] SrqDepth

SRQ 的新大小。 新大小必须小于或等于在 NDK_ADAPTER_INFO 结构的 MaxSrqDepth 成员中指定的大小。 大小为零表示不请求深度修改。 也就是说,必须保留现有的 SRQ 深度值。

[in] NotifyThreshold

将触发 SRQ 通知回调的排队接收请求数。 如果此值大于零,则 NDK 提供程序必须武装 SRQ 通知,以在排队接收请求数低于指定值时触发。 如果在此函数调用时排队的接收请求数已低于阈值,则必须生成 SRQ 通知。 生成 SRQ 通知后,将解除其他通知的武装,直到 NDK 使用者使用非零阈值再次调用此函数。 如果指定阈值为零,则提供程序必须保留当前的 SRQ 通知阈值和 arming 状态。

[in] RequestCompletion

指向请求完成回调例程 NdkRequestCompletion 的指针 (NDK_FN_REQUEST_COMPLETION) 。

[in, optional] RequestContext

要传递给 RequestCompletion 参数中指定的回调函数的 Context 参数的上下文值。

返回值

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

返回代码 说明
STATUS_SUCCESS
请求已成功完成。
STATUS_PENDING
操作处于挂起状态,稍后将完成。 驱动程序将调用指定的 RequestCompletion (NDK_FN_REQUEST_COMPLETION) 函数来完成挂起的操作。
STATUS_INVALID_PARAMETER
请求失败,因为 SrqDepth 参数中的值不在 NDK_ADAPTER_INFO 结构中指定的限制内。
其他状态代码
出现了错误。

注解

NdkModifySrq 修改 NDK 共享接收队列的大小和通知阈值, (SRQ) 对象 (NDK_SRQ) 。

要求

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

另请参阅

NDKPI 对象生存期要求

NDK_ADAPTER_INFO

NDK_FN_REQUEST_COMPLETION

NDK_SRQ