UploadPrinterDriverPackage 関数

プリンター ドライバーを印刷サーバーのドライバー ストアにアップロードして、 InstallPrinterDriverFromPackage を呼び出してインストールできるようにします。

構文

HRESULT UploadPrinterDriverPackage(
  _In_    LPCTSTR pszServer,
  _In_    LPCTSTR pszInfPath,
  _In_    LPCTSTR pszEnvironment,
  _In_    DWORD   dwFlags,
  _In_    HWND    hwnd,
  _Out_   LPTSTR  pszDestInfPath,
  _Inout_ PULONG  pcchDestInfPath
);

パラメーター

pszServer [in]

印刷サーバーの名前を指定する null で終わる定数文字列へのポインター。 サーバーがローカル コンピューターの場合は NULL を 使用します。

pszInfPath [in]

ドライバーの .inf ファイルへのソース パスを指定する、null で終わる定数文字列へのポインター。

pszEnvironment [in]

サーバーのプロセッサ アーキテクチャを指定する null で終わる定数文字列へのポインター (たとえば、x86 Windows NT)。 NULL 指定できます。

dwFlags [in]

これには、次のいずれかの値を指定できます。

説明
UPDP_SILENT_UPLOAD
アップロード中は UI は表示されません。
UPDP_UPLOAD_ALWAYS
パッケージが既にサーバーのドライバー ストアに存在する場合でも、ファイルはアップロードされます。
UPDP_CHECK_DRIVERSTORE
パッケージが既に存在するかどうかを確認するために、アップロード前にサーバーのドライバー ストアがチェックされます。 UPDP_UPLOAD_ALWAYSが設定されている場合、この設定は無視されます。

hwnd [in]

コピーするユーザー インターフェイスへのハンドル。

pszDestInfPath [out]

ドライバーの .inf ファイルがコピーされた、ドライバー ストア内の宛先パスへのポインター。

pcchDestInfPath [in, out]

入力時に、 pszDestInfPath バッファーのサイズを文字単位で指定します。 出力時に、パス文字列のサイズ (終端の null 文字を含む) を文字単位で受け取ります。

戻り値

操作が成功した場合、戻り値はS_OK。それ以外の場合、 HRESULT にはエラー コードが含まれます。

COM エラー コードの詳細については、「 エラー処理」を参照してください。

解説

Note

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

ドライバー ストアは通常、%windir%\inf または %windir%\System32\DriverStore\FileRepository です。

一度にアップロードできるパッケージは 1 つだけです。 パッケージが他のユーザーに依存している場合は、個別にアップロードする必要があります。

署名されたドライバー パッケージのみをアップロードできます。

必要条件

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

関連項目

印刷

印刷スプーラー API 関数