DrvSaveScreenBits 関数 (winddi.h)

DrvSaveScreenBits 関数を使用すると、表示ドライバーは、表示されたイメージの特定の四角形を保存または復元します。

構文

ULONG_PTR DrvSaveScreenBits(
  SURFOBJ   *pso,
  ULONG     iMode,
  ULONG_PTR ident,
  RECTL     *prcl
);

パラメーター

pso

サーフェスを記述する SURFOBJ 構造体へのポインター。

iMode

実行する操作を指定します。 このパラメーターには、次のいずれかの値を指定できます。

SS_SAVE

ドライバーは 、prcl によって定義された四角形からデータを保存する必要があります。 ドライバーは、 オフスクリーン メモリでこのデータを管理する必要があります。 ident パラメーターは無視されます。

成功すると、 DrvSaveScreenBits は保存されたデータの識別子を返す必要があります。 ドライバーは、ハンドルまたは画面外メモリへのポインターを返すことができます。 この関数は、失敗した場合は 0 を返します。

SS_RESTORE

ドライバーは、 ident で識別されたデータをディスプレイ上の四角形 prcl に復元する必要があります。つまり、ドライバーはビットマップを元の位置に復元する必要があります。 ドライバーは、 prcl の四角形が保存された四角形とまったく同じサイズであると想定できます。 この呼び出しの後、データは破棄する必要があります。

DrvSaveScreenBits は、データがディスプレイに復元されている場合は TRUE 、データを復元できない場合は FALSE を 返す必要があります。

SS_FREE

ident によって識別されるデータは不要になり、解放できます。 prcl の値は未定義であり、使用しないでください。 ドライバーは、保存された四角形をディスプレイに復元しないでください。

DrvSaveScreenBits はTRUE を返す必要があります。

ident

iMode がSS_RESTOREまたはSS_FREEの場合、DrvSaveScreenBits の以前の呼び出しによって返されたドライバー定義値へのポインター。 iMode がSS_SAVE場合、ドライバーはこのパラメーターを無視する必要があります。

prcl

保存または復元する画面の部分を定義する RECTL 構造体へのポインター。

戻り値

戻り値は、 iMode パラメーターの値に依存します。

注釈

一部のディスプレイ ドライバーでは、領域を再描画するよりもはるかに高速に、画面外のデバイス メモリ間でデータを移動できる場合があります。 これは、ウィンドウ マネージャーでメニューまたはダイアログ ボックスを表示する必要がある場合に便利です。

ディスプレイ ドライバーの場合、DrvSaveScreenBits は省略可能です。

要件

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

こちらもご覧ください

SURFOBJ