GetPrinter
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) |
); |
|
Parameters
hPrinter
Handle to the
printer of interest.
Level
Specifies the
level, or type, of PRINTER_INFO_* structure that the function stores
into the buffer pointed to by pPrinter.
Windows
95: This value can be 1, 2, or 5.
Windows
NT: This value can be 1, 2, 3, 4, or
5.
pPrinter
Pointer to a
buffer that receives a PRINTER_INFO_* structure. This structure contains
information about the specified printer. The type of structure is determined by
the value of Level.
Windows
95: The buffer can receive a PRINTER_INFO_1
Windows
NT: The buffer can receive a PRINTER_INFO_1
cbBuf
Specifies the
size, in bytes, of the buffer pointed to by pPrinter.
pcbNeeded
Pointer to a
variable that the function sets to the size in bytes of the printer information.
If cbBuf is smaller than this value, GetPrinter fails, and the
value represents the required buffer size. If cbBuf is equal to or
greater than this value, GetPrinter succeeds, and the value represents
the number of bytes stored into the buffer.
Return Values
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
Remarks
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 |
See Also