NDK_FN_MODIFY_SRQ callback function

The NdkModifySrq (NDK_FN_MODIFY_SRQ) function modifies the size and notification threshold of an NDK shared receive queue (SRQ).



NTSTATUS NdkModifySrq(
  _In_     NDK_SRQ                   *pNdkSrq,
  _In_     ULONG                     SrqDepth,
  _In_     ULONG                     NotifyThreshold,
  _In_     NDK_FN_REQUEST_COMPLETION RequestCompletion,
  _In_opt_ PVOID                     RequestContext
{ ... }


pNdkSrq [in]

A pointer to an NDK shared receive queue (SRQ) object (NDK_SRQ).

SrqDepth [in]

The new size of the SRQ. The new size must be less than or equal to the size that is specified in the MaxSrqDepth member of the NDK_ADAPTER_INFO structure. A size of zero means no depth modification is requested. That is, the existing SRQ depth value must be preserved.

NotifyThreshold [in]

The number of queued receive requests that will trigger an SRQ notification callback. If this value is greater than zero, the NDK provider must arm the SRQ notification to trigger when the number of queued receive requests falls below the specified value. If the number of queued receive requests is already below the threshold value at the time of this function call, an SRQ notification must be generated. After an SRQ notification is generated, further notifications are disarmed until the NDK consumer invokes this function again with a non-zero threshold value. If a threshold value of zero is specified, the provider must preserve the current SRQ notification threshold and arming status.

RequestCompletion [in]

A pointer to a request completion callback routine NdkRequestCompletion (NDK_FN_REQUEST_COMPLETION).

RequestContext [in, optional]

A context value to pass to the Context parameter of the callback function that is specified in the RequestCompletion parameter.

Return value

The NdkModifySrq function returns one of the following NTSTATUS codes.

Return codeDescription

The request was completed successfully.


The operation is pending and will be completed later. The driver will call the specified RequestCompletion (NDK_FN_REQUEST_COMPLETION) function to complete the pending operation.


The request failed because the value in the SrqDepth parameter is not within the limits that are specified in the NDK_ADAPTER_INFO structure.

Other status codes

An error occurred.



NdkModifySrq modifies the size and notification threshold for an NDK shared receive queue (SRQ) object (NDK_SRQ).


Minimum supported client

None supported

Minimum supported server

Windows Server 2012

Target platform


Supported in NDIS 6.30 and later.


Ndkpi.h (include Ndkpi.h)



See also

NDKPI Object Lifetime Requirements



Send comments about this topic to Microsoft