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 acceso | Componentes del descriptor de seguridad recuperados |
---|---|
READ_CONTROL | Propietario, Grupo Primario, lista de control de acceso discrecional (ACL) |
ACCESS_SYSTEM_SECURITY | Sistema ACL |