IPrintOemPrintTicketProvider::ConvertPrintTicketToDevMode メソッド (prcomoem.h)
IPrintOemPrintTicketProvider::ConvertPrintTicketToDevMode メソッドは、印刷チケットを DEVMODEW 構造体に変換します。
構文
HRESULT ConvertPrintTicketToDevMode(
[in] IXMLDOMDocument2 *pPrintTicket,
[in] ULONG cbDevmode,
[in, out] PDEVMODE pDevmode,
[in] ULONG cbDrvPrivateSize,
[in] PVOID pPrivateDevmode
);
パラメーター
[in] pPrintTicket
入力印刷チケットへのポインター。
[in] cbDevmode
入力 DEVMODEW 構造体のサイズ (バイト単位)。 このサイズには、DEVMODEW 構造体のパブリック セクションとプライベート セクションの両方が含まれます。
[in, out] pDevmode
入力 DEVMODEW 構造体へのポインター。 IPrintOemPrintTicketProvider::ConvertPrintTicketToDevMode が返されると、プラグインのプライベート DEVMODEW 構造体には、印刷チケットから取得した情報が含まれます。
[in] cbDrvPrivateSize
プラグインのプライベート DEVMODEW 構造体のサイズ (バイト単位)。
[in] pPrivateDevmode
プラグインのプライベート DEVMODEW 構造体へのポインター。
戻り値
IPrintOemPrintTicketProvider::ConvertPrintTicketToDevMode は、操作が成功した場合にS_OKを返す必要があります。 それ以外の場合、このメソッドは標準の COM エラー コードを返す必要があります。
備考
コア ドライバーは、DEVMODEW 構造体への印刷チケットの変換の一部を実行する前に、IPrintOemPrintTicketProvider::ConvertPrintTicketToDevMode メソッドを呼び出します。 このメソッドの呼び出しでは、コア ドライバーは、完全に設定されている入力印刷チケットと既定値に設定されている DEVMODEW 構造体を渡します。 変換では、プラグインは、DEVMODEW 構造体から印刷チケットへの以前の変換中に印刷チケットに加えた変更を元に戻す必要があります。 この変換中にプラグインが機能をプライベート名前空間からパブリック名前空間に移動した場合、プラグインは、コア ドライバーに適した形式(つまり、コア ドライバーが以前に IPrintOemPrintTicketProvider でプラグインに提供された印刷チケットに機能を配置した形式)で、機能 をプライベート名前空間に復元する必要があります。ConvertDevModeToPrintTicket メソッド。 この復元は、コア ドライバーが印刷チケット内の機能を認識し、コア ドライバーの DEVMODEW 構造体のプライベート部分でその設定を反映し、コア ドライバーが印刷チケットから DEVMODEW への変換の一部を実行できるように必要です。
システムは、印刷チケットを DEVMODEW 構造体に変換する前に、最初に既定の DEVMODEW 構造体を読み込みます。 その後、システムはプロバイダーの IPrintOemPrintTicketProvider::BindPrinter メソッドを呼び出します。 このメソッドは、印刷チケットからサポートされているすべての設定を読み取り、それらの設定を DEVMODEW 構造体に設定する必要があります。 すべての機能が必ずしも表されるわけではありません。また、存在する Option インスタンスには、プロバイダーが通常設定するすべての Scored Property インスタンスが含まれていない場合があります。 プロバイダーが印刷チケットから DEVMODEW への変換中にシステムによって設定された設定に変更を加えた場合、プロバイダーは、IPrintOemPrintTicketProvider::ConvertPrintTicketToDevMode メソッドでその変更の逆を実行する必要があります。 プロバイダーが戻った後、印刷チケットで表されているが、プロバイダーによって明示的に無効にされていないパブリック DEVMODEW 設定がシステムによって上書きされます。
必要条件
要件 | 価値 |
---|---|
ターゲット プラットフォーム の | デスクトップ |
ヘッダー | prcomoem.h (Prcomoem.h を含む) |