次の方法で共有


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

NdkSrqNotificationCallback 関数 (NDK_FN_SRQ_NOTIFICATION_CALLBACK) を省略可能です。これは、キューに登録された受信要求数が、NotifyThreshold パラメーターで指定されているしきい値を下回った場合にプロバイダーが呼び出します。

[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

CreateCompletion パラメーターで指定された NdkCreateCompletion 関数に NDK プロバイダーが戻すコンテキスト値。

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 または MaxReceiveRequestSge が、NDK_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
ターゲット プラットフォーム ウィンドウズ
ヘッダー 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