NdisCmRegisterAddressFamilyEx 関数 (ndis.h)

NdisCmRegisterAddressFamilyEx 関数は、CoNDIS ドライバー間の通信用にアドレス ファミリ (AF) を登録します。

構文

NDIS_STATUS NdisCmRegisterAddressFamilyEx(
  [in] NDIS_HANDLE        NdisBindingHandle,
  [in] PCO_ADDRESS_FAMILY AddressFamily
);

パラメーター

[in] NdisBindingHandle

NdisOpenAdapterEx 関数の NdisBindingHandle パラメーターで NDIS が指定したハンドル。 このハンドルは、AF に関連付けるバインディングを識別します。

[in] AddressFamily

呼び出しマネージャーと、NdisBindingHandle が指定するバインディングでサポートされる AF を識別するCO_ADDRESS_FAMILY構造体へのポインター。

AddressFamily のポインターは、 への入力パラメーターになります。同じ CoNDIS ミニポート アダプターにバインドされているすべてのクライアントの ProtocolCoAfRegisterNotify 関数。

戻り値

NdisCmRegisterAddressFamilyEx は、次のいずれかを返すことができます。

リターン コード 説明
NDIS_STATUS_SUCCESS
プロトコル ドライバーは AddressFamily が指す AF を登録したので、NDIS は を呼び出します。 ProtocolCoAfRegisterNotify 同じミニポート アダプターに自分自身をバインドするすべてのクライアントの関数。
NDIS_STATUS_RESOURCES
NDIS が十分なメモリを割り当てられなかったか、呼び出しマネージャーまたは指定された AF を追跡するために使用する状態を初期化できなかったため、要求された操作が失敗しました。
NDIS_STATUS_FAILURE
NDIS は、次のいずれかの理由により、 NdisCmRegisterAddressFamilyEx の呼び出しに失敗しました。
  • 呼び出し元が接続指向プロトコル ドライバーとして登録されていません。
  • 呼び出し元がバインドされているミニポート ドライバーは、接続指向ミニポート ドライバーとして登録されませんでした。
  • 別のコールマネージャが指定したAFを既に登録している。
  • 呼び出し元のバインドが閉じられています。

注釈

NDIS スタンドアロン呼び出しマネージャー。NDIS プロトコル ドライバーとして登録するには、 を呼び出します。 NdisRegisterProtocolDriver 関数は、 AF を登録するために NdisCmRegisterAddressFamilyEx 関数を呼び出す必要があります。 ミニポート呼び出しマネージャー (MCM) は、代わりに を呼び出す必要があります。 NdisMCmRegisterAddressFamilyEx 関数。

バインディングに AF を登録するには、スタンドアロン呼び出しマネージャーから NdisCmRegisterAddressFamilyEx を呼び出す必要があります。 ProtocolBindAdapterEx 関数。

スタンドアロン呼び出しマネージャーの ProtocolBindAdapterEx 関数は、まず NdisOpenAdapterEx 関数を呼び出して、基になるミニポート ドライバーへのバインドを確立します。 NDIS が BindContext パラメーターで別のハンドルを使用して ProtocolBindAdapterEx を呼び出すたびに、ProtocolBindAdapterEx によってバインディングが確立され、サポートされている AF が登録されます。 つまり、スタンドアロンコールマネージャは最終的に、接続指向クライアントにコール管理サービスを提供するバインディングごとにAFを登録します。

通話マネージャーは複数の AF をサポートでき、1 つのバインディングに対して複数の AF をサポートできます。 ただし、特定のミニポート アダプターにバインドされているクライアントの特定の AF をサポートできる呼び出しマネージャーは 1 つだけです。

呼び出しマネージャーの ProtocolBindAdapterEx 関数がバインド操作の成功後にコントロールを返すと、NDIS は を呼び出します。同じミニポート アダプターにバインドされているすべてのクライアントの ProtocolCoAfRegisterNotify 関数。

要件

要件
サポートされている最小のクライアント NDIS 6.0 以降でサポートされています。
対象プラットフォーム デスクトップ
Header ndis.h (Ndis.h を含む)
Library Ndis.lib
IRQL PASSIVE_LEVEL
DDI コンプライアンス規則 Irql_CallManager_Function(ndis)

こちらもご覧ください

CO_ADDRESS_FAMILY

NdisMCmRegisterAddressFamilyEx

NdisOpenAdapterEx

NdisRegisterProtocolDriver

ProtocolBindAdapterEx

ProtocolCoAfRegisterNotify