The GetPrinter function retrieves information about a specified printer.
BOOL GetPrinter(
HANDLE hPrinter, |
// handle to printer of interest |
DWORD Level, |
// version of printer info data structure |
LPBYTE pPrinter, |
// pointer to array of bytes that receives printer info. structure |
DWORD cbBuf, |
// size, in bytes, of array of bytes |
LPDWORD pcbNeeded |
// pointer to variable with count of bytes retrieved (or required) |
); |
Windows 95: This value can be 1, 2, or 5.
Windows NT: This value can be 1, 2, 3, 4, or 5.
Windows 95: The buffer can receive a PRINTER_INFO_1, PRINTER_INFO_2, PRINTER_INFO_5 structure.
Windows NT: The buffer can receive a PRINTER_INFO_1,
PRINTER_INFO_2, PRINTER_INFO_3,
PRINTER_INFO_4, or PRINTER_INFO_5
structure.
If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero. To get extended error information, call GetLastError.
If the structure returned in the buffer pointed to by the pPrinter parameter contains a pointer to a security descriptor, only those components of the security descriptor that the caller has permission to read will be present. An application that wants to retrieve particular security descriptor components must open the printer with sufficient access permission. The following table shows the security descriptor components that are retrieved for particular access permission values:
|
Security Descriptor Components Retrieved |
READ_CONTROL |
Owner, Primary Group, Discretionary access-control list (ACL) |
ACCESS_SYSTEM_SECURITY |
System ACL |
AbortPrinter, AddPrinter, ClosePrinter, DeletePrinter, EnumPrinters, PRINTER_INFO_1, PRINTER_INFO_2, PRINTER_INFO_3, PRINTER_INFO_4, PRINTER_INFO_5, OpenPrinter, SetPrinter