Share via


IVdsOpenVDisk::Attach メソッド (vds.h)

[Windows 8とWindows Server 2012以降、Virtual Disk Service COM インターフェイスは Windows Storage Management API に置き換えられます。

仮想ディスクをアタッチします。

構文

HRESULT Attach(
  [in]  LPWSTR                   pStringSecurityDescriptor,
  [in]  ATTACH_VIRTUAL_DISK_FLAG Flags,
  [in]  ULONG                    ProviderSpecificFlags,
  [in]  ULONG                    TimeoutInMs,
  [out] IVdsAsync                **ppAsync
);

パラメーター

[in] pStringSecurityDescriptor

仮想ディスクのセキュリティ記述子を含む文字列。 指定しない場合、使用中のセキュリティ記述子は "D:P(A;;ジョージア 州;;;WINDOWS 7 では WD)"、"D:P(A;;ジョージア 州;;;WD)(A;;ジョージア 州;;;WINDOWS 8.1 以降の場合は AC)" です。

[in] Flags

仮想ディスクの接続方法を指定する ATTACH_VIRTUAL_DISK_FLAG 列挙値のビットマスク。 使用可能な値は次のとおりです。

意味
ATTACH_VIRTUAL_DISK_FLAG_NONE
0x00000000
フラグは指定されません。
ATTACH_VIRTUAL_DISK_FLAG_READ_ONLY
0x00000001
仮想ディスクを読み取り専用として接続します。
ATTACH_VIRTUAL_DISK_FLAG_NO_DRIVE_LETTER
0x00000002
ドライブ文字を割り当てずに、接続されている仮想ディスク上のすべてのボリュームをマウントします。
ATTACH_VIRTUAL_DISK_FLAG_PERMANENT_LIFETIME
0x00000004
VDS サービスは、 IVdsOpenVDisk::D etach メソッドが呼び出されてデタッチされるまで VHD がアタッチされたままになるように、このフラグを自動的に設定します。
ATTACH_VIRTUAL_DISK_FLAG_NO_LOCAL_HOST
0x00000008
予約済み。 使用しないでください。

[in] ProviderSpecificFlags

アタッチされている仮想ディスクの種類に固有のフラグのビットマスク。 これらのフラグはプロバイダー固有です。 Microsoft 仮想ディスク プロバイダーの場合、このパラメーターは 0 である必要があります。

[in] TimeoutInMs

このパラメーターは将来使用するために予約されています。

[out] ppAsync

正常に完了すると IVdsAsync インターフェイスを受け取り、この操作を監視および制御する IVdsAsync インターフェイスへのポインター。 呼び出し元は、受信したインターフェイスが終了したら、それを解放する必要があります。 インターフェイスで IVdsAsync::Wait メソッドが呼び出され、成功した HRESULT 値が返された場合は、各インターフェイス ポインターで IUnknown::Release メソッドを呼び出して、VDS_ASYNC_OUTPUT構造体で返されるインターフェイスを解放する必要があります。 ただし、Wait がエラー HRESULT 値を返す場合、または WaitpHrResult パラメーターがエラー HRESULT 値を受け取った場合、VDS_ASYNC_OUTPUT構造体内のインターフェイス ポインターは NULL であり、解放する必要はありません。 成功または失敗の HRESULT 値をテストするには、Winerror.h で定義 されている SUCCEEDED マクロと FAILED マクロを使用します。

戻り値

このメソッドは、E_INVALIDARGやE_OUTOFMEMORYなどの標準の HRESULT 値と、VDS 固有の戻り値を返すことができます。 また、HRESULT_FROM_WIN32 マクロを使用して、変換されたシステム エラー コードを返すこともできます。 エラーは、VDS 自体または使用されている基になる VDS プロバイダー から発生する可能性があります。 可能な戻り値は次のとおりです。

リターン コード 説明
S_OK
メソッドは正常に完了しました。

解説

仮想ディスクが接続されている場合、呼び出し元は次の通知の 1 つまたはすべてを受け取ることができます。

  • 呼び出し元が VDS 通知に登録されている場合、呼び出し元はディスク到着通知を受け取ります。 詳細については、「 VDS 通知」を参照してください。
  • 呼び出し元が PnP 通知に登録されている場合、呼び出し元は PnP ディスク到着通知を受け取ります。 詳細については、「 RegisterDeviceNotification」を参照してください。
アプリケーションでは、 CoInitializeSecurity 関数を呼び出して、プロセス全体のセキュリティを初期化する必要があります。 dwImpLevel パラメーターは、RPC_C_IMP_LEVEL_IMPERSONATEに設定する必要があります。

Windows Server 2008、Windows Vista、Windows Server 2003: これらのアクションは、Windows 7 および Windows Server 2008 R2 まで必要ありません。

要件

要件
サポートされている最小のクライアント Windows 7 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 R2 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー vds.h
Library Uuid.lib

こちらもご覧ください

IVdsOpenVDisk