次の方法で共有


NDK_FN_CREATE_SHARED_ENDPOINT コールバック関数 (ndkpi.h)

NdkCreateSharedEndpoint (NDK_FN_CREATE_SHARED_ENDPOINT) 関数は、NDK 共有エンドポイントを作成します。

構文

NDK_FN_CREATE_SHARED_ENDPOINT NdkFnCreateSharedEndpoint;

NTSTATUS NdkFnCreateSharedEndpoint(
  [in]           NDK_ADAPTER *pNdkAdapter,
                 const PSOCKADDR pAddress,
  [in]           ULONG AddressLength,
  [in]           NDK_FN_CREATE_COMPLETION CreateCompletion,
  [in, optional] PVOID RequestContext,
                 NDK_SHARED_ENDPOINT **ppNdkSharedEndpoint
)
{...}

パラメーター

[in] pNdkAdapter

NDK アダプター オブジェクト (NDK_ADAPTER) へのポインター。

pAddress

発信接続の開始に使用するローカル アドレス。 AF_INETまたはAF_INET6 pAddress には、ローカル IP アドレスとローカル ND ポートが含まれます。

[in] AddressLength

pAddress パラメーターのローカル アドレス データのサイズ (バイト単位)。

[in] CreateCompletion

NDK オブジェクトの作成を完了する NdkCreateCompletion (NDK_FN_CREATE_COMPLETION) 関数へのポインター。

[in, optional] RequestContext

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

ppNdkSharedEndpoint

作成された共有エンドポイント オブジェクト (NDK_SHARED_ENDPOINT) へのポインターは、要求がSTATUS_PENDINGを返さずに成功した場合に、この場所に返されます。 要求から STATUS_PENDINGが返された場合、このパラメーターは無視され、 CreateCompletion パラメーターで指定されたコールバックを使用して作成されたオブジェクトが返されます。

戻り値

NdkCreateSharedEndpoint 関数は、次のいずれかの NTSTATUS コードを返します。

リターン コード 説明
STATUS_SUCCESS
共有エンドポイント オブジェクトが正常に作成され、 *ppNdkSharedEndpoint パラメーターを使用して返されました。
STATUS_PENDING
操作は保留中であり、後で完了します。 プロバイダーは、 CreateCompletion パラメーター (NDK_FN_CREATE_COMPLETION) で指定された関数を呼び出して、保留中の操作を完了します。
STATUS_INSUFFICIENT_RESOURCES
リソースが不足しているため、要求は失敗しました。
大事な 要求はインラインで失敗し、この状態コードを使用して非同期的に失敗する可能性があります。
 
STATUS_SHARING_VIOLATION
指定されたローカル アドレスが既に使用されているため、要求は失敗しました。
大事な 要求はインラインで失敗し、この状態コードを使用して非同期的に失敗する可能性があります。
 
STATUS_TOO_MANY_ADDRESSES
コンシューマーがローカル ポート番号 0 を指定し、ネットワーク ダイレクト プロバイダーがエフェメラル ポート空間 (ポート 49152 から 65535) からポートを割り当てられなかったため、要求は失敗しました。
STATUS_INVALID_ADDRESS
指定したローカル アドレスがアダプターの有効なアドレスでないため、要求は失敗しました。
大事な 要求はインラインで失敗し、この状態コードを使用して非同期的に失敗する可能性があります。
 
その他の状態コード
エラーが発生しました。

解説

NdkCreateSharedEndpoint 関数は、異なるリモート アドレス宛ての複数の送信接続のローカル アドレスとして使用する NDK 共有エンドポイントを作成します。 これは、リスナー オブジェクトによって表される同じローカル アドレスに対して複数の受信接続を持つことに似ています。

関数がSTATUS_SUCCESSを返す場合、作成されたオブジェクトは ppNdkSharedEndpoint パラメーターで返されます。 NdkCreateSharedEndpoint がSTATUS_PENDINGを返す場合、CreateCompletion パラメーターで指定された NdkCreateCompletion (NDK_FN_CREATE_COMPLETION) 関数によって作成されたオブジェクトが返されます。

要件

要件
サポートされている最小のクライアント サポートされていません。NDIS 6.30 以降でサポートされています。
サポートされている最小のサーバー Windows Server 2012
対象プラットフォーム Windows
ヘッダー ndkpi.h (Ndkpi.h を含む)
IRQL <=DISPATCH_LEVEL

こちらもご覧ください

NDKPI オブジェクト有効期間要件

NDK_ADAPTER

NDK_ADAPTER_DISPATCH

NDK_FN_CREATE_COMPLETION

NDK_SHARED_ENDPOINT