Windows 展開サービス クライアント API の使用
標準の Windows 展開サービス (WDS) ソリューションを使用して Windows をインストールできない環境では、WDS クライアントの API を使用すると、開発者はカスタム展開アプリケーションを作成できます。 アプリケーションはこの API を使用して WDS サーバーと通信し、サーバーから使用可能なシステム イメージに関する情報を取得できます。 カスタム WDS クライアント アプリケーションは、次のガイドラインに従う必要があります。
サーバーに WDS ロールをインストールする
- Windows 展開サービス (WDS) は、リモート インストール サービス (RIS) の改訂版です。カスタム WDS クライアント ソリューションを実装するには、サーバー上の WDS サーバーロールが必要です。
- WDS は RIS を Windows Server 2008 以降の標準コンポーネントとして置き換え、Windows Server 2003 は Service Pack 2 (SP2) に置き換えます。
- RIS サーバーを Windows Server 2003 Service Pack 1 (SP1) の WDS に更新する必要があります。 WDS サーバーの役割は、 Windows 自動インストール キット (WAIK) を使用してインストールできます。
Windows PE 2.0 を起動する
Windows PE 2.0 がまだ開始されていない場合は、起動する必要があります。 WDS クライアントとサポート DLL は、セットアップ処理の Microsoft Windows プレインストール環境 (Windows PE 2.0) フェーズにある場合にのみ、setup.exeによって読み込まれます。
- 新しいコンピューターがネットワークに接続されている場合は、組み込みのプレブート実行環境 (PXE) テクノロジを使用して、ネットワーク ブート プログラムをダウンロードできます。 Windows をインストールするためのコンピューターの PXE ブートの詳細については、「 Windows 展開サービスの更新のステップ バイ ステップ ガイド」を参照してください。
- Windows PE 2.0 の RAMDISK ブート可能イメージは、 に格納できます。WIM 形式で、ネットワーク ブート プロセスの一部としてダウンロードされます。 その後、Windows PE を読み込み、そのメディアから直接実行できます。
WDS サーバーとのセッションを開く
WDS クライアントは、WDS サーバーとのセッションを開く必要があります。
- WdsCliCreateSession 関数を使用して、WDS サーバーとのセッションを開きます。 この関数は、サーバーの名前または IP アドレスを受け取り、WDS クライアント セッションのハンドルのアドレスを受け取ります。
- サーバーとのセッションを開くときに WDS クライアントの認証が必要な場合、アプリケーションは WdsCliCreateSession 関数を呼び出すときに、クライアント資格情報を含むWDS_CLI_CRED構造体のアドレスを指定する必要があります。 アプリケーションでは、 WdsCliAuthorizeSession 関数を使用して、匿名セッションを認証済みセッションに変換できます。
- WdsCliCreateSession 関数で開かれたセッションが不要になった場合、アプリケーションは WdsCliClose 関数を使用して、セッションによって保持されているハンドルと解放リソースを閉じる必要があります。
WDS サーバー上のシステム イメージを列挙する
WDS クライアントは、API を使用して、WDS サーバー上のシステム イメージを列挙できます。
- WdsCliFindFirstImage 関数を使用して、最初のイメージへのハンドルを取得し、WDS サーバー上のイメージの列挙を初期化します。
- WdsCliFindNextImage 関数を使用して、WdsCliFindFirstImage 関数によって開始される列挙をインクリメントします。 WdsCliFindNextImage 関数は、次のイメージのハンドルを取得します。
- WdsCliGetImageIndex 関数を使用して、現在のイメージのイメージ インデックスを取得します。 この値は、 WdsCliFindNextImage 関数または WdsCliClose 関数が再び使用されるまで有効です。
- WdsCliGetEnumerationFlags 関数を使用して、画像フィルター処理に関する情報フラグを取得します。
画像に関する情報を取得する
WDS クライアントは、API を使用して、WDS サーバー上のイメージに関する情報を取得できます。 次の関数は、現在のイメージに関する情報を取得します。 WdsCliFindFirstImage 関数と WdsCliFindNextImage 関数は現在のイメージ ハンドルの値を変更するため、アプリケーションは、WdsCliFindFirstImage 関数または WdsCliFindNextImage 関数を再度呼び出す前に、取得した情報と今後必要になる情報を格納する必要があります。
- WdsCliGetImageArchitecture 関数を使用して、現在のイメージのプロセッサ アーキテクチャを取得します。
- WdsCliGetImagePath 関数を使用して、現在のイメージを含むイメージ ファイルへの相対パスを取得します。
- イメージ サイズを取得するには、 WdsCliGetImageSize 関数を使用します。
- WdsCliGetImageVersion 関数を使用して、イメージのバージョンを取得します。
- 現在のイメージの既定の言語を取得するには、 WdsCliGetImageLanguage 関数を使用します。
- 現在のイメージでサポートされている言語の配列を取得するには、 WdsCliGetImageLanguages 関数を使用します。
- WdsCliGetImageLastModifiedTime を使用すると、現在のイメージの最終変更時刻が返されます。
- 現在のイメージの名前を取得するには、 WdsCliGetImageName 関数を使用します。
- 現在のイメージの説明を取得するには、 WdsCliGetImageDescription 関数を使用します。
- WdsCliGetImageGroup 関数を使用して、現在のイメージのイメージ グループ名を取得します。
- 現在のイメージのハードウェア抽象化レイヤー (HAL) 名を取得するには、 WdsCliGetImageHalName 関数を使用します。
WDS クライアント イベントをログに記録する
WDS クライアント ライブラリのログ機能を使用すると、インストールの進行状況イベントをクライアントから WDS サーバーに送信できます。
- WdsCliInitializeLog 関数を使用して、WDS クライアント セッションのログを初期化します。
- WdsCliLog 関数を使用して、WDS サーバー ログにイベント メッセージを書き込みます。
- Windows Server 2008 では、WDS サーバーは、eventvwr.exeとデバッグ トレース ログを通じて表示できるアプリケーション固有のイベント ログにクライアント イベントを書き込みます。 デバッグ ログが有効になっている Windows Server 2003 では、WDS サーバーはクライアント イベントを %windir%\tracing\wdsserver.log にあるログ ファイルに書き込みます。 これらのイベントをキャプチャするには、サーバーで WDS クライアント のログ記録を有効にする必要があります。
関連トピック