IPrint::P rint メソッド (docobj.h)
指定したジョブ要件を使用して、指定したプリンターで オブジェクトを印刷します。
構文
HRESULT Print(
[in] DWORD grfFlags,
[in, out] DVTARGETDEVICE **pptd,
[in, out] PAGESET **ppPageSet,
[in, out] STGMEDIUM *pstgmOptions,
[in] IContinueCallback *pcallback,
[in] LONG nFirstPage,
[out] LONG *pcPagesPrinted,
[out] LONG *pnLastPage
);
パラメーター
[in] grfFlags
PRINTFLAG 列挙からの印刷オプションを指定するビットフィールド。
PRINTFLAG_MAYBOTHERUSER (1)
PRINTFLAG_PROMPTUSER (2)
PRINTFLAG_USERMAYCHANGEPRINTER (4)
PRINTFLAG_RECOMPOSETODEVICE (8)
PRINTFLAG_DONTACTUALLYPRINT (16)
PRINTFLAG_FORCEPROPERTIES (32)
PRINTFLAG_PRINTTOFILE (64)
[in, out] pptd
ターゲット印刷デバイスを記述する DVTARGETDEVICE 構造体へのポインター。
[in, out] ppPageSet
印刷するページを示す構造体へのポインターを受け取る PAGESET ポインター変数へのポインター。
[in, out] pstgmOptions
シリアル化された OLE プロパティ セット内のオブジェクト固有の印刷オプションへのポインター。 このパラメーターは、入力時または戻り値時に NULL にすることができます。
[in] pcallback
ビュー サイト上の IContinueCallback インターフェイスへのポインター。印刷を破棄するかどうかを判断するために、人間の応答速度で定期的にポーリングされます。 このパラメーターは、NULL でもかまいません。
[in] nFirstPage
印刷する最初のページのページ番号。 この値は、以前に IPrint::SetInitialPageNum に渡された値をオーバーライドします。
[out] pcPagesPrinted
正常に印刷された実際のページ数を受け取る変数へのポインター。
[out] pnLastPage
最後に印刷されたページのページ番号を受け取る変数へのポインター。
戻り値
このメソッドは、E_UNEXPECTED標準の戻り値と、次の値を返すことができます。
リターン コード | 説明 |
---|---|
|
メソッドは正常に完了しました。 |
|
印刷プロセスは完了前に取り消されました。 *pcPagesPrinted は、このエラーが発生する前に実際に正常に印刷されたページの数を示します。 |
|
**ppPageSet または nFirstPage で指定されたページが存在しません。 |
解説
オブジェクトが印刷されるプリンターは、pptd が指す DVTARGETDEVICE 構造体によって示されます。 ターゲット・デバイスの DEVMODE 構造体は、コピー数、用紙サイズ、印刷品質など、ジョブ全体のプリンター固有のオプションを示します。 DEVMODE 構造体には、dmOrientation メンバーの方向情報を含めることもできます (これは dmFields メンバーで示されます)。 存在する場合は、この用紙の向きを使用する必要があります。存在しない場合は、オブジェクトコンテンツによって決定される自然な向きが使用されます。
ユーザー入力の可能性により、パラメーター pptd と ppPageSet は両方とも [入力]、out]構造体です。 ユーザー操作がない場合 (つまり、PRINTFLAG_PROMPTUSER フラグが設定されていない場合)、ターゲット デバイスとページ セットの両方が入力と出力で必ずしも同じになります。 ただし、ユーザーに印刷オプションの入力を求められた場合、オブジェクトはターゲット デバイスと、ユーザーが実際に選択した内容に適したページ セット情報を返します。
pstgmOptions パラメーターも [入力,出力] です。 終了時に、オブジェクトは *pstgmOptions に、この正確な印刷ジョブを再現するために必要なオブジェクト固有の情報を書き込む必要があります。 たとえば、ユーザーがスプレッドシート アプリケーションで "シート、ノート、またはその両方" を選択したかどうかなどです。 渡されるデータは、シリアル化されたプロパティ セットの形式です。 通常、データは、同じオブジェクトに対する後続の呼び出しで渡された場合にのみ役立ちます。 後続の呼び出しでは、異なるユーザー操作フラグ、ターゲット デバイス、またはその他の設定が指定される可能性があるため、呼び出し元は、印刷コンテキストが若干異なる場合にドキュメントを同じ方法で複数回印刷する可能性があります。
要件
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | docobj.h |