EngModifySurface 関数 (winddi.h)

EngModifySurface 関数は、ドライバーによって作成されたサーフェスの属性について GDI に通知します。

構文

ENGAPI BOOL EngModifySurface(
  HSURF  hsurf,
  HDEV   hdev,
  FLONG  flHooks,
  FLONG  flSurface,
  DHSURF dhsurf,
  VOID   *pvScan0,
  LONG   lDelta,
  VOID   *pvReserved
);

パラメーター

hsurf

変更するサーフェスへのハンドル。 このパラメーターは、EngCreateDeviceBitmap または EngCreateDeviceSurface、または SURFOBJ 構造体の hsurf メンバーから返されるサーフェス ハンドルです。

hdev

サーフェスを関連付けるデバイスへのハンドル。 これは、GDI が DrvCompletePDEV に渡したハンドルです。

flHooks

指定したサーフェイスで GDI 描画が行われるたびにドライバーがフックできる関数を制御するフラグのセットです。 これは、EngAssociateSurface 参照ページに記載されているHOOK_Xxx 値のビットごとの OR です。

flSurface

サーフェスの属性を記述するフラグのセットです。 現時点では、ドライバーは、サーフェスがビデオ メモリに配置されている場合にMS_NOTSYSTEMMEMORYに設定する必要があります。

dhsurf

ドライバーのサーフェスを識別します。 ドライバーはこれを何でも設定できます。GDI は、関数が成功した場合に、結果のサーフェスの SURFOBJ 構造体の dhsurf メンバーをこの値に設定します。

pvScan0

ビットマップの先頭の仮想アドレスへのポインター。

lDelta

ビットマップの仮想アドレスストライドです。つまり、1 つのビットマップ行の先頭から次のビットマップ行までのバイト数です。

pvReserved

は予約されており、常に NULL に設定する必要があります。

戻り値

EngModifySurface は 成功すると TRUE を 返します。それ以外の場合は FALSE を返します。

注釈

EngModifySurface を使用すると、ドライバーは デバイスで管理されるサーフェス を変更し、このサーフェスの属性を GDI に通知できます。 これにより、ドライバーは変換先のサーフェスを不透明から非閉経に変換できるため、GDI をサーフェスに描画できます。

DIB エンジンは pvScan0lDelta を使用してサーフェスに直接描画します。 これらのパラメーターが NULL の場合、サーフェスは GDI に不透明になり、GDI はドライバーによってフックされない描画操作の DrvCopyBits の呼び出しに戻ります。

DrvEnableSurface がプライマリ サーフェスにハンドルを返した後、そのハンドルで EngModifySurface を呼び出さないでください。 これにより、特定の状況でバグチェックが発生する可能性があります。 詳細については、 Microsoft サポート技術情報の記事「330248」を参照してください。

要件

要件
サポートされている最小のクライアント Windows 2000 以降のバージョンの Windows オペレーティング システムで使用できます。
対象プラットフォーム ユニバーサル
Header winddi.h (Winddi.h を含む)
Library Win32k.lib
[DLL] Win32k.sys

こちらもご覧ください

DrvCopyBits

EngAssociateSurface