Partager via


DXGKDDI_START_DEVICE fonction de rappel (dispmprt.h)

La fonction DxgkDdiStartDevice prépare un adaptateur d’affichage pour recevoir des demandes d’E/S.

Syntaxe

DXGKDDI_START_DEVICE DxgkddiStartDevice;

NTSTATUS DxgkddiStartDevice(
  [in]  IN_CONST_PVOID MiniportDeviceContext,
  [in]  IN_PDXGK_START_INFO DxgkStartInfo,
  [in]  IN_PDXGKRNL_INTERFACE DxgkInterface,
  [out] OUT_PULONG NumberOfVideoPresentSources,
  [out] OUT_PULONG NumberOfChildren
)
{...}

Paramètres

[in] MiniportDeviceContext

Handle vers un bloc de contexte associé à un adaptateur d’affichage. La fonction d’affichage du pilote miniport DxgkDdiAddDevice précédemment fourni ce handle au sous-système du noyau graphique DirectX.

[in] DxgkStartInfo

Pointeur vers une structure DXGK_START_INFO qui contient des informations dont le pilote miniport d’affichage a besoin pour l’initialisation.

[in] DxgkInterface

Pointeur vers une structure DXGKRNL_INTERFACE qui contient des pointeurs vers des fonctions, implémenté par le sous-système du noyau graphique DirectX, que le pilote miniport d’affichage peut appeler.

[out] NumberOfVideoPresentSources

Pointeur vers une variable ULONG qui reçoit le nombre de sources présentes vidéo prises en charge par l’adaptateur d’affichage. Pour plus d’informations sur les sources de présentation vidéo, consultez Plusieurs moniteurs et video present Networks.

[out] NumberOfChildren

Pointeur vers une variable ULONG qui reçoit le nombre total d’appareils enfants de l’adaptateur d’affichage représenté par MiniportDeviceContext. Ce nombre doit inclure des appareils enfants potentiels ainsi que des appareils enfants actuellement présents. Par exemple, si l’ancrage d’un ordinateur portable rend des sorties vidéo supplémentaires disponibles, ces sorties vidéo doivent être comptabilisées, que l’ordinateur portable soit actuellement ancré. Pour plus d’informations sur les appareils enfants, consultez appareils enfants de l’adaptateur d’affichage.

Valeur de retour

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

Remarques

La fonction DxgkDdiStartDevice doit effectuer les actions suivantes :

  • Enregistrez les pointeurs de fonction fournis par la structure DXGKRNL_INTERFACE passée au paramètre DxgkInterface. Enregistrez également le membre deviceHandle de la structure DXGKRNL_INTERFACE ; vous aurez besoin de ce handle pour rappeler le sous-système du noyau graphique DirectX.
  • Allouez une structure DXGK_DEVICE_INFO et appelez DxgkCbGetDeviceInformation pour renseigner les membres de cette structure, qui incluent le chemin d’accès au Registre, la PDO et une liste de ressources traduites pour l’adaptateur d’affichage représenté par MiniportDeviceContext. Enregistrez les membres sélectionnés (ceux dont le pilote miniport d’affichage aura besoin ultérieurement) de la structure DXGK_DEVICE_INFO dans le bloc de contexte représenté par MiniportDeviceContext.
  • Mappez les ressources mémoire dans l’espace système en appelant la fonction DxgkCbMapMemory.
  • Initialisez le bloc de contexte représenté par MiniportDeviceContext avec n’importe quel état requis pour préparer le matériel pour recevoir des demandes d’E/S.
  • Définissez NumberOfVideoPresentSources sur le nombre de sources de présentation vidéo prises en charge par l’adaptateur d’affichage représenté par MiniportDeviceContext.
  • Définissez NumberOfChildren sur le nombre d’appareils qui sont (ou peuvent devenir) enfants de l’adaptateur d’affichage représenté par MiniportDeviceContext.
  • Activez les interruptions pour l’adaptateur d’affichage représenté par MiniportDeviceContext.
À compter du modèle de pilote d’affichage Windows (WDDM) 1.2, le pilote display miniport appelle la fonction DxgkCbAcquirePostDisplayOwnership pour obtenir les informations sur le mode d’affichage précédemment défini par le microprogramme et le chargeur système. Si DxgkCbAcquirePostDisplayOwnership retourne avec STATUS_SUCCESS, le pilote détermine s’il doit réinitialiser l’affichage en fonction des informations du mode d’affichage retournées via le paramètre DisplayInfo. Sinon, le pilote ne doit pas supposer qu’un mode d’affichage spécifique est actuellement activé sur l’appareil et qu’il doit initialiser l’affichage.

La fonction DxgkDdiStartDevice doit être rendue paginable.

Exigences

Exigence Valeur
client minimum pris en charge Disponible à partir de Windows Vista.
plateforme cible Bureau
d’en-tête dispmprt.h
IRQL PASSIVE_LEVEL

Voir aussi

DXGKRNL_INTERFACE

DXGK_DEVICE_INFO

DxgkCbAcquirePostDisplayOwnership

DxgkCbGetDeviceInformation

DxgkCbMapMemory

DxgkDdiAddDevice

DxgkDdiStopDevice