Share via


Implementatie van thermische beheer

Vanaf Windows 8 kunnen apparaten met thermische beheermogelijkheden de GUID_THERMAL_COOLING_INTERFACE stuurprogramma-interface implementeren. Ze kunnen vervolgens deelnemen aan wereldwijd thermische beheer door deze interface bloot te stellen aan het besturingssysteem.

Het besturingssysteem roept de routines van het stuurprogramma aan om dynamisch thermische niveaus in het platform te beheren als reactie op wijzigingen in de gebruikersactiviteit en omgevingsomstandigheden.

Implementatieoverzicht

Als u wilt deelnemen aan Het thermische beheer van Windows, moet uw apparaatstuurprogramma:

  1. Ondersteun de thermische koelinterface door te reageren op IRP_MN_QUERY_INTERFACE verzoeken.
  2. Implementeer callback-routines voor actieve koeling, passieve koeling of beide.
  3. Geef de interfacestructuur met aanwijzers naar uw callback-implementaties.
  4. Afhandelen van verzoeken voor thermisch beheer door het besturingssysteem.

De GUID_THERMAL_COOLING_INTERFACE

GUID_THERMAL_COOLING_INTERFACE stelt apparaatstuurprogramma's in staat om deel te nemen aan het globale thermisch beheer van het hardwareplatform. Wanneer u deze interface implementeert, kan het besturingssysteem het thermische beheer op meerdere apparaten coördineren voor optimale systeemprestaties.

Interfacedetectie

Tijdens het opstarten van het systeem vraagt het door het systeem geleverde stuurprogramma Acpi.sys apparaatstuurprogramma's op om te bepalen welke stuurprogramma's thermische beheer ondersteunen. Er wordt met name een IRP_MN_QUERY_INTERFACE aanvraag voor de GUID_THERMAL_COOLING_INTERFACE.

Als reactie op deze aanvraag kan het stuurprogramma voor een apparaat met thermische beheermogelijkheden een aanwijzer naar een THERMAL_COOLING_INTERFACE structuur leveren. Deze structuur bevat aanwijzers naar een set callback-routines die het stuurprogramma implementeert. Om thermische niveaus in het apparaat te beheren, roept het besturingssysteem deze routines rechtstreeks aan.

Uw stuurprogramma kan op elk gewenst moment een IRP_MN_QUERY_INTERFACE aanvraag voor deze interface ontvangen nadat uw AddDevice-routine is aangeroepen.

Implementaties van terugbelprocedures

De twee belangrijkste callbackroutines die door het stuurprogramma zijn geïmplementeerd in deze interface zijn:

U kunt een of beide routines implementeren, afhankelijk van de mogelijkheden van uw apparaat. Zie Thermische beheer op apparaatniveau voor meer informatie over deze koelmodi.

PassiveCooling callback

De PassiveCooling-routine van de bestuurder bepaalt de mate waarin de prestaties van het apparaat moeten worden beperkt om acceptabele thermische niveaus te handhaven. Deze routine:

  • Hiermee past u de prestaties van het apparaat aan om acceptabele thermische niveaus te handhaven.
  • Neemt een percentageparameter die het vereiste koelniveau aangeeft (0-100%).
  • Implementeert het schalen van prestaties die geschikt zijn voor uw apparaattype.

Voordat het besturingssysteem voor het eerst PassiveCooling aanroept, configureert u uw apparaat zodat het op volle prestaties draait zonder koelbeperkingen.

ActiveCooling terugroepactie

De ActiveCooling-routine regelt actieve koelapparaten in uw hardware. Deze routine:

  • Hiermee wordt actieve koeling geactiveerd of uitgeschakeld op basis van de aanvraag van het besturingssysteem.
  • Regelt koelhardware zoals ventilatoren, pompen of andere thermische beheerapparaten. Deze routine kan bijvoorbeeld een ventilator in- en uitschakelen.
  • Neemt een booleaanse parameter die aangeeft of de koeling moet worden ingeschakeld (TRUE) of uitgeschakeld (FALSE).

Voordat de eerste aanroep van ActiveCooling wordt uitgevoerd, wordt actieve koeling standaard uitgeschakeld (bijvoorbeeld de ventilator is uitgeschakeld).