アプリケーションから URL に印刷する
アプリケーションの観点からは、URL で識別される印刷キューへの印刷は、UNC で識別される印刷キューへの印刷と同じです。 通常、アプリケーションは、印刷キューが URL によってアクセスされることを認識しません。
印刷 Web ページを表示することで、ユーザーは URL で識別される印刷キューをインストールして接続できます。 この場合、印刷キューにはプリント サーバー上と同じ "フレンドリ名" が割り当てられます。このフレンドリ名は、ユーザーの印刷フォルダーに一覧表示されます。
アプリケーションは通常、UNC で識別される印刷キューの場合と同様に、フレンドリ名で印刷キューを参照します。 (たとえば、GDI 呼び出しを行うアプリケーションによって発生する) ローカル印刷プロバイダーでの OpenPrinter 関数の呼び出しには、フレンドリ名が含まれます。 次に、ローカル印刷プロバイダーは、HTTP 印刷プロバイダー (Inetpp.dll) で OpenPrinter を呼び出し、印刷キューの URL を指定します。
フレンドリ名で印刷キューを参照するアプリケーションは、通常、印刷キューがローカルとネットワーク上のどちらにあるか、またはネットワーク プロトコルが RPC、SMB、HTTP のどれであるかを認識しません。 ただし、アプリケーションでは、必要に応じて、URL を指定して OpenPrinter を直接呼び出すことができます。 OpenPrinter の URL を指定する場合は、次の URL 形式を使用する必要があります。
https://<ServerName>/printers/<ShareName>/.printer
ここで、<ServerName> は、サーバー名 (インターネット接続の場合は DNS 名、イントラネット接続の場合は WINS 名) です。"printers" は、サーバー上の仮想ディレクトリを表します。<ShareName> は、プロパティ シートで指定されている印刷キューの共有名です。 (仮想ディレクトリについては、Microsoft Windows SDK のドキュメントを参照してください)。
クライアント スプーラー コンポーネントまたはアプリケーションが OpenPrinter を呼び出して URL を指定すると、後続のスプーラー関数 (StartDocPrinter、WritePrinter など) の呼び出しは、クライアントの HTTP 印刷プロバイダーによって処理されます。 HTTP 印刷プロバイダーは、URL に引数を追加し、結果の URL 文字列をプリント サーバーに送信します。
Microsoft Windows 2000 プリント サーバーが URL を含む印刷要求を受け入れるには、次のいずれかを実行している必要があります。
Windows 2000 Server ソフトウェアと Microsoft インターネット インフォメーション サーバー (IIS)、または
Windows 2000 Professional ソフトウェアと Microsoft Peer Web Server
Windows XP プリント サーバーが URL を含む印刷要求を受け入れるには、次のいずれかを実行している必要があります。
Microsoft Windows Server 2003 ソフトウェアと Microsoft インターネット インフォメーション サーバー (IIS)、または
Windows XP Professional ソフトウェアと Microsoft Peer Web Server
注 Windows XP Home Edition のプリント サーバーは、URL を含む要求を受け入れることができません。
プリント サーバーでは、IIS または Peer Web Server が URL 文字列を受け取ります。 クライアント システム上の Inetpp.dll によって文字列に追加された引数により、サーバーは、Msw3prt.dll に含まれる HTTP プリント サーバーを呼び出します。 HTTP プリント サーバーは、RAW 形式のプリンター データを受け入れ、ローカル印刷スプーラーに送信します。
プリンター データは、インターネット技術標準化委員会 (IETF) のプリンター作業グループ (PWG) によって定義されているインターネット印刷プロトコル (IPP 1.0) を使用して、クライアントからサーバーに送信されます。
次の図は、クライアントが URL で識別された印刷キューに印刷する場合に、印刷データがクライアント アプリケーションからプリント サーバー スプーラーに渡されるパスを示しています。
図に示すように、クライアントとサーバーの両方が Windows 2000 以降のシステムである場合、通常は RPC プロトコルがクライアントとサーバー間の通信に使用されます (ただし、常に使用されるわけではありません)。 (詳細については、「Web ページからの印刷ドライバーのインストール」を参照してください)。クライアントとサーバーの両方が Windows 2000 以降のシステムでない場合は、HTTP が使用されます。 HTTP は、内部ネットワーク カードを含み、IPP 1.0 をサポートし、そのためサーバーに接続されていないプリンターにも使用されます。
プリント サーバーのセキュリティは、プリント サーバー上で実行される IIS によって提供されます。 IIS でサポートされるセキュリティ メカニズムについては、『IIS リソース ガイド』に記載されています。このガイドは**
Microsoft Windows 2000 Server リソース キットに含まれています。 さらに、リソース キットでは、システム管理者が URL への印刷に関連付けられているセキュリティ メソッドを制御する方法について具体的に説明します。