Compartir a través de


Función EnumForms

La función EnumForms enumera los formularios admitidos por la impresora especificada.

Sintaxis

BOOL EnumForms(
  _In_  HANDLE  hPrinter,
  _In_  DWORD   Level,
  _Out_ LPBYTE  pForm,
  _In_  DWORD   cbBuf,
  _Out_ LPDWORD pcbNeeded,
  _Out_ LPDWORD pcReturned
);

Parámetros

hPrinter [in]

Identificador de la impresora para la que se deben enumerar los formularios. Use la función OpenPrinter o AddPrinter para recuperar un identificador de impresora.

Nivel [in]

Especifica la versión de la estructura a la que apunta pForm . Este valor debe ser 1 o 2.

pForm [out]

Puntero a una o varias estructuras de FORM_INFO_1 o a una o varias estructuras de FORM_INFO_2 . Todas las estructuras tendrán el mismo nivel.

cbBuf [in]

Especifica el tamaño, en bytes, del búfer al que apunta pForm .

pcbNeeded [ out]

Puntero a una variable que recibe el número de bytes copiados en la matriz a la que apunta pForm (si la operación se realiza correctamente) o el número de bytes necesarios (si se produce un error porque cbBuf es demasiado pequeño).

pcReturned [out]

Puntero a una variable que recibe el número de estructuras copiadas en la matriz a la que apunta pForm .

Valor devuelto

Si la función se ejecuta correctamente, el valor devuelto es un valor distinto de cero.

Si la función no se realiza correctamente, el valor devuelto es cero.

Comentarios

Nota:

Se trata de una función de bloqueo o sincrónica que podría no devolverse inmediatamente. La rapidez con la que devuelve esta función depende de factores en tiempo de ejecución, como el estado de red, la configuración del servidor de impresión y los factores de implementación del controlador de impresora que son difíciles de predecir al escribir una aplicación. Llamar a esta función desde un subproceso que administra la interacción con la interfaz de usuario podría hacer que la aplicación parezca que no responde.

Si el autor de la llamada es remoto y level es 2, el valor StringType de las estructuras de FORM_INFO_2 devueltas siempre será STRING_LANGPAIR.

En Windows Vista, los datos de formulario devueltos por EnumForms se recuperan de una caché local cuando hPrinter hace referencia a un servidor de impresión remoto o a una impresora hospedada por un servidor de impresión y hay al menos una conexión abierta a una impresora en el servidor de impresión remoto. En todas las demás configuraciones, los datos del formulario se consultan desde el servidor de impresión remoto.

Requisitos

Requisito Value
Cliente mínimo compatible
Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible
Windows 2000 Server [solo aplicaciones de escritorio]
Encabezado
Winspool.h (incluye Windows.h)
Biblioteca
Winspool.lib
Archivo DLL
Winspool.drv
Nombres Unicode y ANSI
EnumFormsW (Unicode) y EnumFormsA (ANSI)

Consulte también

Impresión

Funciones de la API del administrador de trabajos de impresión

Addprinter

FORM_INFO_1

OpenPrinter