PnP 및 전원 관리 이벤트를 처리하기 위해 특정 중간 드라이버를 초기화하기
PnP(플러그 앤 플레이) 및 전원 관리 이벤트를 처리하려면 NDIS 중간 드라이버에서 다음을 수행해야 합니다.
NDIS가 중간 드라이버의 ProtocolBindAdapterEx 함수를 호출하는 경우 BindParameters 매개 변수는 기본 미니포트 어댑터의 기능이 포함된 NDIS_PM_CAPABILITIES 구조를 가리킵니다. 전원 관리 기능은 다음 멤버 중 하나에 보고됩니다.
PowerManagementCapabilities
NDIS 6.0 및 NDIS 6.1 중간 드라이버의 경우 이 멤버는 NDIS_PNP_CAPABILITIES 구조 내의 전원 관리 기능을 포함합니다. 이 구조에 대한 자세한 내용은 OID_PNP_CAPABILITIES참조하세요.
참고 NDIS 6.20 이상 중간 드라이버의 경우 PowerManagementCapabilities 멤버가 NULL 로 설정되고, 전원 관리 기능은 PowerManagementCapabilitiesEx 멤버에 보고됩니다.
PowerManagementCapabilitiesEx
NDIS 6.20 이상 중간 드라이버의 경우 이 멤버는 NDIS_PM_CAPABILITIES 구조 내의 전원 관리 기능을 포함합니다.
참고 NDIS 6.0 및 NDIS 6.1 중간 드라이버의 경우 PowerManagementCapabilitiesEx 멤버는 NULL로 설정되며 전원 관리 기능은 PowerManagementCapabilities 멤버에 보고됩니다.
참고 기본 미니포트 어댑터가 전원 관리 이벤트를 지원하지 않으면 PowerManagementCapabilities 및 PowerManagementCapabilitiesEx 멤버가 NULL로 설정됩니다.
NDIS가 NDIS 중간 드라이버에서 지원하는 각 가상 미니포트에 대해 MiniportInitializeEx 호출하는 경우 드라이버는 다음과 같은 방법으로 NdisMSetMiniportAttributes 호출하여 전원 관리 기능을 보고합니다.
NDIS 중간 드라이버의 버전에 따라 전원 관리 기능은 NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES의 PowerManagementCapabilities 멤버(NDIS 6.0 및 NDIS 6.1 중간 드라이버용) 또는 PowerManagementCapabilitiesEx 멤버(NDIS 6.20 이상 중간 드라이버의 경우)에 보고됩니다. NDIS_BIND_PARAMETERS 구조의 PowerManagementCapabilities 또는 PowerManagementCapabilitiesEx 멤버가 NULL이 아닌 경우, 중간 드라이버는 다음을 수행해야 합니다.
MinMagicPacketWakeUp, MinPatternWakeUp, 및 MinLinkChangeWakeUp 멤버의 원래 값을 저장합니다. 이는 NDIS 6.0 및 NDIS 6.1의 PowerManagementCapabilities멤버 또는 NDIS 6.20 이후의 PowerManagementCapabilitiesEx멤버입니다.
MinMagicPacketWakeUp, MinPatternWakeUp, 그리고 MinLinkChangeWakeUp 멤버를 NdisDeviceStateUnspecified로 설정하여 전원 관리 기능을 비활성화합니다.
수정된 NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES 구조체의 주소를NdisMSetMiniportAttributes 호출에서 MiniportAttributes 매개 변수로 전달합니다.
중간 드라이버는 NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES 구조체의 AttributeFlags 멤버에 NDIS_MINIPORT_ATTRIBUTES_NO_HALT_ON_SUSPEND 플래그를 설정해야 합니다. 드라이버는 NdisMSetMiniportAttributes호출에서 MiniportAttributes 매개 변수로 이 구조체의 주소를 전달해야 합니다.
NDIS 중간 드라이버의 초기화 요구 사항에 대한 자세한 내용은 Virtual Miniports 초기화을 참조하세요.