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
この QP に対してポストされるすべての要求について、NDK_RESULT構造体の QPContext メンバーで返されるコンテキスト値。
[in] InitiatorQueueDepth
QP で未処理にできるイニシエーター要求の最大数。 この値は、NDK_ADAPTER_INFO構造体の MaxInitiatorQueueDepth メンバーの値以下である必要があります。
[in] MaxInitiatorRequestSge
1 つのイニシエーター要求でサポートできる SG の最大数。 この値は、NDK_ADAPTER_INFO構造体の MaxInitiatorRequestSge メンバーの値以下である必要があります。
[in] InlineDataSize
1 回の送信または書き込み要求で送信できるインライン データの最大量 (バイト単位)。 この値は、NDK_ADAPTER_INFO構造体の MaxInlineDataSize メンバーの値以下である必要があります。
[in] CreateCompletion
NDK オブジェクトの作成を完了する NdkCreateCompletion (NDK_FN_CREATE_COMPLETION) 関数へのポインター。
[in, optional] RequestContext
NDK プロバイダーが CreateCompletion パラメーターで指定された NdkCreateCompletion 関数に戻すコンテキスト値。
ppNdkQp
要求がSTATUS_PENDINGを返さずに成功した場合、作成された QP オブジェクト (NDK_QP) へのポインターがこの場所に返されます。 要求が 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 |
対象プラットフォーム | Windows |
ヘッダー | ndkpi.h (Ndkpi.h を含む) |
IRQL | <=DISPATCH_LEVEL |