Partager via


DXGKDDI_QUERY_INTERFACE fonction de rappel (dispmprt.h)

La fonction DxgkDdiQueryInterface retourne une interface fonctionnelle implémentée par le pilote miniport d’affichage.

Syntaxe

DXGKDDI_QUERY_INTERFACE DxgkddiQueryInterface;

NTSTATUS DxgkddiQueryInterface(
  [in] IN_CONST_PVOID MiniportDeviceContext,
  [in] IN_PQUERY_INTERFACE QueryInterface
)
{...}

Paramètres

[in] MiniportDeviceContext

Handle d’un bloc de contexte associé à une carte d’affichage. La fonction DxgkDdiAddDevice du pilote miniport d’affichage a précédemment fourni cette poignée à Dxgkrnl.

[in] QueryInterface

Pointeur vers une structure QUERY_INTERFACE dans laquelle le pilote miniport d’affichage doit retourner des informations sur l’interface qu’il prend en charge.

Valeur retournée

DxgkDdiQueryInterface retourne STATUS_SUCCESS si elle réussit ; sinon, il retourne un code NTSTATUS approprié. Si un pilote de miniport d’affichage ne prend pas en charge l’interface demandée, il doit retourner STATUS_NOT_SUPPORTED. En retournant STATUS_NOT_SUPPORTED, le pilote miniport d’affichage indique au système d’exploitation de transmettre la requête au pilote suivant.

Remarques

DxgkDdiQueryInterface expose un mécanisme de communication entre le pilote miniport d’affichage et le pilote d’un appareil enfant (par exemple, un périphérique de capture vidéo). Un pilote miniport d’affichage qui expose un tel mécanisme doit implémenter cette fonction.

DxgkDdiQueryInterface doit renseigner les membres de la structure INTERFACE vers 2000 pointés par QueryInterface-Interface> comme suit :

  • Définissez Size 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 d’affichage. Le pilote miniport d’affichage doit correspondre au mieux à la version demandée par le pilote enfant dans QueryInterface-Version>.

  • Définissez Contexte pour pointer vers un contexte d’affichage défini par le pilote miniport pour l’interface. En règle générale, un pilote de miniport d’affichage définit Context sur la poignée sur le bloc de contexte de l’adaptateur d’affichage identifié par MiniportDeviceContext.

  • Initialisez InterfaceReference et InterfaceDereference pour pointer vers les routines de référence et de déréférence implémentées par le pilote miniport d’affichage pour cette interface.

  • Initialisez tous les membres supplémentaires spécifiques à l’interface pour qu’ils pointent vers les routines appropriées de l’interface exposée.

DxgkDdiQueryInterface s’exécute à IRQL = PASSIVE_LEVEL et doit être rendu paginable.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista
Plateforme cible Desktop (Expérience utilisateur)
En-tête dispmprt.h
IRQL PASSIVE_LEVEL

Voir aussi

DxgkDdiAddDevice

DxgkDdiQueryChildRelations

QUERY_INTERFACE