AdvancedDocumentProperties function

The AdvancedDocumentProperties function displays a printer-configuration dialog box for the specified printer, allowing the user to configure that printer.

This function is a special case of the DocumentProperties function. For more details, see the Remarks section.

Syntax


LONG AdvancedDocumentProperties(
  _In_   HWND hWnd,
  _In_   HANDLE hPrinter,
  _In_   LPTSTR pDeviceName,
  _Out_  PDEVMODE pDevModeOutput,
  _In_   PDEVMODE pDevModeInput
);

Parameters

hWnd [in]

A handle to the parent window of the printer-configuration dialog box.

hPrinter [in]

A handle to a printer object. Use the OpenPrinter or AddPrinter function to retrieve a printer handle.

pDeviceName [in]

A pointer to a null-terminated string specifying the name of the device for which a printer-configuration dialog box should be displayed.

pDevModeOutput [out]

A pointer to a DEVMODE structure that will contain the configuration data specified by the user.

pDevModeInput [in]

A pointer to a DEVMODE structure that contains the configuration data used to initialize the controls of the printer-configuration dialog box.

Return value

If the DocumentProperties function with these parameters is successful, the return value of AdvancedDocumentProperties is 1. Otherwise, the return value is zero.

Remarks

Note  This is a blocking or synchronous function and might not return immediately. How quickly this function returns depends on run-time factors such as network status, print server configuration, and printer driver implementation—factors that are difficult to predict when writing an application. Calling this function from a thread that manages interaction with the user interface could make the application appear to be unresponsive.

This function can only display the printer-configuration dialog box so a user can configure it. For more control, use DocumentProperties. The input parameters for this function are passed directly to DocumentProperties and the fMode value is set to DM_IN_BUFFER | DM_IN_PROMPT | DM_OUT_BUFFER. Unlike DocumentProperties, this function only returns 1 or 0. Thus, you cannot determine the required size of DEVMODE by setting pDevMode to zero.

An application can obtain the name pointed to by the pDeviceName parameter by calling the GetPrinter function and then examining the pPrinterName member of the PRINTER_INFO_2 structure.

Requirements

Minimum supported client

Windows 2000 Professional [desktop apps only]

Minimum supported server

Windows 2000 Server [desktop apps only]

Header

Winspool.h (include Windows.h)

Library

Winspool.lib

Unicode and ANSI names

AdvancedDocumentPropertiesW (Unicode) and AdvancedDocumentPropertiesA (ANSI)

See also

Printing
Print Spooler API Functions
AddPrinter
DEVMODE
DocumentProperties
GetPrinter
OpenPrinter
PRINTER_INFO_2

 

 

Community Additions

ADD
Show:
© 2014 Microsoft