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.
LONG AdvancedDocumentProperties(
_In_ HWND hWnd,
_In_ HANDLE hPrinter,
_In_ LPTSTR pDeviceName,
_Out_ PDEVMODE pDevModeOutput,
_In_ PDEVMODE pDevModeInput
);
-
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.
If the DocumentProperties function with these parameters is successful, the return value of AdvancedDocumentProperties is 1. Otherwise, the return value is zero.
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.
Requirement | Value |
---|---|
Minimum supported client |
Windows 2000 Professional [desktop apps only] |
Minimum supported server |
Windows 2000 Server [desktop apps only] |
Header |
|
Library |
|
DLL |
|
Unicode and ANSI names |
AdvancedDocumentPropertiesW (Unicode) and AdvancedDocumentPropertiesA (ANSI) |