次の方法で共有


NdisGetRoutineAddress 関数 (ndis.h)

NdisGetRoutineAddress 関数は、ルーチンの名前を指定してルーチンのアドレスを返します。

構文

PVOID NdisGetRoutineAddress(
  [in] PNDIS_STRING NdisRoutineName
);

パラメーター

[in] NdisRoutineName

ルーチンの名前を含む文字列を指定する UNICODE_STRING 構造体へのポインター。

戻り値

ルーチンが使用可能な場合は、NdisRoutineName で名前が指定されているルーチンのアドレスを返します。それ以外の場合は、NULL します。

備考

NDIS ドライバー NdisGetRoutineAddress を使用して、エクスポートされた NDIS ルーチンのアドレスを取得できます。 ドライバーは、NDIS ルーチンを呼び出すためにこのアドレスを使用できます。

NDIS ドライバーは、ドライバー 下位互換性を維持する必要がある場合に NdisGetRoutineAddress を使用できます。 たとえば、このようなドライバーは、現在実行中の NDIS のバージョンによってエクスポートされていない NDIS ルーチンをインポートする場合、I/O マネージャーはオペレーティング システムにドライバーを読み込まれません。 ただし、ドライバーは、最初 NdisGetRoutineAddress を使用して、現在実行中の NDIS のバージョンでルーチンを使用できるかどうかを判断できます。 使用可能な場合は、ルーチンのアドレスが返されます。 その後、ドライバーはアドレスを使用してルーチンを呼び出すことができます。 使用できない場合は、NULL が返されます。 ドライバーはルーチンを呼び出すことはできませんが、ドライバーはオペレーティング システムに読み込まれます。

指定されたルーチンを名前で呼び出す代わりに、ndisGetRoutineAddress 返されるアドレスを使用しても、パフォーマンスが向上しません。 そのため、NdisGetRoutineAddress を使用する NDIS ドライバーを記述しないでください ドライバーを実行する NDIS バージョンが指定されたルーチンをエクスポートすることがわかっている場合です。

通常、NDIS ドライバーは、DriverEntry ルーチンで NdisGetRoutineAddress 呼び出します。

必要条件

要件 価値
サポートされる最小クライアント Windows Vista の NDIS 6.0 および NDIS 5.1 ドライバー (NdisGetRoutineAddress (NDIS 5.1) を参照) でサポートされています。 Windows XP で NDIS 5.1 ドライバー (NdisGetRoutineAddress (NDIS 5.1) を参照) でサポートされています。
ターゲット プラットフォーム 万国
ヘッダー ndis.h (Ndis.h を含む)
ライブラリ Ndis.lib
IRQL PASSIVE_LEVEL
DDI コンプライアンス規則 する Irql_Miscellaneous_Function(ndis)

関連項目

DriverEntry

UNICODE_STRING