NDIS_PROTOCOL_DRIVER_CHARACTERISTICS 구조체(ndis.h)
드라이버 특성을 지정하기 위해 프로토콜 드라이버는 NDIS_PROTOCOL_DRIVER_CHARACTERISTICS 구조를 초기화하고 NDIS에 전달합니다.
구문
typedef struct _NDIS_PROTOCOL_DRIVER_CHARACTERISTICS {
NDIS_OBJECT_HEADER Header;
UCHAR MajorNdisVersion;
UCHAR MinorNdisVersion;
UCHAR MajorDriverVersion;
UCHAR MinorDriverVersion;
ULONG Flags;
NDIS_STRING Name;
SET_OPTIONS_HANDLER SetOptionsHandler;
BIND_HANDLER_EX BindAdapterHandlerEx;
UNBIND_HANDLER_EX UnbindAdapterHandlerEx;
OPEN_ADAPTER_COMPLETE_HANDLER_EX OpenAdapterCompleteHandlerEx;
CLOSE_ADAPTER_COMPLETE_HANDLER_EX CloseAdapterCompleteHandlerEx;
NET_PNP_EVENT_HANDLER NetPnPEventHandler;
UNINSTALL_PROTOCOL_HANDLER UninstallHandler;
OID_REQUEST_COMPLETE_HANDLER OidRequestCompleteHandler;
STATUS_HANDLER_EX StatusHandlerEx;
RECEIVE_NET_BUFFER_LISTS_HANDLER ReceiveNetBufferListsHandler;
SEND_NET_BUFFER_LISTS_COMPLETE_HANDLER SendNetBufferListsCompleteHandler;
DIRECT_OID_REQUEST_COMPLETE_HANDLER DirectOidRequestCompleteHandler;
} NDIS_PROTOCOL_DRIVER_CHARACTERISTICS, *PNDIS_PROTOCOL_DRIVER_CHARACTERISTICS;
멤버
Header
NDIS_PROTOCOL_DRIVER_CHARACTERISTICS 구조체에 대한 NDIS_OBJECT_HEADER 구조체입니다. Header에서 지정하는 구조체의 Type 멤버를 NDIS_OBJECT_TYPE_PROTOCOL_DRIVER_CHARACTERISTICS 설정합니다.
NDIS_PROTOCOL_DRIVER_CHARACTERISTICS 구조체의 버전을 나타내려면 Revision 멤버를 다음 값 중 하나로 설정합니다.
NDIS_PROTOCOL_DRIVER_CHARACTERISTICS_REVISION_2
NDIS 6.1에 대한 DirectOidRequestCompleteHandler 멤버가 추가되었습니다.
Size 멤버를 NDIS_SIZEOF_PROTOCOL_DRIVER_CHARACTERISTICS_REVISION_2 설정합니다.
NDIS_PROTOCOL_DRIVER_CHARACTERISTICS_REVISION_1
NDIS 6.0의 원래 버전입니다.
Size 멤버를 NDIS_SIZEOF_PROTOCOL_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_PROTOCOL_DRIVER_UDP_RSC_NOT_SUPPORTED 0x00000008 | 드라이버가 URO 지원을 옵트아웃합니다. |
NDIS 6.88 이하에서는 Flags 가 NDIS용으로 예약되어 있습니다. 프로토콜 드라이버는 이 멤버를 0으로 설정해야 합니다.
Name
프로토콜 드라이버의 서비스 이름인 유니코드 문자열입니다.
SetOptionsHandler
ProtocolSetOptions 함수의 진입점입니다.
BindAdapterHandlerEx
의 진입점 ProtocolBindAdapterEx 함수입니다.
UnbindAdapterHandlerEx
의 진입점 ProtocolUnbindAdapterEx 함수입니다.
OpenAdapterCompleteHandlerEx
의 진입점 ProtocolOpenAdapterCompleteEx 함수입니다.
CloseAdapterCompleteHandlerEx
의 진입점 ProtocolCloseAdapterCompleteEx 함수입니다.
NetPnPEventHandler
호출자 ProtocolNetPnPEvent 함수의 진입점입니다.
UninstallHandler
호출자의 ProtocolUninstall 함수(있는 경우) 또는 NULL의 진입점입니다.
OidRequestCompleteHandler
호출자의 진입점 ProtocolOidRequestComplete 함수입니다.
StatusHandlerEx
호출자의 ProtocolStatusEx 함수(있는 경우) 또는 NULL의 진입점입니다.
ReceiveNetBufferListsHandler
의 진입점 ProtocolReceiveNetBufferLists 함수입니다 .
SendNetBufferListsCompleteHandler
의 진입점 ProtocolSendNetBufferListsComplete 함수입니다.
DirectOidRequestCompleteHandler
호출자의 진입점 ProtocolDirectOidRequestComplete 함수입니다. 선택적 함수입니다. 프로토콜 드라이버가 직접 OID 요청 인터페이스를 지원하지 않는 경우 이 진입점을 NULL 로 설정합니다.
설명
프로토콜 드라이버가 다음을 호출합니다.프로토콜 드라이버 함수(ProtocolXxx)의 기본 진입점을 포함하여 특성을 등록하는 NdisRegisterProtocolDriver 함수입니다. 프로토콜 드라이버는 NDIS_PROTOCOL_DRIVER_CHARACTERISTICS 구조를 초기화하고 NdisRegisterProtocolDriver의 ProtocolCharacteristics 매개 변수에서 이 구조체에 대한 포인터를 전달합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | NDIS 6.0 이상에서 지원됩니다. |
머리글 | ndis.h(Ndis.h 포함) |