NDK_FN_CREATE_CQ 콜백 함수(ndkpi.h)
NdkCreateCq(NDK_FN_CREATE_CQ) 함수는 NDK CQ(완료 큐) 개체를 만듭니다.
통사론
NDK_FN_CREATE_CQ NdkFnCreateCq;
NTSTATUS NdkFnCreateCq(
[in] NDK_ADAPTER *pNdkAdapter,
[in] ULONG CqDepth,
[in] NDK_FN_CQ_NOTIFICATION_CALLBACK CqNotification,
[in, optional] PVOID CqNotificationContext,
[in, optional] GROUP_AFFINITY *Affinity,
[in] NDK_FN_CREATE_COMPLETION CreateCompletion,
[in, optional] PVOID RequestContext,
NDK_CQ **ppNdkCq
)
{...}
매개 변수
[in] pNdkAdapter
NDK 어댑터 개체(NDK_ADAPTER)에 대한 포인터입니다.
[in] CqDepth
CQ에서 보유할 수 있는 완료 항목의 최대 수입니다. 이 값은 NDK_ADAPTER_INFO 구조체에 지정된 MaxCqDepth 값보다 작거나 같아야 합니다.
[in] CqNotification
CQ에서 요청 완료가 큐에 대기될 때 공급자가 소비자에게 알리는 데 사용하는 NdkCqNotificationCallback 함수(NDK_FN_CQ_NOTIFICATION_CALLBACK)에 대한 포인터입니다. 소비자가 NdkArmCq(NDK_FN_ARM_CQ) 함수로 알림을 무기화하지 않는 한 공급자는 NdkCqNotificationCallback 호출하지 않습니다.
[in, optional] CqNotificationContext
NDK 공급자가 CqNotification 매개 변수에 지정된 NdkCqNotificationCallback 함수로 다시 전달하는 컨텍스트 값입니다.
[in, optional] Affinity
소비자가 NdkCqNotificationCallback 콜백을 실행하도록 선택하는 기본 프로세서를 제공하는 선호도 마스크(GROUP_AFFINITY)입니다. 공급자는 기본 하드웨어에서 허용하는 경우 프로세서 기본 설정을 준수해야 하지만 소비자는 NdkCqNotificationCallback 콜백이 기본 프로세서에서만 발생한다고 가정할 수 없습니다. 기본 프로세서가 없는 경우 선호도 NULL로 설정합니다.
[in] CreateCompletion
NDK 개체 만들기를 완료하는 NdkCreateCompletion(NDK_FN_CREATE_COMPLETION) 함수에 대한 포인터입니다.
[in, optional] RequestContext
NDK 공급자가 CreateCompletion 매개 변수에 지정된 NdkCreateCompletion 함수로 다시 전달하는 컨텍스트 값입니다.
ppNdkCq
요청이 STATUS_PENDING 반환하지 않고 성공하면 CQ(완료 큐) 개체(NDK_CQ)에 대한 포인터가 이 위치에 반환됩니다. NdkCreateCq 이 매개 변수가 무시되고 만든 개체가 CreateCompletion 매개 변수에 지정된 콜백과 함께 반환될 STATUS_PENDING 반환됩니다.
반환 값
NDK_FN_CREATE_CQ 함수는 다음 NTSTATUS 코드 중 하나를 반환합니다.
반환 코드 | 묘사 |
---|---|
|
CQ 개체가 성공적으로 만들어지고 *ppNdkCq 매개 변수와 함께 반환되었습니다. |
|
작업이 보류 중이며 나중에 완료됩니다. 공급자는 CreateCompletion 매개 변수(NDK_FN_CREATE_COMPLETION)에 지정된 함수를 호출하여 보류 중인 작업을 완료합니다. |
|
요청된 CqDepth 값이 NDK_ADAPTER_INFO 구조에 지정된 MaxCqDepth 값보다 크므로 요청이 실패했습니다. |
|
리소스 부족으로 인해 요청이 실패했습니다.
중요 요청은 이 상태 코드와 비동기적으로도 인라인으로 실패할 수 있습니다.
|
|
오류가 발생했습니다. |
발언
NdkCreateCq 함수는 NDK CQ(완료 큐) 개체를 만듭니다. 함수가 STATUS_SUCCESS 반환하면 생성된 개체가 ppNdkCq 매개 변수에 반환됩니다. NdkCreateCq STATUS_PENDING 반환하면 만든 개체는 CreateCompletion 매개 변수에 지정된 NdkCreateCompletion(NDK_FN_CREATE_COMPLETION) 함수에 의해 반환됩니다.
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | 지원되지 않음, NDIS 6.30 이상에서 지원됨 |
지원되는 최소 서버 | Windows Server 2012 |
대상 플랫폼 | Windows |
헤더 | ndkpi.h(Ndkpi.h 포함) |
IRQL | <=DISPATCH_LEVEL |