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_FILTER_DRIVER_CHARACTERISTICS )에 대한 NDIS_OBJECT_HEADER 구조체입니다. Header에서 지정하는 구조체의 Type 멤버를 NDIS_OBJECT_TYPE_FILTER_DRIVER_CHARACTERISTICS 설정합니다.
NDIS_FILTER_DRIVER_CHARACTERISTICS 구조체의 버전을 나타내려면 Revision 멤버를 다음 값 중 하나로 설정합니다.
NDIS_FILTER_CHARACTERISTICS_REVISION_3
NDIS 6.80에 대한 SynchronousOidRequestHandler 및 SynchronousOidRequestCompleteHandler 멤버가 추가되었습니다.
Size 멤버를 NDIS_SIZEOF_FILTER_DRIVER_CHARACTERISTICS_REVISION_3 설정합니다.
NDIS_FILTER_CHARACTERISTICS_REVISION_2
NDIS 6.1에 대한 DirectOidRequestHandler, DirectOidRequestCompleteHandler 및 CancelDirectOidRequestHandler 멤버가 추가되었습니다.
Size 멤버를 NDIS_SIZEOF_FILTER_DRIVER_CHARACTERISTICS_REVISION_2 설정합니다.
NDIS_FILTER_CHARACTERISTICS_REVISION_1
원래 버전입니다.
Size 멤버를 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 이하에서는 Flags 가 NDIS용으로 예약되어 있습니다.
FriendlyName
필터 드라이버의 사용자가 읽을 수 있는 설명을 나타내는 유니코드 문자열입니다.
UniqueName
필터 드라이버의 고유 이름을 나타내는 유니코드 문자열입니다. 이 문자열은 중괄호로 묶인 GUID여야 합니다(예: "{5cbf81bd-5055-47cd-9055-a76b2b4e3697}"). 이 GUID는 필터 드라이버의 INF 파일에 있는 NetCfgInstanceId INF 파일 항목의 GUID와 일치해야 합니다. 자세한 내용은 필터 드라이버에 대한 INF 파일 설정을 참조하세요.
ServiceName
필터 드라이버의 서비스 이름을 나타내는 유니코드 문자열입니다. 이 문자열은 필터 드라이버의 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로 설정합니다.
설명
필터 드라이버가 다음을 호출합니다. NdisFRegisterFilterDriver 함수는 필터 드라이버 함수(FilterXxx)의 기본 진입점을 포함하여 특성을 등록합니다. 필터 드라이버는 NDIS_FILTER_DRIVER_CHARACTERISTICS 구조를 초기화하고 NdisFRegisterFilterDriver의 FilterCharacteristics 매개 변수에서 이 구조체에 대한 포인터를 전달합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | NDIS 6.0 이상에서 지원됩니다. |
머리글 | ndis.h(Ndis.h 포함) |
추가 정보
FilterCancelDirectOidRequest FilterCancelSendNetBufferLists FilterDirectOidRequestComplete FilterSendNetBufferListsComplete NDIS_FILTER_PARTIAL_CHARACTERISTICS피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기