Compartir a través de


Función EnumPrinterDataEx

La función EnumPrinterDataEx enumera todos los nombres de valor y los datos de una impresora y clave especificadas.

Los datos de la impresora se almacenan en el registro. Al enumerar los datos de la impresora, no llame a funciones del Registro que puedan cambiar los datos.

Sintaxis

DWORD EnumPrinterDataEx(
  _In_  HANDLE  hPrinter,
  _In_  LPCTSTR pKeyName,
  _Out_ LPBYTE  pEnumValues,
  _In_  DWORD   cbEnumValues,
  _Out_ LPDWORD pcbEnumValues,
  _Out_ LPDWORD pnEnumValues
);

Parámetros

hPrinter [in]

Identificador de la impresora para la que la función recupera los datos de configuración. Use la función OpenPrinter o AddPrinter para recuperar un identificador de impresora.

pKeyName [in]

Puntero a una cadena terminada en null que especifica la clave que contiene los valores que se van a enumerar. Use el carácter de barra diagonal inversa ( \ ) como delimitador para especificar una ruta de acceso con una o varias subclaves. EnumPrinterDataEx enumera todos los valores de la clave, pero no enumera los valores de subclaves de la clave especificada. Use la función EnumPrinterKey para enumerar subclaves.

Si pKeyName es NULL o una cadena vacía, EnumPrinterDataEx devuelve ERROR_INVALID_PARAMETER.

pEnumValues [out]

Puntero a un búfer que recibe una matriz de estructuras de PRINTER_ENUM_VALUES . Cada estructura contiene el nombre de valor, el tipo, los datos y los tamaños de un valor bajo la clave.

cbEnumValues [in]

Tamaño, en bytes, del búfer al que apunta pcbEnumValues. Si establece cbEnumValues en cero, el parámetro pcbEnumValues devuelve el tamaño de búfer necesario.

pcbEnumValues [out]

Puntero a una variable que recibe el tamaño, en bytes, de los datos de configuración recuperados. Si el tamaño del búfer especificado por cbEnumValues es demasiado pequeño, la función devuelve ERROR_MORE_DATA y pcbEnumValues indica el tamaño de búfer necesario.

pnEnumValues [out]

Puntero a una variable que recibe el número de estructuras de PRINTER_ENUM_VALUES devueltas en pEnumValues.

Valor devuelto

Si la función se ejecuta correctamente, el valor devuelto es ERROR_SUCCESS.

Si se produce un error en la función, el valor devuelto es un código de error del sistema.

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.

EnumPrinterDataEx recupera los datos de configuración de la impresora establecidos por las funciones SetPrinterDataEx y SetPrinterData .

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
EnumPrinterDataExW (Unicode) y EnumPrinterDataExA (ANSI)

Consulte también

Impresión

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

DeletePrinterDataEx

EnumPrinterKey

GetPrinterDataEx

OpenPrinter

PRINTER_ENUM_VALUES

SetPrinterData

SetPrinterDataEx