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.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | video.h (inclure Video.h) |