LAN 패턴에서 절전 모드 해제 추가 및 삭제

WOL(Wake-On-LAN) 패턴을 추가하기 위해 NDIS 프로토콜 드라이버는 OID_PM_ADD_WOL_PATTERN OID 집합 요청을 실행합니다. NDIS_OID_REQUEST 구조체의 InformationBuffer 멤버에는 NDIS_PM_WOL_PATTERN 구조체에 대한 포인터가 포함되어 있습니다. 네트워크 어댑터에서 해당 WOL 패킷을 지원하는 경우 프로토콜 드라이버는 WOL 패킷을 지정해야 합니다. 네트워크 어댑터가 WOL 패킷을 지원하지 않는 경우 프로토콜 드라이버는 WOL 비트맵 절전 모드 해제 메서드를 사용해야 합니다.

NDIS_PM_WOL_PATTERN 다음 정보를 포함합니다.

우선 순위
WOL 패턴의 우선 순위를 포함합니다. 더 많은 WOL 패턴에 사용할 수 있는 리소스가 없을 때 지나치게 높은 우선 순위의 WOL 패턴을 추가하는 경우 NDIS는 리소스를 해제하기 위해 우선 순위가 낮은 WOL 패턴을 제거할 수 있습니다. 미니포트 드라이버는 이 멤버를 무시해야 합니다. 프로토콜 드라이버는 NDIS_PM_WOL_PRIORITY_LOWEST NDIS_PM_WOL_PRIORITY_HIGHEST 미리 정의된 범위 내에 있는 우선 순위를 지정할 수 있습니다.

WoLPacketType
WOL 패킷의 형식을 지정하는 NDIS_PM_WOL_PACKET 열거형 값을 포함합니다.

Friendlyname
WOL 패킷에 대한 사용자가 읽을 수 있는 설명을 포함하는 NDIS_PM_COUNTED_STRING 구조를 포함합니다.

PatternId
WOL 패턴을 식별하는 NDIS 제공 값을 포함합니다. NDIS가 OID_PM_ADD_WOL_PATTERN OID 요청을 기본 NDIS 드라이버로 보내거나 지나치게 많은 드라이버에 요청을 완료하기 전에 NDIS는 PatternId 를 네트워크 어댑터의 WOL 패턴 중에서 고유한 값으로 설정합니다.

NextWoLPatternOffset
한 NDIS_PM_WOL_PATTERN 구조체의 오프셋(OID 요청 InformationBuffer 시작부터 OID_PM_WOL_PATTERN_LIST OID에 대한 목록의 다음 NDIS_PM_WOL_PATTERN 구조체까지)을 포함합니다. OID_PM_WOL_PATTERN_LIST 대한 자세한 내용은 WOL 패턴의 현재 설정 가져오기를 참조하세요.

WoLPattern
공용 구조체의 IPv4TcpSynParameters, IPv6TcpSynParameters, EapolRequestIdMessageParameters 또는 WoLBitMapPattern 구조체 중 하나를 포함합니다.

IPv4TcpSynParameters
IPv4 TCP 동기화(SYN) 정보를 포함합니다.

IPv6TcpSynParameters
IPv6 TCP SYN 정보를 포함합니다.

EapolRequestIdMessageParameters
EAPOL(LAN)을 통해 802.1X EAP 요청 ID 메시지 매개 변수를 포함합니다.

WoLBitMapPattern
WOL 비트맵 패턴 사양을 포함합니다.

NDIS는 네트워크 어댑터에 고유한 식별자를 모든 WOL 패턴에 할당합니다. 패턴 식별자는 네트워크 어댑터에 설정된 각 패턴에 대한 고유한 값입니다. 그러나 패턴 식별자는 모든 네트워크 어댑터에서 전역적으로 고유하지 않습니다. NDIS는 NDIS가 미니포트 드라이버에 OID_PM_ADD_WOL_PATTERN OID 요청을 보낼 때 식별자를 기본 네트워크 어댑터에 전달합니다. WOL 패턴을 추가하는 데 성공하면 NDIS는 WOL 패턴을 추가한 지나치게 많은 드라이버에 식별자를 반환합니다. 오버리싱 드라이버는 식별자를 사용하여 이전에 추가된 WOL 패턴을 제거합니다. 패턴 식별자는 네트워크 어댑터에서 WOL 패턴이 제거될 때 오버리딩 드라이버에 대한 상태 표시에도 사용됩니다.

프로토콜 드라이버는 네트워크 어댑터에 대한 바인딩을 닫기 전에 네트워크 어댑터에 추가한 모든 패턴을 제거하려면 OID_PM_REMOVE_WOL_PATTERN OID 집합 요청을 실행해야 합니다. NDIS_OID_REQUEST 구조체의 InformationBuffer 멤버에는 패턴 식별자에 대한 포인터가 포함되어 있습니다.

사용자 모드 애플리케이션은 GUID_PM_REMOVE_WOL_PATTERN WMI GUID를 사용하여 네트워크 어댑터에서 이전에 추가된 WOL 패턴을 제거합니다. NDIS는 이 WMI 요청을 네트워크 어댑터에 대한 OID_PM_REMOVE_WOL_PATTERN OID 집합 요청으로 변환합니다. NDIS는 네트워크 어댑터를 중지하기 전에 애플리케이션이 네트워크 어댑터에서 추가한 모든 WOL 패턴을 삭제합니다.

NDIS를 사용하면 여러 NDIS 프로토콜 드라이버가 동일한 네트워크 어댑터에 WOL 패턴을 추가할 수 있습니다. 요청된 WOL 패턴 수가 네트워크 어댑터가 지원할 수 있는 것보다 높은 경우 올바른 WOL 패턴 집합이 설정되었는지 확인하기 위해 프로토콜 드라이버는 NDIS_PM_WOL_PATTERN 구조의 Priority 멤버에서 요청된 각 WOL 패턴에 우선 순위를 할당합니다. 네트워크 어댑터가 리소스가 부족하여 NDIS에서 우선 순위가 높은 새 WOL 패턴을 추가할 수 없는 경우 NDIS는 우선 순위가 낮은 패턴(있는 경우) 중 하나를 삭제하고 우선 순위가 높은 패턴을 다시 추가하려고 시도합니다.

참고 미니포트 드라이버는 패턴 추가 요청에 실패하고 NDIS가 패턴의 우선 순위를 다시 지정할 수 있도록 STATUS_NDIS_PM_WOL_PATTERN_LIST_FULL 상태 코드를 반환해야 합니다.

NDIS가 우선 순위가 낮은 패턴 중 하나를 삭제하면 NDIS_STATUS_PM_WOL_PATTERN_REJECTED 상태 표시를 사용하여 삭제된 패턴을 설정하는 오버리링 드라이버에 알 수 있습니다. NDIS_STATUS_INDICATION 구조체의 StatusBuffer 멤버에는 거부된 WOL 패턴의 WOL 패턴 식별자에 대한 ULONG이 포함되어 있습니다. NDIS는 NDIS_PM_WOL_PATTERN 구조체의 PatternId 멤버에 WOL 패턴 식별자를 제공했습니다.

인프라 요소를 사용하여 인프라를 통해 로밍할 때 패턴을 오프로드할 수 있는 무선 네트워크 어댑터의 경우 새 인프라 요소가 동일한 기능을 지원하지 않을 수 있으며 미니포트 드라이버는 적절한 상태 코드로 NDIS_STATUS_PM_WOL_PATTERN_REJECTED 상태 표시를 보낼 수 있습니다.