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 ベースのオペレーティング システムを指定します。 pEnvironmentNULL の場合は、呼び出し元のドライバーとクライアント コンピューターの現在の環境が使用されます。

[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

こちらもご覧ください

EngLoadModule