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) |