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 は、呼び出し元と OpenParameters の AdapterName メンバーで指定されたミニポート アダプターの間のバインドを識別する NdisBindingHandle でハンドルを書き込みます。 呼び出し元は、 NdisXxx 関数の後続の呼び出しでこのハンドルを使用します。
戻り値
NdisOpenAdapterEx は 、次のいずれかの状態値を返します。
リターン コード | 説明 |
---|---|
|
NdisOpenAdapterEx が 開いている操作を正常に完了しました。 |
|
NdisOpenAdapterEx が開いている操作を完了しませんでした。 NDIS は後でプロトコル ドライバーを呼び出します。 ProtocolOpenAdapterCompleteEx 関数を使用して、開いている操作を完了します。 |
|
リソースが不足しているため、NdisOpenAdapterEx が失敗しました。 |
|
OpenParameters の AdapterName メンバーで指定されたミニポート アダプターが見つからなかったため、NdisOpenAdapterEx が失敗しました。 |
|
NdisOpenAdapterEx が失敗しました。これは、OpenParameters の MediumArray メンバーで指定された配列に、NDIS または基になるドライバーがサポートする中型が含まれていないためです。 |
|
NdisOpenAdapterEx は、上記の一覧以外の理由で失敗しました。 |
注釈
プロトコル ドライバーは、 ProtocolBindAdapterEx 関数から NdisOpenAdapterExを 呼び出す必要があります。 NDIS は、ProtocolBindAdapterEx のコンテキスト外で NdisOpenAdapterEx を呼び出そうとしても失敗します。
NdisOpenAdapterEx がNDIS_STATUS_PENDINGを返す場合、呼び出し元は、NDIS が を呼び出すまで、OpenParameters で NdisBindingHandle および 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) |