wingdi.h

DEVMODE

Definición

typedef struct _devicemode {    // dvmd  
    BCHAR  dmDeviceName[CCHDEVICENAME]; 
    WORD   dmSpecVersion; 
    WORD   dmDriverVersion; 
    WORD   dmSize; 
    WORD   dmDriverExtra; 
    DWORD  dmFields; 
    short  dmOrientation; 
    short  dmPaperSize; 
    short  dmPaperLength; 
    short  dmPaperWidth; 
    short  dmScale; 
    short  dmCopies; 
    short  dmDefaultSource; 
    short  dmPrintQuality; 
    short  dmColor; 
    short  dmDuplex; 
    short  dmYResolution; 
    short  dmTTOption; 
    short  dmCollate; 
    BCHAR  dmFormName[CCHFORMNAME]; 
    WORD  dmLogPixels; 
    DWORD  dmBitsPerPel; 
    DWORD  dmPelsWidth; 
    DWORD  dmPelsHeight; 
    DWORD  dmDisplayFlags; 
    DWORD  dmDisplayFrequency; 
#if(WINVER >= 0x0400) 
    DWORD  dmICMMethod;         // Windows 95 only 
    DWORD  dmICMIntent;         // Windows 95 only 
    DWORD  dmMediaType;         // Windows 95 only 
    DWORD  dmDitherType;        // Windows 95 only 
    DWORD  dmReserved1;         // Windows 95 only 
    DWORD  dmReserved2;         // Windows 95 only 
#endif /* WINVER >= 0x0400 */ 
} DEVMODE; 

La estructura de datos DEVMODE contiene información sobre la inicialización de dispositivo y entorno de una impresora.

Descripción

dmDeviceName: Especifica un nombre "amigable" para la impresora; por ejemplo, "PCL/HP LaserJet" el el caso de "PCL/HP LaserJet®". Esta cadena es única entre todos los controladores de dispositivo. Hay que tener en cuenta que este nombre puede ser truncado al tamaño del array dmDeviceName.

dmSpecVersion: Especifica el número de versión de la especificación de los datos de inicialización en la que la estructura está basada.

dmDriverVersion: Especifica el número de versión de controlador de impresora asignado por el desarrollador del controlador de impresora.

dmSize: Especifica el tamaño, en bytes, de la estructura DEVMODE, sin incluir cualquier dato privado específico del controlador que pueda seguir a los miembros públicos de la estructura. Se puede usar este miembro pora determinar el número de bytes de los datos públicos, independientemente de la versión de DEVMODE que se esté usando.

dmDriverExtra: Contiene el número de bytes de la parte de datos privados del controlador que siguen a esta estructura. Si el controlador de dispositivo no una información específica, poner este miembro a cero.

dmFields: Un conjunto de bits de bandera que especifican si ciertos miembros de la estructura DEVMODE han sido inicializados. Si un campo es inicializado, su bandera de bit correspondiente se activará, en caso contraio no. Un controlador de impresora soporta sólo aquellos miembros de la estructura DEVMODE que son apropiados para la tecnologia de la impresora.

Están definidos las siguentes banderas, y está listadas con sus miembros de estructura correspondientes:

ValorMiembro de estructura
DM_ORIENTATIONdmOrientation
DM_PAPERSIZEdmPaperSize
DM_PAPERLENGTHdmPaperLength
DM_PAPERWIDTHdmPaperWidth
DM_SCALEdmScale
DM_COPIESdmCopies
DM_DEFAULTSOURCEdmDefaultSource
DM_PRINTQUALITYdmPrintQuality
DM_COLORdmColor
DM_DUPLEXdmDuplex
DM_YRESOLUTIONdmYResolution
DM_TTOPTIONdmTTOption
DM_COLLATEdmCollate
DM_FORMNAMEdmFormName
DM_LOGPIXELSdmLogPixels
DM_BITSPERPELdmBitsPerPel
DM_PELSWIDTHdmPelsWidth
DM_PELSHEIGHTdmPelsHeight
DM_DISPLAYFLAGSdmDisplayFlags
DM_DISPLAYFREQUENCYdmDisplayFrequency
DM_ICMMETHODWindows 95 sólo: dmICMMethod
DM_ICMINTENTWindows 95 sólo: dmICMIntent
DM_MEDIATYPEWindows 95 sólo: dmMediaType
DM_DITHERTYPEWindows 95 sólo: dmDitherType

dmOrientation: Selecciona la orientación del papel. Este miembro puede tomar uno de los siguientes valores: DMORIENT_PORTRAIT (1) o DMORIENT_LANDSCAPE (2).

dmPaperSize: Selecciona el tamaño del papel sobre el que imprimir. Este miembro puede ser cero si la longitud y anchura del papel están especificados en los miembros dmPaperLength y dmPaperWidth. En caso contrario, el miembro dmPaperSize puede tener uno de los siguientes valores predefinidos:

ValorSignificado
DMPAPER_LETTERCarta, 8 1/2- por 11-pulgadas
DMPAPER_LEGALLegal, 8 1/2- por 14-pulgadas
DMPAPER_A4Hoja A4, 210- por 297-milímetros
DMPAPER_CSHEETHoja C, 17- por 22-pulgadas
DMPAPER_DSHEETHoja D, 22- por 34-pulgadas
DMPAPER_ESHEETHoja E, 34- por 44-pulgadas
DMPAPER_LETTERSMALLCarta Pequeña, 8 1/2- por 11-pulgadas
DMPAPER_TABLOIDTabloide, 11- por 17-pulgadas
DMPAPER_LEDGERLibro mayor, 17- por 11-pulgadas
DMPAPER_STATEMENTDeclaración, 5 1/2- por 8 1/2-pulgadas
DMPAPER_EXECUTIVEExecutivo, 7 1/4- por 10 1/2-pulgadas
DMPAPER_A3Hoja A3, 297- por 420-milímetros
DMPAPER_A4SMALLHoja Pequeña A4, 210- por 297-milímetros
DMPAPER_A5Hoja A5, 148- por 210-milímetros
DMPAPER_B4Hoja B5, 250- por 354-milímetros
DMPAPER_B5Hoja B5, 182- por 257-millimeter
DMPAPER_FOLIOFolio, 8 1/2- por 13-pulgadas
DMPAPER_QUARTOCuartilla, 215- por 275-millimeter
DMPAPER_10X1410- por 14-pulgadas
DMPAPER_11X1711- por 17-pulgadas
DMPAPER_NOTENota, 8 1/2- por 11-pulgadas
DMPAPER_ENV_9#9 Sobre, 3 7/8- por 8 7/8-pulgadas
DMPAPER_ENV_10#10 Sobre, 4 1/8- por 9 1/2-pulgadas
DMPAPER_ENV_11#11 Sobre, 4 1/2- por 10 3/8-pulgadas
DMPAPER_ENV_12#12 Sobre, 4 3/4- por 11-pulgadas
DMPAPER_ENV_14#14 Sobre, 5- por 11 1/2-pulgadas
DMPAPER_ENV_DLDL Sobre, 110- por 220-milímetros
DMPAPER_ENV_C5C5 Sobre, 162- por 229-milímetros
DMPAPER_ENV_C3C3 Sobre, 324- por 458-milímetros
DMPAPER_ENV_C4C4 Sobre, 229- por 324-milímetros
DMPAPER_ENV_C6C6 Sobre, 114- por 162-milímetros
DMPAPER_ENV_C65C65 Sobre, 114- por 229-milímetros
DMPAPER_ENV_B4B4 Sobre, 250- por 353-milímetros
DMPAPER_ENV_B5B5 Sobre, 176- por 250-milímetros
DMPAPER_ENV_B6B6 Sobre, 176- por 125-milímetros
DMPAPER_ENV_ITALYSobre Italiano, 110- por 230-milímetros
DMPAPER_ENV_MONARCHSobre Monarca, 3 7/8- por 7 1/2-pulgadas
DMPAPER_ENV_PERSONAL6 3/4 Sobre, 3 5/8- por 6 1/2-pulgadas
DMPAPER_FANFOLD_USDoblado US Std, 14 7/8- por 11-pulgadas
DMPAPER_FANFOLD_STD_GERMANDoblado Std Aleman, 8 1/2- por 12-pulgadas
DMPAPER_FANFOLD_LGL_GERMANDoblado Legal Alemán, 8 1/2- por 13-pulgadas

dmPaperLength: Invalida la longitud de papel especificada por el miembro dmPaperSize, ya sea para tamaños personalizados de papel o para dispositivos como impresoras matriciales, que pueden imprimir en una página de longitud arbitraria. Estos valores, junto con todos los otros valores en esta estructura que especifican longitudes físicas, estan expresados en décimas de milímetro.

dmPaperWidth: Invalida la anchura de papel especificada por el miembro dmPaperSize.

dmScale: Especifica el factor en el que debe ser escapada la salida. El tamaño aparente de la página se escala desde el tamaño de la página física en un factor de dmScale/100. Por ejemplo, una página de tamaño carta con un valor dmScale de 50 contendrá los mismos datos que una página de 17 por 22 pulgadas, ya que el texto y gráficos de salida serían la mitad que la anchura y altura originales.

dmCopies: Selecciona el número de copias impresas si el dispositivo soporta copias múltiples de página.

dmDefaultSource: Reservado, debe ser cero.

dmPrintQuality: Especifica la resolución de la impresora. Existen cuatro valores predefinidos independientes del dispositivo:

DMRES_HIGH
DMRES_MEDIUM
DMRES_LOW
DMRES_DRAFT

Si se proporciona un valor positivo, especifica el número de puntos por pulgada (DPI) y será por lo tanto dependiente del dispositivo.

dmColor: Cambia entre impresoras de color y monocromo. Los valores posibles son los siguientes:

DMCOLOR_COLOR
DMCOLOR_MONOCHROME

dmDuplex: Selecciona impresión duplex o doble cara para impresoras con capacidad de impresión duplex. Los valores posibles son:

DMDUP_SIMPLEX
DMDUP_HORIZONTAL
DMDUP_VERTICAL

dmYResolution: Especifica la resolución vertical, en puntos por pulgada, de la impresora. Si la impresora inicializa este miembro, el miembro dmPrintQuality especifica la resolución horizontal, en puntos por pulgada, de la impresora.

dmTTOption: Especifica como se deben imprimir las fuentes TrueType®. Este miembro puede ser uno de los valores siguientes:

ValorSignificado
DMTT_BITMAPImprime las fuentes TrueType como gráficos. Esta es la acción por defecto para impresoras matriciales.
DMTT_DOWNLOADDescarga las fuentes TrueType fonts como fuentes soft. Esta es la acción por defecto para impresoras Hewlett-Packard que usen Printer Control Language (PCL).
DMTT_SUBDEVSustituye las fuentes TrueType por fuentes del dispositivo. Esta es la acción por defecto para impresoras PostScript®.

dmUnusedPadding: Usado para alinear la estructura con DWORD. No debe ser usado ni referenciad. Su nombre y uso están reservados, y pueden cambiar en futuras versiones.

dmCollate: Especifica si se debe usar intercalado cuando se imprimen múltiples copias. (Este miembro se ignora salvo que el controlador de la impresora indique que soporta intercalado activando la bandera DM_COLLATE en el miembro dmFields.) Este miembro puede tener uno de los valores siguientes:

ValorSignificado
DMCOLLATE_TRUEIntercala cuando se imprimen múltiples copias.
DMCOLLATE_FALSENo intercala cuando se imprimen múltiples copias.

Usar DMCOLLATE_TRUE proporciona una salida más rápida y eficiente para intercalado, ya que los datos se envían al controlador de dispositivo sólo una vez, independientemente del número de copias. A la impresora se le pide sólo que imprima la página de nuevo.

dmFormName:

Windows NT: Especifica el nombre del formato a usar; por ejemplo, "Letter" o "Legal". Se puede obtener un conjunto completo de nombres usando la función EnumForms.

Windows 95: Los controladores de impresora no soportan este miembro.

dmLogPixels: Especifica el número de pixels por pulgada lógica. Los controladores de impresora no usan este miembro.

dmBitsPerPel: Especifica la resolución de color, en bits por pixel, del dispositivo de visualización (por ejemplo: 4 bits para 16 colores, 8 bits para 256 colores, o 16 bits para 65536 colores). Los controladores de visualización usan este miembro, por ejemploe, en la función ChangeDisplaySettings. Los controladores de impresora no usan este miembro.

dmPelsWidth: Especifica la anchura, en pixels, de la superficie visible del dispositivo. Los controladores de visualización usan este miembro, por ejemplo, en la función ChangeDisplaySettings. Los controladores de impresora no usan este miembro.

dmPelsHeight: Especifica la altura, en pixels, de la superficie visible del dispositivo. Los controladores de visualización usan este miembro, por ejemplo, en la función ChangeDisplaySettings. Los controladores de impresora no usan este miembro.

dmDisplayFlags: Especifica el modo de visualización del dispositivo. Este miembro puede tomar uno de los siguientes valores:

ValorSignificado
DM_GRAYSCALEEspecifica que el dispositivo de visualización no es en color. Si esta bandera no está activa, se asume que es en color.
DM_INTERLACEDEspecifica que el modo del dispositivo visualización es entrelazado. Si esta bandera no está activa, se asume que es no entrelazado.

Los controladores de dispositivos de visualización usan este miembro, por ejemplo, en la función ChangeDisplaySettings. Los controladores de impresora no usan este miembro.

dmDisplayFrequency: Especifica la frecuencia, en hercios (ciclos por segundo), del dispositivo de visualización en un modo en particular. Este valor también se conoce como la frecuencia de refresco vertical del dispositivo. Los contoladores de dispositivos de visualización usan este miembro. Se usa, por ejemplo, en la función ChangeDisplaySettings. Los controladores de impresora no lo usan.

Cuando se llama a la función EnumDisplaySettings, el miembro dmDisplayFrequency puede retornar con el valor 0 o 1. Estos valores representan la frecuencia de refresco por defecto del hardware de visualización. Esta frecuencia por defecto se selecciona generalmente mediante interruptores en la tarjeta o en la placa madre del ordenador, o mediante un programa de configuración que no usa funciones de visualización de Win32, como ChangeDisplaySettings.

dmICMMethod:

Windows 95: Especifica como se manipula el ICM. Para aplicaciones no-ICM, este miembro determina si ICM está activo o inactivo. Para aplicaciones ICM, Windows examina este miembro para determinar como manipular el soporte ICM. Este miembro puede ser uno de los siguientes valores predefinidos, o un valor definido por el controlador mayo que DMICMMETHOD_USER:

ValorSignificado
DMICMMETHOD_NONEWindows 95 sólo: Especifica que ICM está desactivado.
DMICMMETHOD_SYSTEMWindows 95 sólo: Especifica que ICM será manipulado por Windows.
DMICMMETHOD_DRIVERWindows 95 sólo: Especifica que ICM será manipulado por el controlador del dispositivo.
DMICMMETHOD_DEVICEWindows 95 sólo: Especifica que ICM será manipulado por el dispositivo de destino.

El controlador de impresora debe proporcionar un interfaz de usuario para asignar este miembro. Muchos controladores de impresión sólo soportan los valores DMICMMETHOD_SYSTEM o DMICMMETHOD_NONE. Controladores para impresoras PostScript soportan todos los valores.

Windows NT: Este miembro no está soportado en Windows NT.

Nota: ICM es una implementación de Windows de ICC, que establece un sistema de corrección de color.

dmICMIntent:

Windows 95: Especifica cual de los tres posibles métodos de coincidencia de color se debe usar por defecto. Este miembro es principalmente para aplicaciones no-ICM applications. Las aplicaciones ICM pueden establecer métodos usando las funciones ICM. Este miembro puede tener uno de los siguientes valores predefinidos, o un valor definido por el controlador mayor que el valor de DMICM_USER:

ValorSignificado
DMICM_SATURATEWindows 95 sólo: La coincidencia de color se debe optimizar para la saturación de color. Este valor es la opción más apropiada para gráficos de negocios cuando no se desean difuminados.
DMICM_CONTRASTWindows 95 sólo: La coincidencia de color se debe optimizar para el contraste de color. Este valor es la opción más apropiada para imágenes escaneadas o para fotografías cuando se desean los difuminados.
DMICM_COLORMETRICWindows 95 sólo: La coincidencia de color se debe optimizar para una coincidencia exacta de color. Este valor es el más apropiado para usar con logotipos de negocios o con otras imágenes cuando se desea una coincidencia de color exacta.

Windows NT: Este miembro no está soportado en Windows NT.

dmMediaType:

Windows 95: Especifica el tipo de material en el que se va a imprimir. Este miembro puede tener uno de los siguientes valores predefinidos, o un valor definido por el controlador mayor que el valor de DMMEDIA_USER:

ValorSignificado
DMMEDIA_STANDARDWindows 95 sólo: Papel normal.
DMMEDIA_GLOSSYWindows 95 sólo: Papel brillante.
DMMEDIA_TRANSPARENCYWindows 95 sólo: Película transparente.

Windows NT: Este miembro no está soportado en Windows NT.

dmDitherType:

Windows 95: Especifica que tipo de tramado hay que hacer. Este miembro puede tener uno de los siguientes valores predefinidos, o un valor definido por el controlador mayor que el valor de DMDITHER_USER:

ValorSignificado
DMDITHER_NONEWindows 95 sólo: Sin tramado.
DMDITHER_COARSEWindows 95 sólo: Tramado con pincel grueso.
DMDITHER_FINEWindows 95 sólo: Tramado con pincel fino.
DMDITHER_LINEARTWindows 95 sólo: Dibujo lineal difuminado, un método especial que produce difuminados con las fronteras bien definidas entre zonas negras, blancas y grises. No es adecuado para imágenes que incluyen graduaciones continuas en intensidad y tono, como fotografías digitalizadas.
DMDITHER_GRAYSCALEWindows 95 sólo: El dispositivo dispone de escala de grises.

Windows NT: Este miembro no está soportado en Windows NT.

dmReserved1:

Windows 95: No usado, debe ser cero.

Windows NT: Este miembro no está soportado en Windows NT.

dmReserved2:

Windows 95: No usado, debe ser cero.

Windows NT: Este miembro no está soportado en Windows NT.

Observaciones

A continuación de la parte pública de la estructura DEVMODE hay datos privados del controlador de dispositivo. El tamaño de los datos públicos puede variar para diferentes versiones de la estructura. El miembro dmSize especifica el número de bytes de los datos públicos, y el miembro dmDriverExtra especifica el número de bytes de los datos privados.