AdvancedDocumentProperties function
Applies to: desktop apps only
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 |
|---|---|
|
Minimum supported server | Windows 2000 Server |
|
Header |
|
|
Library |
|
|
Unicode and ANSI names | AdvancedDocumentPropertiesW (Unicode) and AdvancedDocumentPropertiesA (ANSI) |
See also
- Printing
- Print Spooler API Functions
- AddPrinter
- DEVMODE
- DocumentProperties
- GetPrinter
- OpenPrinter
- PRINTER_INFO_2
Send comments about this topic to Microsoft
Build date: 3/6/2012