winspool.h


GetPrinter

La función GetPrinter recupera información sobre la impresora especificada.

Sintaxis

BOOL GetPrinter(
    HANDLE hPrinter,   // manipulador de la impresora de interés 
    DWORD Level,       // versión de la estructura de datos de la información de la impresora 
    LPBYTE pPrinter,   // puntero a un array de bytes que recibirá la estructura de información de la impresora
    DWORD cbBuf,       // tamaño, en bytes, del array de bytes
    LPDWORD pcbNeeded  // puntero a variable con el contador de bytes recibidos (si se requiere)
   );

Parámetros

hPrinter: Manipulador de la impresora de interés.

Level: Especifica el nivel, o tipo, de la estructura PRINTER_INFO_* que la función almacenará en el buffer apuntado por pPrinter.

Windows 95: Este valor puede ser 1, 2 o 5.

Windows NT: Este valor puede ser 1, 2, 3, 4 o 5.

pPrinter. Puntero a un buffer que recibe una estructura PRINTER_INFO_*. Esta estructura contiene información sobre la impresora especificada. El tipo de estructura queda determinado lor el valor del parámetro Level.

Windows 95: El buffer puede recibir una estructura PRINTER_INFO_1, PRINTER_INFO_2 o PRINTER_INFO_5.

Windows NT: El buffer puede recibir una estructura PRINTER_INFO_1, PRINTER_INFO_2, PRINTER_INFO_3, PRINTER_INFO_4 o PRINTER_INFO_5.

cbBuf: Especifica el tamaño, en bytes, del buffer apuntado por pPrinter.

pcbNeeded: Puntero a una variable que la función modifica al varlo del tamaño en bytes de la información de la impresora. Si cbBuf es más pequeño que este valor, GetPrinter falla, y el valor representa el tamaño del buffer requerido. Si cbBuf es igual o mayor que este valor, GetPrinter tiene éxito, y el valor representa el número de bytes almacenados en el buffer.

Valor de retorno

Si la función tiene éxito, el valor de retorno es distinto de cero.

Si la función falla, el valor de retorno es cero. Para obtener información adicional sobre el error, usar la función GetLastError.

Observaciones

Si la estructura devuelta en el buffer apuntado por el parámetro pPrinter contiene un puntero a un descriptor de seguridad, sólo estarán presentes aquellos componentes del descriptor de seguridad para los que el proceso que llama tiene permiso de lectura. Una aplicación que quiera recuperar ciertos componentes del descriptor de seguridad en particular debe abrir la impresora con el suficiente permiso de acceso. La siguiente tabla muestra los componentes del descriptor de seguridad que son recuperados para diferentes valores de permiso de acceso:

Permiso de accesoComponentes del descriptor de seguridad recuperados
READ_CONTROLPropietario, Grupo Primario, lista de control de acceso discrecional (ACL)
ACCESS_SYSTEM_SECURITYSistema ACL