Función DeviceCapabilitiesA (wingdi.h)
La función DeviceCapabilities recupera las funcionalidades de un controlador de impresora.
Sintaxis
int DeviceCapabilitiesA(
[in] LPCSTR pDevice,
[in] LPCSTR pPort,
[in] WORD fwCapability,
[out] LPSTR pOutput,
[in] const DEVMODEA *pDevMode
);
Parámetros
[in] pDevice
Puntero a una cadena terminada en null que contiene el nombre de la impresora. Tenga en cuenta que este es el nombre de la impresora, no del controlador de impresora.
[in] pPort
Puntero a una cadena terminada en null que contiene el nombre del puerto al que está conectado el dispositivo, como LPT1.
[in] fwCapability
Funcionalidades que se van a consultar. Este parámetro puede ser uno de los siguientes valores.
Valor | Significado |
---|---|
|
Recupera los nombres de las papeleras de la impresora. El búfer de pOutput recibe una matriz de búferes de cadena. Cada búfer de cadenas tiene 24 caracteres y contiene el nombre de una papelera. El valor devuelto indica el número de entradas de la matriz. Las cadenas de nombre finalizan en null a menos que el nombre tenga 24 caracteres de longitud. Si pOutput es null, el valor devuelto es el número de entradas bin necesarias. |
|
Recupera una lista de papeleras disponibles. El búfer |
|
Si la impresora admite la intercalación, el valor devuelto es 1; de lo contrario, el valor devuelto es cero. No se usa el parámetro pOutput. |
|
Si la impresora admite la impresión en color, el valor devuelto es 1; de lo contrario, el valor devuelto es cero. No se usa el parámetro pOutput. |
|
Devuelve el número de copias que el dispositivo puede imprimir. |
|
Devuelve el número de versión del controlador de impresora. |
|
Si la impresora admite impresión dúplex, el valor devuelto es 1; de lo contrario, el valor devuelto es cero. No se usa el parámetro pOutput. |
|
Recupera una lista de las resoluciones admitidas por la impresora. El |
|
Devuelve el número de bytes necesarios para la parte específica del dispositivo de la estructura de DEVMODE para el controlador de impresora. |
|
Devuelve el miembro |
|
Recupera los nombres de los archivos adicionales que se deben cargar cuando se instala un controlador. El búfer de pOutput recibe una matriz de búferes de cadena. Cada búfer de cadenas tiene 64 caracteres y contiene el nombre de un archivo. El valor devuelto indica el número de entradas de la matriz. Las cadenas de nombre finalizan en null a menos que el nombre tenga 64 caracteres de longitud. Si pOutput es null, el valor devuelto es el número de archivos. |
|
Devuelve el tamaño máximo de papel que los dmPaperLength de |
|
Recupera los nombres de los formularios de papel que están disponibles actualmente para su uso. El búfer de pOutput recibe una matriz de búferes de cadena. Cada búfer de cadenas tiene 64 caracteres y contiene el nombre de un formulario de papel. El valor devuelto indica el número de entradas de la matriz. Las cadenas de nombre finalizan en null a menos que el nombre tenga 64 caracteres de longitud. Si pOutput es NULL, el valor devuelto es el número de formularios de papel. |
|
Recupera los nombres de los tipos de medios admitidos. El búfer de pOutput recibe una matriz de búferes de cadena. Cada búfer de cadenas tiene 64 caracteres y contiene el nombre de un tipo de medio admitido. El valor devuelto indica el número de entradas de la matriz. Las cadenas terminan en null a menos que el nombre tenga 64 caracteres de longitud. Si pOutput es null, el valor devuelto es el número de nombres de tipo multimedia necesarios. |
|
Recupera una lista de tipos de medios admitidos. El búfer pOutput recibe una matriz de valores DWORD que indican los tipos de medios admitidos. El valor devuelto indica el número de entradas de la matriz. Para obtener una lista de los posibles valores de matriz, vea la descripción del miembro dmMediaType |
|
Devuelve el tamaño mínimo del papel que pueden especificar los dmPaperLength |
|
Devuelve la relación entre las orientaciones verticales y horizontales de un dispositivo, en términos del número de grados en los que la orientación vertical se gira en sentido contrario a las agujas del reloj para generar orientación horizontal. El valor devuelto puede ser uno de los siguientes:
|
|
Recupera una matriz de enteros que indican la capacidad de la impresora de imprimir varias páginas de documentos por página impresa. El búfer de |
|
Recupera una lista de nombres de papel admitidos (por ejemplo, Carta o Legal). El búfer de pOutput recibe una matriz de búferes de cadena. Cada búfer de cadenas tiene 64 caracteres y contiene el nombre de un formulario de papel. El valor devuelto indica el número de entradas de la matriz. Las cadenas de nombre finalizan en null a menos que el nombre tenga 64 caracteres de longitud. Si pOutput es NULL, el valor devuelto es el número de formularios de papel. |
|
Recupera una lista de tamaños de papel admitidos. El búfer pOutput recibe una matriz de valores de WORD que indican los tamaños de papel disponibles para la impresora. El valor devuelto indica el número de entradas de la matriz. Para obtener una lista de los posibles valores de matriz, vea la descripción de la dmPaperSize miembro del estructura de DEVMODE. Si pOutput es null, el valor devuelto indica el número necesario de entradas en la matriz. |
|
Recupera las dimensiones, en décimas de un milímetro, de cada tamaño de papel admitido. El búfer de pOutput de |
|
Recupera una lista de los idiomas de descripción de la impresora admitidos por la impresora. El búfer de pOutput recibe una matriz de búferes de cadena. Cada búfer tiene 32 caracteres y contiene el nombre de un lenguaje de descripción de impresora. El valor devuelto indica el número de entradas de la matriz. Las cadenas de nombre finalizan en null a menos que el nombre tenga 32 caracteres de longitud. Si pOutput es NULL, el valor devuelto indica el número necesario de entradas de matriz. |
|
El valor devuelto es la cantidad de memoria de impresora disponible, en kilobytes. No se usa el parámetro pOutput. |
|
El valor devuelto indica la velocidad de impresión de la impresora. El valor devuelto para DC_PRINTRATEUNIT indica las unidades del valor de DC_PRINTRATE. No se usa el parámetro pOutput. |
|
El valor devuelto indica la velocidad de impresión de la impresora, en páginas por minuto. No se usa el parámetro pOutput. |
|
El valor devuelto es uno de los siguientes valores que indican las unidades de velocidad de impresión para el valor devuelto para la marca DC_PRINTRATE. No se usa el parámetro pOutput.
|
|
Devuelve el |
|
Si la impresora admite la asociación, el valor devuelto es un valor distinto de cero; de lo contrario, el valor devuelto es cero. No se usa el parámetro pOutput. |
|
Recupera las capacidades del controlador para usar fuentes TrueType. Para
|
|
Devuelve la versión de especificación a la que se ajusta el controlador de impresora. |
[out] pOutput
Puntero a una matriz. El formato de la matriz depende de la configuración del parámetro fwCapability. Vea cada funcionalidad anterior para averiguar qué se devuelve si pOutput es NULL.
[in] pDevMode
Puntero a una estructura DEVMODE de
Valor devuelto
Si la función se ejecuta correctamente, el valor devuelto depende de la configuración del parámetro fwCapability. Un valor devuelto de cero suele indicar que, mientras la función se completó correctamente, hubo algún tipo de error, como una funcionalidad que no se admite. Para obtener más información, consulte las descripciones de los valores de fwCapability de
Si la función devuelve -1, esto puede significar que no se admite la funcionalidad o que se produjo un error de función general.
Observaciones
Si un controlador de impresora admite funcionalidades de dispositivo personalizadas, el controlador debe llamar a la función SetPrinterData para cada funcionalidad personalizada. La función SetPrinterData agrega los datos de impresora adecuados al sistema de impresión, lo que permite que las aplicaciones de 32 bits accedan a las funcionalidades personalizadas en instalaciones de Windows de 64 bits.
Para cada funcionalidad personalizada, primero debe agregar datos de impresora que describen el tipo de la funcionalidad. Para ello, al llamar a SetPrinterData, establezca la cadena pValueName en CustomDeviceCapabilityType_Xxx, donde "Xxx" es la representación hexadecimal de la funcionalidad. Por ejemplo, podría tener "CustomDeviceCapabilityType_1234". Los datos del Registro que establezca deben ser del tipo REG_DWORD y debe establecer su valor en uno de los siguientes:
- 0, si la funcionalidad personalizada es un DWORD
- 1, si la funcionalidad personalizada es un búfer de bytes
- 2, si la funcionalidad personalizada es una matriz de elementos
Nota
El encabezado wingdi.h define DeviceCapabilities 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 |
WinSpool.lib |
DLL de |
WinSpool.drv |
Consulte también
POINT de
de funciones de API de administrador de trabajos de impresión