GetPrinter  AQ12Y7 

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_1X9ETHP, PRINTER_INFO_2X0ETHP, PRINTER_INFO_5X_ETHP structure.

Windows NT: The buffer can receive a PRINTER_INFO_1X9ETHP, PRINTER_INFO_2X0ETHP, PRINTER_INFO_31JDQT55, PRINTER_INFO_4X.ETHP, or PRINTER_INFO_5X_ETHP structure.

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 GetLastError11C2VS7.

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:


Access Permission

Security Descriptor Components Retrieved

READ_CONTROL

Owner, Primary Group, Discretionary access-control list (ACL)

ACCESS_SYSTEM_SECURITY

System ACL

 

See Also

AbortPrinter, AddPrinter, ClosePrinter, DeletePrinter, EnumPrinters, PRINTER_INFO_1, PRINTER_INFO_2, PRINTER_INFO_3, PRINTER_INFO_4, PRINTER_INFO_5, OpenPrinter, SetPrinter