DXGKCB_ACQUIRE_POST_DISPLAY_OWNERSHIP fonction de rappel (dispmprt.h)

Appelé par un pilote de miniport Windows Display Driver Model (WDDM) 1.2 ou ultérieur pour obtenir les informations d’affichage à partir du périphérique d’affichage auto-test (POST) actuel ou du pilote WDDM précédemment en cours d’exécution.

Le pilote doit utiliser ces informations d’affichage pour optimiser la demande de modification de mode initiale après le démarrage du périphérique d’affichage.

Syntaxe

DXGKCB_ACQUIRE_POST_DISPLAY_OWNERSHIP DxgkcbAcquirePostDisplayOwnership;

NTSTATUS DxgkcbAcquirePostDisplayOwnership(
  [in]  HANDLE DeviceHandle,
  [out] PDXGK_DISPLAY_INFORMATION DisplayInfo
)
{...}

Paramètres

[in] DeviceHandle

Handle qui représente un adaptateur d’affichage. Le pilote de miniport d’affichage a précédemment obtenu ce handle dans le membre DeviceHandle de la structure DXGKRNL_INTERFACE qui a été passée à DxgkDdiStartDevice.

[out] DisplayInfo

Pointeur vers une structure DXGK_DISPLAY_INFORMATION allouée par le pilote de miniport d’affichage. Si DxgkCbAcquirePostDisplayOwnership retourne STATUS_SUCCESS, cette structure contient des informations d’affichage pour le périphérique d’affichage actuel utilisé pour les opérations POST.

Valeur retournée

DxgkCbAcquirePostDisplayOwnership retourne STATUS_SUCCESS si elle réussit. Sinon, elle retourne l’un des codes d’erreur définis dans Ntstatus.h.

Remarques

Formats de couleurs autorisés

Le membre DisplayInfo->ColorFormat doit inclure une combinaison or au niveau du bit des deux formats suivants :
  • D3DDDIFMT_X8R8G8B8
  • D3DDDIFMT_A8R8G8B8
Si le système d’exploitation signale le format D3DDDIFMT_R8G8B8 , le pilote de miniport d’affichage doit l’ignorer.

Initialisation de la cible de présentation vidéo

Il est possible que le membre TargetId DisplayInfo-> ne soit pas initialisé. Dans ce cas, l’identificateur de la cible vidéo présente est D3DDDI_ID_UNINITIALIZED. En règle générale, cela se produit après un démarrage système.

De même, il est possible que le membre DisplayInfo-AcpiId> ne soit pas initialisé. Dans ce cas, l’identificateur ACPI AcpiId a une valeur de zéro.

Dans le cas d’une mise à niveau de pilote à pilote, le pilote précédent aura fourni l’identificateur cible et l’identificateur ACPI.

Instructions d’implémentation

À compter de WDDM 1.2, le pilote de miniport d’affichage doit suivre ces instructions lorsqu’il appelle DxgkCbAcquirePostDisplayOwnership :
  • Le point d’entrée de la fonction DxgkCbAcquirePostDisplayOwnership fait partie de la structure DXGKRNL_INTERFACE . Cette structure est retournée au pilote via le paramètre DxgkInterface lorsque la fonction DxgkDdiStartDevice du pilote est appelée.
  • Il est facultatif pour le pilote de miniport d’affichage d’appeler DxgkCbAcquirePostDisplayOwnership. Toutefois, le système d’exploitation peut toujours appeler la fonction DxgkDdiStopDeviceAndReleasePostDisplayOwnership du pilote de périphérique si le pilote n’a pas précédemment appelé DxgkCbAcquirePostDisplayOwnership.
  • Le pilote de miniport d’affichage peut appeler DxgkCbAcquirePostDisplayOwnership si l’appareil est démarré en réponse à un événement Plug-and-Play (PnP). Dans ce cas, le pilote doit appeler DxgkCbAcquirePostDisplayOwnership à partir du contexte de l’appel à la fonction DxgkDdiStartDevice .
  • Le pilote de miniport d’affichage peut appeler DxgkCbAcquirePostDisplayOwnership si l’appareil reprend un état d’alimentation PowerDeviceD0 après un état de mise en veille prolongée. Dans ce cas, le pilote doit appeler DxgkCbAcquirePostDisplayOwnership à partir du contexte de l’appel à la fonction DxgkDdiSetPowerState .
  • Le pilote miniport d’affichage doit uniquement appeler la fonction DxgkCbAcquirePostDisplayOwnership si le pilote s’exécute sous Windows 8 ou une version ultérieure du système d’exploitation Windows.
    Note Le pilote de miniport d’affichage peut appeler RtlGetVersion pour déterminer la version du système d’exploitation.
     
  • DxgkCbAcquirePostDisplayOwnership peut retourner une structure DXGK_DISPLAY_INFORMATION avec le membre Width défini sur zéro. Cela indique que le périphérique d’affichage actuel n’est pas capable d’effectuer des opérations POST ou que le système d’exploitation n’a pas les informations d’affichage actuelles pour l’appareil POST actuel.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 8
Serveur minimal pris en charge Windows Server 2012
Plateforme cible Desktop (Expérience utilisateur)
En-tête dispmprt.h (include Dispmprt.h)
IRQL <= APC_LEVEL

Voir aussi

DXGKRNL_INTERFACE

DXGK_DISPLAY_INFORMATION

DxgkDdiSetPowerState

DxgkDdiStartDevice

DxgkDdiStopDeviceAndReleasePostDisplayOwnership

RtlGetVersion