次の方法で共有


NdisClAddParty 関数 (ndis.h)

NdisClAddParty は、 クライアントのマルチポイント VC にパーティを追加します。

構文

NDIS_STATUS NdisClAddParty(
  [in]      NDIS_HANDLE         NdisVcHandle,
  [in]      NDIS_HANDLE         ProtocolPartyContext,
  [in, out] PCO_CALL_PARAMETERS CallParameters,
  [out]     PNDIS_HANDLE        NdisPartyHandle
);

パラメーター

[in] NdisVcHandle

NdisCoCreateVc によって返される VC ハンドルへのポインター。

[in] ProtocolPartyContext

呼び出しが成功した場合にクライアントがパーティごとの状態を維持する、呼び出し元によって割り当てられた常駐コンテキスト領域へのハンドルを指定します。

[in, out] CallParameters

呼び出し元がマルチポイント VC に追加 するパーティのアドレス情報を指定したCO_CALL_PARAMETERS型の構造体へのポインター。

[out] NdisPartyHandle

アドイン操作が成功した場合に NDIS によって設定される変数へのポインター。

戻り値

NdisClAddParty がNDIS_STATUS_PENDING以外のものを返す場合、クライアントは、 の内部呼び出しを行う必要があります。 ProtocolClAddPartyComplete 関数。 それ以外の場合、NDIS は、この操作が完了したときにクライアントの ProtocolClAddPartyComplete 関数を呼び出します。

注釈

NdisClAddParty を呼び出す前に、クライアントは NdisClMakeCall を使用して VC にマルチポイント接続を設定し、追加するパーティのコンテキスト領域の割り当てと初期化を行う必要があります。 クライアントは通常、ProtocolPartyContext などのコンテキスト領域へのポインターと、NdisClAddParty を呼び出すときに NdisPartyHandle パラメーターとして、そのコンテキスト領域内の変数へのポインターを渡します。

NdisClAddParty を呼び出すと、NDIS は、クライアントが指定された NdisVcHandle を共有する呼び出しマネージャーの ProtocolCmAddParty 関数にこの要求を転送します。 呼び出しマネージャーは、エラー状態を直ちに返すか、より一般的には、この要求を満たそうとした場合にNDIS_STATUS_PENDINGします。 リモート エンドポイントまたは基になるミニポート ドライバーで試行が拒否された場合、呼び出しマネージャーは NdisCmAddPartyComplete または NdisMCmAddPartyComplete を呼び出すときに、NDIS_STATUS_FAILUREなどの最終的なエラー状態を返します。 クライアントの ProtocolClAddPartyComplete 関数は、さらに進む前に、NDIS_STATUS_SUCCESSの入力 Status 引数をチェックする必要があります。

基になるネットワーク メディアは、クライアントがマルチポイント VC でパーティごとのトラフィック パラメーターを指定できるかどうかを決定します。

基になるネットワーク メディアがマルチポイント VC でパーティごとのトラフィック パラメーターをサポートしていない場合、クライアントが CallParameters で既に確立されている VC のトラフィック パラメーターと一致しない仕様のパーティを追加しようとするたびに 、呼び出し マネージャーは次のいずれかを実行できます。

  • 新しいパーティを追加する要求を拒否します。
  • マルチポイント VC にパーティが正常に追加されたときに、マルチポイント VC に対して既に確立されているトラフィック パラメータをリセットします。
  • 新しいパーティが正常に追加されたときに、VC に既に存在するすべてのパーティのトラフィック パラメータを変更します。
アドイン操作が成功した場合、 NdisPartyHandle の変数は NDIS によって、NDIS、クライアント、および呼び出しマネージャー間で共有される有効なハンドルに設定されています。 クライアントは、この NDIS 提供のハンドルを、新しく追加されたパーティに関する NdisCl/CoXxx 関数の後続の呼び出しで渡される不透明な変数として扱う必要があります。

次に、NDIS は、クライアントから提供された ProtocolPartyContext ハンドルを、この新しく追加されたパーティに関連するクライアントの ProtocolClXxx 関数 (への呼び出しを含む) に対する後続の呼び出しで渡します。 ProtocolClAddPartyComplete

マルチポイント呼び出しで双方向の転送や、パーティごとのトラフィック パラメーターを使用したパーティごとの転送が許可されるかどうかは、クライアントがバインドされている基になるミニポート ドライバーのメディアによって異なります。 NdisPartyHandle は、マルチポイント VC ではなく、NdisClAddParty の正常な呼び出しによって追加された特定のパーティのみを表します。 そのため、クライアントは、後続のパーティ固有の呼び出し管理要求に対してのみ 、ProtocolPartyContext 領域を使用できます。 パーティごとの転送またはトラフィック パラメーターをサポートしていないネットワーク メディア経由のデータ転送の場合、クライアントは代わりに NdisVcHandle を使用する必要があります。

要件

要件
サポートされている最小のクライアント Windows Vista の NDIS 6.0 および NDIS 5.1 ドライバー (「NdisClAddParty (NDIS 5.1)」を参照) でサポートされています。 Windows XP の NDIS 5.1 ドライバー (「NdisClAddParty (NDIS 5.1)」を参照) でサポートされています。
対象プラットフォーム デスクトップ
Header ndis.h (Ndis.h を含む)
Library Ndis.lib
IRQL <= DISPATCH_LEVEL
DDI コンプライアンス規則 Irql_Protocol_Driver_Function(ndis)

こちらもご覧ください

CO_CALL_PARAMETERS

NdisAllocateFromNPagedLookasideList

NdisClCloseCall

NdisClDropParty

NdisClMakeCall

NdisCmAddPartyComplete

NdisCoCreateVc

NdisCoOidRequest

NdisCoOidRequestComplete

NdisMCmAddPartyComplete

ProtocolClAddPartyComplete

ProtocolCmAddParty