次の方法で共有


GetPrinterDriver2 関数

GetPrinterDriver2 関数は、指定されたプリンターのドライバー データを取得します。 ドライバーがローカル コンピューターにインストールされていない場合、 GetPrinterDriver2 によってインストールされ、指定されたウィンドウにユーザー インターフェイスが表示されます。

構文

BOOL GetPrinterDriver2(
  _In_opt_ HWND    hWnd,
  _In_     HANDLE  hPrinter,
  _In_opt_ LPTSTR  pEnvironment,
  _In_     DWORD   Level,
  _Out_    LPBYTE  pDriverInfo,
  _In_     DWORD   cbBuf,
  _Out_    LPDWORD pcbNeeded
);

パラメーター

hWnd [in, optional]

インストール時にドライバーが表示するダイアログ ボックスなど、任意のユーザー インターフェイスの親ウィンドウとして使用されるウィンドウのハンドル。 このパラメーターの値が NULL の場合、ドライバーのユーザー インターフェイスはインストール中もユーザーに表示されますが、親ウィンドウは表示されません。

hPrinter [in]

ドライバー データを取得するプリンターのハンドル。 プリンター ハンドルを取得するには 、OpenPrinter または AddPrinter 関数を使用します。

pEnvironment [in, optional]

環境を指定する null で終わる文字列へのポインター (Windows x86、Windows IA64、Windows x64 など)。 このパラメーターが NULL の場合は、呼び出し元のアプリケーションとクライアント コンピューターの現在の環境 (移行先アプリケーションとプリント サーバーではなく) が使用されます。

レベル [入力]

pDriverInfo バッファーで返されるプリンター ドライバー構造体。 このパラメーターには、次の値のいずれかを指定できます。

説明
1
DRIVER_INFO_1
2
DRIVER_INFO_2
3
DRIVER_INFO_3
4
DRIVER_INFO_4
5
DRIVER_INFO_5
6
DRIVER_INFO_6
8
DRIVER_INFO_8

pDriverInfo [out]

Level で指定されたドライバーに関する情報を含む構造体を受け取るバッファーへのポインター。 バッファーは、構造体メンバーが指す文字列を格納するのに十分な大きさである必要があります。

必要なバッファー サイズを確認するには、cbBuf を 0 に設定して GetPrinterDriver2 を呼び出します。 GetPrinterDriver2 は失敗し、GetLastError はERROR_INSUFFICIENT_BUFFERを返し、pcbNeeded パラメーターは構造体とそのデータの配列を保持するために必要なバッファーのサイズ (バイト単位) を返します。

cbBuf [in]

pDriverInfo がポイントする配列のサイズ (バイト単位)。

pcbNeeded [out]

関数が成功した場合にコピーされたバイト数を受け取る値へのポインター。 cbBuf が小さすぎる場合は必要なバイト数。

戻り値

関数が成功した場合、戻り値は 0 以外の値になります。

関数が失敗した場合は、0 を返します。 戻り値の状態を取得するには、 GetLastError を呼び出します。

注釈

DRIVER_INFO_2DRIVER_INFO_3DRIVER_INFO_4DRIVER_INFO_5DRIVER_INFO_6およびDRIVER_INFO_8構造体には、pDriverPath メンバー内のプリンター ドライバーのファイル名または完全パスとファイル名が含まれます。 アプリケーションでは、 LoadLibrary 関数を呼び出し、パスとファイル名を 1 つの引数として指定することで、パスとファイル名を使用してプリンター ドライバーを読み込むことができます。

この関数の ANSI バージョン GetPrinterDriver2A はサポートされておらず、 ERROR_NOT_SUPPORTEDを返します。

要件

要件
サポートされている最小のクライアント
Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー
Windows Server 2008 [デスクトップ アプリのみ]
Header
Winspool.h (Windows.h を含む)
ライブラリ
Winspool.lib
[DLL]
Winspool.drv
Unicode 名と ANSI 名
GetPrinterDriver2W (Unicode)

関連項目

印刷

印刷スプーラー API 関数

AddPrinterDriver

DRIVER_INFO_1

DRIVER_INFO_2

DRIVER_INFO_3

DRIVER_INFO_4

DRIVER_INFO_5

DRIVER_INFO_6

EnumPrinterDrivers

GetPrinterDriver

OpenPrinter