次の方法で共有


NDIS_FILTER_DRIVER_CHARACTERISTICS 構造体 (ndis.h)

ドライバーの特性を指定するには、フィルター ドライバーは、NDIS_FILTER_DRIVER_CHARACTERISTICS構造体を初期化し、NDIS に渡します。

構文

typedef struct _NDIS_FILTER_DRIVER_CHARACTERISTICS {
  NDIS_OBJECT_HEADER                              Header;
  UCHAR                                           MajorNdisVersion;
  UCHAR                                           MinorNdisVersion;
  UCHAR                                           MajorDriverVersion;
  UCHAR                                           MinorDriverVersion;
  ULONG                                           Flags;
  NDIS_STRING                                     FriendlyName;
  NDIS_STRING                                     UniqueName;
  NDIS_STRING                                     ServiceName;
  SET_OPTIONS_HANDLER                             SetOptionsHandler;
  FILTER_SET_FILTER_MODULE_OPTIONS_HANDLER        SetFilterModuleOptionsHandler;
  FILTER_ATTACH_HANDLER                           AttachHandler;
  FILTER_DETACH_HANDLER                           DetachHandler;
  FILTER_RESTART_HANDLER                          RestartHandler;
  FILTER_PAUSE_HANDLER                            PauseHandler;
  FILTER_SEND_NET_BUFFER_LISTS_HANDLER            SendNetBufferListsHandler;
  FILTER_SEND_NET_BUFFER_LISTS_COMPLETE_HANDLER   SendNetBufferListsCompleteHandler;
  FILTER_CANCEL_SEND_HANDLER                      CancelSendNetBufferListsHandler;
  FILTER_RECEIVE_NET_BUFFER_LISTS_HANDLER         ReceiveNetBufferListsHandler;
  FILTER_RETURN_NET_BUFFER_LISTS_HANDLER          ReturnNetBufferListsHandler;
  FILTER_OID_REQUEST_HANDLER                      OidRequestHandler;
  FILTER_OID_REQUEST_COMPLETE_HANDLER             OidRequestCompleteHandler;
  FILTER_CANCEL_OID_REQUEST_HANDLER               CancelOidRequestHandler;
  FILTER_DEVICE_PNP_EVENT_NOTIFY_HANDLER          DevicePnPEventNotifyHandler;
  FILTER_NET_PNP_EVENT_HANDLER                    NetPnPEventHandler;
  FILTER_STATUS_HANDLER                           StatusHandler;
  FILTER_DIRECT_OID_REQUEST_HANDLER               DirectOidRequestHandler;
  FILTER_DIRECT_OID_REQUEST_COMPLETE_HANDLER      DirectOidRequestCompleteHandler;
  FILTER_CANCEL_DIRECT_OID_REQUEST_HANDLER        CancelDirectOidRequestHandler;
  FILTER_SYNCHRONOUS_OID_REQUEST_HANDLER          SynchronousOidRequestHandler;
  FILTER_SYNCHRONOUS_OID_REQUEST_COMPLETE_HANDLER SynchronousOidRequestCompleteHandler;
} NDIS_FILTER_DRIVER_CHARACTERISTICS, *PNDIS_FILTER_DRIVER_CHARACTERISTICS;

メンバー

Header

フィルター ドライバーの特性構造の NDIS_OBJECT_HEADER 構造 (NDIS_FILTER_DRIVER_CHARACTERISTICS)。 Header が指定する構造体の Type メンバーをNDIS_OBJECT_TYPE_FILTER_DRIVER_CHARACTERISTICSに設定します。

NDIS_FILTER_DRIVER_CHARACTERISTICS構造体のバージョンを示すには、 Revision メンバーを次のいずれかの値に設定します。

NDIS_FILTER_CHARACTERISTICS_REVISION_3

NDIS 6.80 の SynchronousOidRequestHandler メンバーと SynchronousOidRequestCompleteHandler メンバーを追加しました。

[サイズ] メンバーを [NDIS_SIZEOF_FILTER_DRIVER_CHARACTERISTICS_REVISION_3] に設定します。

NDIS_FILTER_CHARACTERISTICS_REVISION_2

NDIS 6.1 の DirectOidRequestHandlerDirectOidRequestCompleteHandlerおよび CancelDirectOidRequestHandler メンバーを追加しました。

[サイズ] メンバーを [NDIS_SIZEOF_FILTER_DRIVER_CHARACTERISTICS_REVISION_2] に設定します。

NDIS_FILTER_CHARACTERISTICS_REVISION_1

元のバージョン。

[サイズ] メンバーを [NDIS_SIZEOF_FILTER_DRIVER_CHARACTERISTICS_REVISION_1] に設定します。

MajorNdisVersion

ドライバーが使用している NDIS のメジャー バージョン。 現在の値は0x06。

MinorNdisVersion

マイナー NDIS バージョン。 使用できるマイナー バージョン値の設定を次に示します。

意味
0 NDIS 6
20 NDIS 6.20
30 NDIS 6.30
40 NDIS 6.40
50 NDIS 6.50
51 NDIS 6.51
60 NDIS 6.60
70 NDIS 6.70
80 NDIS 6.80
81 NDIS 6.81
82 NDIS 6.82
83 NDIS 6.83
84 NDIS 6.84
85 NDIS 6.85
86 NDIS 6.86
87 NDIS 6.87
88 NDIS 6.88
89 NDIS 6.89

MajorDriverVersion

フィルター ドライバーのメジャー バージョン番号用に予約されています。 フィルター ドライバーは、必要な任意の値を指定できます。

MinorDriverVersion

フィルター ドライバーのマイナー バージョン番号用に予約されています。 フィルター ドライバーは、必要な任意の値を指定できます。

Flags

NDIS 6.89 以降では、次のフラグがサポートされています。

意味
NDIS_FILTER_DRIVER_UDP_RSC_NOT_SUPPORTED 0x00000008 ドライバーによる URO サポートのオプトアウト。

NDIS 6.88 以下では、 フラグ は NDIS 用に予約されています。

FriendlyName

フィルター ドライバーのユーザーが判読できる説明を表す Unicode 文字列。

UniqueName

フィルター ドライバーの一意の名前を表す Unicode 文字列。 この文字列は、"{5cbf81bd-5055-47cd-9055-a76b2b4e3697}" などの中かっこで囲まれた GUID である必要があります。 この GUID は、フィルター ドライバーの INF ファイル内の NetCfgInstanceId INF ファイル エントリの GUID と一致する必要があります。 詳細については、「 フィルター ドライバーの INF ファイル設定」を参照してください。

ServiceName

フィルター ドライバーのサービス名を表す Unicode 文字列。 この文字列は、フィルター ドライバーの INF ファイルの AddService ディレクティブのサービス名である必要があります。 詳細については、「 フィルター ドライバーの INF ファイル設定」を参照してください。

SetOptionsHandler

呼び出し元の FilterSetOptions 関数のエントリ ポイントを指定します。

SetFilterModuleOptionsHandler

呼び出し元のエントリ ポイント FilterSetModuleOptions 関数。

AttachHandler

呼び出し元の FilterAttach 関数のエントリ ポイント。

DetachHandler

呼び出し元の FilterDetach 関数のエントリ ポイント。

RestartHandler

呼び出し元の FilterRestart 関数のエントリ ポイント。

PauseHandler

呼び出し元の FilterPause 関数のエントリ ポイント。

SendNetBufferListsHandler

呼び出し元のエントリ ポイント FilterSendNetBufferLists 関数。 この関数をバイパスするには、このメンバーを NULL に設定します。

SendNetBufferListsCompleteHandler

呼び出し元のエントリ ポイント FilterSendNetBufferListsComplete 関数。 この関数をバイパスするには、このメンバーを NULL に設定します。

CancelSendNetBufferListsHandler

呼び出し元のエントリ ポイント FilterCancelSendNetBufferLists 関数。 この関数をバイパスするには、このメンバーを NULL に設定します。

ReceiveNetBufferListsHandler

呼び出し元のエントリ ポイント FilterReceiveNetBufferLists 関数。 この関数をバイパスするには、このメンバーを NULL に設定します。

ReturnNetBufferListsHandler

呼び出し元のエントリ ポイント FilterReturnNetBufferLists 関数。 この関数をバイパスするには、このメンバーを NULL に設定します。

OidRequestHandler

呼び出し元の FilterOidRequest 関数のエントリ ポイント。 この関数をバイパスするには、このメンバーを NULL に設定します。

OidRequestCompleteHandler

呼び出し元のエントリ ポイント FilterOidRequestComplete 関数。 この関数をバイパスするには、このメンバーを NULL に設定します。

CancelOidRequestHandler

呼び出し元のエントリ ポイント FilterCancelOidRequest 関数。 この関数をバイパスするには、このメンバーを NULL に設定します。

DevicePnPEventNotifyHandler

呼び出し元のエントリ ポイント FilterDevicePnPEventNotify 関数。 この関数をバイパスするには、このメンバーを NULL に設定します。

NetPnPEventHandler

呼び出し元の FilterNetPnPEvent 関数のエントリ ポイント。 この関数をバイパスするには、このメンバーを NULL に設定します。

StatusHandler

呼び出し元の FilterStatus 関数のエントリ ポイント。 この関数をバイパスするには、このメンバーを NULL に設定します。

DirectOidRequestHandler

呼び出し元のエントリ ポイント FilterDirectOidRequest 関数。 この関数をバイパスするには、このメンバーを NULL に設定します。

DirectOidRequestCompleteHandler

呼び出し元のエントリ ポイント FilterDirectOidRequestComplete 関数。 この関数をバイパスするには、このメンバーを NULL に設定します。

CancelDirectOidRequestHandler

呼び出し元のエントリ ポイント FilterCancelDirectOidRequest 関数。 この関数をバイパスするには、このメンバーを NULL に設定します。

SynchronousOidRequestHandler

呼び出し元の FilterSynchronousOidRequest 関数のエントリ ポイント。 この関数をバイパスするには、このメンバーを NULL に設定します。

SynchronousOidRequestCompleteHandler

呼び出し元の FilterSynchronousOidRequestComplete 関数のエントリ ポイント。 この関数をバイパスするには、このメンバーを NULL に設定します。

注釈

フィルター ドライバーは、 を呼び出します。フィルター ドライバー関数 (FilterXxx) の既定のエントリ ポイントなど、その特性を登録する NdisFRegisterFilterDriver 関数。 フィルター ドライバーは、NDIS_FILTER_DRIVER_CHARACTERISTICS構造体を初期化し、NdisFRegisterFilterDriverFilterCharacteristics パラメーターでこの構造体へのポインターを渡します。

要件

要件
サポートされている最小のクライアント NDIS 6.0 以降でサポートされています。
Header ndis.h (Ndis.h を含む)

こちらもご覧ください

FilterAttach

FilterCancelDirectOidRequest

FilterCancelOidRequest

FilterCancelSendNetBufferLists

FilterDetach

FilterDevicePnPEventNotify

FilterDirectOidRequest

FilterDirectOidRequestComplete

FilterNetPnPEvent

FilterOidRequest

FilterOidRequestComplete

FilterPause

FilterReceiveNetBufferLists

FilterRestart

FilterReturnNetBufferLists

FilterSendNetBufferLists

FilterSendNetBufferListsComplete

FilterSetModuleOptions

FilterSetOptions

FilterStatus

フィルター ドライバーの INF ファイル設定

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

NDIS_FILTER_PARTIAL_CHARACTERISTICS

NDIS_OBJECT_HEADER

NdisFRegisterFilterDriver