次の方法で共有


NdisFRegisterFilterDriver 関数 (ndis.h)

フィルター ドライバーは、 を呼び出します。FilterXxx 関数を NDIS に登録する NdisFRegisterFilterDriver 関数。

構文

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
FilterCharacteristics で構造体の MajorNdisVersion メンバーで指定されているバージョンが無効です。
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 ライブラリの内部記憶域にコピーします。

フィルター ドライバーがオプションのサービスを登録できるようにするには、 のコンテキスト内で FilterSetOptions 関数を呼び出します。 NdisFRegisterFilterDriver

登録後、フィルター ドライバーは後で NdisSetOptionalHandlers 関数を呼び出して、オプションの FilterXxx 関数のエントリ ポイントを変更できます。

フィルター ドライバーは、 を呼び出します。以前に で割り当てられたリソースを解放する NdisFDeregisterFilterDriver 関数 NdisFRegisterFilterDriver

要件

要件
サポートされている最小のクライアント NDIS 6.0 以降でサポートされています。
対象プラットフォーム デスクトップ
Header ndis.h (Ndis.h を含む)
Library Ndis.lib
IRQL PASSIVE_LEVEL
DDI コンプライアンス規則 Irql_Filter_Driver_Function(ndis)NdisFDeregisterFilterDriver(ndis)

こちらもご覧ください

NDIS フィルター ドライバーの DriverEntry

FilterAttach

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

NDIS_FILTER_DRIVER_CHARACTERISTICS

NdisFDeregisterFilterDriver

NdisSetOptionalHandlers