Partager via


CreateDCA, fonction (wingdi.h)

La fonction createDC crée un contexte d’appareil (DC) pour un appareil à l’aide du nom spécifié.

Syntaxe

HDC CreateDCA(
       LPCSTR         pwszDriver,
  [in] LPCSTR         pwszDevice,
       LPCSTR         pszPort,
  [in] const DEVMODEA *pdm
);

Paramètres

pwszDriver

Pointeur vers une chaîne de caractères terminée par null qui spécifie DISPLAY ou le nom d’un appareil d’affichage spécifique. Pour l’impression, nous vous recommandons de passer NULL à lpszDriver, car GDI ignore lpszDriver pour les appareils d’imprimante.

[in] pwszDevice

Pointeur vers une chaîne de caractères terminée par null qui spécifie le nom de l’appareil de sortie spécifique utilisé, comme indiqué par le Gestionnaire d’impression (par exemple, Fx FX-80). Il ne s’agit pas du nom du modèle d’imprimante. Le paramètre lpszDevice doit être utilisé.

Pour obtenir des noms valides pour les affichages, appelez EnumDisplayDevices.

Si lpszDriver est DISPLAY ou si le nom de l’appareil d’un appareil d’affichage spécifique, lpszDevice doit être NULL ou ce même nom d’appareil. Si lpszDevice est NULL, un contrôleur de domaine est créé pour l’appareil d’affichage principal.

S’il existe plusieurs moniteurs sur le système, l’appel CreateDC(TEXT("DISPLAY"),NULL,NULL,NULL) crée un contrôleur de domaine couvrant tous les moniteurs.

pszPort

Ce paramètre est ignoré et doit être défini sur NULL. Elle est fournie uniquement pour la compatibilité avec Windows 16 bits.

[in] pdm

Pointeur vers une structure DEVMODE contenant des données d’initialisation spécifiques à l’appareil pour le pilote de périphérique. La fonction DocumentProperties récupère cette structure remplie pour un appareil spécifié. Le paramètre pdm doit être NULL si le pilote de périphérique doit utiliser l’initialisation par défaut (le cas échéant) spécifiée par l’utilisateur.

Si lpszDriver est DISPLAY, pdm doit être NULL ; GDI utilise ensuite le DEVMODE actuel de l’appareil d’affichage.

Valeur de retour

Si la fonction réussit, la valeur de retour est le handle d’un contrôleur de domaine pour l’appareil spécifié.

Si la fonction échoue, la valeur de retour est NULL .

Remarques

Notez que le handle vers le contrôleur de domaine ne peut être utilisé qu’à tout moment par un seul thread.

Pour les paramètres lpszDriver et lpszDevice, appelez EnumDisplayDevices pour obtenir des noms valides pour les affichages.

Quand vous n’avez plus besoin du contrôleur de domaine, appelez la fonction DeleteDC.

Si lpszDriver ou lpszDevice est DISPLAY, le thread qui appelle CreateDC possède le HDC créé. Lorsque ce thread est détruit, le HDC n’est plus valide. Par conséquent, si vous créez le HDC et que vous le transmettez à un autre thread, quittez le premier thread, le deuxième thread ne pourra pas utiliser le HDC.

Lorsque vous appelez CreateDC pour créer le HDC pour un appareil d’affichage, vous devez passer à pdm NULL ou un pointeur vers DEVMODE qui correspond au DEVMODE actuel de l’appareil d’affichage spécifié lpszDevice. Nous vous recommandons de passer NULL et de ne pas essayer de faire correspondre exactement le DEVMODE pour l’appareil d’affichage actuel.

Lorsque vous appelez CreateDC pour créer le HDC pour un périphérique d’imprimante, le pilote d’imprimante valide le DEVMODE. Si le pilote d’imprimante détermine que l'DEVMODE n’est pas valide (autrement dit, le pilote d’imprimante ne peut pas convertir ou consommer le DEVMODE), le pilote d’imprimante fournit une DEVMODE par défaut pour créer le HDC pour l’appareil d’imprimante.

ICM : Pour activer ICM, définissez le membre dmICMMethod de la structure DEVMODE (pointée par le paramètre pInitData ) sur la valeur appropriée.

Exemples

Pour obtenir un exemple, consultez Capture d’une image.

Note

L’en-tête wingdi.h définit CreateDC en tant qu’alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Exigences

Exigence Valeur
client minimum pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
serveur minimum pris en charge Windows 2000 Server [applications de bureau uniquement]
plateforme cible Windows
d’en-tête wingdi.h (include Windows.h)
bibliothèque Gdi32.lib
DLL Gdi32.dll

Voir aussi

DEVMODE

DOCINFO

DeleteDC

fonctions de contexte d’appareil

Vue d’ensemble des contextes d’appareil

DocumentProperties

EnumDisplayDevices

plusieurs moniteurs d’affichage

StartDoc