NdisOpenAdapterEx 関数 (ndis.h)

プロトコル ドライバーは、ProtocolBindAdapterEx 関数から NdisOpenAdapterEx 関数を呼び出して、プロトコル ドライバーと基になるドライバーの間のバインディングを設定します。

構文

NDIS_STATUS NdisOpenAdapterEx(
  [in]  NDIS_HANDLE           NdisProtocolHandle,
  [in]  NDIS_HANDLE           ProtocolBindingContext,
  [in]  PNDIS_OPEN_PARAMETERS OpenParameters,
  [in]  NDIS_HANDLE           BindContext,
  [out] PNDIS_HANDLE          NdisBindingHandle
);

パラメーター

[in] NdisProtocolHandle

によって返されるハンドル NdisRegisterProtocolDriver 関数。

[in] ProtocolBindingContext

プロトコル ドライバーがこのバインディングの状態情報を保持する、呼び出し元が指定したコンテキスト領域のハンドル。

[in] OpenParameters

呼び出し元によって設定された NDIS_OPEN_PARAMETERS 構造体へのポインター。

[in] BindContext

バインド操作の NDIS コンテキスト領域を識別するハンドル。 NDIS は、ProtocolBindAdapterEx 関数の BindContext パラメーターにこのハンドルを渡しました。

[out] NdisBindingHandle

呼び出し元が指定した変数へのポインター。 NDIS は、呼び出し元と OpenParametersAdapterName メンバーで指定されたミニポート アダプターの間のバインドを識別する NdisBindingHandle でハンドルを書き込みます。 呼び出し元は、 NdisXxx 関数の後続の呼び出しでこのハンドルを使用します。

戻り値

NdisOpenAdapterEx は 、次のいずれかの状態値を返します。

リターン コード 説明
NDIS_STATUS_SUCCESS
NdisOpenAdapterEx が 開いている操作を正常に完了しました。
NDIS_STATUS_PENDING
NdisOpenAdapterEx が開いている操作を完了しませんでした。 NDIS は後でプロトコル ドライバーを呼び出します。 ProtocolOpenAdapterCompleteEx 関数を使用して、開いている操作を完了します。
NDIS_STATUS_RESOURCES
リソースが不足しているため、NdisOpenAdapterEx が失敗しました。
NDIS_STATUS_ADAPTER_NOT_FOUND
OpenParametersAdapterName メンバーで指定されたミニポート アダプターが見つからなかったため、NdisOpenAdapterEx が失敗しました。
NDIS_STATUS_UNSUPPORTED_MEDIA
NdisOpenAdapterEx が失敗しました。これは、OpenParametersMediumArray メンバーで指定された配列に、NDIS または基になるドライバーがサポートする中型が含まれていないためです。
NDIS_STATUS_FAILURE
NdisOpenAdapterEx は、上記の一覧以外の理由で失敗しました。

注釈

プロトコル ドライバーは、 ProtocolBindAdapterEx 関数から NdisOpenAdapterEx 呼び出す必要があります。 NDIS は、ProtocolBindAdapterEx のコンテキスト外で NdisOpenAdapterEx を呼び出そうとしても失敗します。

NdisOpenAdapterEx がNDIS_STATUS_PENDINGを返す場合、呼び出し元は、NDIS が を呼び出すまで、OpenParametersNdisBindingHandle および SelectedMediumIndex メンバーの値を使用しないでください。 ProtocolOpenAdapterCompleteEx 関数。

AdapterName の文字列は、NdisOpenAdapterEx が返されるまで有効なままにする必要があります。 そのため、 NdisOpenAdapterEx がNDIS_STATUS_PENDINGを返す場合、 ドライバーは NdisOpenAdapterEx が返された後もこの文字列を保持し続ける必要はありません。

開いている操作が正常に完了すると、呼び出し元は Ndis Xxx 関数への後続の呼び出しで NdisBindingHandle で返された値を使用できます。 呼び出し元は、OpenParameters パラメーターの SelectedMediumIndex メンバーを使用して、基になるドライバーとの対話方法を決定できます。

要件

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

こちらもご覧ください

NDIS_OPEN_PARAMETERS

NdisRegisterProtocolDriver

ProtocolBindAdapterEx

ProtocolOpenAdapterCompleteEx