NDK_FN_CREATE_QP_WITH_SRQ コールバック関数 (ndkpi.h)
NdkCreateQpWithSrq (NDK_FN_CREATE_QP_WITH_SRQ) 関数は、NDK 共有受信キュー (SRQ) オブジェクトを持つ NDK キュー ペア (QP) オブジェクトを作成します。
構文
NDK_FN_CREATE_QP_WITH_SRQ NdkFnCreateQpWithSrq;
NTSTATUS NdkFnCreateQpWithSrq(
[in] NDK_PD *pNdkPd,
[in] NDK_CQ *pReceiveCq,
[in] NDK_CQ *pInitiatorCq,
[in] NDK_SRQ *pSrq,
[in, optional] PVOID QPContext,
[in] ULONG InitiatorQueueDepth,
[in] ULONG MaxInitiatorRequestSge,
[in] ULONG InlineDataSize,
[in] NDK_FN_CREATE_COMPLETION CreateCompletion,
[in, optional] PVOID RequestContext,
NDK_QP **ppNdkQp
)
{...}
パラメーター
[in] pNdkPd
NDK 保護ドメイン (PD) オブジェクト (NDK_PD) へのポインター。
[in] pReceiveCq
受信要求の完了 (NDK_CQ) に使用する完了キュー (CQ) へのポインター。
[in] pInitiatorCq
イニシエーター要求の完了に使用する CQ へのポインター。
[in] pSrq
受信要求をポストする NDK 共有受信キュー (SRQ) オブジェクト (NDK_SRQ) へのポインター。
[in, optional] QPContext
QPContext この QP 経由でポストされるすべての要求の NDK_RESULT 構造体のメンバーで返されるコンテキスト値。
[in] InitiatorQueueDepth
QP で未処理にできるイニシエーター要求の最大数。 この値は、NDK_ADAPTER_INFO 構造体の MaxInitiatorQueueDepth メンバーの値以下である必要があります。
[in] MaxInitiatorRequestSge
1 つのイニシエーター要求でサポートできる SGEs の最大数。 この値は、NDK_ADAPTER_INFO構造体の MaxInitiatorRequestSge メンバー内の値以下である必要があります。
[in] InlineDataSize
1 回の送信または書き込み要求で送信できるインライン データの最大量 (バイト単位)。 この値は、NDK_ADAPTER_INFO構造体の MaxInlineDataSize メンバーの値以下である必要があります。
[in] CreateCompletion
NDK オブジェクトの作成を完了する NdkCreateCompletion (NDK_FN_CREATE_COMPLETION) 関数へのポインター。
[in, optional] RequestContext
CreateCompletion パラメーターで指定された NdkCreateCompletion 関数に NDK プロバイダーが戻すコンテキスト値。
ppNdkQp
作成された QP オブジェクト (NDK_QP) へのポインターは、STATUS_PENDINGを返さずに要求が成功した場合に、この場所で返されます。 要求がSTATUS_PENDING返された場合、このパラメーターは無視され、作成されたオブジェクトは、CreateCompletion パラメーターで指定されたコールバックと共に返されます。
戻り値
NdkCreateQpWithSrq 関数は、次のいずれかの NTSTATUS コードを返します。
リターン コード | 形容 |
---|---|
|
QP オブジェクトが正常に作成され、*ppNdkQp パラメーターで返されました。 |
|
操作は保留中であり、後で完了します。 プロバイダーは、CreateCompletion パラメーター (NDK_FN_CREATE_COMPLETION) で指定された関数を呼び出して、保留中の操作を完了します。 |
|
要求された InitiatorQueueDepth、MaxInitiatorRequestSge 、または InlineDataSize が、NDK_ADAPTER_INFO 構造体で指定されている制限内にないため、要求は失敗しました。 |
|
リソースが不足しているため、要求が失敗しました。
重要な 要求は、この状態コードを使用してインラインで、また非同期的に失敗する可能性があります。
|
|
エラーが発生しました。 |
備考
NdkCreateQpWithSrq 関数は、共有受信キュー (SRQ) を持つ NDK キュー ペア (QP) オブジェクトを作成します。 QP は、受信キューとイニシエーター キューで構成されます。 受信キューは、受信要求をポストするために使用されます。 イニシエーター キューは、送信、バインド、高速登録、読み取り、書き込み、無効化の要求を開始するために使用されます。
関数がSTATUS_SUCCESSを返す場合、作成されたオブジェクトは ppNdkQp パラメーターで返されます。 NdkCreateQpWithSrq がSTATUS_PENDINGを返す場合、作成されたオブジェクトは、CreateCompletion パラメーターで指定された NdkCreateCompletion (NDK_FN_CREATE_COMPLETION) 関数によって返されます。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | サポートされていません。NDIS 6.30 以降でサポートされています。 |
サポートされる最小サーバー | Windows Server 2012 |
ターゲット プラットフォーム の | ウィンドウズ |
ヘッダー | ndkpi.h (Ndkpi.h を含む) |
IRQL | <=DISPATCH_LEVEL |