次の方法で共有


IPrintOemDriverUni::D rvXMoveTo メソッド (prcomoem.h)

メソッドは IPrintOemDriverUni::DrvXMoveToレンダリング プラグイン がカーソルの x 位置の変更をドライバーに通知できるように、Unidrv ドライバーによって提供されます。

構文

HRESULT DrvXMoveTo(
        PDEVOBJ pdevobj,
        INT     x,
        DWORD   dwFlags,
  [out] OUT INT *piResult
);

パラメーター

pdevobj

呼び出し元が指定した DEVOBJ 構造体へのポインター。

x

カーソルを移動する必要がある単位数を表す呼び出し元から指定された値。 単位は、 dwFlags のMV_GRAPHICS フラグによって定義されます。

dwFlags

次の呼び出し元から提供されるビット フラグのうち 1 つ以上。

フラグ 定義
MV_GRAPHICS 設定した場合、 x パラメーターの値は、プリンターの現在の解像度に基づいてドットで表されます。 たとえば、x 解像度が 150 DPI で x が 75 の場合、移動は ?? になります。 インチ。

設定しない場合、 x パラメーターの値はマスター単位で表されます。 たとえば、x マスター ユニットが 600 で x が 300 の場合、移動は ?? になります。 インチ。

MV_PHYSICAL 設定した場合、 x パラメーターの値はカーソルの原点を基準とします。

設定されていない場合、 x パラメーターの値は印刷可能な領域の原点を基準にしています。

MV_RELATIVEが設定されている場合は設定できません。

MV_RELATIVE 設定されている場合は、カーソルを現在の位置から x 単位移動することを指定します。

設定されていない場合は、カーソルを原点から x 単位移動することを指定します。

MV_UPDATE 設定されている場合は、実際にカーソルを移動せずに、Unidrv がカーソル位置の現在の計算を更新する必要があることを指定します。 ( IPrintOemUni::ImageProcessing がカーソルを移動した場合は、設定する必要があります)。

設定されていない場合は、Unidrv がカーソル位置の現在の計算を更新し、カーソルを移動することを指定します。

[out] piResult

要求された新しいカーソル位置から実際の新しいカーソル位置を減算したメソッド指定の結果を受け取ります。 この値は 0 である場合がありますが、常に負の値では発生しません。

戻り値

メソッドは、次のいずれかの値を返す必要があります。

リターン コード 説明
S_OK
操作が成功しました。
E_FAIL
操作が失敗しました。
E_NOTIMPL
このメソッドは実装されていません。

注釈

IPrintOemDriverUni::DrvXMoveToおよび IPrintOemDriverUni::D rvYMoveTo メソッドを使用すると、レンダリング プラグインは、プリンター ドライバーがプリンターのカーソル位置を見失うことなく、プリンター スプーラーに画像データを送信できます。 イメージ データをプリンター ドライバーに返すのではなく、印刷スプーラーに直接送信する IPrintOemUni::ImageProcessing メソッドを指定する場合、メソッドは と IPrintOemDriverUni::DrvYMoveToを呼び出すIPrintOemDriverUni::DrvXMoveTo必要があります。

次の 2 つの手法のいずれかを使用して、カーソル位置を更新できます。

  • IPrintOemUni::ImageProcessing メソッドは、カーソル位置を更新する必要がある場合は常に、 または IPrintOemDriverUni::DrvYMoveTo を呼び出IPrintOemDriverUni::DrvXMoveToし、MV_UPDATE フラグをクリアできます。 これにより、Unidrv は、印刷スプーラーにカーソル コマンドを送信し、現在のカーソル位置の内部計算を更新します。
  • IPrintOemUni::ImageProcessing メソッドは、カーソル コマンドを印刷スプーラーに直接送信することで、カーソルを更新できます。 メソッドは、スプーリング操作を完了すると、MV_UPDATE フラグを設定して または IPrintOemDriverUni::DrvYMoveTo を呼び出IPrintOemDriverUni::DrvXMoveToすことができます。 これにより、Unidrv は、印刷スプーラーにカーソル コマンドを送信せずに、現在のカーソル位置の内部計算を更新します。

要件

要件
対象プラットフォーム デスクトップ
Header prcomoem.h (Prcomoem.h を含む)