다음을 통해 공유


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 구조를 초기화하고 NdisRegisterProtocolDriverProtocolCharacteristics 매개 변수에서 이 구조체에 대한 포인터를 전달합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 NDIS 6.0 이상에서 지원됩니다.
머리글 ndis.h(Ndis.h 포함)

추가 정보

NdisRegisterProtocolDriver

ProtocolBindAdapterEx

ProtocolCloseAdapterCompleteEx ProtocolDirectOidRequestComplete

ProtocolNetPnPEvent

ProtocolOidRequestComplete

ProtocolOpenAdapterCompleteEx ProtocolReceiveNetBufferLists ProtocolSendNetBufferListsComplete

ProtocolSetOptions

ProtocolStatusEx

ProtocolUnbindAdapterEx

ProtocolUninstall