OID_PNP_CAPABILITIES
OID_PNP_CAPABILITIES OID는 미니포트 드라이버에 네트워크 어댑터의 절전 모드 해제 기능을 반환하도록 요청하거나 중간 드라이버에 중간 드라이버의 절전 모드 해제 기능을 반환하도록 요청합니다. 절전 모드 해제 기능은 다음과 같이 정의된 NDIS_PNP_CAPABILITIES 구조로 형식이 지정됩니다.
typedef struct _NDIS_PNP_CAPABILITIES {
ULONG Flags;
NDIS_PM_WAKE_UP_CAPABILITIES WakeUpCapabilities;
} NDIS_PNP_CAPABILITIES, *PNDIS_PNP_CAPABILITIES;
이 구조체의 멤버는 다음 정보를 포함합니다.
플래그
NDIS_DEVICE_WAKE_UP_ENABLE
기본 미니포트 드라이버가 하나 이상의 절전 모드 해제 기능을 지원하는 경우 NDIS는 이 플래그를 설정합니다. 프로토콜 드라이버는 이 플래그를 테스트하여 기본 미니포트 드라이버에 절전 모드 해제 기능이 있는지 여부를 확인할 수 있습니다. 미니포트 드라이버는 이 플래그에 액세스해서는 안 됩니다.
WakeUpCapabilities
미니포트 드라이버 네트워크 어댑터의 절전 모드 해제 기능을 지정하는 NDIS_PM_WAKE_UP_CAPABILITIES 구조체입니다. NDIS_PM_WAKE_UP_CAPABILITIES 구조체는 다음과 같이 정의됩니다.
typedef struct _NDIS_PM_WAKE_UP_CAPABILITIES {
NDIS_DEVICE_POWER_STATE MinMagicPacketWakeUp;
NDIS_DEVICE_POWER_STATE MinPatternWakeUp;
NDIS_DEVICE_POWER_STATE MinLinkChangeWakeUp;
} NDIS_PM_WAKE_UP_CAPABILITIES, *PNDIS_PM_WAKE_UP_CAPABILITIES;
이 구조체의 멤버는 다음 정보를 포함합니다.
MinMagicPacketWakeUp
미니포트 드라이버의 네트워크 어댑터가 매직 패킷을 수신할 때 절전 모드 해제 신호를 보낼 수 있는 가장 낮은 디바이스 전원 상태를 지정합니다. (매직 패킷은 수신 네트워크 어댑터의 이더넷 주소의 연속 복사본 16개 포함 패킷입니다.) 디바이스 전원 상태는 다음 NDIS_DEVICE_POWER_STATE 값 중 하나로 지정됩니다.
NdisDeviceStateUnspecified
네트워크 어댑터는 매직 패킷 절삭 해제를 지원하지 않습니다.
NdisDeviceStateD0
네트워크 어댑터는 디바이스 전원 상태 D0에서 매직 패킷 절전 모드 해제를 알릴 수 있습니다. D0은 완전히 전원이 공급되는 상태이므로 절전 모드 해제가 발생하지는 않지만 런타임 이벤트로 사용할 수 있습니다.
NdisDeviceStateD1
네트워크 어댑터는 디바이스 전원 상태 D1 및 D0에서 매직 패킷 절전 모드 해제를 알릴 수 있습니다.
NdisDeviceStateD2
네트워크 어댑터는 디바이스 상태 D2, D1 및 D0에서 매직 패킷 절동을 신호로 표시할 수 있습니다.
NdisDeviceStateD3
네트워크 어댑터는 디바이스 전원 상태 D3, D2, D1 및 D0에서 매직 패킷 절전 모드 해제를 알릴 수 있습니다.
MinPatternWakeUp
미니포트 드라이버의 네트워크 어댑터가 프로토콜 드라이버에서 지정한 패턴을 포함하는 네트워크 프레임 수신 시 절전 모드 해제 이벤트를 신호로 보낼 수 있는 가장 낮은 디바이스 전원 상태를 지정합니다. 전원 상태는 다음 NDIS_DEVICE_POWER_STATE 값 중 하나로 지정됩니다.
NdisDeviceStateUnspecified
네트워크 어댑터는 패턴 일치 절전 모드 해제를 지원하지 않습니다.
NdisDeviceStateD0
네트워크 어댑터는 디바이스 전원 상태 D0에서 패턴 일치 절전 모드 해제를 알릴 수 있습니다. D0은 완전히 전원이 공급되는 상태이므로 절전 모드 해제가 발생하지는 않지만 런타임 이벤트로 사용할 수 있습니다.
NdisDeviceStateD1
네트워크 어댑터는 디바이스 전원 상태 D1 및 D0에서 패턴 일치 절전 모드 해제를 알릴 수 있습니다.
NdisDeviceStateD2
네트워크 어댑터는 디바이스 전원 상태 D2, D1 및 D0에서 패턴 일치 절전 모드 해제를 신호로 표시할 수 있습니다.
NdisDeviceStateD3
네트워크 어댑터는 디바이스 전원 상태 D3, D2, D1 및 D0에서 패턴 일치 절전 모드 해제를 신호로 표시할 수 있습니다.
MinLinkChangeWakeUp
예약되어 있습니다. NDIS는 이 멤버를 무시합니다.
미니포트 드라이버의 경우
미니포트 드라이버가 초기화를 완료한 후 프로토콜 드라이버와 NDIS는 모두 이 OID를 사용하여 미니포트 드라이버를 쿼리하여 다음을 확인할 수 있습니다.
미니포트 드라이버가 PM 인식인지 여부입니다.
네트워크 절전 모드 해제 이벤트를 나타내는 네트워크 어댑터의 기능입니다.
미니포트 드라이버가 OID_PNP_CAPABILITIES 쿼리에 NDIS_STATUS_SUCCESS 반환하는 경우 NDIS는 미니포트 드라이버를 PM 인식으로 간주합니다. 미니포트 드라이버가 NDIS_STATUS_NOT_SUPPORTED 반환하는 경우 NDIS는 미니포트 드라이버를 PM을 인식하지 않는 레거시 미니포트 드라이버로 간주합니다.
NdisMSetAttributesEx를 호출할 때 절전 모드 해제 기능을 지원하지 않지만 전원 상태 전환에서 네트워크 어댑터 상태를 저장하고 복원할 수 있는 미니포트 드라이버는 NDIS_ATTRIBUTE_NO_HALT_ON_SUSPEND 플래그를 설정할 수 있습니다. 이 플래그를 설정하면 시스템이 저전력(절전 모드) 상태로 전환되기 전에 NDIS가 드라이버의 MiniportHalt 함수를 호출하지 못하게 됩니다. 그러나 미니포트 드라이버가 쿼리 OID_PNP_CAPABILITIES 대한 응답으로 NDIS_STATUS_NOT_SUPPORTED 반환하는 경우 NDIS는 NDIS_ATTRIBUTE_NO_HALT_ON_SUSPEND 플래그를 무시하고 시스템이 저전력 상태로 전환되면 네트워크 어댑터를 중지합니다.
미니포트 드라이버의 네트워크 어댑터는 절전 모드 해제 이벤트 없이 모든 절전 모드 해제 이벤트의 조합을 지원할 수 있습니다. 네트워크 어댑터가 절전 모드 해제 이벤트를 신호로 표시할 수 없는 경우에도 미니포트 드라이버는 전원 관리를 계속 지원할 수 있습니다. 이 경우 미니포트 드라이버가 OID_PNP_CAPABILITIES 외에도 지원하는 유일한 전원 관리 OID는 OID_PNP_QUERY_POWEROID_PNP_SET_POWER.
미니포트 드라이버의 네트워크 어댑터가 특정 절전 모드 해제 이벤트를 지원하지 않는 경우 미니포트 드라이버는 NDIS_PM_WAKE_UP_CAPABILITIES 구조의 절전 모드 해제 이벤트에 대해 NdisDeviceStateUnspecified 의 NDIS_DEVICE_POWER_STATE 값을 나타내야 합니다.
OID_PNP_CAPABILITIES 미니포트 드라이버 네트워크 어댑터의 절전 모드 해제 기능만 나타냅니다. 이러한 기능을 사용하도록 설정하지 않습니다. OID_PNP_ENABLE_WAKE_UP 네트워크 어댑터의 절전 모드 해제 기능을 사용하도록 설정하는 데 사용됩니다.
중간 드라이버의 경우
기본 네트워크 어댑터가 PM을 인식하는 경우 중간 드라이버는 OID_PNP_CAPABILITIES 쿼리에 NDIS_STATUS_SUCCESS 반환해야 합니다. 이 OID에서 반환된 NDIS_PM_WAKE_UP_CAPABILITIES 구조에서 중간 드라이버는 각 절전 모드 해제 기능(MinMagicPacketWakeUp 또는 MinPatternWakeUp)에 대해 NdisDeviceStateUnspecified 디바이스 전원 상태를 지정해야 합니다. 이러한 응답은 중간 드라이버가 PM을 인식하지만 물리적 디바이스를 관리하지 않음을 나타냅니다.
기본 네트워크 어댑터가 PM을 인식하지 못하는 경우 중간 드라이버는 OID_PNP_CAPABILITIES 쿼리에 NDIS_STATUS_NOT_SUPPORTED 반환해야 합니다.
참고 NDIS 6.20 이상 미니포트 드라이버가 전원 관리 기능을 보고하는 방법에 대한 자세한 내용은 보고 전원 관리 기능을 참조하세요.
요구 사항
Version |
NDIS 6.0 및 NDIS 6.1에서 지원됩니다. NDIS 6.20 이상에서는 대신 OID_PM_CURRENT_CAPABILITIES 사용합니다. |
헤더 |
Ntddndis.h(Ndis.h 포함) |