Compartir a través de


Función CreateDCW (wingdi.h)

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

Sintaxis

HDC CreateDCW(
       LPCWSTR        pwszDriver,
  [in] LPCWSTR        pwszDevice,
       LPCWSTR        pszPort,
  [in] const DEVMODEW *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, 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 las pantallas, llame a EnumDisplayDevices.

Si lpszDriver es DISPLAY o el nombre del dispositivo de un dispositivo para mostrar 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 a 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 de 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 para mostrar.

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 se produce un error en la función, el valor devuelto es NULL.

Observaciones

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 de HDC de que se crea. Cuando se destruye este subproceso, el de HDC de 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.

Al llamar a CreateDC para crear el HDC de para un dispositivo de visualización, debe pasar a pdm NULL o un puntero a DEVMODE que coincida con el actual DEVMODE del dispositivo de pantalla que lpszDevice especifica. Se recomienda pasar NULL y no intentar coincidir exactamente con el deVMODE para el dispositivo de visualización actual.

Al llamar a CreateDC para crear el hdC de para un dispositivo de impresora, el controlador de impresora valida el DEVMODE. Si el controlador de impresora determina que el DEVMODE de no es válido (es decir, el controlador de impresora no puede convertir ni 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 del DEVMODE (al 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 Conventions for Function Prototypes.

Requisitos

Requisito Valor
cliente mínimo admitido Windows 2000 Professional [solo aplicaciones de escritorio]
servidor mínimo admitido Windows 2000 Server [solo aplicaciones de escritorio]
de la plataforma de destino de Windows
encabezado de wingdi.h (incluya Windows.h)
biblioteca de Gdi32.lib
DLL de Gdi32.dll

Consulte también

DEVMODE

DOCINFO

deleteDC

funciones de contexto de dispositivo

Información general sobre contextos de dispositivo de

DocumentProperties

EnumDisplayDevices

varios monitores de visualización

startDoc