Compartir a través de


Función ExtDeviceMode (winspool.h)

La función ExtDeviceMode solo se proporciona por compatibilidad con aplicaciones de 16 bits. En su lugar, los controladores de impresora sin este requisito deben usar la función DocumentProperties, que se describe en la documentación de Microsoft Windows SDK.

La función ExtDeviceMode recupera o modifica la información de inicialización de la impresora para un controlador gráfico determinado, o muestra una hoja de propiedades de configuración de impresora proporcionada por el controlador para la impresora especificada.

Sintaxis

LONG ExtDeviceMode(
  [in, optional] HWND       hWnd,
  [in, optional] HANDLE     hInst,
  [in, out]      LPDEVMODEA pDevModeOutput,
  [in, optional] LPSTR      pDeviceName,
  [in, optional] LPSTR      pPort,
  [in, optional] LPDEVMODEA pDevModeInput,
  [in, optional] LPSTR      pProfile,
                 DWORD      fMode
);

Parámetros

[in, optional] hWnd

Identificador de la ventana primaria de la hoja de propiedades de configuración de impresora.

[in, optional] hInst

No se usa. Controle la instancia del módulo del controlador de dispositivo.

[in, out] pDevModeOutput

Puntero a la estructura DEVMODE que recibe los datos de configuración de la impresora proporcionados en el búfer al que apunta el parámetro pDevModeInput .

[in, optional] pDeviceName

Puntero a una cadena terminada en NULL que contiene el nombre del dispositivo para el que se muestra la hoja de propiedades de configuración de la impresora.

[in, optional] pPort

Puntero a una cadena terminada en NULL que contiene el nombre del puerto al que está conectado el dispositivo, como LPT1.

[in, optional] pDevModeInput

Puntero a la estructura DEVMODE que usa el sistema operativo para inicializar los campos de la hoja de propiedades.

Este parámetro solo se usa si la marca de DM_IN_BUFFER está establecida en el parámetro fMode . Si no se establece DM_IN_BUFFER, el sistema operativo usa la estructura DEVMODE predeterminada de la impresora.

[in, optional] pProfile

No se usa. Puntero a una cadena terminada en NULL que contiene el nombre del archivo de inicialización en el que se registra y lee la información de inicialización.

fMode

Especifica las operaciones que realiza la función. Si este parámetro es cero, la función ExtDeviceMode devuelve el número de bytes requeridos por la estructura DEVMODE del controlador de impresora. De lo contrario, este parámetro se puede establecer en uno o varios de los siguientes valores de marca.

Marca Descripción
DM_COPY Escriba la configuración actual del controlador en la estructura DEVMODE a la que apunta el parámetro pDevModeOutput . La aplicación que llama debe asignar un búfer lo suficientemente grande como para contener la información. Si no se establece esta marca, pDevModeOutput puede ser NULL.
DM_IN_BUFFER Combine la configuración de impresión actual del controlador de impresora con la configuración de la estructura DEVMODE a la que apunta el parámetro pDevModeInput . Esto ocurre antes de preguntar, copiar o actualizar. La función actualiza la estructura solo para los miembros especificados por el miembro dmFields de la estructura DEVMODE. En los casos de conflicto durante la combinación, la configuración de la estructura DEVMODE a la que apunta pDevModeInput invalida la configuración de impresión actual del controlador de impresora.
DM_UPDATE Muestra una hoja de propiedades para permitir al usuario modificar las propiedades de la impresora y, a continuación, escribir la configuración actual del controlador "por usuario" en el subárbol del usuario en el registro.

Valor devuelto

Si el parámetro wMode es cero, la función devuelve el tamaño, en bytes, de la estructura DEVMODE necesaria para contener los datos de inicialización del controlador de impresora. Tenga en cuenta que este valor puede ser mayor que el tamaño de una estructura DEVMODE si el controlador de impresora anexa datos privados a la estructura. Si la función muestra el cuadro de diálogo de inicialización, el valor devuelto es IDOK o IDCANCEL, dependiendo del botón elegido por el usuario. Si la función no muestra el cuadro de diálogo y se realizó correctamente, el valor devuelto es IDOK. El valor devuelto es menor que cero si se produjo un error en la función.

Comentarios

La función ExtDeviceMode llama a la función DocumentProperties (descrita en la documentación de Windows SDK) para mostrar una hoja de propiedades que permita al usuario seleccionar opciones de impresora, como tamaño de papel, orientación de papel y calidad de salida. Los controladores de impresora escritos para Windows 3.x y Windows 9x usan esta función.

Requisitos

Requisito Value
Plataforma de destino Escritorio
Encabezado winspool.h (incluya Winspool.h)
Library Winspool.lib
Archivo DLL WinSpool.drv