PVIDEO_HW_QUERY_INTERFACE fonction de rappel (video.h)
HwVidQueryInterface retourne une interface fonctionnelle implémentée par le pilote miniport qu’un appareil enfant peut appeler.
Syntaxe
PVIDEO_HW_QUERY_INTERFACE PvideoHwQueryInterface;
VP_STATUS PvideoHwQueryInterface(
PVOID HwDeviceExtension,
PQUERY_INTERFACE QueryInterface
)
{...}
Paramètres
HwDeviceExtension
Pointeur vers la zone de stockage par adaptateur du pilote miniport. Pour plus d’informations, consultez extensions d’appareil.
QueryInterface
Pointeur vers une structure QUERY_INTERFACE dans laquelle le pilote miniport doit retourner des informations sur l’interface qu’il prend en charge.
Valeur de retour
HwVidQueryInterface doit retourner NO_ERROR en cas de réussite ; sinon, il doit retourner le code d’erreur approprié. Par exemple, un pilote miniport doit retourner ERROR_OUTOFMEMORY s’il ne peut pas allouer de mémoire pour terminer l’opération.
Remarques
HwVidQueryInterface expose un mécanisme de communication entre le pilote miniport vidéo et le pilote d’un appareil enfant. Un pilote miniport qui expose un tel mécanisme doit implémenter cette fonction.
Le port vidéo appelle HwVidQueryInterface lorsqu’il reçoit une demande de IRP_MN_QUERY_INTERFACE. Si le pilote miniport échoue l’appel, le pilote de port vidéo transmet la demande au parent de l’appareil du pilote miniport.
HwVidQueryInterface doit renseigner les membres de la structure INTERFACE à laquelle QueryInterface ->Interface points comme suit :
- Définissez Taille sur le nombre d’octets dans la structure INTERFACE. Cette valeur ne doit pas dépasser le nombre d’octets spécifié par QueryInterface->Size.
- Définissez version sur la version de l’interface retournée par le pilote miniport. Le pilote miniport doit correspondre le mieux à la version demandée par le pilote enfant dans QueryInterface->Version.
- Définissez contexte pour pointer vers un contexte défini par le pilote miniport pour l’interface. En règle générale, un pilote miniport définit contexte pour pointer vers l’extension de périphérique identifiée par HwDeviceExtension.
- Initialisez interfaceReference et InterfaceDereference pour pointer vers les routines de référence et de déréférencement implémentées par le pilote miniport pour cette interface.
- Initialisez tous les membres supplémentaires spécifiques à l’interface pour pointer vers les routines appropriées de l’interface exposées.
Le pilote d’un appareil enfant peut appeler le pilote miniport via les fonctions exposées par HwVidQueryInterface à tout moment sans connaître le pilote de port vidéo. Par conséquent, le pilote miniport doit synchroniser l’accès à lui-même en acquérant et en libérant le verrou de périphérique géré par le pilote de port vidéo dans toutes les fonctions exposées par HwVidQueryInterface.
Un appareil enfant est énuméré par HwVidGetVideoChildDescriptor.
HwVidQueryInterface doit être rendu paginable.
Exigences
Exigence | Valeur |
---|---|
plateforme cible | Bureau |
d’en-tête | video.h (include Video.h) |