NDIS_MINIPORT_DRIVER_CHARACTERISTICS 구조체(ndis.h)

NDIS 드라이버는 miniportXxx 함수의 진입점을 포함하여 미니포트 드라이버 특성을 정의하기 위해 NDIS_MINIPORT_DRIVER_CHARACTERISTICS 구조를 초기화합니다.

구문

typedef struct _NDIS_MINIPORT_DRIVER_CHARACTERISTICS {
  NDIS_OBJECT_HEADER                         Header;
  UCHAR                                      MajorNdisVersion;
  UCHAR                                      MinorNdisVersion;
  UCHAR                                      MajorDriverVersion;
  UCHAR                                      MinorDriverVersion;
  ULONG                                      Flags;
  SET_OPTIONS_HANDLER                        SetOptionsHandler;
  MINIPORT_INITIALIZE_HANDLER                InitializeHandlerEx;
  MINIPORT_HALT_HANDLER                      HaltHandlerEx;
  MINIPORT_DRIVER_UNLOAD                     UnloadHandler;
  MINIPORT_PAUSE_HANDLER                     PauseHandler;
  MINIPORT_RESTART_HANDLER                   RestartHandler;
  MINIPORT_OID_REQUEST_HANDLER               OidRequestHandler;
  MINIPORT_SEND_NET_BUFFER_LISTS_HANDLER     SendNetBufferListsHandler;
  MINIPORT_RETURN_NET_BUFFER_LISTS_HANDLER   ReturnNetBufferListsHandler;
  MINIPORT_CANCEL_SEND_HANDLER               CancelSendHandler;
  MINIPORT_CHECK_FOR_HANG_HANDLER            CheckForHangHandlerEx;
  MINIPORT_RESET_HANDLER                     ResetHandlerEx;
  MINIPORT_DEVICE_PNP_EVENT_NOTIFY_HANDLER   DevicePnPEventNotifyHandler;
  MINIPORT_SHUTDOWN_HANDLER                  ShutdownHandlerEx;
  MINIPORT_CANCEL_OID_REQUEST_HANDLER        CancelOidRequestHandler;
  MINIPORT_DIRECT_OID_REQUEST_HANDLER        DirectOidRequestHandler;
  MINIPORT_CANCEL_DIRECT_OID_REQUEST_HANDLER CancelDirectOidRequestHandler;
  MINIPORT_SYNCHRONOUS_OID_REQUEST_HANDLER   SynchronousOidRequestHandler;
} NDIS_MINIPORT_DRIVER_CHARACTERISTICS, *PNDIS_MINIPORT_DRIVER_CHARACTERISTICS;

멤버

Header

NDIS_MINIPORT_DRIVER_CHARACTERISTICS 구조체의 NDIS_OBJECT_HEADER 구조체입니다. Header에서 지정하는 구조체의 Type 멤버를 NDIS_OBJECT_TYPE_MINIPORT_DRIVER_CHARACTERISTICS 설정합니다.

NDIS_MINIPORT_DRIVER_CHARACTERISTICS 구조체의 버전을 나타내려면 Revision 멤버를 다음 값 중 하나로 설정합니다.

NDIS_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_3

NDIS 6.80에 대한 SynchronousOidRequestHandler 멤버가 추가되었습니다.

Size 멤버를 NDIS_SIZEOF_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_3 설정합니다.

NDIS_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_2

NDIS 6.1에 대한 DirectOidRequestHandlerCancelDirectOidRequestHandler 멤버가 추가되었습니다.

Size 멤버를 NDIS_SIZEOF_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_2 설정합니다.

NDIS_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_1

NDIS 6.0의 원래 버전입니다.

Size 멤버를 NDIS_SIZEOF_MINIPORT_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

MajorDriverVersion

드라이버의 주 버전 번호에 대해 예약됩니다. 미니포트 드라이버는 필요한 값을 지정할 수 있습니다.

MinorDriverVersion

드라이버의 부 버전 번호로 예약됩니다. 미니포트 드라이버는 필요한 값을 지정할 수 있습니다.

Flags

비트 OR와 결합된 다음 플래그 중 0 또는 임의의 플래그로 설정할 수 있는 비트 마스크입니다.

NDIS_INTERMEDIATE_DRIVER

호출자가 NDIS 중간 드라이버인 경우 를 설정합니다.

NDIS_WDM_DRIVER

호출자가 NDIS-WDM 미니포트 드라이버인 경우 를 설정합니다.

SetOptionsHandler

호출자의 MiniportSetOptions 함수에 대한 진입점입니다.

공동 NDIS에 필요합니다. PCI를 통해 MSI-C를 사용하여 RSS를 지원하는 이더넷 미니포트 드라이버에 대해 제안됩니다.

InitializeHandlerEx

필수 사항입니다. 에 대한 진입점 MiniportInitializeEx 함수입니다.

HaltHandlerEx

필수 사항입니다. MiniportHaltEx 함수의 진입점입니다.

UnloadHandler

필수 사항입니다. 에 대한 진입점 MiniportDriverUnload 함수.

PauseHandler

필수 사항입니다. MiniportPause 함수의 진입점입니다.

RestartHandler

필수 사항입니다. MiniportRestart 함수의 진입점입니다.

OidRequestHandler

MiniportOidRequest 함수의 진입점입니다. 모든 이더넷, WLAN 및 IM 드라이버를 포함하여 연결이 없는 모든 미니포트 드라이버에 필요합니다. 일부 CoNDIS 미니포트 드라이버의 경우 선택 사항입니다.

SendNetBufferListsHandler

필수 사항입니다. 에 대한 진입점 MiniportSendNetBufferLists 함수입니다 .

ReturnNetBufferListsHandler

필수 사항입니다. 에 대한 진입점 MiniportReturnNetBufferLists 함수입니다 .

CancelSendHandler

필수 사항입니다. MiniportCancelSend 함수의 진입점입니다.

CheckForHangHandlerEx

선택 사항입니다. 에 대한 진입점 MiniportCheckForHangEx 함수입니다.

MiniportCheckForHangEx 는 중단될 수 있는 물리적 디바이스가 아니므로 중간 드라이버 또는 가상 미니포트에 필요하지 않으므로 이 진입점을 NULL로 설정해야 합니다.

MiniportCheckForHangEx 는 배터리 수명에 미치는 영향으로 인해 AOAC 디바이스에서 사용할 수 없으므로 이러한 디바이스의 미니포트 드라이버는 이 진입점을 NULL로 설정해야 합니다.

MiniportCheckForHangEx 는 배터리 수명에 미치는 영향으로 인해 비 AOAC, 배터리 구동 장치에 설치하려는 미니포트 드라이버에 권장되지 않으므로 이 진입점을 NULL로 설정해야 합니다.

MiniportCheckForHangEx 는 허용되지만, 라인 구동(주 전원) 디바이스에 설치하려는 미니포트 드라이버에는 필요하지 않습니다. NDIS 6.30 이상을 대상으로 하는 드라이버의 경우 대신 NdisMResetMiniport 를 사용하는 것이 좋습니다.

ResetHandlerEx

선택 사항( CheckForHangHandlerEx를 제공하는 경우 필수). MiniportResetEx 함수의 진입점입니다. 중간 드라이버에는 MiniportResetEx가 필요하지 않으므로 이 진입점을 NULL로 설정해야 합니다.

DevicePnPEventNotifyHandler

필수 사항입니다. 의 진입점 MiniportDevicePnPEventNotify 함수입니다.

ShutdownHandlerEx

필수 사항입니다. MiniportShutdownEx 함수의 진입점입니다.

CancelOidRequestHandler

필수 사항입니다. 의 진입점 MiniportCancelOidRequest 함수입니다.

DirectOidRequestHandler

의 진입점 MiniportDirectOidRequest 함수입니다. 선택적 진입점입니다. 미니포트 드라이버가 직접 OID 요청을 처리하지 않는 경우 이 멤버를 NULL 로 설정합니다.

이더넷의 경우 선택 사항입니다. 그러나 제공된 경우 둘 다 제공해야 합니다.

RDMA 또는 IPSec 오프로드를 구현하는 WLAN 및 이더넷 미니포트에 필요합니다.

CancelDirectOidRequestHandler

의 진입점 MiniportCancelDirectOidRequest 함수입니다. 선택적 진입점입니다. 미니포트 드라이버가 직접 OID 요청을 처리하지 않는 경우 이 멤버를 NULL 로 설정합니다.

이더넷의 경우 선택 사항입니다. 그러나 제공된 경우 둘 다 제공해야 합니다.

RDMA 또는 IPSec 오프로드를 구현하는 WLAN 및 이더넷 미니포트에 필요합니다.

SynchronousOidRequestHandler

의 진입점 MiniportSynchronousOidRequest 함수입니다. 선택적 진입점입니다. 미니포트 드라이버가 동기 OID 요청을 처리하지 않는 경우 이 멤버를 NULL 로 설정합니다.

RSSv2를 구현하는 WLAN 및 이더넷 미니포트에 필요합니다.

설명

NDIS 드라이버는 의 MiniportDriverCharacteristics 매개 변수에서 NDIS_MINIPORT_DRIVER_CHARACTERISTICS 구조에 대한 포인터를 전달합니다. NdisMRegisterMiniportDriver 함수. 미니포트 드라이버는 DriverEntry 루틴에서 NdisMRegisterMiniportDriver를 호출합니다(NDIS 미니포트 드라이버의 DriverEntry 참조).

요구 사항

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

추가 정보

DriverEntry

MiniportCancelDirectOidRequest

MiniportCancelOidRequest

MiniportCancelSend

MiniportCheckForHangEx

MiniportDevicePnPEventNotify

MiniportDirectOidRequest

MiniportDriverUnload

MiniportHaltEx

MiniportInitializeEx

MiniportOidRequest

MiniportPause

MiniportResetEx

MiniportRestart

MiniportReturnNetBufferLists

MiniportSendNetBufferLists

MiniportSetOptions

MiniportShutdownEx

NdisMRegisterMiniportDriver