ホーム › Devices.Display › PFN_DrvEnablePDEV
PFN_DrvEnablePDEV
コールバックシグネチャ
DHPDEV PFN_DrvEnablePDEV(
DEVMODEW* param0,
LPWSTR param1,
DWORD param2,
HSURF* param3,
DWORD param4,
GDIINFO* param5,
DWORD param6,
DEVINFO* param7,
HDEV param8,
LPWSTR param9,
HANDLE param10
);パラメーター
| フィールド | 型 |
|---|---|
| param0 | DEVMODEW* |
| param1 | LPWSTR |
| param2 | DWORD |
| param3 | HSURF* |
| param4 | DWORD |
| param5 | GDIINFO* |
| param6 | DWORD |
| param7 | DEVINFO* |
| param8 | HDEV |
| param9 | LPWSTR |
| param10 | HANDLE |
公式ドキュメント
DrvEnablePDEV 関数は、物理デバイスの特性を示す情報を GDI に返します。
戻り値
関数が成功した場合、戻り値は有効化されたデバイスを識別する PDEV へのハンドルです。すなわち DrvEnablePDEV は、成功した場合にドライバー定義のプライベートなデバイスインスタンス情報へのハンドルを返します。それ以外の場合は NULL を返します。
解説(Remarks)
グラフィックスデバイスドライバーは、異なる論理アドレスに接続された複数の物理デバイスをサポートすることがあります。また、ドライバーは複数の描画サーフェスの同時使用もサポートしなければなりません。
DrvEnablePDEV の目的は次のとおりです。
- デバイスの物理的な特性を GDI に通知すること。
- 現在のデバイスインスタンスを記述するプライベートな PDEV 構造体を(受け取った DEVMODE 構造体とデバイス名に基づいて)作成すること。
1 つの論理デバイスは複数の PDEV を管理でき、それらは次の観点で区別できます。
- ハードウェアの種類 -- 1 つのデバイスドライバーが「LaserWhiz」「LaserWhiz II」「LaserWhiz Super」をサポートすることがあります。
- 論理アドレス -- 1 つのデバイスドライバーが「LPT1」「COM2」「\SERVER1\PSLAZER」などに接続されたプリンターをサポートできます。複数の VGA ディスプレイを同時にサポートできるディスプレイドライバーは、ポート番号(たとえば 0x3CE や 0x2CE)によってそれらを区別することがあります。
- サーフェス -- プリンタードライバーは 2 つの印刷ジョブを同時に処理できます。この 2 つのサーフェスは、印刷される 2 ページを表します。同様に、ディスプレイデバイスドライバーが同一デバイス上で 2 つのデスクトップをサポートすることもあります。
デバイスサーフェスがビットマップの割り当てを必要とする場合でも、その割り当ては必要になるまで行う必要はありません。アプリケーションは実際にデバイスへ書き込むよりもかなり前にデバイス情報を要求することが多いため、大きなビットマップなどのリソースの割り当てを遅らせることでメモリを節約できます。
GDI は、この関数を呼び出す前に phsurfPatterns が指すバッファーをゼロで初期化します。
DrvEnablePDEV はグラフィックスドライバーに必須です。
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)