NDK_FN_ACCEPT_EXコールバック関数 (ndkpi.h)
NdkAcceptEx (NDK_FN_ACCEPT_EX) 関数は、リスナー オブジェクトを介した受信接続要求を受け入れます。
構文
NDK_FN_ACCEPT_EX NdkFnAcceptEx;
NTSTATUS NdkFnAcceptEx(
[in] NDK_CONNECTOR *pNdkConnector,
[in] NDK_QP *pNdkQp,
[in] ULONG InboundReadLimit,
[in] ULONG OutboundReadLimit,
[_In_reads_bytes_opt_(PrivateDataLength)] const PVOID pPrivateData,
[in] ULONG PrivateDataLength,
[in, optional] NDK_FN_DISCONNECT_EVENT_CALLBACK_EX DisconnectEvent,
[in, optional] PVOID DisconnectEventContext,
[in] NDK_FN_REQUEST_COMPLETION RequestCompletion,
[in, optional] PVOID RequestContext
)
{...}
パラメーター
[in] pNdkConnector
NDK コネクタ オブジェクト (NDK_CONNECTOR) へのポインター。
[in] pNdkQp
接続に関連付ける NDK キュー ペア (QP) オブジェクト (NDK_QP) へのポインター。
[in] InboundReadLimit
コンシューマーが指定した、QP で許可する受信進行中の読み取り操作の最大数。 基になるプロバイダーが、NDK_ADAPTER_INFO 構造体の MaxInboundReadLimit 値 低い場合、プロバイダーはコンシューマーが指定した値をプロバイダーの最大値に制限します。 ピア OutboundReadLimit 値が小さい場合、プロバイダーはその値を有効な InboundReadLimitとして使用します。 コンシューマーは、NdkGetConnectionData 関数 (NDK_FN_GET_CONNECTION_DATA) を呼び出すことによって、有効な InboundReadLimit を取得できます。
[in] OutboundReadLimit
コンシューマーが指定した、QP で許可する送信進行中の読み取り操作の最大数。 基になるプロバイダーの NDK_ADAPTER_INFO 構造体の MaxOutboundReadLimit 値が小さい場合、プロバイダーはコンシューマーが指定した値をプロバイダーの最大値に制限します。 ピアの InboundReadLimit が低い場合、プロバイダーはその値を有効な OutboundReadLimitとして使用します。 コンシューマーは、NdkGetConnectionData 関数 (NDK_FN_GET_CONNECTION_DATA) を呼び出すことによって、OutboundReadLimit の有効な を取得できます。
[_In_reads_bytes_opt_(PrivateDataLength)] pPrivateData
受け入れ要求で返されるプライベート データ。
[in] PrivateDataLength
pPrivateData パラメーターで提供されるプライベート データの長さ (バイト単位)。
[in, optional] DisconnectEvent
省略可能な切断通知コールバック関数 NdkDisconnectEventCallbackEx NDK_FN_DISCONNECT_EVENT_CALLBACK_EXのエントリ ポイント。 プロバイダーは、ピアが切断されたときにこのコールバック関数を呼び出します。
[in, optional] DisconnectEventContext
DisconnectEvent パラメーターで指定されたコールバック関数の DisconnectEventContext パラメーターに渡すコンテキスト値。
[in] RequestCompletion
NdkRequestCompletion (NDK_FN_REQUEST_COMPLETION) 要求完了コールバック ルーチンへのポインター。
[in, optional] RequestContext
RequestCompletion パラメーターで指定されたコールバック関数の Context パラメーターに渡すコンテキスト値。
戻り値
NDK_FN_ACCEPT_EX 関数は、次の NTSTATUS コードのいずれかを返します。
リターン コード | 形容 |
---|---|
STATUS_SUCCESS | 操作が正常に完了しました。 |
STATUS_PENDING | 操作は保留中であり、後で完了します。 ドライバーは、指定した RequestCompletion (NDK_FN_REQUEST_COMPLETION) 関数を呼び出して、保留中の操作を完了します。 |
STATUS_CONNECTION_ABORTED | 接続ピアは、保留中の接続確立を破棄しました。 |
STATUS_IO_TIMEOUT | ピアは、保留中の接続要求を完了するために CompleteConnect (NDK_FN_COMPLETE_CONNECT_EX) 関数を呼び出しませんでした。 |
その他の状態コードの | エラーが発生しました。 |
備考
NDK コンシューマー NdkAcceptEx を呼び出して、リスナー オブジェクト経由の着信接続要求を受け入れます。
NdkCreateListener (NDK_FN_CREATE_LISTENER) 関数は、NDK リスナー オブジェクトを作成し、NdkConnectEventCallback 関数 (NDK_FN_CONNECT_EVENT_CALLBACK) を提供します。
NdkConnectEventCallback 関数は、各着信接続要求についてコンシューマーに通知するために NDK プロバイダーによって使用されます。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | NDKPI 2.1 以降でサポートされています。 |
サポートされる最小サーバー | Windows Server 2022 |
ターゲット プラットフォーム の | ウィンドウズ |
ヘッダー | ndkpi.h (Ndkpi.h を含む) |
IRQL | <=DISPATCH_LEVEL |