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 によって返されるアドレスを使用しても、パフォーマンスが向上しません。 そのため、ドライバーを実行する NDIS バージョンが指定したルーチンをエクスポートすることがわかっている場合は、 NdisGetRoutineAddress を使用する 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) を参照) でサポートされています。
対象プラットフォーム ユニバーサル
Header ndis.h (Ndis.h を含む)
Library Ndis.lib
IRQL PASSIVE_LEVEL
DDI コンプライアンス規則 Irql_Miscellaneous_Function(ndis)

こちらもご覧ください

DriverEntry

UNICODE_STRING