次の方法で共有


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

IPrintOemPS::EnablePDEV メソッドを使用すると、Pscript5 のレンダリング プラグインで独自の 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
操作に失敗しました
E_NOTIMPL
メソッドは実装されていません。
 

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

備考

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

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

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

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

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

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

必要条件

要件 価値
ターゲット プラットフォーム デスクトップ
ヘッダー prcomoem.h (Prcomoem.h を含む)