EngGetPrinterDriver 関数 (winddi.h)
EngGetPrinterDriver 関数は、指定されたプリンターのドライバー データを取得します。
構文
ENGAPI BOOL EngGetPrinterDriver(
[in] HANDLE hPrinter,
[in, optional] LPWSTR pEnvironment,
[in] DWORD dwLevel,
[out, optional] BYTE *lpbDrvInfo,
[in] DWORD cbBuf,
[out] DWORD *pcbNeeded
);
パラメーター
[in] hPrinter
ドライバー データを取得するプリンターを処理します。
[in, optional] pEnvironment
環境を指定する null で終わる文字列へのポインター。 たとえば、"Windows NT x86" は、Intel プロセッサで実行されている NT ベースのオペレーティング システムを指定します。 pEnvironment が NULL の場合は、呼び出し元のドライバーとクライアント コンピューターの現在の環境が使用されます。
[in] dwLevel
lpbDrvInfo が指す構造体のバージョンを指定します。 このパラメーターは、次のいずれかの値である必要があります。
値 | 意味 |
---|---|
1 | GDI は、 lpbDrvInfo が指すバッファーにDRIVER_INFO_1構造体を書き込みます。 |
2 | GDI は、 lpbDrvInfo が指すバッファーにDRIVER_INFO_2構造体を書き込みます。 |
3 | GDI は、 lpbDrvInfo が指すバッファーにDRIVER_INFO_3構造体を書き込みます。 |
[out, optional] lpbDrvInfo
GDI が要求された DRIVER_INFO_X 構造体を配置するバッファーへのポインター。
[in] cbBuf
lpbDrvInfo が指すバッファーのサイズをバイト単位で指定します。
[out] pcbNeeded
GDI が成功時に lpbDrvInfo が指すバッファーにコピーされたバイト数、または cbBuf が小さすぎる場合に必要なバイト数を格納するメモリ位置へのポインター。
戻り値
EngGetPrinterDriver は 成功すると TRUE を 返します。それ以外の場合はエラーを報告し、 FALSE を返します。
注釈
プリンター ドライバー DLL は、複数のデータ ファイルを操作して、異なるプリンター モデルをサポートできます。 プリンター ドライバーは EngGetPrinterDriver を呼び出して、使用するデータ ファイルを決定します。 たとえば、Unidrv レンダラーはこの関数を呼び出して GPD ファイルの名前を決定し、postscript ドライバーはこの関数を呼び出して PPD ファイルの名前を決定します。 DRIVER_INFO_2およびDRIVER_INFO_3構造体には、データ ファイルの場所を指定する完全なパスとファイル名が含まれています。 プリンター ドライバーは、パスとファイル名を 1 つの引数として EngLoadModule を呼び出すことによって、返されたパスとファイル名を使用してデータ ファイルを読み込むことができます。
DRIVER_INFO_X 構造体については、Microsoft Windows SDKドキュメントで説明されています。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 以降のバージョンの Windows オペレーティング システムで使用できます。 |
対象プラットフォーム | ユニバーサル |
Header | winddi.h (Winddi.h を含む) |
Library | Win32k.lib |
[DLL] | Win32k.sys |