Print devices

To get started developing printer drivers, see the following sections in the Print devices programming guide.

To develop printer device drivers, you need these headers:

IOCTLs

 
IOCTL_DOT4_ADD_ACTIVITY_BROADCAST

This topic describes IOCTL_DOT4_ADD_ACTIVITY_BROADCAST.
IOCTL_DOT4_CLOSE_CHANNEL

This topic describes IOCTL_DOT4_CLOSE_CHANNEL.
IOCTL_DOT4_CREATE_SOCKET

This topic describes IOCTL_DOT4_CREATE_SOCKET.
IOCTL_DOT4_DESTROY_SOCKET

This topic describes IOCTL_DOT4_DESTROY_SOCKET.
IOCTL_DOT4_LAST

This topic describes IOCTL_DOT4_LAST.
IOCTL_DOT4_OPEN_CHANNEL

This topic describes IOCTL_DOT4_OPEN_CHANNEL.
IOCTL_DOT4_READ

This topic describes IOCTL_DOT4_READ.
IOCTL_DOT4_REMOVE_ACTIVITY_BROADCAST

This topic describes IOCTL_DOT4_REMOVE_ACTIVITY_BROADCAST.
IOCTL_DOT4_USER_BASE

This topic describes IOCTL_DOT4_USER_BASE.
IOCTL_DOT4_WAIT_ACTIVITY_BROADCAST

This topic describes IOCTL_DOT4_WAIT_ACTIVITY_BROADCAST.
IOCTL_DOT4_WAIT_FOR_CHANNEL

This topic describes IOCTL_DOT4_WAIT_FOR_CHANNEL.
IOCTL_DOT4_WRITE

This topic describes IOCTL_DOT4_WRITE.
IOCTL_USBPRINT_GET_1284_ID

The IOCTL_USBPRINT_GET_1284_ID control code allows upper-layer software (such as a language monitor), to request and obtain the printer's IEEE 1284 device ID string.
IOCTL_USBPRINT_GET_INTERFACE_TYPE

Get the protocol capabilities of the USB printer interface.
IOCTL_USBPRINT_GET_LPT_STATUS

The IOCTL_USBPRINT_GET_LPT_STATUS request allows upper-layer software (such as a language monitor), to request and obtain the printer status byte from a USB printer.
IOCTL_USBPRINT_GET_PROTOCOL

Retrieve the current printer protocol code of the USB printer interface.
IOCTL_USBPRINT_SET_PROTOCOL

Set the current printer protocol code of the USB printer interface.
IOCTL_USBPRINT_SOFT_RESET

The IOCTL_USBPRINT_SOFT_RESET request allows upper-layer software (such as a language monitor), to issue a class-specific soft reset command to the printer.
IOCTL_USBPRINT_VENDOR_GET_COMMAND

The IOCTL_USBPRINT_VENDOR_GET_COMMAND request allows upper-layer software (such as a language monitor), to issue a vendor-specific GET command to the target device.
IOCTL_USBPRINT_VENDOR_SET_COMMAND

The IOCTL_USBPRINT_VENDOR_SET_COMMAND request allows upper-layer software (such as a language monitor) to issue a vendor-specific SET command to the target device.

Enumerations

 
BIDI_TYPE

The BIDI_TYPE enumeration lists the possible values of data transferred in a bidi operation.
EATTRIBUTE_DATATYPE

EATTRIBUTE_DATATYPE enumerates the possible data types for a global attribute, feature attribute or option attribute.
EBranchOfficeJobEventType

Learn more about: EBranchOfficeJobEventType enumeration
EPrintPropertyType

This topic describes the EPrintPropertyType enumeration.
EPrintXPSJobOperation

This topic describes the EPrintXPSJobOperation enumeration.
EPrintXPSJobProgress

This topic describes the EPrintXPSJobProgress enumeration.
EXpsCompressionOptions

The ExpsCompressionOptions enumeration describes compression options for an XPS part.
EXpsFontOptions

The EXpsFontOptions enumeration describes the font options for an XPS part.
EXpsFontRestriction

Learn more about: __MIDL___MIDL_itf_filterpipeline_0000_0000_0004 enumeration
EXpsJobConsumption

The EXpsJobConsumption enumeration describes job consumption updates.
NOTIFICATION_CALLBACK_COMMANDS

Learn more about: _NOTIFICATION_CALLBACK_COMMANDS enumeration
NOTIFICATION_CONFIG_FLAGS

Learn more about: _NOTIFICATION_CONFIG_FLAGS enumeration
OEMPTOPTS

Describes the OEMPTOPTS enumeration.
PRINT_EXECUTION_CONTEXT

This topic describes the PRINT_EXECUTION_CONTEXT enumeration.
PrintJobStatus

This enumeration is a one-to-one mapping to the spooler flags supplied in the JOB_INFO_X structures.
PrintSchemaConstrainedSetting

The PrintSchemaConstrainedSetting enumeration specifies whether the Option is available based on the current device configuration. The constrained attribute appears only in a PrintCapabilities document.
PrintSchemaParameterDataType

The PrintSchemaParameterDataType enumeration identifies the allowed data types for the Print Schema parameter.
PrintSchemaSelectionType

The PrintSchemaSelectionType enumeration identifies how a Feature's options should be selected. This property appears only in a PrintCapabilities document.
SHIMOPTS

Describes the SHIMOPTS enumeration.
STDVARIABLEINDEX

Describes the STDVARIABLEINDEX enumeration.
UI_TYPE

Learn more about: UI_TYPE enumeration
XPSRAS_BACKGROUND_COLOR

XPSRAS_BACKGROUND_COLOR specifies the background clear color to be used by an XPS rasterizer.
XPSRAS_PIXEL_FORMAT

XPSRAS_PIXEL_FORMAT allows a caller to select the pixel format used by the IWICBitmap interface that is returned by the IXpsRasterizer::RasterizeRect method. XPSRAS_PIXEL_FORMAT is provided with Windows 8 and later versions of Windows.
XPSRAS_RENDERING_MODE

The XPSRAS_RENDERING_MODE enumeration specifies the rendering mode to be used by an XPS rasterizer.

Functions

 
_CPSUICALLBACK

The _CPSUICALLBACK function type is used by CPSUI applications (including printer interface DLLs) for defining a callback function intended for use as a CPSUI message handler.
AddPortUI

A port monitor UI DLL's AddPortUI function adds a printer port, then obtains port configuration information from the user and sends it to the port monitor server DLL.
AddPrintDeviceObject

The AddPrintDeviceObject print provider function creates a device object for a print provider queue.
AddProperty

The AddProperty method adds a property to a property bag.
AddRequest

The AddRequest method adds a request to the request list.
AdjustDPI

The IPrintOemUIMXDC::AdjustDPI method enables an XPS filter pipeline driver to use UnidrvUI.dll or PS5UI.dll to support configuration of image resolution.
AdjustImageableArea

The IPrintOemUIMXDC::AdjustImageableArea method enables an XPS filter pipeline driver to use UnidrvUI.dll or PS5UI.dll to support configuration of the printable area, including orientation and direction of rotation.
AdjustImageCompression

The IPrintOemUIMXDC::AdjustImageCompression method allows an XPS filter pipeline driver to use UnidrvUI.dll or PS5UI.dll to support configuration of compression level for JPEG or PNG images.
AppendPrinterNotifyInfoData

The print spooler's AppendPrinterNotifyInfoData function adds the contents of a specified PRINTER_NOTIFY_INFO_DATA structure to a specified PRINTER_NOTIFY_INFO structure.
AsyncCloseChannel

Defines the IBidiAsyncNotifyChannel::AsyncCloseChannel method.
AsyncGetNewChannel

Defines the IPrintBidiAsyncNotifyRegistration::AsyncGetNewChannel method.
AsyncGetNotification

Defines the IPrintUnidiAsyncNotifyRegistration::AsyncGetNotification method.
AsyncGetNotificationSendResponse

Defines the IBidiAsyncNotifyChannel::AsyncGetNotificationSendResponse method.
AsyncGetServerReferral

Defines the IPrintAsyncNotifyServerReferral::AsyncGetServerReferral method.
BindDevice

The BindDevice method binds a printer to a bidi request. This method is similar to the OpenPrinter function.
BindDevice

The BindDevice method binds a printer to a bidirectional printer communication (bidi communication) request. This method is similar to the OpenPrinter function.
BindPrinter

The IPrintOemPrintTicketProvider::BindPrinter method enables the core driver to associate a set of private namespace uniform resource identifiers (URIs) with a device.
BindPrinter

The IPrintTicketProvider::BindPrinter method binds a printer or print queue to a specific version of the print ticket schema, which enables the core driver to associate a set of private namespace uniform resource identifiers (URIs) with a device.
BindPrinter

The IPrintTicketProvider2::BindPrinter method binds a printer or print queue to a specific version of the print ticket schema, which enables the core driver to associate a set of private namespace uniform resource identifiers (URIs) with a device.
CallRouterFindFirstPrinterChangeNotification

Describes the CallRouterFindFirstPrinterChangeNotification function.
Cancel

Cancels the asynchronous operation.
Cancel

Completes the extension event with a cancellation.
Cancel

Cancels the asynchronous PrintSchema operation.
CancelAsyncCall

Defines the IPrintAsyncCookie::CancelAsyncCall method.
Close

The Close method closes a stream and ends the writing to that stream. This method is mandatory. You must call this method when the filter is done writing.
CloseChannel

Defines the IBidiAsyncNotifyChannel::CloseChannel method.
ClosePort

A language or port monitor's ClosePort function closes a printer port.
ClosePrintProcessor

A print processor's ClosePrintProcessor function completes the printing of a print job and makes the associated handle invalid.
CloseSender

The CloseSender method tells the Pipeline Manager that the filter is done sending XPS parts.
Command

The IPrintOemPS::Command method is used by rendering plug-ins for the Microsoft PostScript printer driver, in order to insert PostScript commands into the print job's data stream.
CommandCallback

The IPrintOemUni::CommandCallback method is used to provide dynamically generated printer commands for Unidrv-supported printers.
Commit

Commits the operation.
CommitAsync

Gets an asynchronous PrintTicket commit operation context.
CommonPropertySheetUIA

The CommonPropertySheetUIA function displays property sheet pages and provides a way for users to modify displayed values.
CommonPropertySheetUIW

The CommonPropertySheetUIW function displays property sheet pages and provides a way for users to modify displayed values.
CommonUIProp

The IPrintOemUI::CommonUIProp method allows a user interface plug-in to modify an existing printer property sheet page.
Complete

Completes the extension event.
Completed

Invoked when the Bidi "Set"" operation is completed.
Completed

Is called when asynchronous PrintSchema operation that is represented by an IPrintSchemaAsyncOperation context is completed.
CompletePrintCapabilities

The IPrintOemPrintTicketProvider::CompletePrintCapabilities method fills in the remaining entries of the specified print capabilities document.
Compression

The IPrintOemUni::Compression method can be used with Unidrv-supported printers to provide a customized bitmap compression method.
ConfigurePortUI

A port monitor UI DLL's ConfigurePortUI function obtains port configuration information from the user and sends it to the port monitor server DLL.
Continue

The Continue method tells the caller (the XPS rasterization service) whether to continue rasterizing the current XPS fixed page.
ControlPrintProcessor

A print processor's ControlPrintProcessor function allows the spooler to control a print job.
ConvertDevModeToPrintTicket

The IPrintOemPrintTicketProvider::ConvertDevModeToPrintTicket method converts a DEVMODEW structure into a print ticket.
ConvertDevModeToPrintTicket

The IPrintTicketProvider::ConvertDevModeToPrintTicket method converts a DEVMODEW structure into a print ticket.
ConvertDevModeToPrintTicket

The IPrintTicketProvider2::ConvertDevModeToPrintTicket method converts a DEVMODEW structure into a print ticket.
ConvertPrintTicketToDevMode

The IPrintOemPrintTicketProvider::ConvertPrintTicketToDevMode method converts a print ticket to a DEVMODEW structure.
ConvertPrintTicketToDevMode

The IPrintTicketProvider::ConvertPrintTicketToDevMode method converts a print ticket to a DEVMODEW structure.
ConvertPrintTicketToDevMode

The IPrintTicketProvider2::ConvertPrintTicketToDevMode method converts a print ticket to a DEVMODEW structure.
CreateDefaultGDLSnapshot

The IPrintCoreHelperUni::CreateDefaultGDLSnapshot method gets a GDL snapshot based on the driver default configuration.
CreateGDLSnapshot

The IPrintCoreHelperUni::CreateGDLSnapshot method creates a GDL snapshot of the driver configuration file based on the current configuration.
CreateInstanceOfMSXMLObject

The IPrintCoreHelper::CreateInstanceOfMSXMLObject method creates an instance of an MSXML 6.0 object by using the correct MSXML DLL.
CreateInstanceOfMSXMLObject

The IPrintCoreHelperPS::CreateInstanceOfMSXMLObject method creates an instance of an MSXML object.
CreateInstanceOfMSXMLObject

The IPrintCoreHelperUni::CreateInstanceOfMSXMLObject method creates an instance of an MSXML object.
CreateNotificationChannel

Defines the IBidiAsyncNotifyChannel::CreateNotificationChannel method.
CreatePrintAsyncNotifyChannel

Defines the IPrintAsyncNotify::CreatePrintAsyncNotifyChannel method.
CreatePrintAsyncNotifyRegistration

Defines the IPrintAsyncNotify::CreatePrintAsyncNotifyRegistration method.
CreatePrinterIC

Describes the CreatePrinterIC function.
CreateRasterizer

The CreateRasterize method creates an XPS rasterizer object.
CreateRasterizer

The CreateRasterize method creates an XPS rasterizer object that can handle high precision colors.
CreateRasterizer

The CreateRasterizer method creates an XPS rasterizer object that can convert content from XPS to PWG Raster using the XPS Rasterization Service. PWG Raster supports non-square DPIs.
CTL_CODE

Learn more about: CTL_CODE macro
Current

The Current method provides the current URI and part.
DeleteJobNamedProperty

Deletes the named property for the specified print job on the specified printer.
DeletePortUI

A port monitor UI DLL's DeletePortUI function deletes a printer port.
DeletePrinterIC

Describes the DeletePrinterIC function.
DeleteProperty

The DeleteProperty method deletes a property from a property bag.
DeleteResource

The DeleteResource method deletes a resource that is associated with the page.
DeviceCapabilities

The IPrintOemUI::DeviceCapabilities method enables a user interface plug-in to specify customized device capabilities.
DevicePropertySheets

The IPrintOemUI::DevicePropertySheets method allows a user interface plug-in to append a new page to a printer device's printer property sheet.
DevMode

The IPrintOemPS::DevMode method, provided by rendering plug-ins for Pscript5, performs operations on private DEVMODEW members.
DevMode

The IPrintOemUI::DevMode method, provided by user interface plug-ins, performs operations on the plug-in's private DEVMODEW members.
DevMode

The IPrintOemUni::DevMode method, provided by rendering plug-ins for Unidrv, performs operations on private DEVMODEW members.
DevQueryPrint

Describes the DevQueryPrint function.
DevQueryPrintEx

The IPrintOemUI::DevQueryPrintEx method allows a user interface plug-in to help determine if a print job is printable.
DevQueryPrintEx

A printer interface DLL's DevQueryPrintEx function determines if a specified print job is compatible with the printer's current configuration and can therefore be printed.
DisableDriver

Defines the IPrintOemEngine::DisableDriver method.
DisableDriver

The IPrintOemPS::DisableDriver method allows a rendering plug-in for Pscript to free resources that were allocated by the plug-in's IPrintOemPS::EnableDriver method.
DisableDriver

The IPrintOemuNI::DisableDriver method allows a rendering plug-in for Unidrv to free resources that were allocated by the plug-in's IPrintOemUni::EnableDriver method.
DisableEvents

Disallows events to be generated.
DisablePDEV

Defines the IPrintOemEngine::DisablePDEV* method.
DisablePDEV

The IPrintOemPS::DisablePDEV method allows a rendering plug-in for Pscript5 to delete the private PDEV structure that was allocated by its IPrintOemPS::EnablePDEV method.
DisablePDEV

The IPrintOemUni::DisablePDEV method allows a rendering plug-in for Unidrv to delete the private PDEV structure that was allocated by its IPrintOemUni::EnablePDEV method.
DocumentEvent

The IPrintOemUI2::DocumentEvent method allows a UI plug-in to replace the core driver UI module's default implementation of the DrvDocumentEvent DDI.
DOCUMENTEVENT_EVENT

Learn more about: DOCUMENTEVENT_EVENT macro
DOCUMENTEVENT_FLAGS

Learn more about: DOCUMENTEVENT_FLAGS macro
DocumentPropertySheets

The IPrintOemUI::DocumentPropertySheets method allows a user interface plug-in to append a new page to a printer device's document property sheet.
DownloadCharGlyph

The IPrintOemUni::DownloadCharGlyph method enables a rendering plug-in for Unidrv to send a character glyph for a specified soft font to the printer.
DownloadFontHeader

The IPrintOemUni::DownloadFontHeader method allows a rendering plug-in for Unidrv to send a font's header information to a printer.
DownloadPattern

The IPrintOemUni3::DownloadPattern method downloads a pattern to a printer.
DriverDMS

The IPrintOemUni::DriverDMS method allows a rendering plug-in for Unidrv to indicate that it uses a device-managed drawing surface.
DriverEvent

The printer driver's DrvDriverEvent function calls a user interface plug-in's IPrintOemUI::DriverEvent method for additional processing of printer driver events.
DrvConvertDevMode

A printer interface DLL's DrvConvertDevMode function converts a printer's DEVMODEW structure from one version to another.
DrvDeviceCapabilities

A printer interface DLL's DrvDeviceCapabilities function returns requested information about a printer's capabilities.
DrvDevicePropertySheets

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

A printer interface DLL's DrvDocumentEvent function can handle certain events associated with printing a document.
DrvDocumentPropertySheets

A printer interface DLL's DrvDocumentPropertySheets function is responsible for creating property sheet pages that describe a print document's properties.
DrvDriverEvent

The print spooler calls a printer interface DLL's DrvDriverEvent function when the spooler processes driver-specific events that might require action by the printer driver.
DrvGetDriverSetting

The IPrintCoreUI2::DrvGetDriverSetting method is provided by the Windows XP Pscript5 driver so that Pscript5 user interface plug-ins can obtain the current status of printer features and other internal information.
DrvGetDriverSetting

The IPrintOemDriverPS::DrvGetDriverSetting method is provided by the Pscript5 driver so that rendering plug-ins can obtain the current status of printer features and other internal information.
DrvGetDriverSetting

The IPrintOemDriverUI::DrvGetDriverSetting method is provided by the Unidrv and Pscript5 minidrivers so that user interface plug-ins can obtain the current status of printer features and other internal information.
DrvGetDriverSetting

The IPrintOemDriverUni::DrvGetDriverSetting method is provided by the Unidrv driver so that rendering plug-ins can obtain the current status of printer features and other internal information.
DrvGetGPDData

The IPrintOemDriverUni::DrvGetGPDData method is provided by the Unidrv driver so that rendering plug-ins can obtain data defined in a printer's GPD file.
DrvGetStandardVariable

The IPrintOemDriverUni::DrvGetStandardVariable method is provided by the Unidrv driver so that rendering plug-ins can obtain the current value of Unidrv's standard variables.
DrvPopulateFilterServices

The DrvPopulateFilterServices function is called by the XPSDrv filter pipeline manager to allow the service provider to instantiate filter service objects in the filter pipeline property bag specified by the pPropertyBag parameter.
DrvPrinterEvent

A printer interface DLL's DrvPrinterEvent function is called by the print spooler when processing printer-specific events that might require action by the printer driver.
DrvQueryColorProfile

The DrvQueryColorProfile function allows a printer interface DLL to specify an ICC profile to use for color management.
DrvQueryJobAttributes

The DrvQueryJobAttributes function allows a printer interface DLL to specify support for such capabilities as printing multiple document pages on a physical page (N-up printing), printing multiple copies of each page, collating pages, and printing pages in reverse order.
DrvSplAbort

The DrvSplAbort function is obsolete.
DrvSplClose

The DrvSplClose function is obsolete.
DrvSplDeviceCaps

A printer interface DLL's DrvSplDeviceCaps function queries a printer for its capabilities.
DrvSplEndDoc

The DrvSplEndDoc function is obsolete.
DrvSplEndPage

This topic describes the DrvSplEndPage function.
DrvSplStartDoc

This topic describes the DrvSplStartDoc function.
DrvSplStartPage

This topic describes the DrvSplStartPage function.
DrvSplWritePrinter

This topic describes the DrvSplWritePrinter function.
DrvUniTextOut

The IPrintOemDriverUni::DrvUniTextOut method is provided by the Unidrv driver so that a rendering plug-in using a device-managed drawing surface can easily output text strings.
DrvUpdateUISetting

The IPrintCoreUI2::DrvUpdateUISetting method is provided by the Windows XP Pscript5 driver so that Pscript5 user interface plug-ins can notify the driver of a modified user interface option.
DrvUpdateUISetting

The IPrintOemDriverUI::DrvUpdateUISetting method is provided by the Unidrv and Pscript5 minidrivers so that user interface plug-ins can notify the driver of a modified user interface option.
DrvUpgradePrinter

A printer interface DLL's DrvUpgradePrinter function is used for updating a printer's registry settings when a new version of the driver is added to a system.
DrvUpgradeRegistrySetting

The IPrintCoreUI2::DrvUpgradeRegistrySetting method is provided by the Windows XP Pscript5 driver so that Pscript5 user interface plug-ins can update device settings stored in the registry.
DrvUpgradeRegistrySetting

The IPrintOemDriverUI::DrvUpdateRegistrySetting method is provided by the Unidrv and Pscript5 minidrivers so that user interface plug-ins can update device settings stored in the registry.
DrvWriteAbortBuf

The IPrintOemDriverUni::DrvWriteAbortBuf method is provided by the Unidrv driver to allow an OEM rendering plug-in to send printer clean-up code after a user terminates a print job.
DrvWriteSpoolBuf

The IPrintCorePS2::DrvWriteSpoolBuf method is provided by the Pscript5 driver so that a rendering plug-in can send printer data to the spooler.
DrvWriteSpoolBuf

The IPrintOemDriverPS::DrvWriteSpoolBuf method is provided by the Pscript5 driver so that rendering plug-ins can send printer data to the spooler.
DrvWriteSpoolBuf

The IPrintOemDriverUni::DrvWriteSpoolBuf method is provided by the Unidrv driver so that a rendering plug-in can send printer data to the spooler.
DrvXMoveTo

The IPrintOemDriverUni::DrvXMoveTo method is provided by the Unidrv driver so that a rendering plug-in can notify the driver of cursor x-position changes.
DrvYMoveTo

The IPrintOemDriverUni::DrvYMoveTo method is provided by the Unidrv driver so that a rendering plug-in can notify the driver of cursor y-position changes.
EMFPLAYPROC

Learn more about: EMFPLAYPROC callback function
EnableDriver

Defines the IPrintOemEngine::EnableDriver method.
EnableDriver

The IPrintOemPS::EnableDriver method allows a rendering plug-in for Pscript to hook out some graphics DDI functions.
EnableDriver

The IPrintOemUni::EnableDriver method allows a rendering plug-in for Unidrv to hook out some graphics DDI functions.
EnableEvents

The EnableEvents method allows events to be generated for the specified printer driver until DisableEvents is called.
EnablePDEV

Defines the IPrintOemEngine::EnablePDEV method.
EnablePDEV

The IPrintOemPS::EnablePDEV method allows a rendering plug-in for Pscript5 to create its own PDEV structure.
EnablePDEV

The IPrintOemUni::EnablePDEV method allows a rendering plug-in for Unidrv to create its own PDEV structure.
EnumConstrainedOptions

The IPrintCoreHelper::EnumConstrainedOptions method provides a list of all of the options that are constrained in a particular feature, based on current settings.
EnumConstrainedOptions

The IPrintCoreHelperPS::EnumConstrainedOptions method provides a list of all of the options that are constrained in a particular feature, based on current settings.
EnumConstrainedOptions

The IPrintCoreHelperUni::EnumConstrainedOptions method provides a list of all of the options that are constrained in a particular feature, based on current settings.
EnumConstrainedOptions

The IPrintCoreUI2::EnumConstrainedOptions method determines which options of a feature are constrained.
EnumFeatures

The IPrintCoreHelper::EnumFeatures method gets a list of all available features, including synthesized and core driver-implement features.
EnumFeatures

The IPrintCoreHelperPS::EnumFeatures method gets a list of all available features, including synthesized and core driver-implement features.
EnumFeatures

The IPrintCoreHelperUni::EnumFeatures method gets a list of all available features, including synthesized and core driver-implement features.
EnumFeatures

The IPrintCorePS2::EnumFeatures method enumerates a printer's available features.
EnumFeatures

The IPrintCoreUI2::EnumFeatures method enumerates a printer's available features.
EnumJobNamedProperties

This topic describes the EnumJobNamedProperties function.
EnumOptions

The IPrintCoreHelper::EnumOptions method gets a list of available options for the given feature.
EnumOptions

The IPrintCoreHelperPS::EnumOptions method gets a list of available options for the given feature.
EnumOptions

The IPrintCoreHelperUni::EnumOptions method gets a list of available options for the given feature.
EnumOptions

The IPrintCorePS2::EnumOptions method enumerates the available options of a specific feature.
EnumOptions

The IPrintCoreUI2::EnumOptions method enumerates the available options of a specific feature.
EnumPrintProcessorDatatypesA

A print processor's EnumPrintProcessorDatatypes function enumerates the data types that the print processor supports.
ExpandIntentOptions

The IPrintOemPrintTicketProvider::ExpandIntentOptions method enables the plug-in to expand printer options (such as photo printing) into individual feature settings in the print ticket.
ExtDeviceMode

The ExtDeviceMode function is provided only for compatibility with 16-bit applications.
FilterFinished

The FilterFinished method reports that a filter is finished processing.
FilterGraphics

The IPrintOemUni::FilterGraphics method can be used with Unidrv-supported printers to modify scan line data and send it to the spooler.
FindFirstPrinterChangeNotification

The FindFirstPrinterChangeNotification function informs the provider that an application has requested notification when a specified set of events occur.
FinishAsyncCall

Defines the IPrintAsyncCookie::FinishAsyncCall method.
FinishAsyncCallWithData

Defines the IPrintAsyncNewChannelCookie::FinishAsyncCallWithData method.
FlushData

The FlushData method flushes buffered data to a data stream while leaving the stream open, allowing the caller to write additional data to the stream.
FontInstallerDlgProc

A user interface plug-in's IPrintOemUI::FontInstallerDlgProc method replaces the Unidrv font installer's user interface.
FreePrintNamedPropertyArray

Describes the FreePrintNamedPropertyArray function.
FreePrintPropertyValue

Frees the value that is retrieved using GetJobNamedPropertyValue function.
GdiDeleteSpoolFileHandle

The GdiDeleteSpoolFileHandle function releases a spool file handle.
GdiEndDocEMF

The GdiEndDocEMF function ends EMF playback operations for an EMF-formatted print job.
GdiEndPageEMF

The GdiEndPageEMF function ends EMF playback operations for a physical page of an EMF-formatted print job.
GdiGetDC

The GdiGetDC function returns a handle to a printer's device context.
GdiGetDevmodeForPage

The GdiGetDevmodeForPage function returns DEVMODEW structures for the specified and previous pages of a print job.
GdiGetPageCount

The GdiGetPageCount function returns the number of pages in a print job.
GdiGetPageHandle

The GdiGetPageHandle function returns a handle to the specified page within a print job.
GdiGetSpoolFileHandle

The GdiGetSpoolFileHandle function returns a handle to a print job's EMF file.
GdiPlayPageEMF

The GdiPlayPageEMF function plays the EMF records within a specified rectangle for one document page of a spooled print job.
GdiResetDCEMF

The GdiResetDCEMF function resets a printer's device context during playback of a spooled EMF print job.
GdiStartDocEMF

The GdiStartDocEMF function performs initialization operations for an EMF-formatted print job.
GdiStartPageEMF

The GdiStartPageEMF function performs initialization operations for a physical page of an EMF-formatted print job.
GenerateCopyFilePaths

A Point and Print DLL's GenerateCopyFilePaths function is used for modifying the source and destination paths used by print spoolers when they copy print queue-associated files to a print client.
get__NewEnum

Gets a pointer to the enumerants of IPrinterExtensionContextCollection objects
get__NewEnum

Gets a pointer to the enumerants of IPrintJobCollection objects.
get__NewEnum

Learn more about the IPrintSchemaOptionCollection::NewEnum property.
get_BidiNotification

Gets the text of the bidirectional communication (Bidi) notification, if applicable.
get_Constrained

Gets the constraint setting type for the schema option.
get_Count

Gets a count of the number of IPrinterExtensionContext objects in the collection.
get_Count

Gets the number of jobs in the print queue.
get_Count

Gets a count of the number of IPrintSchemaOption objects in the collection.
get_DataType

The DataType property gets the PrintSchemaParameterDataType enumerated value that indicates the expected data type for the Print Schema parameter.
get_DetailedReasonId

Gets a more detailed activation reason than what can be retrieved from ReasonId.
get_DisplayName

Gets a displayable string for this item.
get_DisplayUI

Gets the setting that indicates whether or not to show the print UI.
get_DriverProperties

Gets the driver property bag.
get_DriverProperties

Provides access to the driver property bag, if the property bag is present.
get_ExtentHeightInMicrons

Gets the vertical distance between the origin and the bounding limit of the canvas application media size.
get_ExtentWidthInMicrons

Gets the horizontal distance between the origin and the bounding limit of the application media size.
get_Handle

Gets the underlying native handle for this print queue.
get_HeightInMicrons

Gets the height of the page in microns.
get_Id

Gets the print job identifier (ID).
get_ImageableSizeHeightInMicrons

Gets the vertical dimension of the application media size relative to the page orientation.
get_ImageableSizeWidthInMicrons

Gets the horizontal dimension of the application media size relative to the page orientation.
get_JobCopiesAllDocuments

Gets the copy count.
get_JobCopiesAllDocumentsMaxValue

Gets the JobCopiesAllDocuments maximum value.
get_JobCopiesAllDocumentsMinValue

Gets the JobCopiesAllDocuments parameter minimum value.
get_Name

Gets the name of the printer for this print queue.
get_Name

Gets the name of the print job.
get_Name

Gets the base value of the name attribute of this node.
get_NamespaceUri

Gets the namespace URI value of the name attribute of this node.
get_OriginHeightInMicrons

Gets the vertical origin of the imageable area relative to the application media size.
get_OriginWidthInMicrons

Gets the horizontal origin of the imageable area relative to the application media size.
get_PageImageableSize

Gets the imageable area information of the printer.
get_PagesPerSheet

Gets the number of pages per sheet.
get_PrintedPages

Gets the number of pages that have been printed.
get_PrinterQueue

Gets the queue for the printer.
get_PrintSchemaTicket

Gets the print ticket that is appropriate for the queue and the activation.
GET_PSCRIPT5_PRIVATE_DEVMODE_SIZE

Returns PScript5's private DEVMODE structure to allow its plugins to determine its size.
get_QueueProperties

Provides access to the queue property bag, if the property bag is present.
get_RangeMax

The RangeMax property gets the maximum value of the allowed data range.
get_RangeMin

The RangeMin property gets the minimum value of the allowed data range.
get_ReasonId

Gets the reason why the printer extension was activated.
get_Request

Gets the IPrinterExtensionRequest object for the current event.
get_Selected

Indicates whether this option is selected.
get_SelectedOption

Gets an IPrintSchemaOption representing the selected option.
get_SelectionType

Gets the selection type of the Feature.
get_SourceApplication

Gets the name of the application that invoked the printer extension.
get_Status

Gets the current status of the print job.
get_SubmissionTime

Gets the submission time, in the "DATE" format, provided in the user's local time (not in the UTC format that is provided by the spooler).
get_TotalPages

Gets the total number of pages that the document contains.
GET_UNIDRV_PRIVATE_DEVMODE_SIZE

Returns PScript5's private DEVMODE structure to allow its plugins to determine its size.
get_UnitType

The UnitType property gets the unit type.
get_UserInputRequired

The UserInputRequired property gets the Boolean value that indicates whether or not a user input value is required for the Print Schema parameter.
get_UserProperties

Gets the user property bag for this app.
get_UserProperties

Provides access to the user property bag, if the property bag is present.
get_Value

The Value (get_Value) property gets the current value of the IPrintSchemaParameterInitializer object.
get_WidthInMicrons

Gets the width of the page in microns.
get_WindowModal

Gets the run mode parameter that determines whether or not the printer extension should be run as modal.
get_WindowParent

Gets the handle of the parent window.
get_XmlNode

Gets the IXMLDOMNode object associated with this item.
GetAt

Gets a pointer to an IPrinterExtensionContext object.
GetAt

Gets a pointer to an IPrintJob object.
GetAt

Gets a pointer to an IPrintSchemaOption object.
GetBool

Reads a specified boolean property.
GetBool

Gets a specified boolean property.
GetBytes

Reads a byte array property.
GetBytes

Gets a byte array property.
GetCapabilities

Gets an IPrintSchemaCapabilities object that represents the printer capabilities based on the current settings of this IPrintSchemaTicket object.
GetChannelNotificationType

Defines the IBidiAsyncNotifyChannel::GetChannelNotificationType method.
GetCPSUIUserData

CPSUI's GetCPSUIUserData function retrieves data that was previously stored using the SetCPSUIUserData function.
GetDiscardProperties

The GetDiscardProperties method gets the properties of the discard control.
GetEnumCount

The GetEnumCount method gets the number of output results from the bidi request.
GetEnumObject

The GetEnumObject method enumerates the bidi requests in a list.
GetFeature

Gets a named feature from the PrintCapabilities, by name and full namespace URI.
GetFeature

Gets a named feature from the PrintTicket, by name and full namespace URI.
GetFeatureAttribute

The IPrintCoreHelperPS::GetFeatureAttribute method retrieves the feature attribute list or the value of a specific feature attribute.
GetFeatureAttribute

The IPrintCorePS2::GetFeatureAttribute method retrieves the feature attribute list or the value of a specific feature attribute.
GetFeatureAttribute

The IPrintCoreUI2::GetFeatureAttribute method retrieves the feature attribute list or the value of a specific feature attribute.
GetFeatureByKeyName

Gets a feature from the PrintCapabilities based on a given key name.
GetFeatureByKeyName

Gets a feature from the PrintTicket based on the specified key name.
GetFontProperties

The GetFontProperties method gets the font properties.
GetFontRestriction

Gets the restrictions for the font.
GetFontSubstitution

The IPrintCoreHelper::GetFontSubstitution method indicates which device font, if any, is used as a substitution font for a specified TrueType font.
GetFontSubstitution

The IPrintCoreHelperPS::GetFontSubstitution method indicates which device font, if any, is used as a substitution font for a specified TrueType font.
GetFontSubstitution

The IPrintCoreHelperUni::GetFontSubstitution method indicates which device font, if any, is used as a substitution font for a specified TrueType font.
GetGlobalAttribute

The IPrintCoreHelperPS::GetGlobalAttribute method retrieves the global attribute list or the value of a specific global attribute.
GetGlobalAttribute

The IPrintCorePS2::GetGlobalAttribute method retrieves the global attribute list or the value of a specific global attribute.
GetGlobalAttribute

The IPrintCoreUI2::GetGlobalAttribute method retrieves the global attribute list or the value of a specific global attribute.
GetImageProperties

The GetImageProperties method gets an image property that is based on the content type.
GetImplementedMethod

The IPrintOemUni::GetImplementedMethod method is used by Unidrv to determine which IPrintOemUni interface methods a rendering plug-in has implemented.
GetImplementedMethod

The IPrintOemUni2::GetImplementedMethod method is used by Unidrv to determine which IPrintOemUni2 interface methods a rendering plug-in has implemented.
GetImplementedMethod

The IPrintOemUni3::GetImplementedMethod method is used by Unidrv to determine which IPrintOemUni interface methods a rendering plug-in has implemented.
GetInfo

A rendering plug-in's IPrintOemPS::GetInfo method returns identification information.
GetInfo

A user interface plug-in's IPrintOemUI::GetInfo method returns identification information.
GetInfo

A rendering plug-in's IPrintOemUni::GetInfo method returns identification information.
GetInt32

Reads an integer property.
GetInt32

Gets an integer property.
GetJobAttributes

A print provider's GetJobAttributes function gets information about a print job.
GetJobAttributesEx

A print provider's GetJobAttributesEx function obtains information about a print job, including N-up and reverse printing options.
GetJobNamedPropertyValue

Retrieves the value of the named property for the specified print job on the specified printer.
GetNamedCommand

The GetNamedCommand method returns the specified command.
GetNewEmptyPart

The GetNewEmptyPart method creates a new XPS part.
GetOption

The IPrintCoreHelper::GetOption method gets a specified option for a given feature.
GetOption

The IPrintCoreHelperPS::GetOption method gets a specified option for a given feature.
GetOption

The IPrintCoreHelperUni::GetOption method gets a specified option for a given feature.
GetOption

Gets the option with the given name.
GetOptionAttribute

The IPrintCoreHelperPS::GetOptionAttribute method retrieves the option attribute list or the value of a specific option attribute.
GetOptionAttribute

The IPrintCorePS2::GetOptionAttribute method retrieves the option attribute list or the value of a specific option attribute.
GetOptionAttribute

The IPrintCoreUI2::GetOptionAttribute method retrieves the option attribute list or the value of a specific option attribute.
GetOptions

The IPrintCorePS2::GetOptions method retrieves the driver's current feature settings in the format of a list of feature/option keyword pairs.
GetOptions

The IPrintCoreUI2::GetOptions method retrieves the driver's current feature settings in the format of a list of feature/option keyword pairs.
GetOptions

Gets all the options of a feature.
GetOutputData

The GetOutputData method gets the specified output data coming back from the printer.
GetPagePart

The GetPagePart method gets the images, thumbnails, fonts, and so on in a page by using the URI.
GetParameterDefinition

The GetParameterDefinition method retrieves the IPrintSchemaParameterDefinition object, and it represents the psf:ParameterDef element in the PrintCapabilites XML.
GetParameterInitializer

The GetParameterInitializer method retrieves the IPrintSchemaParameterInitializer object, and it represents the psf:ParameterInit element in the PrintTicket XML.
GetPartCompression

The GetPartCompression method gets the compression of the part.
GetPDEVAdjustment

The IPrintOemPS2::GetPDEVAdjustment method enables a plug-in to override specific PDEV settings.
GetPDEVAdjustment

The IPrintOemUni3::GetPDEVAdjustment method enables a plug-in to override specific PDEV settings.
GetPrintCapabilities

The IPrintTicketProvider::GetPrintCapabilities method queries the provider for a complete print capabilities document that describes the printer's features and parameters.
GetPrintCapabilities

The IPrintTicketProvider2::GetPrintCapabilities method queries the provider for a complete print capabilities document that describes the printer's features and parameters.
GetPrintClassObject

The GetPrintClassObject method creates a print filter-related object for a specified printer by using the IID of the interface object to create.
GetPrintDeviceCapabilities

Describes the IPrintTicketProvider2::GetPrintDeviceCapabilities (prdrvcom.h) method.
GetPrintDeviceResources

Describes the IPrintTicketProvider2::GetPrintDeviceResources (prdrvcom.h) method.
GetPrinterQueueView

Retrieves an IPrinterQueueView object, and initializes the object with the range of jobs to be monitored.
GetPrintName

Defines the IBidiAsyncNotifyChannel::GetPrintName method.
GetPrintOutputInfo

Learn more about: GetPrintOutputInfo function
GetPrintProcessorCapabilities

A print processor's GetPrintProcessorCapabilities function returns capabilities associated with a specified input data type.
GetPrintTicket

The GetPrintTicket method gets the print ticket object for the fixed document.
GetPrintTicket

The GetPrintTicket method gets the print ticket object for the fixed document sequence.
GetPrintTicket

The GetPrintTicket method gets the print ticket object for the fixed page.
GetProperties

Gets the properties in the property bag for the queue.
GetProperty

The GetProperty method gets a property from a property bag.
GetPropertyValue

Gets the XML node for the value child element of a Property or a ScoredProperty element with the given name.
GetReadStream

Gets a stream in order to read from a stream property.
GetReadStream

Gets a read stream and uses it to read from a property.
GetReadStreamAsXML

Describes the IPrinterScriptablePropertyBag2::GetReadStreamAsXML method.
GetRequestCount

The GetRequestCount method gets the number of requests in the request list.
GetResult

The GetResult method tells whether the bidi request was successful.
GetSelectedOptionInPrintTicket

Gets the selected option for a feature in IPrintSchemaTicket.
GetServerReferral

Defines the IPrintAsyncNotifyServerReferral::GetServerReferral method.
GetStream

The GetStream method gets the stream object that contains the part data. Each part has part-specific data that is associated with it (for example, a font, image, and page markup).
GetStream

The GetStream method gets the stream interface.
GetString

Reads a string property.
GetString

Gets a string property.
GetSupportedVersions

The IPrintOemPrintTicketProvider::GetSupportedVersions method retrieves major versions of the print schemas that are supported by the plug-in provider.
GetSupportedVersions

The IPrintTicketProvider::GetSupportedVersions method retrieves major version numbers of the print schemas that are supported by the plug-in provider.
GetSupportedVersions

The IPrintTicketProvider2::GetSupportedVersions method retrieves major version numbers of the print schemas that are supported by the plug-in provider.
GetThumbnail

The GetThumbnail method gets the document thumbnail object.
GetThumbnailProperties

The GetThumbnailProperties method gets the thumbnail properties.
GetUri

The GetUri method gets the URI of the fixed document.
GetUri

The GetUri method gets the URI of the fixed document sequence.
GetUri

The GetUri method gets the URI of the part.
GetWriteStream

The GetWriteStream method retrieves the stream object to write page markup to read . You can use this stream to change page markup.
GetWriteStream

Gets a stream in order to write a stream property.
GetWriteStream

Gets a stream and uses it to write to a stream property.
GetXpsPart

The GetXpsPart method retrieves several objects that make up an XPS document.
GetXpsPartIterator

The GetXpsPartIterator method gets an iterator to enumerate all of the parts that are associated with the page.
HalftonePattern

The IPrintOemUni::HalftonePattern method can be used with Unidrv-supported printers to create or modify a halftone pattern before it is used in a halftoning operation.
HideStandardUI

The IPrintOemUI2::HideStandardUI method allows a user interface plug-in to specify whether the standard property sheets should be displayed or hidden.
ImageProcessing

The IPrintOemUni::ImageProcessing method can be used with Unidrv-supported printers to modify image bitmap data, in order to perform color formatting or halftoning.
ImpersonatePrinterClient

ImpersonatePrinterClient resumes impersonation of the client, completing the operation begun by RevertToPrinterSelf.
InitializeFilter

The InitializeFilter method initializes a filter.
InitializeMonitor

Describes the InitializeMonitor function.
InitializeMonitorEx

Describes the InitializeMonitorEx function.
InitializePrintMonitor

The InitializePrintMonitor function is obsolete and is supported only for compatibility purposes.
InitializePrintMonitor2

A print monitor's InitializePrintMonitor2 function initializes a print monitor for use with clustered print servers.
InitializePrintMonitorUI

A port monitor UI DLL's InitializePrintMonitorUI function supplies the print spooler with addresses of DLL functions.
InitializePrintProvidor

A print provider's InitializePrintProvidor function initializes the provider and supplies the print spooler with the provider's entry points.
IsDone

The IsDone method determines whether the iterator has finished the iteration.
IsValidDevmodeA

The print spooler's IsValidDevmode function verifies that the contents of a DEVMODE structure are valid.
IsValidDevmodeW

Learn how the print spooler's IsValidDevmode function verifies that the contents of a DEVMODE structure are valid.
LogJobInfoForBranchOffice

Allows Branch Office clients to send job events to the host print server.
MemoryUsage

The IPrintOemUni::MemoryUsage method can be used with Unidrv-supported printers to specify the amount of memory required for use by a rendering plug-in's IPrintOemUni::ImageProcessing method.
MultiSendRecv

The MultiSendRecv method sends a list of bidi requests.
MxdcGetPDEVAdjustment

The MxdcGetPDEVAdjustment function is exported by a printer interface DLL and supplies printer configuration data for the Microsoft XPS Document Converter (MXDC).
Next

The Next method advances the iterator to the next part.
NotifyXmlChanged

Notifies the print system that the XML DOM object has changed.
OEMAlphaBlend

Describes the OEMAlphaBlend function.
OEMBitBlt

The OEMBitBlt function provides general bit-block transfer capabilities between device-managed surfaces, between GDI-managed standard-format bitmaps, or between a device-managed surface and a GDI-managed standard-format bitmap.
OEMCommand

Describes the OEMCommand function.
OEMCommandCallback

Describes the OEMCommandCallback function.
OEMCommonUIProp

Describes the OEMCommonUIProp function.
OEMCompression

Describes the OEMCompression function.
OEMCopyBits

The OEMCopyBits function performs translations between device-managed raster surfaces and GDI standard-format bitmaps.
OEMCUIPCALLBACK

The OEMCUIPCALLBACK function type is used for defining callback functions that are specified by a user interface plug-in's IPrintOemUI::CommonUIProp method. The structure is defined in printoem.h.
OEMDeviceCapabilities

Describes the OEMDeviceCapabilities function.
OEMDevicePropertySheets

Describes the OEMDevicePropertySheets function.
OEMDevMode

Describes the OEMDevMode function.
OEMDevQueryPrintEx

Describes the OEMDevQueryPrintEx function.
OEMDisableDriver

This function is obsolete.
OEMDisablePDEV

This function (OEMDisablePDEV) is obsolete.
OEMDitherColor

The OEMDitherColor function requests the device to create a brush dithered against a device palette.
OEMDocumentPropertySheets

Describes the OEMDocumentPropertySheets function.
OEMDownloadCharGlyph

Describes the OEMDownloadCharGlyph function.
OEMDownloadFontHeader

Describes the OEMDownloadFontHeader function.
OEMDriverDMS

Describes the OEMDriverDMS function.
OEMEnableDriver

Describes the OEMEnableDriver function.
OEMEnablePDEV

Describes the OEMEnablePDEV function.
OEMEndDoc

The OEMEndDoc function is called by the GDI when it has finished sending a document to the driver for rendering.
OEMEscape

The OEMEscape function retrieves information from a device that is not available in a device-independent device driver interface; the particular query depends on the value of the iEsc parameter.
OEMFillPath

The OEMFillPath function handles the filling of closed paths.
OEMFilterGraphics

Describes the OEMFilterGraphics function.
OEMFontInstallerDlgProc

Describes the OEMFontInstallerDlgProc function.
OEMFontManagement

The OEMFontManagement function is an optional entry point provided for PostScript devices.
OEMGetGlyphMode

The OEMGetGlyphMode function informs the GDI how to cache glyph information.
OEMGetInfo

Describes the OEMGetInfo function.
OEMGradientFill

The OEMGradientFill function shades the specified primitives.
OEMHalftonePattern

Describes the OEMHalftonePattern function.
OEMIcmCreateColorTransform

The OEMIcmCreateColorTransform function creates an ICM color transform.
OEMIcmDeleteColorTransform

The OEMIcmDeleteColorTransform function deletes the specified color transform.
OEMImageProcessing

Describes the OEMImageProcessing function.
OEMLineTo

The OEMLineTo function draws a single, solid, integer-only cosmetic line.
OEMMemoryUsage

This function (OEMMemoryUsage) is obsolete.
OEMNextBand

The OEMNextBand function is called by GDI when it has finished drawing a band for a physical page, so that the driver can send the band to the printer.
OEMOutputCharStr

This function (OEMOutputCharStr) is obsolete.
OEMPaint

The OEMPaint function is obsolete, and is no longer called by GDI in Windows 2000 and later. See DrvPaint.
OEMPDriverEvent

Describes the OEMPDriverEvent function.
OEMPlgBlt

The OEMPlgBlt function provides rotate bit-block transfer capabilities between combinations of device-managed and GDI-managed surfaces.
OEMPrinterEvent

Describes the OEMPrinterEvent function.
OEMQueryAdvanceWidths

The OEMQueryAdvanceWidths function returns character advance widths for a specified set of glyphs.
OEMQueryColorProfile

Describes the OEMQueryColorProfile function.
OEMQueryDeviceSupport

The OEMQueryDeviceSupport function returns requested device-specific information.
OEMQueryFont

The OEMQueryFont function is used by GDI to get the IFIMETRICS structure for a given font.
OEMQueryFontData

The OEMQueryFontData function retrieves information about a realized font.
OEMQueryFontTree

The OEMQueryFontTree function provides GDI with a pointer to a structure that defines mapping of glyph and kerning handles.
OEMRealizeBrush

The OEMRealizeBrush function requests that the driver realize a specified brush for a specified surface.
OEMResetPDEV

Describes the OEMResetPDEV function.
OEMSendFontCmd

This function (OEMSendFontCmdSW) is obsolete.
OEMSendPage

The OEMSendPage function is called by GDI when it has finished drawing a physical page, so that the driver can send the page to the printer.
OEMStartBanding

The OEMStartBanding function is called by GDI when it is ready to start sending bands of a physical page to the driver for rendering.
OEMStartDoc

The OEMStartDoc function is called by GDI when it is ready to start sending a document to the driver for rendering.
OEMStartPage

The OEMStartPage function is called by GDI when it is ready to start sending the contents of a physical page to the driver for rendering.
OEMStretchBlt

The OEMStretchBlt function provides stretching bit-block transfer capabilities between any combination of device-managed and GDI-managed surfaces.
OEMStretchBltROP

The OEMStretchBltROP function performs a stretching bit-block transfer using a raster operation (ROP).
OEMStrokeAndFillPath

The OEMStrokeAndFillPath function concurrently strokes and fills a path.
OEMStrokePath

The OEMStrokePath function strokes a path.
OEMTextOut

The OEMTextOut function calls for the driver to render a set of glyphs at specified positions.
OEMTextOutAsBitmap

Describes the OEMTextOutAsBitmap function.
OEMTransparentBlt

The OEMTransparentBlt function provides bit-block transfer capabilities with transparency.
OEMTTDownloadMethod

Describes the OEMTTDownloadMethod function.
OEMTTYGetInfo

Describes the OEMTTYGetInfo function.
OEMUpdateExternalFonts

Describes the OEMUpdateExternalFonts function.
OEMUpgradePrinter

Describes the OEMUpgradePrinter function.
OEMUpgradeRegistry

Describes the OEMUpgradeRegistry function.
OnBidiResponseReceived

Called when a bidi response is received.
OnChanged

Provides an IPrintJobCollection object that provides a snapshot of a range of print jobs in the queue.
OnDriverEvent

Called when a driver event occurs.
OnPrinterQueuesEnumerated

Called when printer queues are enumerated.
OpenPort

A port monitor's OpenPort function opens a printer port.
OpenPrintProcessor

A print processor's OpenPrintProcessor function prepares the print processor for printing a job and returns a handle.
OutputCharStr

The IPrintOemUni::OutputCharStr method enables a rendering plug-in to control the printing of font glyphs.
PartialReplyPrinterChangeNotification

The print spooler's PartialReplyPrinterChangeNotification function allows a print provider to update the spooler's database of printer changes associated with a notification handle.
PFN_DrvGetDriverSetting

The DrvGetDriverSetting function is obsolete.
PFN_DrvGetStandardVariable

This DrvGetStandardVariable function is obsolete.
PFN_DrvUnidriverTextOut

The DrvUnidriverTextOut function is obsolete.
PFN_DrvUpdateUISetting

The DrvUpdateUISetting function is obsolete.
PFN_DrvUpgradeRegistrySetting

The DrvUpgradeRegistrySetting function is obsolete.
PFN_DrvWriteAbortBuf

The DrvWriteAbortBuf function is obsolete.
PFN_DrvWriteSpoolBuf

The DrvWriteSpoolBuf function pointed to by this function pointer is obsolete.
PFN_DrvXMoveTo

The DrvXMoveTo function is obsolete.
PFN_DrvYMoveTo

The DrvYMoveTo function is obsolete.
PFNCOMPROPSHEET

The ComPropSheet function is supplied by CPSUI and can be called by CPSUI applications (including printer interface DLLs) to build property sheet pages.
PFNGETINFO

The UNIFONTOBJ_GetInfo callback function is provided by the Unidrv driver so that rendering plug-ins can obtain font or glyph information.
PFNPROPSHEETUI

The PFNPROPSHEETUI function type is used by CPSUI applications (including printer interface DLLs) for defining page creation callbacks, which specify property sheet pages for creation.
PlayGdiScriptOnPrinterIC

Describes the PlayGdiScriptOnPrinterIC function.
PrintDocumentOnPrintProcessor

A print processor's PrintDocumentOnPrintProcessor function converts a print job from a spooled format into raw data that can be sent to a print monitor.
PrinterEvent

The IPrintOemUI::PrinterEvent method allows a user interface plug-in to process printer events.
PrinterMessageBoxA

This topic describes the PrinterMessageBoxA function.
PrinterMessageBoxW

This topic describes the PrinterMessageBoxW function.
ProvidorFindClosePrinterChangeNotification

Describes the ProvidorFindClosePrinterChangeNotification function.
ProvidorFindFirstPrinterChangeNotification

Describes the ProvidorFindFirstPrinterChangeNotification function.
PublishDriverInterface

The IPrintOemPS::PublishDriverInterface method allows a rendering plug-in for Pscript5 to obtain the Pscript5 driver's IPrintCorePS2, IPrintOemDriverPS, or IPrintCoreHelperPS interface.
PublishDriverInterface

The IPrintOemUI::PublishDriverInterface method allows a user interface plug-in to obtain the Unidrv or Pscript5 driver's IPrintOemDriverUI, IPrintCoreUI2, IPrintCoreHelperPS, or IPrintCoreHelperUni interface.
PublishDriverInterface

The IPrintOemUni::PublishDriverInterface method allows a rendering plug-in for Unidrv to obtain the Unidrv driver's IPrintOemDriverUni or IPrintCoreHelperUni interface.
PublishPrintTicketHelperInterface

The IPrintOemPrintTicketProvider::PublishPrintTicketHelperInterface method publishes the print ticket helper interface for either Unidrv or Pscript5 user interface (UI) plug-ins.
put_JobCopiesAllDocuments

Sets the copy count.
put_SelectedOption

Changes the selected option of the Print Schema Feature element to the specified IPrintSchemaOption element.
put_Value

The Value (put_Value) property modifies the value of the IPrintSchemaParameterInitializer object.
QueryColorProfile

The IPrintOemUI::QueryColorProfile method allows a user interface plug-in to specify an ICC profile to use for color management.
QueryDeviceDefaultNamespace

The IPrintOemPrintTicketProvider::QueryDeviceDefaultNamespace method queries the device for its default namespace uniform resource identifier (URI).
QueryDeviceNamespace

The IPrintTicketProvider::QueryDeviceNamespace method queries the device for its default namespace uniform resource identifier (URI).
QueryDeviceNamespace

The IPrintTicketProvider2::QueryDeviceNamespace method queries the device for its default namespace uniform resource identifier (URI).
QueryJobAttributes

The IPrintOemUI2::QueryJobAttributes method allows a UI plug-in to postprocess the core driver's results after a call to the DrvQueryJobAttributes DDI.
QuerySimulationSupport

The IPrintCoreUI2::QuerySimulationSupport method retrieves a spooler simulation capability structure, which indicates the kinds of simulation the spooler supports.
RasterizeRect

The RasterizeRect method rasterizes an axis-aligned, rectangular region of an XPS fixed page.
Read

The Read method reads bytes from the stream and returns them as a JavaScript array.
ReadBytes

The ReadBytes method reads a number of bytes into a buffer.
ReadPort

A port monitor's ReadPort function reads data from a printer port.
RegisterForNotifications

Defines the IPrintAsyncNotifyRegistration::RegisterForNotifications method.
RemovePrintDeviceObject

The RemovePrintDeviceObject function removes a device object from a print provider queue.
ReplyPrinterChangeNotification

The print spooler's ReplyPrinterChangeNotification function allows a print provider to update the spooler's database of print queue events associated with a notification handle, and to notify the client that print queue events have occurred.
ReplyPrinterChangeNotificationEx

Describes the ReplyPrinterChangeNotificationEx function.
ReportProgress

The ReportProgress method reports the progress of the XPS job consumption to the pipeline manager.
RequestCancel

Requests the cancellation of a print job.
RequestReader

The RequestReader method retrieves the reader interface for an IInterFilterCommunicator object.
RequestShutdown

The RequestShutdown method requests that a pipeline be shut down.
RequestWriter

The RequestWriter method retrieves the writer interface for an IInterFilterCommunicator object.
Reset

The Reset method sets the iterator to the first element.
ResetPDEV

Defines the IPrintOemEngine::ResetPDEV method.
ResetPDEV

The IPrintOemPS::ResetPDEV method allows a rendering plug-in for Pscript5 to reset its PDEV structure.
ResetPDEV

The IPrintOemUni::ResetPDEV method allows a rendering plug-in for Unidrv to reset its PDEV structure.
RevertToPrinterSelf

When RevertToPrinterSelf is called on an impersonating thread, it returns the token for the thread that is being impersonated.
ROUTER_NOTIFY_CALLBACK

Describes the ROUTER_NOTIFY_CALLBACK callback function.
RouterAllocBidiMem

RouterAllocBidiMem allocates a block of memory of a specified size. This function is used by the port monitor to allocate memory for strings and binary objects.
RouterAllocBidiResponseContainer

RouterAllocBidiResponseContainer allocates a BIDI_RESPONSE_CONTAINER structure containing a list of bidi responses. The bidi response list is an array of BIDI_RESPONSE_DATA structures.
RouterAllocPrinterNotifyInfo

The print spooler's RouterAllocPrinterNotifyInfo function allocates a PRINTER_NOTIFY_INFO structure and an array of PRINTER_NOTIFY_INFO_DATA structures.
RouterCreatePrintAsyncNotificationChannel

The RouterCreatePrintAsyncNotificationChannel function creates an asynchronous notification channel that is associated with a printer or print server.
RouterFreeBidiMem

RouterFreeBidiMem frees a block of memory that was previously allocated by RouterAllocBidiMem.
RouterFreeBidiResponseContainer

RouterFreeBidiResponseContainer frees a BIDI_RESPONSE_CONTAINER structure previously allocated by RouterAllocBidiResponseContainer.
RouterFreePrinterNotifyInfo

The print spooler's RouterFreePrinterNotifyInfo function deallocates a specified PRINTER_NOTIFY_INFO structure and its associated PRINTER_NOTIFY_INFO_DATA structure array.
RouterGetPrintClassObject

The RouterGetPrintClassObject function enumerates the list of print providers, searching for the print provider with the specified name and interface ID.
RouterRegisterForPrintAsyncNotifications

The RouterRegisterForPrintAsyncNotifications function registers for asynchronous notifications associated with a printer or print server.
RouterUnregisterForPrintAsyncNotifications

The RouterUnregisterForPrintAsyncNotifications function unregisters for receiving asynchronous notifications associated with a printer or print server.
Seek

The Seek method changes the seek pointer to a new location in the stream.
Seek

Sets the seek pointer.
SendBidiQuery

Performs an asynchronous refresh operation with the specified query, and invokes the IPrinterQueueEvent::OnBidiResponseReceived method.
SendBidiSetRequestAsync

Uses an XML string value to send a Bidi Set request as an asynchronous operation.
SendFixedDocument

The SendFixedDocument method sends a fixed document object to the pipeline.
SendFixedDocumentSequence

The SendFixedDocumentSequence method sends a fixed document sequence to the pipeline.
SendFixedPage

The SendFixedPage method sends a fixed page of an XPS document to the pipeline.
SendFontCmd

The IPrintOemUni::SendFontCmd method enables a rendering plug-in to modify a printer's font selection command and then send it to the printer.
SendNotification

Defines the IBidiAsyncNotifyChannel::SendNotification method.
SendRecv

The SendRecv method sends a bidi request to the printer.
SendRecvXMLStream

The SendRecvXMLStream method sends a bidirectional printer communication request and receives the response as IStream objects formatted in accordance with the Bidirectional Communication Schemas.
SendRecvXMLString

The SendRecvXMLString method sends a bidirectional printer communication request and receives the response as Unicode strings formatted in accordance with the Bidirectional Communication Schemas.
SendXpsDocument

The SendXpsDocument method sends an XPS document to the pipeline.
SendXpsUnknown

The SendXpsUnknown method sends an XPS document part that cannot be identified to the filter pipeline.
SetBandSize

The IPrintOemUni3::SetBandSize method can be used with Unidrv-supported printers to specify the desired band size on the printed output.
SetBool

Writes a specified boolean property value.
SetBool

Learn how this method writes a specified boolean property value.
SetBytes

Writes a byte array property.
SetBytes

Learn how this method writes a byte array property.
SetCPSUIUserData

CPSUI's SetCPSUIUserData function allows CPSUI applications (including printer interface DLLs) to associate non-displayed data with a property sheet dialog box.
SetFontContent

The SetFontContent method sets the content of the font.
SetFontOptions

The SetFontOptions method sets the options for the font.
SetFontSubstitution

The IPrintCoreHelper::SetFontSubstitution method specifies the device font to print in place of a given TrueType font.
SetFontSubstitution

The IPrintCoreHelperPS::SetFontSubstitution method specifies the device font to print in place of a given TrueType font.
SetFontSubstitution

The IPrintCoreHelperUni::SetFontSubstitution method specifies the device font to print in place of a given TrueType font.
SetImageContent

The SetImageContent method sets an image property that is based on the content type.
SetInputData

The SetInputData method sets the data to send to the printer.
SetInt32

Writes an integer property.
SetInt32

Learn how this method writes an integer property.
SetJobNamedProperty

This topic describes the SetJobNamedProperty function.
SetMinimalLineWidth

The SetMinimalLineWidth method allows the caller to set the minimum thickness (in pixels) of the lines that the device can render.
SetOptions

The IPrintCoreHelper::SetOptions method sets multiple feature-option pairs at the same time.
SetOptions

The IPrintCoreHelperPS::SetOptions method sets multiple feature-option pairs at the same time.
SetOptions

The IPrintCoreHelperUni::SetOptions method sets multiple feature-option pairs at the same time.
SetOptions

The IPrintCoreUI2::SetOptions method sets the driver's feature settings.
SetPagePart

The SetPagePart method associates a new part with the page.
SetPartCompression

The SetPartCompression method sets the compression of the part.
SetPrintTicket

The SetPrintTicket method inserts a print ticket into the fixed document.
SetPrintTicket

The SetPrintTicket method inserts a print ticket into the fixed document sequence.
SetPrintTicket

The SetPrintTicket method associates a print ticket with the page.
SetSchema

The SetSchema method sets the bidi schema string.
SetServerReferral

Defines the IPrintAsyncNotifyServerReferral::SetServerReferral method.
SetSize

Sets the size of the scriptable stream, in bytes.
SetString

Writes a string property.
SetString

Learn how this method writes a string property.
SetThumbnail

The SetThumbnail method removes the current thumbnail object from the document and inserts a new one.
SetThumbnailContent

The SetThumbnailContent method sets the thumbnail content for the part.
SetViewRange

Sets the range of print jobs being monitored.
ShutdownOperation

The Pipeline Manager uses the ShutdownOperation method to shut down a filter if the print job is canceled or an error occurs.
SplDeleteSpoolerPortEnd

Describes the SplDeleteSpoolerPortEnd function.
SplDeleteSpoolerPortStart

Describes the SplDeleteSpoolerPortStart function.
SplIsSessionZero

The SplIsSessionZero function determines whether a certain print job (print handle plus job ID) was issued in session zero.
SplPromptUIInUsersSession

The SplPromptUIInUsersSession function displays a standard message box in the session indicated by the printer handle and job ID.
SpoolerCopyFileEvent

A Point and Print DLL's SpoolerCopyFileEvent function receives notifications of events associated with copying print queue-associated files to a print client, when the client connects to a print server.
SpoolerFindClosePrinterChangeNotification

Describes the SpoolerFindClosePrinterChangeNotification function.
SpoolerFindFirstPrinterChangeNotification

Describes the SpoolerFindFirstPrinterChangeNotification function.
SpoolerFindNextPrinterChangeNotification

Describes the SpoolerFindNextPrinterChangeNotification function.
SpoolerFreePrinterNotifyInfo

Learn more about: SpoolerFreePrinterNotifyInfo function
SpoolerRefreshPrinterChangeNotification

Describes the SpoolerRefreshPrinterChangeNotification function.
Start

Starts the asynchronous PrintSchema operation.
StartOperation

The StartOperation method starts the operation of a filter. The filter reads, processes, and writes data in this method.
TextOutAsBitmap

The IPrintOemUni::TextOutAsBitmap method allows a rendering plug-in to create a bitmap image of a text string, in case a downloadable font is not available.
TTDownloadMethod

The IPrintOemUni::TTDownloadMethod method enables a rendering plug-in to indicate the format that Unidrv should use for a specified TrueType soft font.
TTYGetInfo

The IPrintOemUni::TTYGetInfo method enables a rendering plug-in to supply Unidrv with information relevant to text-only printers.
UnbindDevice

The UnbindDevice method unbinds a printer from a bidi request.
UnbindDevice

The UnbindDevice method releases a printer from a bidirectional printer communication (bidi communication) request.
UnregisterForNotifications

Defines the IPrintAsyncNotifyRegistration::UnregisterForNotifications method.
UpdateExternalFonts

The IPrintOemUI::UpdateExternalFonts method allows a user interface plug-in to update a printer's Unidrv Font Format Files (.uff file).
UpdatePrintDeviceObject

The UpdatePrintDeviceObject function updates the properties of a device object that is in the print provider queue.
UpgradePrinter

The IPrintOemUI::UpgradePrinter method allows a user interface plug-in to upgrade device option values that are stored in the registry.
ValidateAsync

Gets an asynchronous PrintTicket validation operation context.
ValidatePrintTicket

The IPrintOemPrintTicketProvider::ValidatePrintTicket method validates a print ticket.
ValidatePrintTicket

The IPrintTicketProvider::ValidatePrintTicket method validates a print ticket.
ValidatePrintTicket

The IPrintTicketProvider2::ValidatePrintTicket method validates a print ticket.
WaitForPrinterChange

This topic describes the WaitForPrinterChange function.
WhyConstrained

The IPrintCoreHelper::WhyConstrained method provides a list of options that are constraining the specified feature-option pair in the current configuration.
WhyConstrained

The IPrintCoreHelperPS::WhyConstrained method provides a list of options that constrain the specified feature-option pair in the current configuration.
WhyConstrained

The IPrintCoreHelperUni::WhyConstrained method provides a list of options that constrain the specified feature-option pair in the current configuration.
WhyConstrained

The IPrintCoreUI2::WhyConstrained method determines why the specified feature/option selection is constrained.
Write

The Write method writes the provided JavaScript array to the stream and returns the number of bytes written.
WriteBytes

The WriteBytes method writes a specified number of bytes to a stream.
WritePort

A port monitor's WritePort function writes data to a printer port.
WritePrinter

The IPrintOemPS2::WritePrinter method, if supported, enables a rendering plug-in to capture all output data generated by a Postscript driver.
WritePrinter

The IPrintOemUni2::WritePrinter method, if supported, enables a rendering plug-in to capture all output data generated by a Unidrv driver.
XcvClosePort

A port monitor server DLL's XcvClosePort function closes a printer port that was opened by XcvOpenPort.
XcvDataPort

A port monitor server DLL's XcvDataPort function receives information from, and returns information to, the port monitor's UI DLL.
XcvOpenPort

A port monitor server DLL's XcvOpenPort function opens a port for configuration operations.

Interfaces

 
IAsyncGetSendNotificationCookie

Learn more about: IAsyncGetSendNotificationCookie interface
IAsyncGetSrvReferralCookie

Learn more about: IAsyncGetSrvReferralCookie interface
IBidiAsyncNotifyChannel

Defines the IBidiAsyncNotifyChannel interface.
IBidiRequest

The IBidiRequest interface allows an application or other objects to compose a bidi request.
IBidiRequestContainer

The IBidiRequestContainer interface allows an application or other objects to compose and retrieve a list of bidi requests.
IBidiSpl

The IBidiSpl interface allows an application or other objects to send a single bidi request or a list of bidi requests.
IBidiSpl2

The IBidiSpl2 interface enables an application or other objects to send one or more bidi requests using one of the Bidi Request Schemas and receive information formatted as one of the Bidi Response Schemas.
IFixedDocument

The IFixedDocument interface represents a fixed document for an XPS document sequence.
IFixedDocumentSequence

The IFixedDocumentSequence interface represents the fixed document sequence for an XPS document.
IFixedPage

A filter uses the IFixedPage interface to work with fixed pages in an XPS document.
IInterFilterCommunicator

The IInterFilterCommunicator interface is implemented in an object that resides in the PrintFilterPipelineSvc service and is made available to filters through methods in the IPrintPipelineFilter interface.
IPartBase

The IPartBase interface is a common base for document part interfaces.
IPartColorProfile

The IPartColorProfile interface is the abstraction for an XPS color profile.
IPartDiscardControl

The filter pipeline supports the discard control.
IPartFont

The IPartFont interface is the abstraction for fonts in a part.
IPartFont2

The IPartFont2 interface is the abstraction for fonts in a part.
IPartImage

The IPartImage interface is the abstraction for images in an XPS document.
IPartPrintTicket

The IPartPrintTicket interface is the abstraction for a print ticket in an XPS document.
IPartResourceDictionary

The IPartResourceDictionary interface is the abstraction for an XPS resource dictionary.
IPartThumbnail

The IPartThumbnail interface is an abstraction for thumbnails in an XPS document.
IPrintAsyncCookie

Defines the IPrintAsyncCookie interface.
IPrintAsyncNewChannelCookie

Defines the IPrintAsyncNewChannelCookie interface.
IPrintAsyncNotify

Defines the IPrintAsyncNotify interface.
IPrintAsyncNotifyRegistration

Defines the IPrintAsyncNotifyRegistration interface.
IPrintAsyncNotifyServerReferral

Defines the IPrintAsyncNotifyServerReferral interface.
IPrintBidiAsyncNotifyRegistration

Defines the IPrintBidiAsyncNotifyRegistration interface.
IPrintClassObjectFactory

TheIPrintClassObjectFactory interface creates print filter-related interfaces.
IPrintCoreHelper

This section describes the methods that are defined for the IPrintCoreHelper COM interface.
IPrintCoreHelperPS

This section describes the methods that are defined for the IPrintCoreHelperPS COM interface.
IPrintCoreHelperUni

This section describes the methods that are defined for the IPrintCoreHelperUni COM interface.
IPrintCoreHelperUni2

The IPrintCoreHelperUni2 interface derives from the IPrintCoreHelperUni interface and adds a method.
IPrintCorePS2

This section describes the methods defined for the IPrintCorePS2 COM Interface. Method prototypes are defined in prcomoem.h.
IPrintCoreUI2

This section describes the methods defined for the IPrintCoreUI2 COM Interface.
IPrinterBidiSetRequestCallback

Describes the signature of the callback object that receives the Bidi response.
IPrinterExtensionAsyncOperation

Provides the context associated with an asynchronous operation.
IPrinterExtensionContext

Represents the context for the activation of a UWP device app for printers.
IPrinterExtensionContextCollection

Exposes a collection of IPrinterExtensionContext objects.
IPrinterExtensionEvent

The IPrinterExtensionEvent interface represents the event delegate implemented by desktop printer extensions for activation.
IPrinterExtensionEventArgs

Represents the context for the desktop printer extension activation.
IPrinterExtensionManager

The IPrinterExtensionManager interface is retrieved by CoCreating the PrinterExtensionManager class.
IPrinterExtensionRequest

Completes the given extension event with either a cancellation or success.
IPrinterPropertyBag

Provides strongly-typed get and set methods.
IPrinterQueue

Represents a single printer queue.
IPrinterQueue2

Learn how IPrinterQueue2 represents a single printer queue.
IPrinterQueueEvent

Provides the event delegate for printer queue events.
IPrinterQueueView

Provides a way to change the range of print jobs being monitored.
IPrinterQueueViewEvent

Provides the signature of the event handler.
IPrinterScriptablePropertyBag

The IPrinterScriptablePropertyBag interface is the property bag interface passed to script clients.
IPrinterScriptablePropertyBag2

Defines the IPrinterScriptablePropertyBag2 interface.
IPrinterScriptableSequentialStream

The IPrinterScriptableSequentialStream interface is an ISequentialStream-like interface that works in JavaScript. Instead of reading and writing byte arrays, it reads and writes JavaScript arrays of bytes, which are values between 0 and 255.
IPrinterScriptableStream

The IPrinterScriptableStream interface builds on IPrinterScriptableSequentialStream and adds IStream-like semantics.
IPrinterScriptContext

Passed to all third-party constraints JavaScript functions, and provides access to relevant objects.
IPrintJob

Contains properties that represent a print job.
IPrintJobCollection

This interfaces provides an enumeration of the jobs in the print queue.
IPrintOemDriverPS

This section describes the methods defined for the IPrintOemDriverPS COM Interface.
IPrintOemDriverUI

This section describes the methods defined for the IPrintOemDriverUI COM Interface.
IPrintOemDriverUni

This section describes the methods defined for the IPrintOemDriverUni COM interface.
IPrintOemEngine

Defines the IPrintOemEngine interface.
IPrintOemPrintTicketProvider

This section describes the methods that are defined for the IPrintOemPrintTicketProvider COM interface.
IPrintOemPS

This section describes the methods defined for the IPrintOemPS COM interface.
IPrintOemPS2

This section describes the methods defined for the IPrintOemPS2 COM interface. In addition to these methods, this interface includes all of the methods defined in the IPrintOemPS COM interface.
IPrintOemUI

This section describes the methods defined for the IPrintOemUI COM interface.
IPrintOemUI2

This section describes the methods defined for the IPrintOemUI2 COM interface.
IPrintOemUIMXDC

This section describes the methods that are defined for the IPrintOemUIMXDC COM interface.
IPrintOemUni

This section describes the methods defined for the IPrintOemUni COM interface.
IPrintOemUni2

This section describes the methods defined for the IPrintOemUni2 COM interface.
IPrintOemUni3

This section describes the methods defined for the IPrintOemUni3 COM interface.
IPrintPipelineFilter

The methods in the IPrintPipelineFilter interface are called for initialization and shutdown. A filter must implement these methods.
IPrintPipelineManagerControl

The IPrintPipelineManagerControl interface is passed to each filter in the IPrintPipelineFilter::InitializeFilter method.
IPrintPipelineProgressReport

A rendering filter uses the IPrintPipelineProgressReport interface to send progress status to a spooler.
IPrintPipelinePropertyBag

The IPrintPipelinePropertyBag interface is implemented by the PrintFilterPipelineSvc service and is made available to filters through methods in the IPrintPipelineFilter interface. IprintPipelinePropertyBag inherits from the IUnknown interface.
IPrintReadStream

Filters use the IPrintReadStream interface to read data as a raw stream of bytes.
IPrintReadStreamFactory

The IPrintReadStreamFactory interface creates a stream reader that a filter can use to access the stream. For example, a filter could use this stream to access the per-user print ticket.
IPrintSchemaAsyncOperation

Represents an asynchronous operation context for validation, merge or commit operations.
IPrintSchemaAsyncOperationEvent

Exposes a validation, merge, or commit completion event delegate.
IPrintSchemaCapabilities

Provides the primary method to access PrintCapabilities.
IPrintSchemaCapabilities2

The IPrintSchemaCapabilities2 interface represents an extension to the IPrintSchemaCapabilities object, which provides wrapper methods over a print capabilities document.
IPrintSchemaDisplayableElement

Provides the displayable string for a PrintCapabilites PrintSchema element.
IPrintSchemaElement

Provides access to the underlying XML node and name attribute information for a Print Schema element.
IPrintSchemaFeature

Exposes a Print Schema Feature element.
IPrintSchemaNUpOption

Exposes a Print Schema NUp Option element.
IPrintSchemaOption

Exposes a Print Schema Option object.
IPrintSchemaOptionCollection

Exposes a collection of IPrintSchemaOption objects.
IPrintSchemaPageImageableSize

Exposes the PageImageableSize property of PrintCapabilities. The properties of this interface map directly to those in the PageImageableSize property of PrintCapabilities.
IPrintSchemaPageMediaSizeOption

Exposes a Print Schema PageMediaSize Option element.
IPrintSchemaParameterDefinition

The IPrintSchemaParameterDefinition interface represents a parameter definition, as defined in the Print Schema Specification.
IPrintSchemaParameterInitializer

The IPrintSchemaParameterInitializer interface represents a parameter initialization value, as defined in the print schema specification.
IPrintSchemaTicket

Provides the primary method to access and validate a PrintTicket.
IPrintSchemaTicket2

The IPrintSchemaTicket2 interface is an extension to the IPrintSchemaTicket interface, which provides wrapper methods over a print ticket document.
IPrintTicketProvider

Describes the IPrintTicketProvider interface.
IPrintTicketProvider2

Describes the IPrintTicketProvider2 interface.
IPrintUnidiAsyncNotifyRegistration

Provides information on IPrintUnidiAsyncNotifyRegistration constructs.
IPrintWriteStream

Filters use the IPrintWriteStream interface to write data as a raw stream of bytes.
IPrintWriteStreamFlush

Filters use the IPrintWriteStreamFlush interface to explicitly flush data as a raw stream of bytes from a filter. This interface is retrieved through IPrintWriteStream::QueryInterface().
IXpsDocument

The IXpsDocument interface represents the root of an XPS document.
IXpsDocumentConsumer

A filter uses the IXpsDocumentConsumer interface when it generates XPS content for the pipeline to consume.
IXpsDocumentProvider

The IxpsDocumentProvider interface provides interfaces to consume parts of a document.
IXpsPartIterator

The IXpsPartIterator interface is an iterator for XPS parts.
IXpsRasterizationFactory

The IXpsRasterizationFactory interface represents an object factory for creating XPS rasterizer objects.
IXpsRasterizationFactory1

In Windows 8 and above, IXPSRasterizationFactory1 is an interface for handling high precision colors.
IXpsRasterizationFactory2

In Windows 10, the IXpsRasterizationFactory2 interface represents an object factory for creating components that can convert content from XPS to PWG Raster using the XPS Rasterization Service. PWG Raster supports non-square DPIs.
IXpsRasterizer

The IXpsRasterizer interface represents an XPS rasterizer that can create a bitmap image of an XPS fixed page or of a rectangular region of a fixed page.
IXpsRasterizerNotificationCallback

The IXpsRasterizerNotificationCallback interface enables the XPS rasterization service to determine whether to continue a rasterization operation that was previously initiated by an XPSDrv filter.

Structures

 
DEVOBJ

The DEVOBJ structure is used as an input argument to several of a rendering plug-in's COM interface methods.
OEMCUIPPARAM

The OEMCUIPPARAM structure is used as an input parameter to a user interface plug-in's IPrintOemUI::CommonUIProp method.
ATTRIBUTE_INFO_1

The ATTRIBUTE_INFO_1 structure is used as a parameter for a printer interface DLL's DrvQueryJobAttributes function. All member values are function-supplied.
ATTRIBUTE_INFO_2

The ATTRIBUTE_INFO_2 structure is used as a parameter for a printer interface DLL's DrvQueryJobAttributes function. All member values are function-supplied.
ATTRIBUTE_INFO_3

The ATTRIBUTE_INFO_3 structure is used as a parameter for a printer interface DLL's DrvQueryJobAttributes function. All member values are function-supplied.
ATTRIBUTE_INFO_3

Learn how the ATTRIBUTE_INFO_3 structure is used as a parameter for a printer interface DLL's DrvQueryJobAttributes function. All member values are function-supplied.
ATTRIBUTE_INFO_4

The ATTRIBUTE_INFO_4 structure is used as a parameter for a printer interface DLL's DrvQueryJobAttributes function.
ATTRIBUTE_INFO_4

Learn how the ATTRIBUTE_INFO_4 structure is used as a parameter for a printer interface DLL's DrvQueryJobAttributes function.
BIDI_DATA

The BIDI_DATA structure is used to store the values of a bidi schema.
BIDI_REQUEST_CONTAINER

The BIDI_REQUEST_CONTAINER structure is a container for a list of bidi requests.
BIDI_REQUEST_DATA

The BIDI_REQUEST_DATA structure holds a single bidi request.
BIDI_RESPONSE_CONTAINER

The BIDI_RESPONSE_CONTAINER structure is a container for a list of bidi responses.
BIDI_RESPONSE_DATA

The BIDI_RESPONSE_DATA structure holds a single bidi response.
BINARY_CONTAINER

The BINARY_CONTAINER structure is a container for binary data.
BranchOfficeJobData

This structure contains the type of event to log (eEventType), the job ID, and the data required by the event.
BranchOfficeJobDataContainer

This structure defines a container for one or more BranchOfficeJobData structures to sent to a server.
BranchOfficeJobDataError

This structure contains the necessary data for logging a branch office job failure event on a remote server. This is based on standard job-related data available to the spooler.
BranchOfficeJobDataPipelineFailed

Contains the necessary data for logging a branch office job Pipeline Rendering Failed event on a remote server. This is based on standard job-related data available to the spooler.
BranchOfficeJobDataPrinted

Contains the necessary data for logging a branch office job completed event on a remote server. This is based on standard job-related data available to the spooler.
BranchOfficeJobDataRendered

Contains the necessary data for logging a branch office job Pipeline Rendering Event on a remote server. This is based on job-related data available to the spooler.
BranchOfficeLogOfflineFileFull

Contains the necessary data for logging that the offline log archive on the current client overflowed at some point.
COMPROPSHEETUI

The COMPROPSHEETUI structure is used as an input parameter to CPSUI's ComPropSheet function, if the function code is CPSFUNC_ADD_PCOMPROPSHEETUI. All structure members must be supplied by the caller of ComPropSheet.
CONFIG_INFO_DATA_1

The XcvData function uses a CONFIG_INFO_DATA_1 structure when it obtains configuration data for a particular port.
CPSUICBPARAM

The CPSUICBPARAM structure is used as the input parameter to _CPSUICALLBACK-typed callback functions.
CPSUIDATABLOCK

The CPSUIDATABLOCK structure is used as a parameter for the ComPropSheet function, if the function code is CPSFUNC_SET_DATABLOCK or CPSFUNC_QUERY_DATABLOCK.
CUSTOMSIZEPARAM

The CUSTOMSIZEPARAM structure holds information pertaining to a single custom page size parameter for a printer.
DATA_HEADER

The DATA_HEADER structure is used to specify a data section within a Unidrv font format file (.uff file).
DELETE_PORT_DATA_1

The XcvData function uses a DELETE_PORT_DATA_1 structure when it deletes a port.
DEVICEPROPERTYHEADER

The DEVICEPROPERTYHEADER structure is used as an input parameter to a printer interface DLL's DrvDevicePropertySheets function.
DEVQUERYPRINT_INFO

The DEVQUERYPRINT_INFO structure is used as an input parameter to a printer interface DLL's DevQueryPrintEx function.
DLGPAGE

The DLGPAGE structure is used for specifying a property sheet page to CPSUI's ComPropSheet function. The structure's address is included in a COMPROPSHEETUI structure, and all member values are supplied by the ComPropSheet caller.
DOC_INFO_INTERNAL

Describes the DOC_INFO_INTERNAL structure.
DOCEVENT_CREATEDCPRE

The DOCEVENT_CREATEDCPRE structure contains a set of values used in certain calls to DrvDocumentEvent and IPrintOemUI2::DocumentEvent.
DOCEVENT_ESCAPE

The DOCEVENT_ESCAPE structure is a container for values used as parameters for the ExtEscape function.
DOCEVENT_FILTER

The DOCEVENT_FILTER structure contains a list of document events to which the printer driver will respond. See DrvDocumentEvent for a complete list of the document events.
DOCUMENTPROPERTYHEADER

The DOCUMENTPROPERTYHEADER structure is used as an input parameter to a printer interface DLL's DrvDocumentPropertySheets function.
DOT4_ACTIVITY

Learn more about: _DOT4_ACTIVITY structure
DOT4_DC_CREATE_DATA

Defines the DOT4_DC_CREATE_DATA construct.
DOT4_DC_DESTROY_DATA

This topic describes the DOT4_DC_DESTROY_DATA structure.
DOT4_DC_OPEN_DATA

This topic describes the DOT4_DC_OPEN_DATA structure.
DOT4_DRIVER_CMD

This topic describes the DOT4_DRIVER_CMD structure.
DRIVER_INFO_8A

The DRIVER_INFO_8 structure contains printer driver information.
DRIVER_INFO_8W

Learn how the DRIVER_INFO_8 structure contains printer driver information.
DRIVER_UPGRADE_INFO_1

The DRIVER_UPGRADE_INFO_1 structure is used as an input to a printer interface DLL's DrvUpgradePrinter function.
DRIVER_UPGRADE_INFO_2

The DRIVER_UPGRADE_INFO_2 structure is used as an input to a printer interface DLL's DrvUpgradePrinter function.
DRVPROCS

The DRVPROCS structure is obsolete and is not used with the COM interfaces for Microsoft printer drivers.
EXTCHKBOX

The EXTCHKBOX structure is used by CPSUI applications (including printer interface DLLs) for specifying an extended check box, which can be added to a property sheet page option.
EXTPUSH

The EXTPUSH structure is used by CPSUI applications (including printer interface DLLs) for specifying an extended push button, which can be added to a property sheet page option. When the button is pushed, a new dialog can be displayed.
EXTTEXTMETRIC

The EXTTEXTMETRIC structure is used to specify font-specific information within Unidrv font metrics files (.ufm files).
FINVOCATION

The FINVOCATION structure is used as input to the IPrintOemUni::SendFontCmd method. The structure is defined in printoem.h.
GETINFO_FONTOBJ

The GETINFO_FONTOBJ structure is used as input to the UNIFONTOBJ_GetInfo callback function.
GETINFO_GLYPHBITMAP

The GETINFO_GLYPHBITMAP structure is used as input to the UNIFONTOBJ_GetInfo callback function.
GETINFO_GLYPHSTRING

The GETINFO_GLYPHSTRING structure is used as input to the UNIFONTOBJ_GetInfo callback function.
GETINFO_GLYPHWIDTH

The GETINFO_GLYPHWIDTH structure is used as input to the UNIFONTOBJ_GetInfo callback function.
GETINFO_MEMORY

The GETINFO_MEMORY structure is used as input to the UNIFONTOBJ_GetInfo callback function.
GETINFO_STDVAR

The GETINFO_STDVAR structure is used as input to the UNIFONTOBJ_GetInfo callback function.
GLYPHRUN

The GLYPHRUN structure is one of the structures used to define the contents of glyph translation table files (.gtt files).
INSERTPSUIPAGE_INFO

The INSERTPSUIPAGE_INFO structure is used as an input parameter to CPSUI's ComPropSheet function, if the function code is CPSFUNC_INSERT_PSUIPAGE. All member values must be supplied by the ComPropSheet caller.
INVOC

The INVOC structure is used for describing printer command strings in Unidrv font metrics files (.ufm files) and glyph translation table files (.gtt files).
IPPARAMS

The IPPARAMS structure is used as an input parameter to a rendering plug-in's IPrintOemUni::ImageProcessing method.
KERNDATA

The KERNDATA structure is used for describing printer kerning pairs.
MAPTABLE

The MAPTABLE structure is one of the structures used to define the contents of glyph translation table files (.gtt files).
MESSAGEBOX_PARAMS

The MESSAGEBOX_PARAMS structure is used by the SplPromptUIInUsersSession function to hold information about the appearance and behavior of a message box.
MONITOR

The MONITOR structure is obsolete and is supported only for compatibility reasons.
MONITOR2

The MONITOR2 structure contains pointers to the functions defined by print monitors.
MONITOREX

The MONITOREX structure is obsolete and supported for compatibility purposes only.
MONITORINIT

The MONITORINIT structure is used as an input parameter to a print monitor's InitializePrintMonitor2 function.
MONITORREG

The MONITORREG structure supplies print monitors with the address of registry functions to use instead of Win32 registry API functions.
MONITORUI

The MONITORUI structure contains pointers to the functions within a port monitor UI DLL that the print spooler calls.
NOTIFICATION_CONFIG_1

Learn more about: _NOTIFICATION_CONFIG_1 structure
OEM_DMEXTRAHEADER

The OEM_DMEXTRAHEADER structure must be used to define the first members of a set of private DEVMODEW structure members.
OEMDMPARAM

The OEMDMPARAM structure is used as an input parameter to the IPrintOemUI::DevMode, IPrintOemUni::DevMode, and IPrintOemPS::DevMode methods.
OEMFONTINSTPARAM

The OEMFONTINSTPARAM structure is used as an input parameter to a user interface plug-in's IPrintOemUI::FontInstallerDlgProc method.
OEMMEMORYUSAGE

The OEMMEMORYUSAGE structure is used as an input parameter to a rendering plug-in's IPrintOemUni::MemoryUsage method.
OEMUIOBJ

The OEMUIOBJ structure is used as an input argument to several of the methods exported by user interface plug-ins.
OEMUIPROCS

The OEMUIPROCS structure is obsolete.The OEMUIPROCS structure contains the address of the DrvGetDriverSetting and DrvUpdateUISetting functions that are exported by Microsoft printer drivers.
OEMUIPSPARAM

The OEMUIPSPARAM structure is passed to a user interface plug-in's IPrintOemUI::DevicePropertySheets and IPrintOemUI::DocumentPropertySheets methods.
OIEXT

The OIEXT structure supplies additional, optional information about a property sheet page option that is described by an OPTITEM structure.
OPTCOMBO

Describes the OPTCOMBO structure.
OPTITEM

The OPTITEM structure is used by CPSUI applications (including printer interface DLLs) for describing one property sheet option on a property sheet page, if the page is described by a COMPROPSHEETUI structure.
OPTPARAM

An array of OPTPARAM structures is used by CPSUI applications (including printer interface DLLs) for describing all the parameter values associated with a property sheet option. The array's address is included in an OPTTYPE structure.
OPTTYPE

The OPTTYPE structure is used by CPSUI applications (including printer interface DLLs) for describing the type and other characteristics of a property sheet option, if the option is specified by an OPTITEM structure.
PDEV_ADJUST_GRAPHICS_RESOLUTION

The PDEV_ADJUST_GRAPHICS_RESOLUTION structure specifies a graphics resolution value.
PDEV_ADJUST_IMAGEABLE_ORIGIN_AREA

The PDEV_ADJUST_IMAGEABLE_ORIGIN_AREA structure specifies the imageable origin area.
PDEV_ADJUST_PAPER_MARGIN

The PDEV_ADJUST_PAPER_MARGIN structure specifies the imageable printing area.
PDEV_ADJUST_PHYSICAL_PAPER_SIZE

The PDEV_ADJUST_PAPER_PHYSICAL_SIZE structure specifies a paper size value.
PDEV_HOSTFONT_ENABLED

The PDEV_HOSTFONT_ENABLED structure indicates whether the Hostfont feature is enabled.
PDEV_USE_TRUE_COLOR

The PDEV_USE_TRUE_COLOR structure indicates whether the output color space should be color or grayscale.
PORT_DATA_1

The XcvData function uses a PORT_DATA_1 structure when it adds a port or configures an existing port.
PORT_DATA_2

Learn more about: _PORT_DATA_2 structure
PORT_DATA_LIST_1

Learn more about: _PORT_DATA_LIST_1 structure
PRINT_EXECUTION_DATA

This topic describes the PRINT_EXECUTION_DATA structure.
PRINT_FEATURE_OPTION

The PRINT_FEATURE_OPTION structure contains information about a feature-option pair, where the option is one option of a particular feature.
PRINTER_EVENT_ATTRIBUTES_INFO

The PRINTER_EVENT_ATTRIBUTES_INFO structure contains the former attributes and the new attributes for a printer.
PRINTER_NOTIFY_INIT

Learn more about: _PRINTER_NOTIFY_INIT structure
PrintNamedProperty

Learn more about: PrintNamedProperty structure
PRINTPROCESSOR_CAPS_1

Learn more about: _PRINTPROCESSOR_CAPS_1 structure
PRINTPROCESSOROPENDATA

The PRINTPROCESSOROPENDATA structure is used as an input parameter to a print processor's OpenPrintProcessor function.
PrintPropertiesCollection

Learn more about: PrintPropertiesCollection structure
PrintPropertyValue

Describes the PrintPropertyValue structure.
PRINTPROVIDOR

The PRINTPROVIDOR structure is used as a parameter to a print provider's InitializePrintProvidor function.
PROPSHEETUI_GETICON_INFO

The PROPSHEETUI_GETICON_INFO structure is used as an input parameter to an application's PFNPROPSHEETUI-typed function, when the function is called with a reason value of PROPSHEETUI_REASON_GET_ICON.
PROPSHEETUI_INFO

The PROPSHEETUI_INFO structure is used as an input parameter to PFNPROPSHEETUI-typed functions.
PROPSHEETUI_INFO_HEADER

The PROPSHEETUI_INFO_HEADER structure is used as an input parameter to an application's PFNPROPSHEETUI-typed function, when the function is called with a reason value of PROPSHEETUI_REASON_GET_INFO_HEADER.
PSCRIPT5_PRIVATE_DEVMODE

The PSCRIPT5_PRIVATE_DEVMODE structure enables Pscript5 plug-ins to determine the size of the private portion of Pscript5's DEVMODEW structure.
PSPINFO

The PSPINFO structure is used as an input parameter to a property sheet page's dialog box procedure, when the Windows message is WM_INITDIALOG. The dialog box procedure's address is specified in a DLGPAGE structure.
PUBLISHERINFO

The PUBLISHERINFO structure is used as an input parameter to the IPrintOemPS::GetInfo method.
SETRESULT_INFO

The SETRESULT_INFO structure is used as an input parameter to an application's PFNPROPSHEETUI-typed callback function.
SHOWUIPARAMS

The SplPromptUIInUsersSession function uses the SHOWUIPARAMS structure to hold information about the appearance and behavior of a message box.
SIMULATE_CAPS_1

The SIMULATE_CAPS_1 structure contains information about the types of simulations a spooler supports.
SPLCLIENT_INFO_1

The SPLCLIENT_INFO_1 structure is used as input to the GenerateCopyFilePaths function that is exported by Point and Print DLLs.
SPLCLIENT_INFO_2_LONGHORN

Learn more about: _SPLCLIENT_INFO_2_V3 structure
SPLCLIENT_INFO_2_W2K

Contains the handle for the server-side printer that is used to make direct API calls from the client to the server without the overhead of the RPC.
SPLCLIENT_INFO_2_WINXP

Learn more about: _SPLCLIENT_INFO_2_V2 structure
SPLCLIENT_INFO_3_VISTA

Contains a super-set of the information in both a SPLCLIENT_INFO_1 and SPLCLIENT_INFO_2 structure. It also contains additional information needed by the provider.
SPLCLIENT_INFO_INTERNAL

The SPLCLIENT_INFO_INTERNAL structure is a super set of the information in splclient_info_1, splclient_info2 and splclient_info3 and contains additional information needed by the Device Control Defender code.
TRANSDATA

The TRANSDATA structure is one of the structures used to define the contents of glyph translation table files (.gtt files).
UFF_FILEHEADER

The UFF_FILEHEADER structure is used to define the contents of Unidrv font format files (.uff files).
UFF_FONTDIRECTORY

The UFF_FONTDIRECTORY structure is used to specify the directory of font descriptions contained in a Unidrv font format file (.uff file).
UNI_CODEPAGEINFO

The UNI_CODEPAGEINFO structure is one of the structures used to define the contents of glyph translation table files (.gtt files).
UNI_GLYPHSETDATA

The UNI_GLYPHSEDATA structure is one of the structures used to define the contents of glyph translation table files (.gtt files).
UNIDRV_PRIVATE_DEVMODE

The UNIDRV_PRIVATE_DEVMODE structure enables Unidrv plug-ins to determine the size of the private portion of Unidrv's DEVMODEW structure.
UNIDRVINFO

The UNIDRVINFO structure is used to specify printer-specific information within Unidrv font metrics files (.ufm files).
UNIFM_HDR

The UNIFM_HDR structure is used to define the contents of Unidrv font metrics files (.ufm files).
UNIFONTOBJ

The UNIFONTOBJ structure is used as an input parameter to font functions in rendering plug-ins.
USERDATA

The USERDATA structure is used by Unidrv and Pscript to specify additional information about printer features. A USERDATA structure pointer is supplied as the UserData member for each OPTITEM structure.
WIDTHRUN

The WIDTHRUN structure is used to define the contents of Unidrv font metrics files (.ufm files).
WIDTHTABLE

The WIDTHTABLE structure is used to define the contents of Unidrv font metrics files (.ufm files).