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 構造体へのメソッド指定のポインターを受け取ります。 (詳細については、次の「解説」セクションを参照してください)。
戻り値
メソッドは、次のいずれかの値を返す必要があります。
リターン コード | 説明 |
---|---|
|
操作が成功しました。 |
|
操作が失敗しました |
操作が失敗した場合、メソッドは 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
使用されません。
phsurfPatterns、pGdiInfo、および pDevInfo パラメーター値が指す構造体は、Unidrv の DrvEnablePDEV 関数が受け取る構造体と同じです。 レンダリング プラグインは、必要に応じて構造体の内容を変更できます。 HSURF タイプのサーフェス ハンドルを取得し、 phsurfPatterns が指すバッファーに配置することで、サーフェスフィル パターンを提供できます。 塗りつぶしパターンの種類とハンドルの順序は、 DrvEnablePDEV の説明に記載されています。
pded が指す DRVENABLEDATA 構造体には、Unidrv のプリンター グラフィックス DLL に用意されているグラフィックス DDI 関数のアドレスが含まれています。 これらのグラフィックス DDI 関数に対して、プラグインでカスタマイズされたフック機能を提供することができます。 DRVENABLEDATA 構造体の内容を使用すると、カスタマイズしたフック関数を使用して、ドライバーのグラフィックス DDI 関数にコールバックできます。 詳細については、「 カスタマイズされたグラフィックス DDI 関数」を参照してください。
要件
要件 | 値 |
---|---|
対象プラットフォーム | デスクトップ |
Header | prcomoem.h (Prcomoem.h を含む) |