DrvDevicePropertySheets - NtDoc

Native API online documentation, based on the System Informer (formerly Process Hacker) phnt headers
// winddiui.h

LONG DrvDevicePropertySheets(
  [in, optional] PPROPSHEETUI_INFO pPSUIInfo,
                 LPARAM            lParam
);
View the official Windows Driver Kit DDI reference

NtDoc

No description available.

Windows Driver Kit DDI reference (nf-winddiui-drvdevicepropertysheets)

Description

A printer interface DLL's DrvDevicePropertySheets function is responsible for creating property sheet pages that describe a printer's properties.

Parameters

pPSUIInfo [in, optional]

Caller-supplied pointer to a PROPSHEETUI_INFO structure.

lParam

Caller-supplied integer value that is dependent on the contents of the Reason member of the PROPSHEETUI_INFO structure, as listed in the following table.

Reason value Definition of lParam
PROPSHEETUI_REASON_INIT Pointer to a DEVICEPROPERTYHEADER structure.
All other reason values See the description of the lParam parameter for the PFNPROPSHEETUI function type. (The DEVICEPROPERTYHEADER structure's address is contained in the lParamInit member of the PROPSHEETUI_INFO structure.)

Return value

See the ReturnValue section in the description of the PFNPROPSHEETUI function type.

Remarks

All printer interface DLLs must provide a DrvDevicePropertySheets function, which is defined using the PFNPROPSHEETUI function type. The function's purpose is to call the ComPropSheet function, provided by CPSUI, to specify a property sheet page containing user-modifiable properties for the printer.

The function should perform operations as described for the PFNPROPSHEETUI function type. The function should create the printer's DeviceSettings property sheet page (see the pDlgPage member of the COMPROPSHEETUI structure).

Printer device settings should be stored in the registry. If a user with administrator privilege modifies options on the DeviceSettings page, the DrvDevicePropertySheets function should write the updated values to the registry by calling SetPrinterData (described in the Microsoft Windows SDK documentation).

See also

DrvDocumentPropertySheets

IPrintOemUI::DevicePropertySheets