hab (HAB) - input
pdrivDriverData (PDRIVDATA) - in/out
A data area that, on return, contains device data defined by the presentation driver. If the pointer to the area is NULL, this function returns the required size of the data area.
The format of the data is the same as that which occurs within the DEVOPENSTRUC structure, passed on the pdopData parameter of DevOpenDC.
pszDriverName (PSZ) - input
pszDeviceName (PSZ) - input
Null-terminated string in a 32-byte field, identifying the device type; for example, "HP LaserJet IID" (model number). Valid names are defined by device drivers.
Note: This parameter always overrides the data in the szDeviceName field of the DRIVDATA structure, passed in the pdrivDriverData parameter.
pszName (PSZ) - input
A name that identifies the device; for example, "PRINTER1".
flOptions (ULONG) - input
Options that control whether a dialog is displayed.
DPDM_POSTJOBPROP
The printer is configured in the shell using a dialog provided by the presentation driver. The configuration describes the actual printer setup such as number of paper bins, available paper sizes, and any installed hardware fonts.
Before the job properties dialog is displayed the presentation driver merges any changes in the printer configuration with the data passed in the pdrivDriverData parameter. This allows, for example new paper sizes to be added into the job properties dialog. The parameter pszName can be specified as NULL although this is not recommended because the presentation driver cannot easily find the printer configuration to merge.
It is the responsibility of the application to retrieve and store job properties. An application can choose to store job properties either on a per document or per application basis. The job properties can then be passed into DevOpenDC. Initial (default) job properties can be retrieved using DPDM_QUERYJOBPROP option.
The application cannot tell if the user modified the job properties or just cancelled the dialog. Hence the job properties returned in the pdrivDriverData parameter must always be stored.
The shell allows users to specify default job properties for a printer. The spooler API SplQueryQueue can be used to retrieve these defaults. The spooler automatically adds the default job properties for a printer to any jobs that are submitted without job properties.
lDriverCount (LONG) - returns
Value depends on what was passed as the pointer to pdrivDriverData. If NULL was passed, the following values are possible:
DPDM_ERROR
DPDM_ERROR