PVIDEO_HW_GET_CHILD_DESCRIPTOR fonction de rappel (video.h)

HwVidGetVideoChildDescriptor retourne un descripteur, un type et un numéro d’identification pour un appareil enfant particulier de l’adaptateur d’affichage.

Syntaxe

PVIDEO_HW_GET_CHILD_DESCRIPTOR PvideoHwGetChildDescriptor;

VP_STATUS PvideoHwGetChildDescriptor(
  [in]  IN PVOID HwDeviceExtension,
  [in]  IN PVIDEO_CHILD_ENUM_INFO ChildEnumInfo,
  [out] OUT PVIDEO_CHILD_TYPE VideoChildType,
  [out] OUT PUCHAR pChildDescriptor,
  [out] OUT PULONG UId,
  [out] OUT PULONG pUnused
)
{...}

Paramètres

[in] HwDeviceExtension

Pointeur vers la zone de stockage par adaptateur du pilote miniport. Pour plus d’informations, consultez Extensions d’appareil.

[in] ChildEnumInfo

Structure VIDEO_CHILD_ENUM_INFO qui décrit l’appareil énuméré.

[out] VideoChildType

Pointeur vers un emplacement dans lequel le pilote miniport retourne le type d’enfant énuméré. Ce membre peut être l’un des éléments suivants de l’énumération VIDEO_CHILD_TYPE :

Valeur Signification
Surveiller L’appareil enfant est un moniteur. Si le pilote miniport détecte que le moniteur est associé à une structure EDID compatible DDC2, le pilote miniport doit extraire les informations EDID du moniteur et les renvoyer dans la mémoire tampon vers laquelle pointe pChildDescriptor. Le pilote miniport peut obtenir plus facilement l’EDID à partir du moniteur en appelant VideoPortDDCMonitorHelper.
Si le moniteur détecté n’est pas conforme à DDC2, le pilote miniport ne doit pas retourner quoi que ce soit dans pChildDescriptor.
NonPrimaryChip Est réservé à l’utilisation du système.
VideoChip L’appareil enfant est la puce graphique.
Le pilote miniport doit retourner ce type lorsque ChildEnumInfo.ChildIndex est DISPLAY_ADAPTER_HW_ID. Le pilote miniport ne doit rien retourner dans pChildDescriptor.
Autres Un pilote de périphérique distinct est associé à l’appareil enfant.
Le pilote miniport doit retourner l’identificateur matériel PnP de l’appareil sous la forme d’une chaîne Unicode dans la mémoire tampon vers laquelle pointe pChildDescriptor. Cette chaîne doit correspondre à l’ID d’appareil spécifié dans le fichier INF du pilote. Il sera utilisé par le système d’exploitation comme ID matériel pour cet appareil.

[out] pChildDescriptor

Pointeur vers une mémoire tampon dans laquelle le pilote miniport peut retourner des données qui identifient l’appareil. Les informations retournées dépendent du type enfant spécifié dans VideoChildType. La taille de cette mémoire tampon est spécifiée par le pilote de port vidéo dans le membre ChildDescriptorSize de VIDEO_CHILD_ENUM_INFO.

[out] UId

Pointeur vers l’emplacement où le pilote miniport retourne un ID d’appareil 32 bits unique pour cet appareil. Le pilote miniport doit définir l’UId pour qu’il soit DISPLAY_ADAPTER_HW_ID lorsque l’appareil est l’adaptateur d’affichage réel.

[out] pUnused

Est inutilisé et doit être défini sur zéro.

Valeur retournée

HwVidGetVideoChildDescriptor retourne l’une des valeurs suivantes :

Code de retour Description
VIDEO_ENUM_INVALID_DEVICE Appelez à nouveau. Le pilote miniport n’a pas pu énumérer l’appareil enfant identifié dans ChildEnumInfo, mais il y a d’autres appareils à énumérer.
VIDEO_ENUM_MORE_DEVICES Un nouvel appareil enfant est énuméré. Le port vidéo appelle à nouveau HwVidGetVideoChildDescriptor dans ce cas.
VIDEO_ENUM_NO_MORE_DEVICES Le pilote miniport n’a pas pu énumérer l’appareil enfant identifié dans ChildEnumInfo. Arrêter l’énumération. Il n’y a plus d’appareils à énumérer.

Remarques

Par défaut, HwVidGetVideoChildDescriptor n’est appelé qu’après le démarrage de l’appareil par HwVidFindAdapter. Pour autoriser l’énumération des enfants d’un appareil avant le démarrage de l’appareil, définissez le membre AllowEarlyEnumeration de VIDEO_HW_INITIALIZATION_DATA. Lorsque AllowEarlyEnumeration est défini, HwVidGetVideoChildDescriptor peut être appelé à tout moment.

HwVidGetVideoChildDescriptor doit effectuer les opérations suivantes :

  • Déterminez le type de l’appareil enfant en fonction des données fournies dans ChildEnumInfo et retournez ce type dans VideoChildType.
  • Renseignez la mémoire tampon vers laquelle pChildDescriptor pointe avec les données appropriées, en fonction de la valeur de VideoChildType.
  • Écrivez une valeur 32 bits dans uId qui identifie de manière unique l’appareil enfant énuméré. Le pilote de port vidéo transmet cette poignée au pilote miniport pour des opérations telles que la gestion de l’alimentation.
HwVidGetVideoChildDescriptor doit être rendu paginable.

Configuration requise

Condition requise Valeur
Plateforme cible Desktop (Expérience utilisateur)
En-tête video.h (inclure Video.h)

Voir aussi

HwVidGetPowerState

HwVidSetPowerState

VIDEO_CHILD_ENUM_INFO

VideoPortDDCMonitorHelper

VideoPortEnumerateChildren