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
1 つの受信要求でサポートされる SGEs の最大数。 この値は、NDK_ADAPTER_INFO構造体で指定されている MaxReceiveRequestSge メンバーの値以下である必要があります。
[in] NotifyThreshold
SRQ 通知コールバックをトリガーするためのキューに登録された受信要求の最小数。
[in, optional] SrqNotification
キューに登録された受信要求数が NotifyThreshold パラメーターで指定されたしきい値を下回った場合にプロバイダーが呼び出すオプションの NdkSrqNotificationCallback 関数 (NDK_FN_SRQ_NOTIFICATION_CALLBACK)。
[in, optional] SrqNotificationContext
SrqNotification パラメーターで指定された NdkSrqNotificationCallback 関数に NDK プロバイダーが戻すコンテキスト値。
[in, optional] Affinity
コンシューマーが NdkSrqNotificationCallback コールバックの実行を選択する優先プロセッサを指定するアフィニティ マスク (GROUP_AFFINITY)。 基になるハードウェアで許可されている場合、プロバイダーはプロセッサの基本設定を尊重する必要がありますが、コンシューマーは 、NdkSrqNotificationCallback コールバックが優先プロセッサでのみ発生すると想定することはできません。 優先プロセッサがない場合は、 Affinity を NULL に設定します。
[in] CreateCompletion
NDK オブジェクトの作成を完了する NdkCreateCompletion (NDK_FN_CREATE_COMPLETION) 関数へのポインター。
[in, optional] RequestContext
NDK プロバイダーが CreateCompletion パラメーターで指定された NdkCreateCompletion 関数に渡すコンテキスト値。
ppNdkSrq
作成された SRQ オブジェクト (NDK_SRQ) へのポインターは、要求がSTATUS_PENDINGを返さずに成功した場合に、この場所に返されます。 要求から STATUS_PENDINGが返された場合、このパラメーターは無視され、 CreateCompletion パラメーターで指定されたコールバックを使用して作成されたオブジェクトが返されます。
戻り値
NdkCreateSrq 関数は、次の NTSTATUS コードのいずれかを返します。
リターン コード | 説明 |
---|---|
|
SRQ オブジェクトが正常に作成され、 *ppNdkSrq パラメーターを使用して返されました。 |
|
操作は保留中であり、後で完了します。 プロバイダーは、 CreateCompletion パラメーター (NDK_FN_CREATE_COMPLETION) で指定された関数を呼び出して、保留中の操作を完了します。 |
|
要求された SrqDepth または MaxReceiveRequestSge が 、NDK_ADAPTER_INFO 構造体で指定されている制限内にないため、要求は失敗しました。 |
|
リソースが不足しているため、要求は失敗しました。
大事な 要求はインラインで失敗し、この状態コードを使用して非同期的に失敗する可能性があります。
|
|
エラーが発生しました。 |
解説
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 |