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 포함) |