AddPrinterDriver 関数

AddPrinterDriver 関数は、ローカルまたはリモートのプリンター ドライバーをインストールし、構成、データ、およびドライバー ファイルを関連付けます。

プリンター ドライバーのインストールまたはアップグレードの柔軟性を高めるには、 AddPrinterDriverEx 関数を使用します。これは、厳密なアップグレード、厳密なダウングレード、新しいファイルのコピーのみ、すべてのファイルのコピー (ファイル のタイム スタンプに関係なく) が可能になるためです。

注意

ドライバー パッケージを使用せずにプリンター ドライバーをインストールすることは推奨されなくなりました。 代わりに InstallPrinterDriverFromPackage を使用してください。

構文

BOOL AddPrinterDriver(
  _In_ LPTSTR pName,
  _In_ DWORD  Level,
  _In_ LPBYTE pDriverInfo
);

パラメーター

pName [in]

ドライバーをインストールするサーバーの名前を指定する null で終わる文字列へのポインター。

pNameNULL の場合、ドライバーはローカルにインストールされます。

レベル [入力]

pDriverInfo が指す構造体のバージョン。

この値には、2、3、4、6、または 8 を指定できます。

pDriverInfo [in]

プリンター ドライバー情報を含む構造体へのポインター。 これは Level の値によって異なります。

プリンター ドライブの構造
2 DRIVER_INFO_2
3 DRIVER_INFO_3
4 DRIVER_INFO_4
6 DRIVER_INFO_6
8 DRIVER_INFO_8

pDriverInfo が指す構造体の pEnvironment メンバーが NULL の場合、呼び出し元/クライアントの現在の環境 (宛先/サーバーではなく) が使用されます。

戻り値

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

関数が失敗した場合は、0 を返します。

注釈

注意

これはブロック関数または同期関数であり、すぐには返されない場合があります。 この関数が返す速度は、アプリケーションの作成時に予測が困難なネットワーク状態、プリント サーバーの構成、プリンター ドライバーの実装要因などの実行時の要因によって異なります。 ユーザー インターフェイスとの対話を管理するスレッドからこの関数を呼び出すと、アプリケーションが応答しなくなる可能性があります。

呼び出し元には SeLoadDriverPrivilege が必要です。

アプリケーションが AddPrinterDriver 関数を呼び出す前に、ドライバーに必要なすべてのファイルをシステムのプリンター ドライバー ディレクトリにコピーする必要があります。 アプリケーションは、 GetPrinterDriverDirectory 関数を呼び出すことによって、このディレクトリの名前を取得できます。

アプリケーションは、 EnumPrinterDrivers 関数を呼び出すことによって、現在インストールされているプリンター ドライバーを特定できます。

要件

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

関連項目

印刷

印刷スプーラー API 関数

AddPrinterDriverEx

DRIVER_INFO_2

DRIVER_INFO_3

DRIVER_INFO_4

DRIVER_INFO_6

EnumPrinterDrivers

GetPrinterDriverDirectory