プリンター グラフィックス DLL によって定義されている関数
重要
Windows でプリンターとの通信手段として推奨されるのは、最新の印刷プラットフォームです。 プリンターデバイス開発におけるWindows 10および11での印刷体験をカスタマイズするために、MicrosoftのIPPインボックスクラスドライバーとPrint Support Apps (PSA)の使用を推奨します。
詳細については、最新の印刷プラットフォームに関する記事および「印刷サポート アプリの設計ガイド」を参照してください 。
すべてのグラフィックス ドライバーと同様に、プリンター グラフィックス DLL は、次のグラフィックス DDI 関数を定義します。 最初のドライバー エントリ ポイントである DrvEnableDriver の後に、残りの関数がアルファベット順に一覧されます。 GDI は名前で DrvEnableDriver を呼び出すので、その名前は太字で表示されることに注意してください。 GDI は、DrvEnableDriver が返す関数ポインターの配列を使用して、他のすべてのディスプレイ ドライバー関数を呼び出します。
関数名: | 説明 |
---|---|
DrvEnableDriver | ドライバーが自身を初期化し、サポートされているグラフィックス DDI 関数へのポインターを返すことができます。 |
DrvCompletePDEV | デバイス インスタンスへの GDI ハンドルをドライバーに提供します。 |
DrvDisableDriver | (省略可能) ドライバーがアンロードされる前にクリーンアップ操作を実行できるようにします。 |
DrvDisablePDEV | ドライバーがデバイス インスタンス固有の情報を削除できるようにします。 |
DrvDisableSurface | ドライバーが描画サーフェイスを削除できるようにします。 |
DrvEnablePDEV | ドライバーが GDI に物理デバイス特性を提供し、デバイス インスタンス固有の情報を初期化できるようにします。 |
DrvEnableSurface | ドライバーが描画サーフェイスを作成できるようにします。 |
DrvQueryDeviceSupport | (省略可能) 要求されたデバイス固有の情報を返します。 |
DrvQueryDriverInfo | (省略可能) 要求されたドライバー固有の情報を返します。 |
プリンター グラフィックス DLL は、次の印刷固有のグラフィックス DDI 関数を定義する役割も果たします。これらの関数は、印刷ジョブのレンダリング中の特定の時点で呼び出されます。
機能 | 呼び出されるタイミング |
---|---|
DrvEndDoc | GDI がレンダリングのためにドライバーへのドキュメントの送信を完了したとき。 |
DrvNextBand | (省略可能) GDI が物理ページのバンドの描画を完了すると、ドライバーはプリンターにバンドを送信できます。 |
DrvQueryPerBandInfo | (省略可能) GDI が物理ページのバンドの描画を開始する前に、ドライバーが GDI にバンド固有の情報を提供できるようにします。 |
DrvSendPage | GDI が物理ページの描画を完了すると、ドライバーはプリンターにページを送信できます。 |
DrvStartBanding | (省略可能) GDI がレンダリングのために物理ページのバンドをドライバーに送信し始める準備ができたとき。 |
DrvStartDoc | GDI がレンダリングのためにドライバーへのドキュメントの送信を開始する準備ができたとき。 |
DrvStartPage | GDI がレンダリングのためにドライバーへのドキュメント ページの送信を開始する準備ができたとき。 |
通常、プリンター グラフィック DLL は、印刷ジョブのレンダリングを実行するために必要な追加のグラフィック DDI 関数も定義します。 定義される関数の数と種類は、次によって異なります。
ドライバーが GDI 管理またはデバイス管理の描画サーフェス (あるいはその両方) の使用をサポートしているかどうか。 詳細については、「サーフェイス タイプ」を参照してください。
描画操作をドライバー自体によって実行されるのではなく、GDI によって処理できる程度。 詳細については、「グラフィックス DDI の使用」を参照してください。
プリンター グラフィックス DLL で定義されているすべての関数は、GDI のカーネル モード グラフィックス レンダリング エンジン (GRE) によって呼び出されます。
DrvEnableDriver 関数と DrvQueryDriverInfo 関数は、グラフィックス DLL によってエクスポートされます。 サポートされている他のすべてのグラフィックス DDI 関数のアドレスは、DrvEnableDriver 関数によって返されるテーブルに配置されます。