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 は 、次のいずれかの状態値を返します。リターン コード | 説明 |
---|---|
|
NdisFRegisterFilterDriver は、フィルター ドライバーを登録した場合にNDIS_STATUS_SUCCESSを返します。 |
|
FilterCharacteristics で構造体の MajorNdisVersion メンバーで指定されているバージョンが無効です。 |
|
で指定されているメンバーの少なくとも 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 ライブラリの内部記憶域にコピーします。
フィルター ドライバーがオプションのサービスを登録できるようにするには、 のコンテキスト内で 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) |