Función DrvDeviceCapabilities (winddiui.h)
La función DrvDeviceCapabilities de un archivo DLL de interfaz de impresora 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).
Marca | 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 de 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 la impresión en 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 la impresora puede admitir. |
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 miembro dmDriverVersion 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 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 miembro dmDriverExtra de la estructura interna del controlador [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 miembro dmFields 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 cadena de la matriz debe contener una cadena terminada en NULL de 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 de Microsoft Windows SDK). La estructura debe contener los valores máximos permitidos para los miembros dmPaperWidth (dimensión x ) y dmPaperLength (dimensión y ) 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 de 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 de 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 con 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 dmPaperWidth (dimensión x ) y dmPaperLength (dimensión y ) 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 cadena de la matriz debe contener una cadena terminada en NULL de 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 dimensiones x e y 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 cadena de la matriz debe contener una cadena terminada en NULL de caracteres anchos que especifique el lenguaje de descripción de la impresora admitido por 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 velocidad 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 miembro dmSize 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 la asociación y FALSE si la impresora no admite la asociación. |
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 indicadores: 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 de la estructura interna del controlador [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 autor de la llamada 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 de 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 | Value |
---|---|
Plataforma de destino | Escritorio |
Encabezado | winddiui.h (incluya Winddiui.h) |