2.2.3.11 Printer Data Values

The Printer Data Values are used to store printer configuration data. The values named in the following table MUST be supported on print servers for each printer as follows:

  • In a call to RpcGetPrinterData (section 3.1.4.2.7) or RpcGetPrinterDataEx (section 3.1.4.2.19), the pValueName parameter identifies the data that MUST be returned in the pData parameter. The key name pointed to by pKeyName MUST be NULL, and the value pointed to by pValueName MUST be one of the strings specified in the "Printer data value name" column.

    The specified registry type values are defined in section 2.2.3.9.

  • If the "Read-write" column is checked, a print server SHOULD keep track of the value set by a call to RpcSetPrinterData (section 3.1.4.2.8) or RpcSetPrinterDataEx (section 3.1.4.2.18) in the pData parameter, and it SHOULD return the same value in a subsequent call to RpcGetPrinterData or RpcGetPrinterDataEx.

  • The "Description" column describes the printer configuration data that is associated with the printer data value name, and in some cases it specifies print server behavior. If the "Behavior optional" column is checked, that behavior is implementation-specific and not mandatory.<186>

    Printer data value name / registry type

    Read-write

    Behavior optional

    Description

    "HardwareId"

    REG_SZ

    X

    A string that identifies compatible printer drivers for the printer. The value of this identifier is implementation-specific.<187>

    "EnableBranchOfficePrinting" REG_DWORD

    X

    An integer that specifies whether print clients connect directly to the printer. If the value exists and contains a REG_DWORD value of 0x00000001, print clients render print jobs and send printed data directly to the printer instead of using the Job Management Methods (section 3.1.4.3) and Document Printing Methods (section 3.1.4.9) on the print server.<188>

    "SeparatorFileData"

    X

    If the printer driver for the printer has a driver version of 0x00000004, and the EnableBranchOfficePrinting printer data value exists and contains a REG_DWORD value of 0x00000001, this value contains the contents of the separator page, if any, associated with the printer.<189>

    "V4_Driver_Hardware_IDs"

    REG_MULTI_SZ

    A multisz containing one or more curly braced GUID strings that identify the compatible printer drivers with a driver version (cVersion in section 2.2.1.3.1) of 0x00000004.<190>

    This value is required for printers with drivers having a driver version of 0x00000004.

    "XpsFormat"

    REG_BINARY

    X

    A binary value that specifies the XML Paper Specification (XPS) formats that the server supports: Microsoft XPS [MSFT-XMLPAPER] and/or OpenXPS [ECMA-388].<191>

    The binary value MUST be either one of the following two:

    • A single DWORD (4 bytes) if only one XPS format is supported.

    • A pair of DWORDs (8 bytes) if both XPS formats are supported.

    Each DWORD MUST contain one of the following two values:

    • 0x00000001 for Microsoft XPS.

    • 0x00000002 for OpenXPS.

    When both formats are supported, the two DWORD values can be specified in any order.

    "MergedData"

    REG_BINARY

    A binary value that specifies the contents of the GPD ([MSDN-GPDFiles]) or PPD ([PS-PPD4.3]) file for a printer driver with a driver version of 0x00000004.<192>

    This value is required for printers with printer drivers having a driver version of 0x00000004.

    "MergedDataName"

    REG_SZ

    A string value that specifies the name of the GPD ([MSDN-GPDFiles] or PPD ([PS-PPD4.3]) file for a printer driver with a driver version of 0x00000004.<193>

    This value is required for printers with printer drivers having a driver version of 0x00000004.

    "BranchOfficeLoggingEnabled"

    REG_DWORD

    X

    An integer that specifies whether branch office print remote logging is enabled, which means that print clients operating in branch office print mode SHOULD log printing-related Windows Events on the print server.<194>

    If this value is not configured, or if it is set to 0x00000001, the client SHOULD create printing events on the server as well as the client.

    If the value is set to zero, the client SHOULD NOT create printing events on the server.

    "BranchOfficeOfflineLogSize"

    REG_DWORD

    X

    The maximum size, in megabytes (MB), of the Branch Office Print Remote Log Offline Archive (section 3.2.1).<195> This value MUST be 1 MB or more.

    If the print client is unable to contact the print server when processing a branch office print job, and branch office print remote logging is enabled, the printing event SHOULD be written to the Branch Office Print Remote Log Offline Archive. If the offline archive exceeds this maximum size, printing events SHOULD be discarded, and the server, when it can be contacted, SHOULD be informed of the overflow condition.

    If this value is not configured, an implementation-defined default value SHOULD<196> be used.

    If this value is set to zero, the client SHOULD NOT create printing events on the server.

    "MinimumSupportedClientBuild"

    REG_DWORD

    X

    An integer value that specifies the minimum print client version required in order to connect to this printer. This is expressed as a Windows build number and is provided by printer drivers having a version of 0x00000004 which have known dependencies that cannot be met on clients with versions prior to this build number. If the build number of the print client is less than this value, the client MUST NOT create a connection to this printer. If this value is not supplied or is zero, any client, regardless of build number, can connect to this printer.