2.2.1.10.8 PRINTER_INFO_7

The PRINTER_INFO_7 structure provides directory service (DS) information about a printer.<62>

 typedef struct _PRINTER_INFO_7 {
   [string] wchar_t* pszObjectGUID;
   DWORD dwAction;
 } PRINTER_INFO_7;

pszObjectGUID: A pointer to a curly braced GUID string that specifies the GUID used by the DS to identify this printer, if it is used in a response to RpcGetPrinter (section 3.1.4.2.6). The string MUST conform to the curly braced GUID string format ([MS-DTYP] section 2.3.4.3).

This pointer SHOULD be NULL when sent and MUST be ignored on receipt if it is used by the print client in a call to RpcSetPrinter (section 3.1.4.2.5).

dwAction: An action for the printer to perform if it used by the client in a call to RpcSetPrinter.

The value of this member represents a DS-specific publishing state by the server if it is used in a response to RpcGetPrinter.

The value of this member MUST be a constant from the following table:

Name/value

Description

DSPRINT_PUBLISH

0x00000001

RpcSetPrinter: The server MUST publish the printer's data in the DS (section 2.3.3.1).

RpcGetPrinter: The server MUST set this value to indicate the printer is published in the DS.

DSPRINT_UPDATE

0x00000002

RpcSetPrinter: The server MUST update the printer's published data in the DS (section 2.3.3.2).

RpcGetPrinter: This value MUST NOT be returned by the server.

DSPRINT_UNPUBLISH

0x00000004

RpcSetPrinter: The server MUST remove the printer's published data from the DS (section 2.3.3.2).

RpcGetPrinter: The server MUST set this value to indicate the printer is not published.

DSPRINT_REPUBLISH

0x00000008

RpcSetPrinter: The server MUST unpublish (section 2.3.3.2) and publish again (section 2.3.3.1) the DS data for the printer. Republishing also MUST change the GUID of the published printer.

RpcGetPrinter: The server MUST NOT set this value.

DSPRINT_PENDING

0x80000000

RpcSetPrinter: This value MUST NOT be used by the client.

RpcGetPrinter: The server MUST return this value, if a previous publish or unpublish action initiated by RpcSetPrinter is still in progress.

All members not defined in this section are specified in sections 2.2.1.3.6 and 2.2.1.3.