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 に既に存在するすべてのパーティのトラフィック パラメータを変更します。
次に、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) |