Compartir a través de


Función CreateDCA (wingdi.h)

La función CreateDC crea un contexto de dispositivo (DC) para un dispositivo con el nombre especificado.

Sintaxis

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

Parámetros

pwszDriver

Puntero a una cadena de caracteres terminada en NULL que especifica DISPLAY o el nombre de un dispositivo para mostrar específico. Para imprimir, se recomienda pasar NULL a lpszDriver porque GDI omite lpszDriver para dispositivos de impresora.

[in] pwszDevice

Puntero a una cadena de caracteres terminada en null que especifica el nombre del dispositivo de salida específico que se usa, tal como se muestra en el Administrador de impresión (por ejemplo, Epson FX-80). No es el nombre del modelo de impresora. Se debe usar el parámetro lpszDevice .

Para obtener nombres válidos para pantallas, llame a EnumDisplayDevices.

Si lpszDriver es DISPLAY o el nombre del dispositivo de un dispositivo de visualización específico, lpszDevice debe ser NULL o ese mismo nombre de dispositivo. Si lpszDevice es NULL, se crea un controlador de dominio para el dispositivo de visualización principal.

Si hay varios monitores en el sistema, al llamar CreateDC(TEXT("DISPLAY"),NULL,NULL,NULL) se creará un controlador de dominio que cubra todos los monitores.

pszPort

Este parámetro se omite y debe establecerse en NULL. Solo se proporciona por compatibilidad con Windows de 16 bits.

[in] pdm

Puntero a una estructura DEVMODE que contiene datos de inicialización específicos del dispositivo para el controlador de dispositivo. La función DocumentProperties recupera esta estructura rellenada para un dispositivo especificado. El parámetro pdm debe ser NULL si el controlador de dispositivo debe usar la inicialización predeterminada (si existe) especificada por el usuario.

Si lpszDriver es DISPLAY, pdm debe ser NULL; A continuación, GDI usa el DEVMODE actual del dispositivo de visualización.

Valor devuelto

Si la función se ejecuta correctamente, el valor devuelto es el identificador de un controlador de dominio para el dispositivo especificado.

Si la función no se realiza correctamente, el valor devuelto es NULL.

Comentarios

Tenga en cuenta que un único subproceso solo puede usar el identificador del controlador de dominio en cualquier momento.

Para los parámetros lpszDriver y lpszDevice, llame a EnumDisplayDevices para obtener nombres válidos para las pantallas.

Cuando ya no necesite el controlador de dominio, llame a la función DeleteDC .

Si lpszDriver o lpszDevice es DISPLAY, el subproceso que llama a CreateDC posee el HDC que se crea. Cuando se destruye este subproceso, HDC ya no es válido. Por lo tanto, si crea el HDC y lo pasa a otro subproceso, salga del primer subproceso, el segundo subproceso no podrá usar el HDC.

Cuando llamas a CreateDC para crear el HDC para un dispositivo de pantalla, debes pasar a pdmnull o a un puntero a DEVMODE que coincida con el DEVMODE actual del dispositivo de pantalla que lpszDevice especifica. Se recomienda pasar NULL y no intentar coincidir exactamente con el DEVMODE del dispositivo de pantalla actual.

Al llamar a CreateDC para crear el HDC para un dispositivo de impresora, el controlador de impresora valida el DEVMODE. Si el controlador de impresora determina que EL DEVMODE no es válido (es decir, el controlador de impresora no puede convertir o consumir el DEVMODE), el controlador de impresora proporciona un DEVMODE predeterminado para crear el HDC para el dispositivo de impresora.

ICM: Para habilitar ICM, establezca el miembro dmICMMethod de la estructura DEVMODE (a la que apunta el parámetro pInitData ) en el valor adecuado.

Ejemplos

Para obtener un ejemplo, vea Capturar una imagen.

Nota

El encabezado wingdi.h define CreateDC como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado wingdi.h (incluye Windows.h)
Library Gdi32.lib
Archivo DLL Gdi32.dll

Consulte también

DEVMODE

DOCINFO

DeleteDC

Funciones de contexto de dispositivo

Información general sobre contextos de dispositivo

Documentproperties

EnumDisplayDevices

Varios monitores de visualización

StartDoc