NDK_FN_CREATE_CQ回调函数 (ndkpi.h)
NdkCreateCq (NDK_FN_CREATE_CQ) 函数 (CQ) 对象创建 NDK 完成队列。
语法
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
指向 NdkCqNotificationCallback 函数的指针 (NDK_FN_CQ_NOTIFICATION_CALLBACK) ,当请求完成在 CQ 中排队时提供程序使用该函数通知使用者。 提供程序不会调用 NdkCqNotificationCallback ,除非使用者使用 NdkArmCq (NDK_FN_ARM_CQ) 函数来提供通知。
[in, optional] CqNotificationContext
NDK 提供程序传递回 CqNotification 参数中指定的 NdkCqNotificationCallback 函数的上下文值。
[in, optional] Affinity
关联掩码 (GROUP_AFFINITY) ,它提供使用者将选择运行 NdkCqNotificationCallback 回调的首选处理器。 如果基础硬件允许,提供程序应遵循处理器首选项,但使用者不能假定 NdkCqNotificationCallback 回调将仅在首选处理器上发生。 如果没有首选处理器,请将 Affinity 设置为 NULL。
[in] CreateCompletion
指向 NdkCreateCompletion (NDK_FN_CREATE_COMPLETION 完成 NDK 对象的创建) 函数的指针。
[in, optional] RequestContext
NDK 提供程序传递回 CreateCompletion 参数中指定的 NdkCreateCompletion 函数的上下文值。
ppNdkCq
如果请求成功但不返回STATUS_PENDING,则在此位置返回指向 (CQ ) 对象 (NDK_CQ) 的指针。 如果 NdkCreateCq 返回STATUS_PENDING则忽略此参数,并使用 CreateCompletion 参数中指定的回调返回创建的对象。
返回值
NDK_FN_CREATE_CQ函数返回以下 NTSTATUS 代码之一。
返回代码 | 说明 |
---|---|
|
CQ 对象已成功创建并返回 * ppNdkCq 参数。 |
|
操作处于挂起状态,稍后将完成。 提供程序将调用 CreateCompletion 参数中指定的函数 (NDK_FN_CREATE_COMPLETION) 来完成挂起的操作。 |
|
请求失败,因为请求的 CqDepth 值大于在 NDK_ADAPTER_INFO 结构中指定的 MaxCqDepth 值。 |
|
由于资源不足,请求失败。
重要 请求可能会内联失败,也可能会以异步方式失败,并显示此状态代码。
|
|
出现了错误。 |
注解
NdkCreateCq 函数 (CQ) 对象创建 NDK 完成队列。 如果函数返回STATUS_SUCCESS,则会在 ppNdkCq 参数中返回创建的对象。 如果 NdkCreateCq 返回STATUS_PENDING,则创建的 对象由 NdkCreateCompletion (NDK_FN_CREATE_COMPLETIONcreateCompletion 参数中指定的) 函数返回。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 不支持,在 NDIS 6.30 及更高版本中受支持。 |
最低受支持的服务器 | Windows Server 2012 |
目标平台 | Windows |
标头 | ndkpi.h (包括 Ndkpi.h) |
IRQL | <=DISPATCH_LEVEL |