MINIPORT_IDLE_NOTIFICATION 콜백 함수(ndis.h)

NDIS는 MiniportIdleNotification 처리기 함수를 호출하여 유휴 네트워크 어댑터에서 NDIS 선택적 일시 중단 작업을 시작합니다. 이 작업을 통해 네트워크 어댑터가 일시 중단되고 저전력 상태로 전환됩니다.

구문

MINIPORT_IDLE_NOTIFICATION MiniportIdleNotification;

NDIS_STATUS MiniportIdleNotification(
  [in] NDIS_HANDLE MiniportAdapterContext,
  [in] BOOLEAN ForceIdle
)
{...}

매개 변수

[in] MiniportAdapterContext

Miniport 드라이버가 MiniportInitializeEx 함수에 할당한 컨텍스트 영역에 대한 핸들입니다. 미니포트 드라이버는 이 컨텍스트 영역을 사용하여 네트워크 어댑터에 대한 상태 정보를 유지 관리합니다.

[in] ForceIdle

TRUE로 설정하면 미니포트 드라이버가 유휴 알림을 거부해서는 안 되며 저전력 상태 전환을 계속해야 하므로 지정하는 BOOLEAN 값입니다.

ForceIdle 매개 변수에 대한 자세한 내용은 설명 섹션을 참조하세요.

반환 값

MiniportIdleNotification은 다음 상태 값 중 하나를 반환합니다.

반환 코드 설명
NDIS_STATUS_PENDING 미니포트 드라이버가 유휴 알림을 성공적으로 처리했습니다. 미니포트 드라이버가 NdisMIdleNotificationComplete를 호출할 때까지 알림은 보류 중인 상태로 유지됩니다. 참고: 미니포트 드라이버는 MiniportIdleNotification에서 NDIS_STATUS_SUCCESS 반환해서는 안됩니다.
NDIS_STATUS_BUSY 네트워크 어댑터가 여전히 사용 중이기 때문에 미니포트 드라이버가 유휴 알림을 거부했습니다. 참고:MiniportIdleNotification은 ForceIdle 매개 변수가 TRUE로 설정된 경우 이 상태 코드를 반환해서는 안 됩니다.
NDIS_STATUS_FAILURE 미니포트 드라이버가 버스별 IRP를 성공적으로 발급할 수 없습니다.

설명

MiniportIdleNotification 처리기 함수는 NDIS 선택적 일시 중단 인터페이스를 지원하는 미니포트 드라이버에 필요합니다. 드라이버가 선택적 일시 중단 처리기 함수를 등록하는 방법에 대한 자세한 내용은 NDIS 선택적 일시 중단 처리기 함수 등록을 참조하세요.

네트워크 어댑터가 유휴 시간 제한 기간보다 오랫동안 비활성 상태인 경우 NDIS는 ForceIdle 매개 변수를 FALSE 로 설정합니다. 따라서 NDIS는 네트워크 어댑터만 선택적으로 일시 중단합니다 .

유휴 시간 제한 기간의 기간은 *SSIdleTimeout INF 키워드(keyword) 값으로 지정됩니다. 이 키워드(keyword) 대한 자세한 내용은 NDIS 선택적 일시 중단에 대한 표준화된 INF 키워드를 참조하세요.

참고

NDIS는 Always On AOAC(Always Connected) 기술을 준수하는 시스템이 연결된 대기 상태로 전환되는 경우에만 ForceIdle 매개 변수를 TRUE로 설정합니다.

미니포트 드라이버가 네트워크 어댑터를 사용하고 있다고 판단하는 경우 NDIS_STATUS_BUSY 반환하여 유휴 알림 요청을 거부할 수 있습니다. 이로 인해 NDIS가 네트워크 어댑터에서 활동 모니터를 다시 시작합니다.

어댑터가 유휴 시간 제한 기간 내에 다시 비활성 상태가 되면 NDIS는 MiniportIdleNotification을 호출합니다.

참고

ForceIdle 매개 변수가 TRUE로 설정된 경우 미니포트 드라이버는 NDIS_STATUS_BUSY 반환하지 않아야 합니다.

유휴 알림이 실행된 후 다음 방법으로 취소하고 완료할 수 있습니다.

  • 다음 조건이 충족되면 NDIS에서 미해결 유휴 알림을 취소할 수 있습니다.

    • 지나치게 많은 프로토콜 또는 필터 드라이버는 패킷 보내기 요청 또는 미니포트 드라이버에 대한 OID 요청을 발급합니다.
    • 기본 어댑터는 WOL(Wake-On-LAN) 패턴과 일치하는 패킷을 받거나 미디어 연결 상태 변경 내용을 감지하는 것과 같은 절전 모드 해제 이벤트를 신호합니다.

    NDIS는 MiniportCancelIdleNotification을 호출하여 유휴 알림을 취소합니다. 이 처리기 함수가 호출되면 미니포트 드라이버는 유휴 알림에 대해 이전에 발급했을 수 있는 버스별 IRP를 취소합니다. 마지막으로 미니포트 드라이버는 NdisMIdleNotificationComplete 를 호출하여 유휴 알림을 완료합니다.

  • 네트워크 어댑터가 저전력 상태이면 미니포트 드라이버는 어댑터를 전체 전원 상태로 다시 시작하기 위해 유휴 알림 자체를 완료할 수 있습니다. 이 작업을 수행하는 이유는 드라이버 및 어댑터의 디자인 및 요구 사항에 따라 다릅니다.

    미니포트 드라이버는 NdisMIdleNotificationComplete를 호출하여 유휴 알림을 완료합니다. 미니포트 드라이버가 유휴 알림을 완료하는 방법에 대한 자세한 내용은 NDIS 선택적 일시 중단 유휴 알림 완료를 참조하세요.

NDIS 선택적 일시 중단에 대한 유휴 알림을 처리하는 방법에 대한 자세한 내용은 NDIS 선택적 일시 중단 유휴 알림 처리를 참조하세요.

MiniportIdleNotification 처리기 함수를 구현하는 방법에 대한 지침은 MiniportIdleNotification 처리기 함수 구현을 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 NDIS 6.30 이상에서 지원됩니다.
대상 플랫폼 Windows
헤더 ndis.h(Ndis.h 포함)
IRQL PASSIVE_LEVEL

추가 정보

MiniportCancelIdleNotification

NdisMIdleNotificationComplete