다음을 통해 공유


KSDEVICE_THERMAL_DISPATCH 구조체(ks.h)

KSDEVICE_THERMAL_DISPATCH 구조는 API 호출의 미니포트 드라이버에서 열 알림 콜백을 등록하는 데 사용됩니다. 이 구조체에는 활성 및 수동 냉각 인터페이스에 대한 콜백 함수 포인터가 포함되어 있습니다.

구문

typedef struct _KSDEVICE_THERMAL_DISPATCH {
  PFNKSDEVICETHERMALACTIVECOOLING  ActiveCooling;
  PFNKSDEVICETHERMALPASSIVECOOLING PassiveCooling;
} KSDEVICE_THERMAL_DISPATCH, *PKSDEVICE_THERMAL_DISPATCH;

멤버

ActiveCooling

활성 열 콜백 알림입니다.

루틴은 다음과 같이 정의됩니다.

_IRQL_requires_max_(PASSIVE_LEVEL)
typedef
void
(*PFNKSDEVICETHERMALACTIVECOOLING)(
    _In_  PKSDEVICE KsDevice,
    _In_  BOOLEAN Engaged,
    _Out_ KSDEVICE_THERMAL_STATE* DeviceThermalState
);

KsDevice

[in] KS에서 관리하는 디바이스를 나타내는 KSDEVICE 개체입니다.

종사

[in] 활성 냉각을 사용하거나 해제할지 여부를 나타냅니다. TRUE이면 드라이버가 활성 냉각(예: 팬 켜기)을 사용해야 합니다. FALSE인 경우 드라이버는 활성 냉각을 해제해야 합니다(예: 팬 끄기).

DeviceThermalState

[out] 반환 값: Avstream으로 결정된 열 상태입니다. 상태가 변경되면 파이프라인에 변경 알림이 표시됩니다. 파이프라인은 열 알림에 등록된 모든 앱에 알림합니다.

PassiveCooling

수동 열 콜백 알림입니다.

루틴은 다음과 같이 정의됩니다.

_IRQL_requires_max_(PASSIVE_LEVEL)
typedef
void
(*PFNKSDEVICETHERMALPASSIVECOOLING)(
    _In_  PKSDEVICE KsDevice,
    _In_  ULONG Percentage,
    _Out_ KSDEVICE_THERMAL_STATE* DeviceThermalState
);

KsDevice

[in] KS에서 관리하는 디바이스를 나타내는 KSDEVICE 개체입니다.

백분율

[in] 디바이스 작동이 허용되는 전체 성능의 백분율입니다. 매개 변수 값이 100이면 디바이스에 냉각 제한이 없으며 전체 성능 수준에서 작동할 수 있음을 나타냅니다. 매개 변수 값이 0이면 디바이스가 가장 낮은 열 수준에서 작동해야 했음을 나타냅니다. 0에서 100 사이의 매개 변수 값은 열 생성을 줄이기 위해 디바이스의 성능을 제한해야 하는 정도를 나타냅니다. 이 매개 변수 값은 디바이스가 초과해서는 안 되는 임계값입니다.

DeviceThermalState

[out] 반환 값: Avstream으로 결정된 열 상태입니다. 상태가 변경되면 파이프라인에 변경 알림이 표시됩니다. 파이프라인은 열 알림에 등록된 모든 앱에 알림합니다.

요구 사항

요구 사항
헤더 ks.h(Ks.h 포함)