次の方法で共有


DrvResetPDEV 関数 (winddi.h)

DrvResetPDEV 関数を使用すると、Win32 アプリケーションが ResetDC を呼び出すときに、グラフィックス ドライバーが古い PDEV 構造体から新しい PDEV 構造体にドライバーの状態を転送できます。

構文

BOOL DrvResetPDEV(
  DHPDEV dhpdevOld,
  DHPDEV dhpdevNew
);

パラメーター

dhpdevOld

元のデバイス PDEV 構造体に対する呼び出し元から提供されるハンドル。 このハンドルは、 DrvEnablePDEV の戻り値としてドライバーによって以前に提供されていました。

dhpdevNew

呼び出し元が指定した新しい PDEV 構造体へのハンドル。

戻り値

関数が成功した場合、この戻り値は TRUE です。 それ以外の場合は FALSE になり、エラー コードがログに記録されます。

解説

グラフィックス ドライバーの DrvResetPDEV 関数は、古い (現在使用されている) PDEV 構造体の内容に基づいて、新しい PDEV 構造体の内容を変更するために使用する必要があります。

モードの変更について知る必要がある OpenGL ディスプレイ ドライバーは 、DrvResetPDEV を実装する必要があります。 それ以外の場合、通常、他のすべてのディスプレイ ドライバーは、この関数を実装する必要はありません。

メモ 次の情報は、プリンター のグラフィックス DLL に関連します。

関数は、Win32 ResetDC 関数に対するアプリケーションの呼び出しの結果として呼び出されます。これにより、GDI はドライバーの DrvEnablePDEV を呼び出して新しい PDEV 構造体を取得します。 ドライバーは印刷ジョブのレンダリング中に PDEV 構造体の内容を変更できるため、 DrvResetPDEV 関数を使用すると、ドライバーは古い PDEV 構造体から新しい PDEV 構造体にこれらの変更を転送できます。

プリンター グラフィックス DLL が新しい PDEV 構造体に追加する情報の種類の例としては、キャッシュされたフォント ファイルへのポインターや、次回 DrvStartDoc または DrvStartPage が呼び出されるときにページの初期化が行われるかどうかを示すフラグがあります。

印刷ドキュメントのレンダリング中に ResetDC が呼び出された場合、プリンター グラフィックス DLL は次の一連の呼び出しを受け取ります。

    dhpdevNew = DrvEnablePDEV();
    DrvResetPDEV(dhpdevOld, dhpdevNew);
    DrvDisableSurface(dhpdevOld);
    DrvDisablePDEV(dhpdevOld);
    DrvEnableSurface(dhpdevNew);
    DrvStartDoc(dhpdevNew);

ドキュメント間で ResetDC が呼び出された場合、PDEV に関連付けられたサーフェスがないため、次の一連の呼び出しのみが行われます。

    dhpdevNew = DrvEnablePDEV();
    DrvResetPDEV(dhpdevOld,dhpdevNew);
    DrvDisablePDEV(dhpdevOld);

要件

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

関連項目

DrvDisablePDEV

DrvDisableSurface

DrvEnablePDEV

DrvEnableSurface

DrvStartDoc

DrvStartPage