次の方法で共有


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 は、次のいずれかの状態値を返します。
リターン コード 形容
NDIS_STATUS_SUCCESS
NdisFRegisterFilterDriver は、フィルター ドライバーを登録した場合にNDIS_STATUS_SUCCESSを返します。
NDIS_STATUS_BAD_VERSION
MajorNdisVersion 構造体のメンバーで指定されているバージョン FilterCharacteristics が無効です。
NDIS_STATUS_BAD_CHARACTERISTICS
で指定されているメンバーの少なくとも 1 つ NDIS_FILTER_DRIVER_CHARACTERISTICS が無効です。
NDIS_STATUS_INVALID_PARAMETER
ドライバーが渡した入力パラメーターの少なくとも 1 つNdisFRegisterFilterDriver が無効です。
NDIS_STATUS_RESOURCES
リソースが不足しているため、NdisFRegisterFilterDriver 失敗しました。
NDIS_STATUS_FAILURE
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

FilterAttach

フィルター ドライバー の初期化の

NDIS_FILTER_DRIVER_CHARACTERISTICS

NdisFDeregisterFilterDriver

NdisSetOptionalHandlers