次の方法で共有


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標準の戻り値と、次の値を返すことができます。

リターン コード 説明
S_OK
メソッドは正常に完了しました。
PRINT_E_CANCELED
印刷プロセスは完了前に取り消されました。 *pcPagesPrinted は、このエラーが発生する前に実際に正常に印刷されたページの数を示します。
PRINT_E_NOSUCHPAGE
**ppPageSet または nFirstPage で指定されたページが存在しません。

解説

オブジェクトが印刷されるプリンターは、pptd が指す DVTARGETDEVICE 構造体によって示されます。 ターゲット・デバイスの DEVMODE 構造体は、コピー数、用紙サイズ、印刷品質など、ジョブ全体のプリンター固有のオプションを示します。 DEVMODE 構造体には、dmOrientation メンバーの方向情報を含めることもできます (これは dmFields メンバーで示されます)。 存在する場合は、この用紙の向きを使用する必要があります。存在しない場合は、オブジェクトコンテンツによって決定される自然な向きが使用されます。

ユーザー入力の可能性により、パラメーター pptdppPageSet は両方とも [入力]、out]構造体です。 ユーザー操作がない場合 (つまり、PRINTFLAG_PROMPTUSER フラグが設定されていない場合)、ターゲット デバイスとページ セットの両方が入力と出力で必ずしも同じになります。 ただし、ユーザーに印刷オプションの入力を求められた場合、オブジェクトはターゲット デバイスと、ユーザーが実際に選択した内容に適したページ セット情報を返します。

pstgmOptions パラメーターも [入力,出力] です。 終了時に、オブジェクトは *pstgmOptions に、この正確な印刷ジョブを再現するために必要なオブジェクト固有の情報を書き込む必要があります。 たとえば、ユーザーがスプレッドシート アプリケーションで "シート、ノート、またはその両方" を選択したかどうかなどです。 渡されるデータは、シリアル化されたプロパティ セットの形式です。 通常、データは、同じオブジェクトに対する後続の呼び出しで渡された場合にのみ役立ちます。 後続の呼び出しでは、異なるユーザー操作フラグ、ターゲット デバイス、またはその他の設定が指定される可能性があるため、呼び出し元は、印刷コンテキストが若干異なる場合にドキュメントを同じ方法で複数回印刷する可能性があります。

要件

   
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー docobj.h

関連項目

Iprint