NDK_FN_CREATE_SRQ 콜백 함수(ndkpi.h)

NdkCreateSrq(NDK_FN_CREATE_SRQ) 함수는 NDK SRQ(공유 수신 큐) 개체를 만듭니다.

구문

NDK_FN_CREATE_SRQ NdkFnCreateSrq;

NTSTATUS NdkFnCreateSrq(
  [in]           NDK_PD *pNdkPd,
  [in]           ULONG SrqDepth,
  [in]           ULONG MaxReceiveRequestSge,
  [in]           ULONG NotifyThreshold,
  [in, optional] NDK_FN_SRQ_NOTIFICATION_CALLBACK SrqNotification,
  [in, optional] PVOID SrqNotificationContext,
  [in, optional] GROUP_AFFINITY *Affinity,
  [in]           NDK_FN_CREATE_COMPLETION CreateCompletion,
  [in, optional] PVOID RequestContext,
                 NDK_SRQ **ppNdkSrq
)
{...}

매개 변수

[in] pNdkPd

NDK PD(보호 도메인) 개체(NDK_PD)에 대한 포인터입니다.

[in] SrqDepth

SRQ를 통해 미해결될 수 있는 최대 수신 요청 수입니다. 이 값은 NDK_ADAPTER_INFO 구조체에 지정된 MaxSrqDepth 멤버의 값보다 작거나 같아야 합니다.

[in] MaxReceiveRequestSge

단일 수신 요청에서 지원되는 최대 SGE 수입니다. 이 값은 NDK_ADAPTER_INFO 구조체에 지정된 MaxReceiveRequestSge 멤버의 값보다 작거나 같아야 합니다.

[in] NotifyThreshold

SRQ 알림 콜백을 트리거하기 위한 대기 중인 수신 요청의 최소 수입니다.

[in, optional] SrqNotification

대기 중인 수신 요청 수가 NotifyThreshold 매개 변수에 지정된 임계값보다 낮으면 공급자가 호출하는 선택적 NdkSrqNotificationCallback 함수(NDK_FN_SRQ_NOTIFICATION_CALLBACK)입니다.

[in, optional] SrqNotificationContext

NDK 공급자가 SrqNotification 매개 변수에 지정된 NdkSrqNotificationCallback 함수로 다시 전달하는 컨텍스트 값입니다.

[in, optional] Affinity

소비자가 NdkSrqNotificationCallback 콜백을 실행하도록 선택하는 기본 프로세서를 지정하는 선호도 마스크(GROUP_AFFINITY)입니다. 공급자는 기본 하드웨어에서 허용하는 경우 프로세서 기본 설정을 준수해야 하지만 소비자는 기본 프로세서에서만 NdkSrqNotificationCallback 콜백 이 발생한다고 가정할 수 없습니다. 기본 프로세서가 없는 경우 선호도 를 NULL로 설정합니다.

[in] CreateCompletion

NDK 개체 만들기를 완료하는 NdkCreateCompletion (NDK_FN_CREATE_COMPLETION) 함수에 대한 포인터입니다.

[in, optional] RequestContext

NDK 공급자가 CreateCompletion 매개 변수에 지정된 NdkCreateCompletion 함수로 다시 전달하는 컨텍스트 값입니다.

ppNdkSrq

요청이 STATUS_PENDING 반환하지 않고 성공하면 생성된 SRQ 개체(NDK_SRQ)에 대한 포인터가 이 위치에 반환됩니다. 요청이 STATUS_PENDING 반환하는 경우 이 매개 변수는 무시되고 CreateCompletion 매개 변수에 지정된 콜백과 함께 생성된 개체가 반환됩니다.

반환 값

NdkCreateSrq 함수는 다음 NTSTATUS 코드 중 하나를 반환합니다.

반환 코드 설명
STATUS_SUCCESS
SRQ 개체가 성공적으로 만들어지고 *ppNdkSrq 매개 변수와 함께 반환되었습니다.
STATUS_PENDING
작업이 보류 중이며 나중에 완료됩니다. 공급자는 CreateCompletion 매개 변수(NDK_FN_CREATE_COMPLETION)에 지정된 함수를 호출하여 보류 중인 작업을 완료합니다.
STATUS_INVALID_PARAMETER
요청된 SrqDepth 또는 MaxReceiveRequestSgeNDK_ADAPTER_INFO 구조에 지정된 한도 내에 있지 않으므로 요청이 실패했습니다.
STATUS_INSUFFICIENT_RESOURCES
리소스 부족으로 인해 요청이 실패했습니다.
중요 요청은 이 상태 코드와 비동기적으로도 인라인으로 실패할 수 있습니다.
 
기타 상태 코드
오류가 발생했습니다.

설명

NdkCreateSrq 함수는 NDK SRQ(공유 수신 큐) 개체를 만듭니다. 함수가 STATUS_SUCCESS 반환하면 생성된 개체가 ppNdkSrq 매개 변수에 반환됩니다. NdkCreateSrq가 STATUS_PENDING 반환하는 경우 CreateCompletion 매개 변수에 지정된 NdkCreateCompletion(NDK_FN_CREATE_COMPLETION) 함수에 의해 생성된 개체가 반환됩니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 지원되지 않음, NDIS 6.30 이상에서 지원됨
지원되는 최소 서버 Windows Server 2012
대상 플랫폼 Windows
헤더 ndkpi.h(Ndkpi.h 포함)
IRQL <=DISPATCH_LEVEL

추가 정보

GROUP_AFFINITY

NDKPI 개체 수명 요구 사항

NDK_ADAPTER_INFO

NDK_FN_CREATE_COMPLETION

NDK_FN_SRQ_NOTIFICATION_CALLBACK

NDK_PD

NDK_SRQ