Partager via


DXGKDDI_OPENALLOCATIONINFO fonction de rappel (d3dkmddi.h)

La fonction DxgkDdiOpenAllocation lie les allocations non spécifiques à l’appareil que la fonction DxgkDdiCreateAllocation a créées à des allocations spécifiques à l’appareil de contexte graphique spécifié.

Syntaxe

DXGKDDI_OPENALLOCATIONINFO DxgkddiOpenallocationinfo;

NTSTATUS DxgkddiOpenallocationinfo(
  [in] IN_CONST_HANDLE hDevice,
  [in] IN_CONST_PDXGKARG_OPENALLOCATION pOpenAllocation
)
{...}

Paramètres

[in] hDevice

Handle vers le périphérique de contexte graphique à partir duquel les allocations sont liées. La fonction DxgkDdiCreateDevice du pilote miniport d’affichage fournissait précédemment ce handle au sous-système du noyau graphique Microsoft DirectX dans le membre hDevice de la structure DXGKARG_CREATEDEVICE .

[in] pOpenAllocation

Pointeur vers une structure DXGKARG_OPENALLOCATION qui contient des informations sur les allocations de liaison.

Valeur retournée

DxgkDdiOpenAllocation retourne l’une des valeurs suivantes :

Code de retour Description
STATUS_SUCCESS DxgkDdiOpenAllocation a correctement lié les allocations au périphérique de contexte graphique spécifié par le paramètre hDevice.
STATUS_INVALID_PARAMETER Les paramètres passés à DxgkDdiOpenAllocation contenaient des erreurs qui l’empêchaient de se terminer.
STATUS_NO_MEMORY DxgkDdiOpenAllocation n’a pas pu allouer la mémoire nécessaire pour qu’elle se termine.
STATUS_GRAPHICS_DRIVER_MISMATCH Le pilote de miniport d’affichage n’est pas compatible avec le pilote d’affichage en mode utilisateur qui a lancé l’appel à DxgkDdiOpenAllocation (autrement dit, fourni des données privées au pilote de miniport d’affichage).

Remarques

Le sous-système du noyau graphique DirectX appelle la fonction DxgkDdiOpenAllocation du pilote miniport d’affichage pour lier les allocations non spécifiques à l’appareil que la fonction DxgkDdiCreateAllocation a créées à des allocations spécifiques au périphérique de contexte graphique spécifié par le paramètre hDevice . Le pilote de miniport d’affichage lie les allocations à un appareil afin que le pilote puisse effectuer le suivi des données d’allocation spécifiques à un appareil.

Le pilote de miniport d’affichage peut lier une allocation à n’importe quel appareil créé par n’importe quel processus (sur la même carte graphique) et pas seulement à un appareil du processus de création.

Lorsque DxgkDdiOpenAllocation retourne STATUS_SUCCESS, le pilote définit le membre hDeviceSpecificAllocation de la structure DXGK_OPENALLOCATIONINFO pour chaque allocation sur une valeur non NULL. La structure DXGK_OPENALLOCATIONINFO pour chaque allocation est un élément du tableau spécifié par le membre pOpenAllocation de la structure DXGKARG_OPENALLOCATION .

Le pilote peut modifier les données du pilote privé d’allocation qui sont passées dans le membre pPrivateDriverData de la structure DXGK_OPENALLOCATIONINFO uniquement lorsque l’allocation est créée (ce qui est indiqué lorsque l’indicateur Créer un champ binaire dans le membre Indicateurs de la structure DXGKARG_OPENALLOCATION est défini). Le pilote doit déterminer qu’il peut uniquement lire les données du pilote privé d’allocation lorsque l’allocation est ouverte (autrement dit, lorsque l’indicateur Créer un champ binaire n’est pas défini).

DxgkDdiOpenAllocation 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 d3dkmddi.h
IRQL PASSIVE_LEVEL

Voir aussi

DXGKARG_CREATEDEVICE

DXGKARG_OPENALLOCATION

DXGK_OPENALLOCATIONINFO

DxgkDdiCreateAllocation

DxgkDdiCreateDevice