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에 대한 DirectOidRequestHandler 및 CancelDirectOidRequestHandler 멤버가 추가되었습니다.
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 |
87 | NDIS 6.87 |
88 | NDIS 6.88 |
89 | NDIS 6.89 |
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 포함) |