スタートアップ オブジェクトとサービス オブジェクト

[Windows 8とWindows Server 2012以降、仮想ディスク サービス COM インターフェイスは Windows Storage Management API に置き換えられます。

VDS には、サービス関連のアクティビティを実行するためのオブジェクトが用意されています。 このトピックでは、各オブジェクトについて説明します。

サービス ローダー オブジェクト

サービス ローダー オブジェクトは、VDS の読み込みと初期化にアプリケーションで使用されるメソッドを提供します。 VDS を使用できるように準備するには、アプリケーションで次の操作を実行する必要があります。

コード例については、「 VDS の読み込み」を参照してください。

サービス オブジェクトによって公開されるメソッドを呼び出す前に、常にサービスを完全に初期化できるようにします。 IVdsService::IsServiceReady メソッドを使用して、読み込みプロセスの状態を確認します。 初期化が完了するまで VDS オブジェクトの呼び出しをブロックするには、 IVdsService::WaitForServiceReady メソッドを使用します。

次の表に、関連するインターフェイス、列挙体、および構造体を示します。

要素
このオブジェクトによって常に公開されるインターフェイス IVdsServiceLoader
関連付けられた列挙体 [なし] :
関連する構造体 [なし] :

 

サービス オブジェクト

サービス オブジェクトは、すべての VDS アプリケーションの中心となる多機能オブジェクトです。 このオブジェクトを使用すると、呼び出し元は次の操作を実行できます。

  • サービスの初期化の状態を確認します。
  • VDS に登録されているすべてのハードウェアまたはソフトウェア プロバイダーを取得します。
  • 未割り当てディスクに関するレポート。
  • ディスク上のボリュームに関連付けられているファイル システムの種類とドライブ文字を返します。
  • 未使用のユーザー モード パスとマウントされたフォルダーをレジストリから削除し、ディスクを更新します。
  • VDS 通知を受信します。
  • ホストを再起動します。
  • ローカル コンピューター上のファイバー チャネル HBA ポートまたは iSCSI イニシエーター アダプターを取得します。
  • ローカル コンピューター上のディスクとして公開されている LUN を削除用に安全に準備します。

VDS 通知構造体は、通知を受信するために VDS に登録されているすべてのアプリケーションにオブジェクト GUID を渡します。 オブジェクト GUID をオブジェクト ポインターに変換するには、 IVdsService::GetObject メソッドを使用します。 通知モデルの詳細については、「 VDS 通知」を参照してください。

次の表に、関連するインターフェイス、列挙体、および構造体を示します。

要素
このオブジェクトによって常に公開されるインターフェイス IVdsServiceIVdsServiceHba*、 IVdsServiceIscsi*、 IVdsServiceUninstallDisk*。
常に実装されているが、アプリケーションには公開されないインターフェイス IVdsAdmin
関連付けられた列挙体 VDS_QUERY_PROVIDER_FLAGVDS_OBJECT_TYPEVDS_SERVICE_FLAGVDS_DRIVE_LETTER_FLAGVDS_FILE_SYSTEM_FLAGVDS_FILE_SYSTEM_PROP_FLAG
関連する構造体 VDS_SERVICE_PROPVDS_FILE_SYSTEM_PROPVDS_FILE_SYSTEM_TYPE_PROPVDS_DRIVE_LETTER_NOTIFICATIONVDS_FILE_SYSTEM_NOTIFICATIONVDS_MOUNT_POINT_NOTIFICATION

 

*Windows Server 2003: これらのインターフェイスは、Windows Server 2003 R2 までサポートされません。

イニシエーター アダプター オブジェクト

イニシエーター アダプター オブジェクトは、VDS サービスのホスト コンピューター上の iSCSI イニシエーター アダプターをモデル化します。 VDS サービスでは、ローカル コンピューター上のイニシエーター アダプターのみを表示できます。 イニシエーター アダプター オブジェクトの役割は、ローカル コンピューターから iSCSI ターゲットへのログイン セッションを管理することです。

次の表に、関連するインターフェイス、列挙体、および構造体を示します。

要素
このオブジェクトによって常に公開されるインターフェイス IVdsIscsiInitiatorAdapter*
関連付けられた列挙体 VDS_ISCSI_LOGIN_TYPE VDS_ISCSI_LOGIN_FLAGVDS_ISCSI_AUTH_TYPE
関連する構造体 VDS_ISCSI_INITIATOR_ADAPTER_PROP

 

*Windows Server 2003: このインターフェイスは、Windows Server 2003 R2 までサポートされていません。

イニシエーター ポータル オブジェクト

イニシエーター ポータル オブジェクトは、iSCSI イニシエーター上の iSCSI イニシエーター ポータルをモデル化します。 イニシエーター ポータルは、ホスト コンピューターが iSCSI サブシステム上のポータルに接続する IP アドレスとポートの組み合わせです。 イニシエーター ポータル オブジェクトの役割は、MPIO パスのエンドポイントの 1 つとして機能し、IPSEC セキュリティ設定を構成することです。

次の表に、関連するインターフェイス、列挙体、および構造体を示します。

要素
このオブジェクトによって常に公開されるインターフェイス IVdsIscsiInitiatorPortal*
関連付けられた列挙体 VDS_ISCSI_IPSEC_FLAG
関連する構造体 VDS_ISCSI_INITIATOR_PORTAL_PROPVDS_ISCSI_IPSEC_KEYVDS_IPADDRESS

 

*Windows Server 2003: このインターフェイスは、Windows Server 2003 R2 までサポートされていません。

HBA ポート オブジェクト

HBA ポート オブジェクトは、ファイバー チャネル ホスト バス アダプター (HBA) ポートをモデル化します。

IVdsServiceHba::QueryHbaPorts メソッドを使用して、ローカル コンピューター上の VDS に認識されている HBA ポートを確認します。

次の表に、関連するインターフェイス、列挙体、および構造体を示します。

要素
このオブジェクトによって常に公開されるインターフェイス IVdsHbaPort*
関連付けられた列挙体 VDS_HBAPORT_TYPEVDS_HBAPORT_STATUSVDS_HBAPORT_SPEED_FLAG
関連する構造体 VDS_HBAPORT_PROP

 

*Windows Server 2003: このインターフェイスは、Windows Server 2003 R2 までサポートされていません。

VDS オブジェクト モデル

IVdsServiceLoader::LoadService

VDS の読み込み

IVdsService::GetObject

VDS 通知