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 |
|
Biblioteca |
|
Archivo DLL |
|
Nombres Unicode y ANSI |
EnumPrinterDataExW (Unicode) y EnumPrinterDataExA (ANSI) |