AddPrinterConnection2 関数
現在のユーザーの指定したプリンターに接続を追加し、接続の詳細を指定します。
構文
BOOL AddPrinterConnection2(
_In_ HWND hWnd,
_In_ LPCTSTR pszName,
DWORD dwLevel,
_In_ PVOID pConnectionInfo
);
パラメーター
-
hWnd [in]
-
印刷システムがこの接続のためにプリント サーバーからプリンター ドライバーをダウンロードする必要がある場合にダイアログ ボックスが表示される親ウィンドウへのハンドル。
-
pszName [in]
-
現在のユーザーが接続するプリンターの名前を指定する、null で終わる定数文字列へのポインター。
-
dwLevel
-
pConnectionInfo によって指される構造体のバージョン。 現在、レベル 1 のみが定義されているため、 dwLevel の値は 1 である必要があります。
-
pConnectionInfo [in]
-
PRINTER_CONNECTION_INFO_1構造体へのポインター。 このパラメーターの詳細については、「解説」セクションを参照してください。
戻り値
関数が成功した場合、戻り値は 0 以外の値になります。
関数が失敗した場合は、0 を返します。 拡張エラー情報については、 GetLastError を呼び出します。
注釈
注意
これはブロック関数または同期関数であり、すぐには返されない場合があります。 この関数が返す速度は、アプリケーションの作成時に予測が困難なネットワーク状態、プリント サーバーの構成、プリンター ドライバーの実装要因などの実行時の要因によって異なります。 ユーザー インターフェイスとの対話を管理するスレッドからこの関数を呼び出すと、アプリケーションが応答しなくなる可能性があります。
Windows Vista がプリンターに接続するときに、プリンターが接続されているサーバーからプリンター ドライバー ファイルをコピーすることが必要になる場合があります。 ユーザーに適切な場所にファイルをコピーする権限がない場合、 AddPrinterConnection2 関数は失敗し、 GetLastError は ERROR_ACCESS_DENIEDを返します。
プリンター ドライバー ファイルをプリント サーバーからコピーする必要があるが、有効なグループ ポリシーが原因でサイレント コピーできず、pConnectionInfo-dwFlags> でPRINTER_CONNECTION_NO_UIが設定されている場合、ダイアログ ボックスは表示されず、呼び出しは失敗します。
ローカル プリンター ドライバーを使用してこのプリンターの印刷ジョブをレンダリングでき、ローカル ドライバーのバージョンがサーバー上のプリンター ドライバーのバージョンと一致しない場合は、pConnectionInfo-dwFlags で PRINTER_CONNECTION_MISMATCHを設定し、pConnectionInfo-pszDriverName>>へのローカル プリンター ドライバーへのパスを含む文字列変数へのポインターを割り当てます。
AddPrinterConnection2 を呼び出して確立されたプリンター接続は、enumPrinters が dwType を PRINTER_ENUM_CONNECTION に設定して呼び出されると列挙されます。
この関数の ANSI バージョン である AddPrinterConnection2A はサポートされておらず、 ERROR_NOT_SUPPORTEDを返します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント |
Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー |
Windows Server 2008 [デスクトップ アプリのみ] |
Header |
|
ライブラリ |
|
[DLL] |
|
Unicode 名と ANSI 名 |
AddPrinterConnection2W (Unicode) |