次の方法で共有


IPrintOemUni::D ownloadCharGlyph メソッド (prcomoem.h)

IPrintOemUni::DownloadCharGlyphメソッドを使用すると、Unidrv のレンダリング プラグインで、指定したソフト フォントの文字グリフをプリンターに送信できます。

構文

HRESULT DownloadCharGlyph(
        PDEVOBJ     pdevobj,
        PUNIFONTOBJ pUFObj,
        HGLYPH      hGlyph,
        PDWORD      pdwWidth,
  [out] OUT DWORD   *pdwResult
);

パラメーター

pdevobj

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

pUFObj

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

hGlyph

呼び出し元から提供されるグリフ ハンドル。

pdwWidth

メソッドによって指定された文字の幅を受け取る呼び出し元指定のポインター。

[out] pdwResult

文字グリフの格納に必要なプリンター メモリの量をバイト単位で表すメソッド指定の値を受け取ります。 操作が失敗した場合、戻り値は 0 である必要があります。

戻り値

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

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

注釈

この IPrintOemUni::DownloadCharGlyph メソッドは、 PCL コマンドを受け入れられないプリンターでソフト フォントをサポートするために使用されます。 その目的は、レンダリング プラグインがプリンターに文字グリフを送信できるようにすることです。

レンダリング プラグインで メソッドが IPrintOemUni::DownloadCharGlyph 実装されている場合、Unidrv は、プリンターの GPD ファイルに含まれている CmdSetCharCode コマンド エントリで指定されたコマンド文字列を送信した直後に メソッドを呼び出します。 (GPD ファイルについては、「 Microsoft ユニバーサル プリンター ドライバー」を参照してください)。メソッドでは、次の操作を行う必要があります。

  • UNIFONTOBJ_GetInfo関数を呼び出して、hGlyph で指定されたグリフ イメージを取得します。
  • IPrintOemDriverUni::D rvWriteSpoolBuf を呼び出して、グリフをプリンターに送信します。
  • UNIFONTOBJ_GetInfo関数をもう一度呼び出してグリフの幅を取得し、pdwWidth が指すアドレスに幅を格納します。
  • pdwResult で指定された場所にグリフを配置することによって、グリフを格納するために必要なプリンター メモリの量を返します。
メソッドは IPrintOemUni::DownloadCharGlyph 省略可能です。 レンダリング プラグインがこのメソッドを実装する場合、プラグインの IPrintOemUni::GetImplementedMethod メソッドは、入力として "DownloadCharGlyph" を受け取ったときにS_OKを返す必要があります。

メソッドを実装する IPrintOemUni::DownloadCharGlyph 場合は、 IPrintOemUni::D ownloadFontHeader メソッドも実装する必要があります。

詳細については、「 カスタマイズされたフォント管理」を参照してください。

要件

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