Compartir a través de


Función DrvDeviceCapabilities (winddiui.h)

Una dll de interfaz de impresora DrvDeviceCapabilities función devuelve información solicitada sobre las funcionalidades de una impresora.

Sintaxis

DWORD DrvDeviceCapabilities(
                 HANDLE   hPrinter,
  [in]           PWSTR    pszDeviceName,
                 WORD     Capability,
  [out]          PVOID    pOutput,
  [in, optional] PDEVMODE pDevmode
);

Parámetros

hPrinter

Controlador de impresora proporcionado por el autor de la llamada.

[in] pszDeviceName

Puntero proporcionado por el autor de la llamada a una cadena de nombre de impresora.

Capability

Marca de bits proporcionada por el autor de la llamada que indica la información que se solicita. Puede ser una de las marcas enumeradas en la tabla siguiente. (Las marcas se definen en el archivo de encabezado Wingdi.h).)

Bandera Definición
DC_BINADJUST No se usa para sistemas operativos basados en NT.
DC_BINNAMES El parámetro pOutput apunta a un búfer que la función debe rellenar con una matriz de búferes de cadena, cada 24 caracteres de longitud. Cada búfer de cadenas de la matriz debe contener una cadena terminada en NULL con caracteres anchos que especifique el nombre de una papelera de origen. El valor devuelto de la función debe ser el número de elementos de la matriz devuelta. Si pOutput es NULL, la función solo debe devolver el número de elementos de matriz necesarios.
DC_BINS El parámetro pOutput apunta a un búfer que la función debe rellenar con una matriz WORD. Cada elemento de matriz debe contener una constante prefijo DMBIN (o un valor personalizado) que represente una papelera de origen de papel compatible. El valor devuelto de la función debe ser el número de elementos de la matriz devuelta. Si pOutput es NULL, la función solo debe devolver el número de elementos de matriz necesarios.
DC_COLLATE No se usa el parámetro pOutput. El valor devuelto de la función debe ser 1 si la impresora admite la intercalación; de lo contrario, el valor devuelto debe ser cero.
DC_COLORDEVICE No se usa el parámetro pOutput. El valor devuelto de la función debe ser 1 si la impresora admite impresión de color; de lo contrario, el valor devuelto debe ser cero.
DC_COPIES No se usa el parámetro pOutput. El valor devuelto de la función debe ser el número máximo de copias que puede admitir la impresora.
DC_DATATYPE_PRODUCED No se usa para sistemas operativos basados en NT.
DC_DRIVER No se usa el parámetro pOutput. El valor devuelto de la función debe ser el dmDriverVersion miembro de la estructura interna del controlador [DEVMODEW](/windows/win32/api/wingdi/ns-wingdi-devmodew).
DC_DUPLEX No se usa el parámetro pOutput. El valor devuelto de la función debe ser 1 si la impresora admite la impresión dúplex; de lo contrario, el valor devuelto debe ser cero.
DC_EMF_COMPLIANT No se usa para sistemas operativos basados en NT.
DC_ENUMRESOLUTIONS El parámetro pOutput apunta a un búfer que la función debe rellenar con una matriz LONG. Para cada resolución compatible con la impresora, la función debe devolver dos palabras largas (una para la dimensión de x y otra para la dimensión y) de la resolución, en puntos por pulgada. El valor devuelto de la función debe ser el número de resoluciones admitidas. Si pOutput es null, la función solo debe devolver el número de resoluciones admitidas.
DC_EXTRA No se usa el parámetro pOutput. El valor devuelto de la función debe ser el dmDriverExtra miembro del controlador interno [DEVMODEW](/windows/win32/api/wingdi/ns-wingdi-devmodew).
DC_FIELDS No se usa el parámetro pOutput. El valor devuelto de la función debe ser el dmFields miembro de la estructura interna del controlador [DEVMODEW](/windows/win32/api/wingdi/ns-wingdi-devmodew). El miembro dmFields indica qué miembros de la parte independiente del dispositivo de la estructura DEVMODEW son compatibles con el controlador de impresora.
DC_FILEDEPENDENCIES El parámetro pOutput apunta a un búfer que la función debe rellenar con una matriz de búferes de cadena, cada 64 caracteres de longitud. Cada búfer de cadenas de la matriz debe contener una cadena terminada en NULL con caracteres anchos que especifique el nombre de un archivo que se debe instalar con el controlador. El valor devuelto de la función debe ser el número de elementos de la matriz devuelta. Si pOutput es NULL, la función solo debe devolver el número de elementos de matriz necesarios.
DC_MANUFACTURER No se usa para sistemas operativos basados en NT.
DC_MAXEXTENT No se usa el parámetro pOutput. La función debe devolver una estructura POINTS (descrita en la documentación del SDK de Microsoft Windows). La estructura debe contener los valores máximos permitidos para los dmPaperWidth (x dimensión) y dmPaperLength (y dimensión) de la estructura DEVMODEW de la impresora.
DC_MEDIAREADY El parámetro pOutput apunta a un búfer que la función debe rellenar con una matriz de búferes de cadena, cada 64 caracteres de longitud. Cada búfer de cadenas de la matriz debe contener una cadena terminada en NULL con caracteres anchos que especifique el nombre de un formulario de papel que está disponible para su uso. El valor devuelto de la función debe ser el número de elementos de la matriz devuelta. Si pOutput es NULL, la función solo debe devolver el número de elementos de matriz necesarios.
DC_MEDIATYPENAMES El parámetro pOutput apunta a un búfer que la función debe rellenar con una matriz de búferes de cadena, cada 64 caracteres de longitud. Cada búfer de cadenas de la matriz debe contener una cadena terminada en NULL con caracteres anchos que especifique el nombre de un tipo de medio admitido. El valor devuelto de la función debe ser el número de elementos de la matriz devuelta. Si pOutput es null, la función simplemente debe devolver el número de elementos de matriz necesarios.
DC_MEDIATYPES El parámetro pOutput apunta a un búfer que la función debe rellenar con una matriz DWORD. Cada elemento de matriz debe contener una constante prefijo DMMEDIA (vea la estructura [DEVMODEW](/windows/win32/api/wingdi/ns-wingdi-devmodew) o el valor personalizado que representa un tipo de medio admitido. El valor devuelto de la función debe ser el número de elementos de la matriz devuelta. Si pOutput es null, la función simplemente debe devolver el número de elementos de matriz necesarios.
DC_MINEXTENT No se usa el parámetro pOutput. La función debe devolver una estructura POINTS (descrita en la documentación de Windows SDK). La estructura debe contener los valores mínimos permitidos para los miembros de dmPaperWidth (x dimensión) y dmPaperLength (y dimensión) de la estructura DEVMODEW de la impresora.
DC_MODEL No se usa para sistemas operativos basados en NT.
DC_NUP El parámetro pOutput apunta a un búfer que la función debe rellenar con una matriz DWORD. Cada elemento de matriz debe contener un entero que represente una opción N-up (es decir, cada entero debe representar un número admitido de páginas de documento por página física). El valor devuelto de la función debe ser el número de elementos de la matriz devuelta. Si pOutput es NULL, la función solo debe devolver el número de elementos de matriz necesarios.
DC_ORIENTATION No se usa el parámetro pOutput. El valor devuelto de la función debe ser el número de grados de rotación necesarios para generar orientación horizontal a partir de la orientación vertical. Un valor de cero indica que no se admite la orientación horizontal.
DC_PAPERNAMES El parámetro pOutput apunta a un búfer que la función debe rellenar con una matriz de búferes de cadena, cada 64 caracteres de longitud. Cada búfer de cadenas de la matriz debe contener una cadena terminada en NULL con caracteres anchos que especifique el nombre de un formulario de papel. El valor devuelto de la función debe ser el número de elementos de la matriz devuelta. Si pOutput es NULL, la función solo debe devolver el número de elementos de matriz necesarios.
DC_PAPERS El parámetro pOutput apunta a un búfer que la función debe rellenar con una matriz WORD. Cada elemento de matriz debe contener una constante con prefijo DMPAPER (o un valor personalizado) que represente un formulario de papel admitido. El valor devuelto de la función debe ser el número de elementos de la matriz devuelta. Si pOutput es NULL, la función solo debe devolver el número de elementos de matriz necesarios.
DC_PAPERSIZE El parámetro pOutput apunta a un búfer que la función debe rellenar con una matriz POINT. Cada elemento de matriz debe contener las x y y dimensiones del tamaño de papel de un formulario, en unidades de 0,1 mm, en orientación vertical. El valor devuelto de la función debe ser el número de elementos de la matriz devuelta. Si pOutput es NULL, la función solo debe devolver el número de elementos de matriz necesarios.
DC_PERSONALITY El parámetro pOutput apunta a un búfer que la función debe rellenar con una matriz de búferes de cadena, cada 32 caracteres de longitud. Cada búfer de cadenas de la matriz debe contener una cadena de caracteres anchos y terminada en NULL que especifique el lenguaje de descripción de la impresora compatible con la impresora (por ejemplo, L"HP-GL/2"). El valor devuelto de la función debe ser el número de elementos de la matriz devuelta. Si pOutput es NULL, la función solo debe devolver el número de elementos de matriz necesarios.
DC_PRINTERMEM No se usa el parámetro pOutput. El valor devuelto de la función debe ser un entero que representa la cantidad de memoria de impresora disponible, en kilobytes.
DC_PRINTRATE No se usa el parámetro pOutput. El valor devuelto de la función debe ser un entero que representa la velocidad de impresión, en las unidades especificadas para DC_PRINTRATEUNIT.
DC_PRINTRATEPPM No se usa el parámetro pOutput. El valor devuelto de la función debe ser un entero que representa la tasa de impresión, en páginas por minuto.
DC_PRINTRATEUNIT No se usa el parámetro pOutput. El valor devuelto de la función debe identificar las unidades usadas para especificar el valor devuelto para DC_PRINTRATE. Se debe especificar una de las siguientes constantes: PRINTRATEUNIT_PPM - pages/min. PRINTRATEUNIT_CPS - chars./sec. PRINTRATEUNIT_LPM - líneas/min. PRINTRATEUNIT_IPM: pulgadas/min.
DC_SIZE No se usa el parámetro pOutput. El valor devuelto de la función debe ser el dmSize miembro de la estructura interna del controlador [DEVMODEW](/windows/win32/api/wingdi/ns-wingdi-devmodew).
DC_STAPLE No se usa el parámetro pOutput. El valor devuelto de la función debe ser TRUE si la impresora admite el acoplamiento y FALSE si la impresora no admite el acoplamiento.
DC_TRUETYPE No se usa el parámetro pOutput. El valor devuelto de la función puede ser cero, uno o varios de los siguientes marcadores: DCTT_BITMAP: el dispositivo puede imprimir fuentes TrueType como gráficos. DCTT_DOWNLOAD: el dispositivo puede aceptar fuentes TrueType descargadas. DCTT_DOWNLOAD_OUTLINE: (Solo Windows 95/98/Me) El dispositivo puede descargar fuentes TrueType de esquema. DCTT_SUBDEV: el dispositivo puede sustituir las fuentes del dispositivo por fuentes TrueType.
DC_VERSION No se usa el parámetro pOutput. El valor devuelto de la función debe ser el miembro dmSpecVersion del controlador interno [DEVMODEW](/windows/win32/api/wingdi/ns-wingdi-devmodew).

[out] pOutput

Puntero proporcionado por el autor de la llamada a un búfer para recibir información proporcionada por la función. El uso del búfer depende del valor recibido para el parámetro Capability.

[in, optional] pDevmode

Puntero proporcionado por el llamador a una estructura DEVMODEW que describe las características actuales del trabajo de impresión. Si este parámetro es NULL, DrvDeviceCapabilities recupera los valores de inicialización predeterminados actuales para el controlador de impresora especificado, como la estructura DEVMODEW predeterminada del usuario de la cola de impresión.

Valor devuelto

El valor devuelto de la función depende del valor recibido para el parámetro Capability. Si el valor funcionalidad recibido representa una funcionalidad que el controlador no admite o, si se encuentra un error, la función debe devolver GDI_ERROR.

Requisitos

Requisito Valor
de la plataforma de destino de Escritorio
encabezado de winddiui.h (incluya Winddiui.h)