GDI ユーザー オブジェクト

GDI メイン重要な内部データ構造が含まれていますが、ユーザー オブジェクトとして 渡すことによって、これらの構造体のパブリック フィールドへのアクセス権をドライバーに付与します。 ユーザー オブジェクトは、GDI データ構造と、これらの構造内の情報にアクセスする必要があるドライバーとの間のインターフェイスを提供する中間データ構造です。 ドライバーは、ユーザー オブジェクトへのポインターを GDI に渡して、情報を照会したり、さまざまなサービスを要求したりできます。 パブリック フィールドを持つユーザー オブジェクトには、次の利点があります。

  • これにより、内部 GDI データ構造への直接アクセスに関連する問題が解消されます。

  • これらは、ドライバーの GDI データを保持する場所を提供します。 たとえば、PATHOBJ 構造体は、パスなどの複雑なオブジェクトを列挙するために必要なすべての追加データを保持できます。

次のユーザー オブジェクトを使用できます。

Object 説明

BRUSHOBJ

線、テキスト、または塗りつぶしを出力するグラフィック関数のブラシ オブジェクトを定義します。 ドライバーは BRUSHOBJ サービスを呼び出してブラシを実現したり、GDI によって以前にキャッシュされた認識を見つけたりすることができます。

CLIPOBJ

描画または塗りつぶし用のクリップ領域へのアクセス権をドライバーに提供します。 この領域は、一連の四角形として列挙できます。

FLOATOBJ

グラフィックス ドライバーが浮動小数点演算をエミュレートできるようにします。 浮動小数点演算は、他のすべてのカーネル モード ドライバーでは無効になります。

FONTOBJ

フォントの特定のインスタンス (または実現) に関する情報へのドライバーのアクセスを許可します。

PALOBJ

RGB パレットの色を含む構造体。PALOBJ構造体を 介してアクセス可能なパブリック メンバーが含まれています。

PATHOBJ

描画する内容(線分またはベジェ曲線)を指定するパスを定義します。 PATHOBJ 構造体は、ストロークまたは塗りつぶされる一連の線とベジエ曲線を記述するためにドライバーに渡されます。

STROBJ

ドライバーのグリフ ハンドルと、テキスト文字列の描画方法を記述する位置の一覧を列挙します。

SURFOBJ

GDI ビットマップ、デバイス依存ビットマップ、またはデバイス管理サーフェスのサーフェスを識別します。 詳細については、「 サーフェイス タイプ 」を参照してください。

XFORMOBJ

幾何学的な幅の広い線などの任意の線形 2 次元変換を記述します。

XLATEOBJ

ピクセルをソース サーフェス形式からターゲット サーフェス形式に変換するために必要な変換を定義します。