NdisFRegisterFilterDriver 関数 (ndis.h)
フィルター ドライバーは、次のコードを呼び出します。NdisFRegisterFilterDriver 関数を して、FilterXxx 関数を NDIS に登録します。
構文
NDIS_STATUS NdisFRegisterFilterDriver(
[in] PDRIVER_OBJECT DriverObject,
[in] NDIS_HANDLE FilterDriverContext,
PNDIS_FILTER_DRIVER_CHARACTERISTICS FilterDriverCharacteristics,
[out] PNDIS_HANDLE NdisFilterDriverHandle
);
パラメーター
[in] DriverObject
Argument1 パラメーターで、フィルター ドライバーが DriverEntry ルーチンで受け取った不透明なドライバー オブジェクトへのポインター。 (詳細については、「NDIS フィルター ドライバーの DriverEntryを参照してください。
[in] FilterDriverContext
ドライバーが状態と構成情報を保持する、ドライバーによって割り当てられたコンテキスト領域へのハンドル。
FilterDriverCharacteristics
へのポインター NDIS_FILTER_DRIVER_CHARACTERISTICSFilterXxx 関数エントリ ポイントを使用してフィルター ドライバーが作成および初期化した構造体です。
[out] NdisFilterDriverHandle
ハンドル変数へのポインター。 の呼び出しNdisFRegisterFilterDriver 成功、NDIS はフィルター ドライバー ハンドルでこの変数を埋めます。 フィルター ドライバーは、このハンドルを保存し、後で、入力パラメーターとしてフィルター ドライバー ハンドルを必要とする NDIS 関数 (NdisFDeregisterFilterDriverなど) にこのハンドルを渡します。
戻り値
NdisFRegisterFilterDriver は、次のいずれかの状態値を返します。リターン コード | 形容 |
---|---|
|
NdisFRegisterFilterDriver は、フィルター ドライバーを登録した場合にNDIS_STATUS_SUCCESSを返します。 |
|
MajorNdisVersion 構造体のメンバーで指定されているバージョン FilterCharacteristics が無効です。 |
|
で指定されているメンバーの少なくとも 1 つ NDIS_FILTER_DRIVER_CHARACTERISTICS が無効です。 |
|
ドライバーが渡した入力パラメーターの少なくとも 1 つNdisFRegisterFilterDriver が無効です。 |
|
リソースが不足しているため、NdisFRegisterFilterDriver 失敗しました。 |
|
NdisFRegisterFilterDriver 、上記の値が適用されない場合はNDIS_STATUS_FAILUREを返します。 |
備考
フィルター ドライバーは、次のコードを呼び出します。 DriverEntry ルーチンから NdisFRegisterFilterDriver 関数を します。 DriverEntryの詳細については、「NDIS フィルター ドライバーの DriverEntry」を参照してください。
NdisFRegisterFilterDriver 呼び出すドライバーは、FilterXxx 関数のいずれかをすぐに呼び出すために準備する必要があります。 詳細については、「フィルター ドライバー の初期化を参照してください。
すべてのフィルター ドライバーは、FilterXxx 関数のセットをエクスポートします。 NDIS_FILTER_DRIVER_CHARACTERISTICS 構造体と呼び出しNdisFRegisterFilterDriver をします。 NDIS は、NDIS ライブラリの内部記憶域にこの構造体をコピーします。
フィルター ドライバーが省略可能なサービスを登録できるようにするには、NDIS のコンテキスト内で FilterSetOptions 関数を呼び出します。NdisFRegisterFilterDriver をします。
登録後、フィルター ドライバーは後で NdisSetOptionalHandlers 関数を呼び出して、省略可能な FilterXxx 関数のエントリ ポイントを変更できます。
フィルター ドライバーは、〘以前に割り当てられていたリソースを解放する NdisFDeregisterFilterDriver 関数を するNdisFRegisterFilterDriver をします。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | NDIS 6.0 以降でサポートされています。 |
ターゲット プラットフォーム の | デスクトップ |
ヘッダー | ndis.h (Ndis.h を含む) |
ライブラリ | Ndis.lib |
IRQL | PASSIVE_LEVEL |
DDI コンプライアンス規則 を する | Irql_Filter_Driver_Function(ndis)、NdisFDeregisterFilterDriver(ndis) |
関連項目
NDIS フィルター ドライバーの DriverEntry
フィルター ドライバー の初期化の
NDIS_FILTER_DRIVER_CHARACTERISTICSNdisFDeregisterFilterDriver の