次の方法で共有


IPrintOemUni::EnablePDEV メソッド (prcomoem.h)

IPrintOemUni::EnablePDEVメソッドを使用すると、Unidrv のレンダリング プラグインで独自の PDEV 構造を作成できます。

構文

HRESULT EnablePDEV(
        PDEVOBJ       pdevobj,
        PWSTR         pPrinterName,
        ULONG         cPatterns,
        HSURF         *phsurfPatterns,
        ULONG         cjGdiInfo,
        GDIINFO       *pGdiInfo,
        ULONG         cjDevInfo,
        DEVINFO       *pDevInfo,
        DRVENABLEDATA *pded,
  [out] OUT PDEVOEM   *pDevOem
);

パラメーター

pdevobj

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

pPrinterName

プリンターの論理アドレスを表すテキスト文字列への呼び出し元が指定したポインター。

cPatterns

phsurfPatterns が指すバッファーに含まれる HSURF 型のサーフェス ハンドルの数を表す呼び出し元指定の値。

phsurfPatterns

HSURF 型のサーフェス ハンドルの cPatterns 数を格納するのに十分な大きさのバッファーへの呼び出し元が指定したポインター。 ハンドルは、サーフェスの塗りつぶしパターンを表します。

cjGdiInfo

pGdiInfo によって指される構造体のサイズを表す呼び出し元から指定された値。

pGdiInfo

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

cjDevInfo

pDevInfo によって指される構造体のサイズを表す呼び出し元から指定された値。

pDevInfo

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

pded

プリンター ドライバーのグラフィックス DDI フック関数のアドレスを含む DRVENABLEDATA 構造体への呼び出し元指定のポインター。 詳細については、「解説」を参照してください。

[out] pDevOem

プライベート PDEV 構造体へのメソッド指定のポインターを受け取ります。 (詳細については、次の「解説」セクションを参照してください)。

戻り値

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

リターン コード 説明
S_OK
操作が成功しました。
E_FAIL
操作が失敗しました
 

操作が失敗した場合、メソッドは SetLastError を呼び出してエラー コードを設定する必要があります。

注釈

Unidrv のレンダリング プラグインでは、 メソッドを実装する IPrintOemUni::EnablePDEV 必要があります。

メソッドは IPrintOemUni::EnablePDEV 、プリンター グラフィックス DLL によってエクスポートされる DrvEnablePDEV 関数と同じ種類の操作を実行します。 その目的は、レンダリング プラグインが独自の PDEV 構造を作成できるようにすることです。 (PDEV 構造体の詳細については、「 カスタマイズされた PDEV 構造体」を参照してください)。

メソッドをエクスポート IPrintOemUni::EnablePDEV するレンダリング プラグインを指定した場合、Undrv のプリンター グラフィックス DLL は 、その DrvEnablePDEV 関数内から メソッドを呼び出します。

メソッドは IPrintOemUni::EnablePDEV 、プライベート PDEV 構造体のインスタンスを割り当てて初期化し、そのアドレスをメソッドの pDevOem パラメーターとして返す必要があります。 他のプラグイン メソッドは、DEVOBJ 構造体の pdevOEM メンバーとしてアドレスを受け取ります。

DEVOBJ 構造体の pdevOEM メンバーは、 メソッドでは IPrintOemUni::EnablePDEV 使用されません。

phsurfPatternspGdiInfoおよび pDevInfo パラメーター値が指す構造体は、Unidrv の DrvEnablePDEV 関数が受け取る構造体と同じです。 レンダリング プラグインは、必要に応じて構造体の内容を変更できます。 HSURF タイプのサーフェス ハンドルを取得し、 phsurfPatterns が指すバッファーに配置することで、サーフェスフィル パターンを提供できます。 塗りつぶしパターンの種類とハンドルの順序は、 DrvEnablePDEV の説明に記載されています。

pded が指す DRVENABLEDATA 構造体には、Unidrv のプリンター グラフィックス DLL に用意されているグラフィックス DDI 関数のアドレスが含まれています。 これらのグラフィックス DDI 関数に対して、プラグインでカスタマイズされたフック機能を提供することができます。 DRVENABLEDATA 構造体の内容を使用すると、カスタマイズしたフック関数を使用して、ドライバーのグラフィックス DDI 関数にコールバックできます。 詳細については、「 カスタマイズされたグラフィックス DDI 関数」を参照してください。

要件

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