mirror of https://github.com/UMSKT/xpmgr.git
10257 lines
315 KiB
C++
10257 lines
315 KiB
C++
|
|
|
|
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
|
|
|
|
|
|
/* File created by MIDL compiler version 7.00.0555 */
|
|
/* Compiler settings for vds.idl:
|
|
Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555
|
|
protocol : dce , ms_ext, c_ext, robust
|
|
error checks: allocation ref bounds_check enum stub_data
|
|
VC __declspec() decoration level:
|
|
__declspec(uuid()), __declspec(selectany), __declspec(novtable)
|
|
DECLSPEC_UUID(), MIDL_INTERFACE()
|
|
*/
|
|
/* @@MIDL_FILE_HEADING( ) */
|
|
|
|
#pragma warning( disable: 4049 ) /* more than 64k source lines */
|
|
|
|
|
|
/* verify that the <rpcndr.h> version is high enough to compile this file*/
|
|
#ifndef __REQUIRED_RPCNDR_H_VERSION__
|
|
#define __REQUIRED_RPCNDR_H_VERSION__ 500
|
|
#endif
|
|
|
|
/* verify that the <rpcsal.h> version is high enough to compile this file*/
|
|
#ifndef __REQUIRED_RPCSAL_H_VERSION__
|
|
#define __REQUIRED_RPCSAL_H_VERSION__ 100
|
|
#endif
|
|
|
|
#include "rpc.h"
|
|
#include "rpcndr.h"
|
|
|
|
#ifndef __RPCNDR_H_VERSION__
|
|
#error this stub requires an updated version of <rpcndr.h>
|
|
#endif // __RPCNDR_H_VERSION__
|
|
|
|
#ifndef COM_NO_WINDOWS_H
|
|
#include "windows.h"
|
|
#include "ole2.h"
|
|
#endif /*COM_NO_WINDOWS_H*/
|
|
|
|
#ifndef __vds_h__
|
|
#define __vds_h__
|
|
|
|
#if defined(_MSC_VER) && (_MSC_VER >= 1020)
|
|
#pragma once
|
|
#endif
|
|
|
|
/* Forward Declarations */
|
|
|
|
#ifndef __IEnumVdsObject_FWD_DEFINED__
|
|
#define __IEnumVdsObject_FWD_DEFINED__
|
|
typedef interface IEnumVdsObject IEnumVdsObject;
|
|
#endif /* __IEnumVdsObject_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsAsync_FWD_DEFINED__
|
|
#define __IVdsAsync_FWD_DEFINED__
|
|
typedef interface IVdsAsync IVdsAsync;
|
|
#endif /* __IVdsAsync_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsAdviseSink_FWD_DEFINED__
|
|
#define __IVdsAdviseSink_FWD_DEFINED__
|
|
typedef interface IVdsAdviseSink IVdsAdviseSink;
|
|
#endif /* __IVdsAdviseSink_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsProvider_FWD_DEFINED__
|
|
#define __IVdsProvider_FWD_DEFINED__
|
|
typedef interface IVdsProvider IVdsProvider;
|
|
#endif /* __IVdsProvider_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsProviderSupport_FWD_DEFINED__
|
|
#define __IVdsProviderSupport_FWD_DEFINED__
|
|
typedef interface IVdsProviderSupport IVdsProviderSupport;
|
|
#endif /* __IVdsProviderSupport_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsSwProvider_FWD_DEFINED__
|
|
#define __IVdsSwProvider_FWD_DEFINED__
|
|
typedef interface IVdsSwProvider IVdsSwProvider;
|
|
#endif /* __IVdsSwProvider_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsPack_FWD_DEFINED__
|
|
#define __IVdsPack_FWD_DEFINED__
|
|
typedef interface IVdsPack IVdsPack;
|
|
#endif /* __IVdsPack_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsPack2_FWD_DEFINED__
|
|
#define __IVdsPack2_FWD_DEFINED__
|
|
typedef interface IVdsPack2 IVdsPack2;
|
|
#endif /* __IVdsPack2_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsDisk_FWD_DEFINED__
|
|
#define __IVdsDisk_FWD_DEFINED__
|
|
typedef interface IVdsDisk IVdsDisk;
|
|
#endif /* __IVdsDisk_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsDisk2_FWD_DEFINED__
|
|
#define __IVdsDisk2_FWD_DEFINED__
|
|
typedef interface IVdsDisk2 IVdsDisk2;
|
|
#endif /* __IVdsDisk2_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsDiskOnline_FWD_DEFINED__
|
|
#define __IVdsDiskOnline_FWD_DEFINED__
|
|
typedef interface IVdsDiskOnline IVdsDiskOnline;
|
|
#endif /* __IVdsDiskOnline_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsAdvancedDisk_FWD_DEFINED__
|
|
#define __IVdsAdvancedDisk_FWD_DEFINED__
|
|
typedef interface IVdsAdvancedDisk IVdsAdvancedDisk;
|
|
#endif /* __IVdsAdvancedDisk_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsAdvancedDisk2_FWD_DEFINED__
|
|
#define __IVdsAdvancedDisk2_FWD_DEFINED__
|
|
typedef interface IVdsAdvancedDisk2 IVdsAdvancedDisk2;
|
|
#endif /* __IVdsAdvancedDisk2_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsCreatePartitionEx_FWD_DEFINED__
|
|
#define __IVdsCreatePartitionEx_FWD_DEFINED__
|
|
typedef interface IVdsCreatePartitionEx IVdsCreatePartitionEx;
|
|
#endif /* __IVdsCreatePartitionEx_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsRemovable_FWD_DEFINED__
|
|
#define __IVdsRemovable_FWD_DEFINED__
|
|
typedef interface IVdsRemovable IVdsRemovable;
|
|
#endif /* __IVdsRemovable_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsVolume_FWD_DEFINED__
|
|
#define __IVdsVolume_FWD_DEFINED__
|
|
typedef interface IVdsVolume IVdsVolume;
|
|
#endif /* __IVdsVolume_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsVolume2_FWD_DEFINED__
|
|
#define __IVdsVolume2_FWD_DEFINED__
|
|
typedef interface IVdsVolume2 IVdsVolume2;
|
|
#endif /* __IVdsVolume2_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsVolumeOnline_FWD_DEFINED__
|
|
#define __IVdsVolumeOnline_FWD_DEFINED__
|
|
typedef interface IVdsVolumeOnline IVdsVolumeOnline;
|
|
#endif /* __IVdsVolumeOnline_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsVolumePlex_FWD_DEFINED__
|
|
#define __IVdsVolumePlex_FWD_DEFINED__
|
|
typedef interface IVdsVolumePlex IVdsVolumePlex;
|
|
#endif /* __IVdsVolumePlex_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsDisk3_FWD_DEFINED__
|
|
#define __IVdsDisk3_FWD_DEFINED__
|
|
typedef interface IVdsDisk3 IVdsDisk3;
|
|
#endif /* __IVdsDisk3_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsHwProvider_FWD_DEFINED__
|
|
#define __IVdsHwProvider_FWD_DEFINED__
|
|
typedef interface IVdsHwProvider IVdsHwProvider;
|
|
#endif /* __IVdsHwProvider_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsHwProviderType_FWD_DEFINED__
|
|
#define __IVdsHwProviderType_FWD_DEFINED__
|
|
typedef interface IVdsHwProviderType IVdsHwProviderType;
|
|
#endif /* __IVdsHwProviderType_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsHwProviderType2_FWD_DEFINED__
|
|
#define __IVdsHwProviderType2_FWD_DEFINED__
|
|
typedef interface IVdsHwProviderType2 IVdsHwProviderType2;
|
|
#endif /* __IVdsHwProviderType2_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsHwProviderStoragePools_FWD_DEFINED__
|
|
#define __IVdsHwProviderStoragePools_FWD_DEFINED__
|
|
typedef interface IVdsHwProviderStoragePools IVdsHwProviderStoragePools;
|
|
#endif /* __IVdsHwProviderStoragePools_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsSubSystem_FWD_DEFINED__
|
|
#define __IVdsSubSystem_FWD_DEFINED__
|
|
typedef interface IVdsSubSystem IVdsSubSystem;
|
|
#endif /* __IVdsSubSystem_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsSubSystem2_FWD_DEFINED__
|
|
#define __IVdsSubSystem2_FWD_DEFINED__
|
|
typedef interface IVdsSubSystem2 IVdsSubSystem2;
|
|
#endif /* __IVdsSubSystem2_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsSubSystemNaming_FWD_DEFINED__
|
|
#define __IVdsSubSystemNaming_FWD_DEFINED__
|
|
typedef interface IVdsSubSystemNaming IVdsSubSystemNaming;
|
|
#endif /* __IVdsSubSystemNaming_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsSubSystemIscsi_FWD_DEFINED__
|
|
#define __IVdsSubSystemIscsi_FWD_DEFINED__
|
|
typedef interface IVdsSubSystemIscsi IVdsSubSystemIscsi;
|
|
#endif /* __IVdsSubSystemIscsi_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsSubSystemInterconnect_FWD_DEFINED__
|
|
#define __IVdsSubSystemInterconnect_FWD_DEFINED__
|
|
typedef interface IVdsSubSystemInterconnect IVdsSubSystemInterconnect;
|
|
#endif /* __IVdsSubSystemInterconnect_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsControllerPort_FWD_DEFINED__
|
|
#define __IVdsControllerPort_FWD_DEFINED__
|
|
typedef interface IVdsControllerPort IVdsControllerPort;
|
|
#endif /* __IVdsControllerPort_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsController_FWD_DEFINED__
|
|
#define __IVdsController_FWD_DEFINED__
|
|
typedef interface IVdsController IVdsController;
|
|
#endif /* __IVdsController_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsControllerControllerPort_FWD_DEFINED__
|
|
#define __IVdsControllerControllerPort_FWD_DEFINED__
|
|
typedef interface IVdsControllerControllerPort IVdsControllerControllerPort;
|
|
#endif /* __IVdsControllerControllerPort_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsDrive_FWD_DEFINED__
|
|
#define __IVdsDrive_FWD_DEFINED__
|
|
typedef interface IVdsDrive IVdsDrive;
|
|
#endif /* __IVdsDrive_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsDrive2_FWD_DEFINED__
|
|
#define __IVdsDrive2_FWD_DEFINED__
|
|
typedef interface IVdsDrive2 IVdsDrive2;
|
|
#endif /* __IVdsDrive2_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsLun_FWD_DEFINED__
|
|
#define __IVdsLun_FWD_DEFINED__
|
|
typedef interface IVdsLun IVdsLun;
|
|
#endif /* __IVdsLun_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsLun2_FWD_DEFINED__
|
|
#define __IVdsLun2_FWD_DEFINED__
|
|
typedef interface IVdsLun2 IVdsLun2;
|
|
#endif /* __IVdsLun2_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsLunNaming_FWD_DEFINED__
|
|
#define __IVdsLunNaming_FWD_DEFINED__
|
|
typedef interface IVdsLunNaming IVdsLunNaming;
|
|
#endif /* __IVdsLunNaming_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsLunNumber_FWD_DEFINED__
|
|
#define __IVdsLunNumber_FWD_DEFINED__
|
|
typedef interface IVdsLunNumber IVdsLunNumber;
|
|
#endif /* __IVdsLunNumber_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsLunControllerPorts_FWD_DEFINED__
|
|
#define __IVdsLunControllerPorts_FWD_DEFINED__
|
|
typedef interface IVdsLunControllerPorts IVdsLunControllerPorts;
|
|
#endif /* __IVdsLunControllerPorts_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsLunMpio_FWD_DEFINED__
|
|
#define __IVdsLunMpio_FWD_DEFINED__
|
|
typedef interface IVdsLunMpio IVdsLunMpio;
|
|
#endif /* __IVdsLunMpio_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsLunIscsi_FWD_DEFINED__
|
|
#define __IVdsLunIscsi_FWD_DEFINED__
|
|
typedef interface IVdsLunIscsi IVdsLunIscsi;
|
|
#endif /* __IVdsLunIscsi_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsLunPlex_FWD_DEFINED__
|
|
#define __IVdsLunPlex_FWD_DEFINED__
|
|
typedef interface IVdsLunPlex IVdsLunPlex;
|
|
#endif /* __IVdsLunPlex_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsIscsiPortal_FWD_DEFINED__
|
|
#define __IVdsIscsiPortal_FWD_DEFINED__
|
|
typedef interface IVdsIscsiPortal IVdsIscsiPortal;
|
|
#endif /* __IVdsIscsiPortal_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsIscsiTarget_FWD_DEFINED__
|
|
#define __IVdsIscsiTarget_FWD_DEFINED__
|
|
typedef interface IVdsIscsiTarget IVdsIscsiTarget;
|
|
#endif /* __IVdsIscsiTarget_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsIscsiPortalGroup_FWD_DEFINED__
|
|
#define __IVdsIscsiPortalGroup_FWD_DEFINED__
|
|
typedef interface IVdsIscsiPortalGroup IVdsIscsiPortalGroup;
|
|
#endif /* __IVdsIscsiPortalGroup_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsStoragePool_FWD_DEFINED__
|
|
#define __IVdsStoragePool_FWD_DEFINED__
|
|
typedef interface IVdsStoragePool IVdsStoragePool;
|
|
#endif /* __IVdsStoragePool_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsMaintenance_FWD_DEFINED__
|
|
#define __IVdsMaintenance_FWD_DEFINED__
|
|
typedef interface IVdsMaintenance IVdsMaintenance;
|
|
#endif /* __IVdsMaintenance_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsVdProvider_FWD_DEFINED__
|
|
#define __IVdsVdProvider_FWD_DEFINED__
|
|
typedef interface IVdsVdProvider IVdsVdProvider;
|
|
#endif /* __IVdsVdProvider_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsVDisk_FWD_DEFINED__
|
|
#define __IVdsVDisk_FWD_DEFINED__
|
|
typedef interface IVdsVDisk IVdsVDisk;
|
|
#endif /* __IVdsVDisk_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsOpenVDisk_FWD_DEFINED__
|
|
#define __IVdsOpenVDisk_FWD_DEFINED__
|
|
typedef interface IVdsOpenVDisk IVdsOpenVDisk;
|
|
#endif /* __IVdsOpenVDisk_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsServiceLoader_FWD_DEFINED__
|
|
#define __IVdsServiceLoader_FWD_DEFINED__
|
|
typedef interface IVdsServiceLoader IVdsServiceLoader;
|
|
#endif /* __IVdsServiceLoader_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsService_FWD_DEFINED__
|
|
#define __IVdsService_FWD_DEFINED__
|
|
typedef interface IVdsService IVdsService;
|
|
#endif /* __IVdsService_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsServiceUninstallDisk_FWD_DEFINED__
|
|
#define __IVdsServiceUninstallDisk_FWD_DEFINED__
|
|
typedef interface IVdsServiceUninstallDisk IVdsServiceUninstallDisk;
|
|
#endif /* __IVdsServiceUninstallDisk_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsServiceHba_FWD_DEFINED__
|
|
#define __IVdsServiceHba_FWD_DEFINED__
|
|
typedef interface IVdsServiceHba IVdsServiceHba;
|
|
#endif /* __IVdsServiceHba_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsServiceIscsi_FWD_DEFINED__
|
|
#define __IVdsServiceIscsi_FWD_DEFINED__
|
|
typedef interface IVdsServiceIscsi IVdsServiceIscsi;
|
|
#endif /* __IVdsServiceIscsi_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsServiceInitialization_FWD_DEFINED__
|
|
#define __IVdsServiceInitialization_FWD_DEFINED__
|
|
typedef interface IVdsServiceInitialization IVdsServiceInitialization;
|
|
#endif /* __IVdsServiceInitialization_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsHbaPort_FWD_DEFINED__
|
|
#define __IVdsHbaPort_FWD_DEFINED__
|
|
typedef interface IVdsHbaPort IVdsHbaPort;
|
|
#endif /* __IVdsHbaPort_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsIscsiInitiatorAdapter_FWD_DEFINED__
|
|
#define __IVdsIscsiInitiatorAdapter_FWD_DEFINED__
|
|
typedef interface IVdsIscsiInitiatorAdapter IVdsIscsiInitiatorAdapter;
|
|
#endif /* __IVdsIscsiInitiatorAdapter_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsIscsiInitiatorPortal_FWD_DEFINED__
|
|
#define __IVdsIscsiInitiatorPortal_FWD_DEFINED__
|
|
typedef interface IVdsIscsiInitiatorPortal IVdsIscsiInitiatorPortal;
|
|
#endif /* __IVdsIscsiInitiatorPortal_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsDiskPartitionMF_FWD_DEFINED__
|
|
#define __IVdsDiskPartitionMF_FWD_DEFINED__
|
|
typedef interface IVdsDiskPartitionMF IVdsDiskPartitionMF;
|
|
#endif /* __IVdsDiskPartitionMF_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsVolumeMF_FWD_DEFINED__
|
|
#define __IVdsVolumeMF_FWD_DEFINED__
|
|
typedef interface IVdsVolumeMF IVdsVolumeMF;
|
|
#endif /* __IVdsVolumeMF_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsVolumeMF2_FWD_DEFINED__
|
|
#define __IVdsVolumeMF2_FWD_DEFINED__
|
|
typedef interface IVdsVolumeMF2 IVdsVolumeMF2;
|
|
#endif /* __IVdsVolumeMF2_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsVolumeShrink_FWD_DEFINED__
|
|
#define __IVdsVolumeShrink_FWD_DEFINED__
|
|
typedef interface IVdsVolumeShrink IVdsVolumeShrink;
|
|
#endif /* __IVdsVolumeShrink_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsSubSystemImportTarget_FWD_DEFINED__
|
|
#define __IVdsSubSystemImportTarget_FWD_DEFINED__
|
|
typedef interface IVdsSubSystemImportTarget IVdsSubSystemImportTarget;
|
|
#endif /* __IVdsSubSystemImportTarget_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsIscsiPortalLocal_FWD_DEFINED__
|
|
#define __IVdsIscsiPortalLocal_FWD_DEFINED__
|
|
typedef interface IVdsIscsiPortalLocal IVdsIscsiPortalLocal;
|
|
#endif /* __IVdsIscsiPortalLocal_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsServiceSAN_FWD_DEFINED__
|
|
#define __IVdsServiceSAN_FWD_DEFINED__
|
|
typedef interface IVdsServiceSAN IVdsServiceSAN;
|
|
#endif /* __IVdsServiceSAN_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsVolumeMF3_FWD_DEFINED__
|
|
#define __IVdsVolumeMF3_FWD_DEFINED__
|
|
typedef interface IVdsVolumeMF3 IVdsVolumeMF3;
|
|
#endif /* __IVdsVolumeMF3_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsDiskPartitionMF2_FWD_DEFINED__
|
|
#define __IVdsDiskPartitionMF2_FWD_DEFINED__
|
|
typedef interface IVdsDiskPartitionMF2 IVdsDiskPartitionMF2;
|
|
#endif /* __IVdsDiskPartitionMF2_FWD_DEFINED__ */
|
|
|
|
|
|
/* header files for imported files */
|
|
#include "oaidl.h"
|
|
#include "vdssys.h"
|
|
#include "vdserr.h"
|
|
#include "vdslun.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C"{
|
|
#endif
|
|
|
|
|
|
/* interface __MIDL_itf_vds_0000_0000 */
|
|
/* [local] */
|
|
|
|
//+--------------------------------------------------------------
|
|
//
|
|
// Microsoft Windows
|
|
// Copyright (c) 2008 Microsoft Corporation.
|
|
//
|
|
//---------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
|
|
typedef GUID VDS_OBJECT_ID;
|
|
|
|
typedef
|
|
enum _VDS_OBJECT_TYPE
|
|
{ VDS_OT_UNKNOWN = 0,
|
|
VDS_OT_PROVIDER = 1,
|
|
VDS_OT_PACK = 10,
|
|
VDS_OT_VOLUME = 11,
|
|
VDS_OT_VOLUME_PLEX = 12,
|
|
VDS_OT_DISK = 13,
|
|
VDS_OT_SUB_SYSTEM = 30,
|
|
VDS_OT_CONTROLLER = 31,
|
|
VDS_OT_DRIVE = 32,
|
|
VDS_OT_LUN = 33,
|
|
VDS_OT_LUN_PLEX = 34,
|
|
VDS_OT_PORT = 35,
|
|
VDS_OT_PORTAL = 36,
|
|
VDS_OT_TARGET = 37,
|
|
VDS_OT_PORTAL_GROUP = 38,
|
|
VDS_OT_STORAGE_POOL = 39,
|
|
VDS_OT_HBAPORT = 90,
|
|
VDS_OT_INIT_ADAPTER = 91,
|
|
VDS_OT_INIT_PORTAL = 92,
|
|
VDS_OT_ASYNC = 100,
|
|
VDS_OT_ENUM = 101,
|
|
VDS_OT_VDISK = 200,
|
|
VDS_OT_OPEN_VDISK = 201
|
|
} VDS_OBJECT_TYPE;
|
|
|
|
typedef
|
|
enum _VDS_PROVIDER_TYPE
|
|
{ VDS_PT_UNKNOWN = 0,
|
|
VDS_PT_SOFTWARE = 1,
|
|
VDS_PT_HARDWARE = 2,
|
|
VDS_PT_VIRTUALDISK = 3,
|
|
VDS_PT_MAX = 4
|
|
} VDS_PROVIDER_TYPE;
|
|
|
|
typedef
|
|
enum _VDS_PROVIDER_FLAG
|
|
{ VDS_PF_DYNAMIC = 0x1,
|
|
VDS_PF_INTERNAL_HARDWARE_PROVIDER = 0x2,
|
|
VDS_PF_ONE_DISK_ONLY_PER_PACK = 0x4,
|
|
VDS_PF_ONE_PACK_ONLINE_ONLY = 0x8,
|
|
VDS_PF_VOLUME_SPACE_MUST_BE_CONTIGUOUS = 0x10,
|
|
VDS_PF_SUPPORT_DYNAMIC = 0x80000000,
|
|
VDS_PF_SUPPORT_FAULT_TOLERANT = 0x40000000,
|
|
VDS_PF_SUPPORT_DYNAMIC_1394 = 0x20000000,
|
|
VDS_PF_SUPPORT_MIRROR = 0x20,
|
|
VDS_PF_SUPPORT_RAID5 = 0x40
|
|
} VDS_PROVIDER_FLAG;
|
|
|
|
typedef
|
|
enum _VDS_RECOVER_ACTION
|
|
{ VDS_RA_UNKNOWN = 0,
|
|
VDS_RA_REFRESH = 1,
|
|
VDS_RA_RESTART = 2
|
|
} VDS_RECOVER_ACTION;
|
|
|
|
typedef
|
|
enum _VDS_NOTIFICATION_TARGET_TYPE
|
|
{ VDS_NTT_UNKNOWN = 0,
|
|
VDS_NTT_PACK = VDS_OT_PACK,
|
|
VDS_NTT_VOLUME = VDS_OT_VOLUME,
|
|
VDS_NTT_DISK = VDS_OT_DISK,
|
|
VDS_NTT_PARTITION = 60,
|
|
VDS_NTT_DRIVE_LETTER = 61,
|
|
VDS_NTT_FILE_SYSTEM = 62,
|
|
VDS_NTT_MOUNT_POINT = 63,
|
|
VDS_NTT_SUB_SYSTEM = VDS_OT_SUB_SYSTEM,
|
|
VDS_NTT_CONTROLLER = VDS_OT_CONTROLLER,
|
|
VDS_NTT_DRIVE = VDS_OT_DRIVE,
|
|
VDS_NTT_LUN = VDS_OT_LUN,
|
|
VDS_NTT_PORT = VDS_OT_PORT,
|
|
VDS_NTT_PORTAL = VDS_OT_PORTAL,
|
|
VDS_NTT_TARGET = VDS_OT_TARGET,
|
|
VDS_NTT_PORTAL_GROUP = VDS_OT_PORTAL_GROUP,
|
|
VDS_NTT_SERVICE = 200
|
|
} VDS_NOTIFICATION_TARGET_TYPE;
|
|
|
|
#define VDS_NF_PACK_ARRIVE ( 1 )
|
|
|
|
#define VDS_NF_PACK_DEPART ( 2 )
|
|
|
|
#define VDS_NF_PACK_MODIFY ( 3 )
|
|
|
|
#define VDS_NF_VOLUME_ARRIVE ( 4 )
|
|
|
|
#define VDS_NF_VOLUME_DEPART ( 5 )
|
|
|
|
#define VDS_NF_VOLUME_MODIFY ( 6 )
|
|
|
|
#define VDS_NF_VOLUME_REBUILDING_PROGRESS ( 7 )
|
|
|
|
#define VDS_NF_DISK_ARRIVE ( 8 )
|
|
|
|
#define VDS_NF_DISK_DEPART ( 9 )
|
|
|
|
#define VDS_NF_DISK_MODIFY ( 10 )
|
|
|
|
#define VDS_NF_PARTITION_ARRIVE ( 11 )
|
|
|
|
#define VDS_NF_PARTITION_DEPART ( 12 )
|
|
|
|
#define VDS_NF_PARTITION_MODIFY ( 13 )
|
|
|
|
#define VDS_NF_SUB_SYSTEM_ARRIVE ( 101 )
|
|
|
|
#define VDS_NF_SUB_SYSTEM_DEPART ( 102 )
|
|
|
|
#define VDS_NF_CONTROLLER_ARRIVE ( 103 )
|
|
|
|
#define VDS_NF_CONTROLLER_DEPART ( 104 )
|
|
|
|
#define VDS_NF_DRIVE_ARRIVE ( 105 )
|
|
|
|
#define VDS_NF_DRIVE_DEPART ( 106 )
|
|
|
|
#define VDS_NF_DRIVE_MODIFY ( 107 )
|
|
|
|
#define VDS_NF_LUN_ARRIVE ( 108 )
|
|
|
|
#define VDS_NF_LUN_DEPART ( 109 )
|
|
|
|
#define VDS_NF_LUN_MODIFY ( 110 )
|
|
|
|
#define VDS_NF_PORT_ARRIVE ( 121 )
|
|
|
|
#define VDS_NF_PORT_DEPART ( 122 )
|
|
|
|
#define VDS_NF_PORTAL_ARRIVE ( 123 )
|
|
|
|
#define VDS_NF_PORTAL_DEPART ( 124 )
|
|
|
|
#define VDS_NF_PORTAL_MODIFY ( 125 )
|
|
|
|
#define VDS_NF_TARGET_ARRIVE ( 126 )
|
|
|
|
#define VDS_NF_TARGET_DEPART ( 127 )
|
|
|
|
#define VDS_NF_TARGET_MODIFY ( 128 )
|
|
|
|
#define VDS_NF_PORTAL_GROUP_ARRIVE ( 129 )
|
|
|
|
#define VDS_NF_PORTAL_GROUP_DEPART ( 130 )
|
|
|
|
#define VDS_NF_PORTAL_GROUP_MODIFY ( 131 )
|
|
|
|
#define VDS_NF_SUB_SYSTEM_MODIFY ( 151 )
|
|
|
|
#define VDS_NF_DRIVE_LETTER_FREE ( 201 )
|
|
|
|
#define VDS_NF_DRIVE_LETTER_ASSIGN ( 202 )
|
|
|
|
#define VDS_NF_FILE_SYSTEM_MODIFY ( 203 )
|
|
|
|
#define VDS_NF_FILE_SYSTEM_FORMAT_PROGRESS ( 204 )
|
|
|
|
#define VDS_NF_MOUNT_POINTS_CHANGE ( 205 )
|
|
|
|
#define VDS_NF_FILE_SYSTEM_SHRINKING_PROGRESS ( 206 )
|
|
|
|
#define VDS_NF_SERVICE_OUT_OF_SYNC ( 301 )
|
|
|
|
#define VDS_NF_CONTROLLER_MODIFY ( 350 )
|
|
|
|
#define VDS_NF_CONTROLLER_REMOVED ( 351 )
|
|
|
|
#define VDS_NF_PORT_MODIFY ( 352 )
|
|
|
|
#define VDS_NF_PORT_REMOVED ( 353 )
|
|
|
|
#define VDS_NF_DRIVE_REMOVED ( 354 )
|
|
|
|
typedef struct _VDS_PACK_NOTIFICATION
|
|
{
|
|
ULONG ulEvent;
|
|
VDS_OBJECT_ID packId;
|
|
} VDS_PACK_NOTIFICATION;
|
|
|
|
typedef struct _VDS_DISK_NOTIFICATION
|
|
{
|
|
ULONG ulEvent;
|
|
VDS_OBJECT_ID diskId;
|
|
} VDS_DISK_NOTIFICATION;
|
|
|
|
typedef struct _VDS_VOLUME_NOTIFICATION
|
|
{
|
|
ULONG ulEvent;
|
|
VDS_OBJECT_ID volumeId;
|
|
VDS_OBJECT_ID plexId;
|
|
ULONG ulPercentCompleted;
|
|
} VDS_VOLUME_NOTIFICATION;
|
|
|
|
typedef struct _VDS_PARTITION_NOTIFICATION
|
|
{
|
|
ULONG ulEvent;
|
|
VDS_OBJECT_ID diskId;
|
|
ULONGLONG ullOffset;
|
|
} VDS_PARTITION_NOTIFICATION;
|
|
|
|
typedef struct _VDS_SERVICE_NOTIFICATION
|
|
{
|
|
ULONG ulEvent;
|
|
VDS_RECOVER_ACTION action;
|
|
} VDS_SERVICE_NOTIFICATION;
|
|
|
|
typedef struct _VDS_DRIVE_LETTER_NOTIFICATION
|
|
{
|
|
ULONG ulEvent;
|
|
WCHAR wcLetter;
|
|
VDS_OBJECT_ID volumeId;
|
|
} VDS_DRIVE_LETTER_NOTIFICATION;
|
|
|
|
typedef struct _VDS_FILE_SYSTEM_NOTIFICATION
|
|
{
|
|
ULONG ulEvent;
|
|
VDS_OBJECT_ID volumeId;
|
|
DWORD dwPercentCompleted;
|
|
} VDS_FILE_SYSTEM_NOTIFICATION;
|
|
|
|
typedef struct _VDS_MOUNT_POINT_NOTIFICATION
|
|
{
|
|
ULONG ulEvent;
|
|
VDS_OBJECT_ID volumeId;
|
|
} VDS_MOUNT_POINT_NOTIFICATION;
|
|
|
|
typedef struct _VDS_SUB_SYSTEM_NOTIFICATION
|
|
{
|
|
ULONG ulEvent;
|
|
VDS_OBJECT_ID subSystemId;
|
|
} VDS_SUB_SYSTEM_NOTIFICATION;
|
|
|
|
typedef struct _VDS_CONTROLLER_NOTIFICATION
|
|
{
|
|
ULONG ulEvent;
|
|
VDS_OBJECT_ID controllerId;
|
|
} VDS_CONTROLLER_NOTIFICATION;
|
|
|
|
typedef struct _VDS_DRIVE_NOTIFICATION
|
|
{
|
|
ULONG ulEvent;
|
|
VDS_OBJECT_ID driveId;
|
|
} VDS_DRIVE_NOTIFICATION;
|
|
|
|
typedef struct _VDS_LUN_NOTIFICATION
|
|
{
|
|
ULONG ulEvent;
|
|
VDS_OBJECT_ID LunId;
|
|
} VDS_LUN_NOTIFICATION;
|
|
|
|
typedef struct _VDS_PORT_NOTIFICATION
|
|
{
|
|
ULONG ulEvent;
|
|
VDS_OBJECT_ID portId;
|
|
} VDS_PORT_NOTIFICATION;
|
|
|
|
typedef struct _VDS_PORTAL_NOTIFICATION
|
|
{
|
|
ULONG ulEvent;
|
|
VDS_OBJECT_ID portalId;
|
|
} VDS_PORTAL_NOTIFICATION;
|
|
|
|
typedef struct _VDS_TARGET_NOTIFICATION
|
|
{
|
|
ULONG ulEvent;
|
|
VDS_OBJECT_ID targetId;
|
|
} VDS_TARGET_NOTIFICATION;
|
|
|
|
typedef struct _VDS_PORTAL_GROUP_NOTIFICATION
|
|
{
|
|
ULONG ulEvent;
|
|
VDS_OBJECT_ID portalGroupId;
|
|
} VDS_PORTAL_GROUP_NOTIFICATION;
|
|
|
|
typedef struct _VDS_NOTIFICATION
|
|
{
|
|
VDS_NOTIFICATION_TARGET_TYPE objectType;
|
|
/* [switch_type] */ union
|
|
{
|
|
VDS_PACK_NOTIFICATION Pack;
|
|
VDS_DISK_NOTIFICATION Disk;
|
|
VDS_VOLUME_NOTIFICATION Volume;
|
|
VDS_PARTITION_NOTIFICATION Partition;
|
|
VDS_DRIVE_LETTER_NOTIFICATION Letter;
|
|
VDS_FILE_SYSTEM_NOTIFICATION FileSystem;
|
|
VDS_MOUNT_POINT_NOTIFICATION MountPoint;
|
|
VDS_SUB_SYSTEM_NOTIFICATION SubSystem;
|
|
VDS_CONTROLLER_NOTIFICATION Controller;
|
|
VDS_DRIVE_NOTIFICATION Drive;
|
|
VDS_LUN_NOTIFICATION Lun;
|
|
VDS_PORT_NOTIFICATION Port;
|
|
VDS_PORTAL_NOTIFICATION Portal;
|
|
VDS_TARGET_NOTIFICATION Target;
|
|
VDS_PORTAL_GROUP_NOTIFICATION PortalGroup;
|
|
VDS_SERVICE_NOTIFICATION Service;
|
|
/* Empty union arm */
|
|
} ;
|
|
} VDS_NOTIFICATION;
|
|
|
|
typedef
|
|
enum _VDS_ASYNC_OUTPUT_TYPE
|
|
{ VDS_ASYNCOUT_UNKNOWN = 0,
|
|
VDS_ASYNCOUT_CREATEVOLUME = 1,
|
|
VDS_ASYNCOUT_EXTENDVOLUME = 2,
|
|
VDS_ASYNCOUT_SHRINKVOLUME = 3,
|
|
VDS_ASYNCOUT_ADDVOLUMEPLEX = 4,
|
|
VDS_ASYNCOUT_BREAKVOLUMEPLEX = 5,
|
|
VDS_ASYNCOUT_REMOVEVOLUMEPLEX = 6,
|
|
VDS_ASYNCOUT_REPAIRVOLUMEPLEX = 7,
|
|
VDS_ASYNCOUT_RECOVERPACK = 8,
|
|
VDS_ASYNCOUT_REPLACEDISK = 9,
|
|
VDS_ASYNCOUT_CREATEPARTITION = 10,
|
|
VDS_ASYNCOUT_CLEAN = 11,
|
|
VDS_ASYNCOUT_CREATELUN = 50,
|
|
VDS_ASYNCOUT_ADDLUNPLEX = 52,
|
|
VDS_ASYNCOUT_REMOVELUNPLEX = 53,
|
|
VDS_ASYNCOUT_EXTENDLUN = 54,
|
|
VDS_ASYNCOUT_SHRINKLUN = 55,
|
|
VDS_ASYNCOUT_RECOVERLUN = 56,
|
|
VDS_ASYNCOUT_LOGINTOTARGET = 60,
|
|
VDS_ASYNCOUT_LOGOUTFROMTARGET = 61,
|
|
VDS_ASYNCOUT_CREATETARGET = 62,
|
|
VDS_ASYNCOUT_CREATEPORTALGROUP = 63,
|
|
VDS_ASYNCOUT_DELETETARGET = 64,
|
|
VDS_ASYNCOUT_ADDPORTAL = 65,
|
|
VDS_ASYNCOUT_REMOVEPORTAL = 66,
|
|
VDS_ASYNCOUT_DELETEPORTALGROUP = 67,
|
|
VDS_ASYNCOUT_FORMAT = 101,
|
|
VDS_ASYNCOUT_CREATE_VDISK = 200,
|
|
VDS_ASYNCOUT_ATTACH_VDISK = 201,
|
|
VDS_ASYNCOUT_COMPACT_VDISK = 202,
|
|
VDS_ASYNCOUT_MERGE_VDISK = 203,
|
|
VDS_ASYNCOUT_EXPAND_VDISK = 204
|
|
} VDS_ASYNC_OUTPUT_TYPE;
|
|
|
|
typedef struct _VDS_ASYNC_OUTPUT
|
|
{
|
|
VDS_ASYNC_OUTPUT_TYPE type;
|
|
/* [switch_type] */ union
|
|
{
|
|
struct _cp
|
|
{
|
|
ULONGLONG ullOffset;
|
|
VDS_OBJECT_ID volumeId;
|
|
} cp;
|
|
struct _cv
|
|
{
|
|
IUnknown *pVolumeUnk;
|
|
} cv;
|
|
struct _bvp
|
|
{
|
|
IUnknown *pVolumeUnk;
|
|
} bvp;
|
|
struct _sv
|
|
{
|
|
ULONGLONG ullReclaimedBytes;
|
|
} sv;
|
|
struct _cl
|
|
{
|
|
IUnknown *pLunUnk;
|
|
} cl;
|
|
struct _ct
|
|
{
|
|
IUnknown *pTargetUnk;
|
|
} ct;
|
|
struct _cpg
|
|
{
|
|
IUnknown *pPortalGroupUnk;
|
|
} cpg;
|
|
struct _cvd
|
|
{
|
|
IUnknown *pVDiskUnk;
|
|
} cvd;
|
|
/* Empty union arm */
|
|
} ;
|
|
} VDS_ASYNC_OUTPUT;
|
|
|
|
typedef USHORT VDS_ISCSI_PORTALGROUP_TAG;
|
|
|
|
typedef
|
|
enum VDS_IPADDRESS_TYPE
|
|
{ VDS_IPT_TEXT = 0,
|
|
VDS_IPT_IPV4 = 1,
|
|
VDS_IPT_IPV6 = 2,
|
|
VDS_IPT_EMPTY = 3
|
|
} VDS_IPADDRESS_TYPE;
|
|
|
|
typedef
|
|
enum _VDS_HEALTH
|
|
{ VDS_H_UNKNOWN = 0,
|
|
VDS_H_HEALTHY = 1,
|
|
VDS_H_REBUILDING = 2,
|
|
VDS_H_STALE = 3,
|
|
VDS_H_FAILING = 4,
|
|
VDS_H_FAILING_REDUNDANCY = 5,
|
|
VDS_H_FAILED_REDUNDANCY = 6,
|
|
VDS_H_FAILED_REDUNDANCY_FAILING = 7,
|
|
VDS_H_FAILED = 8,
|
|
VDS_H_REPLACED = 9,
|
|
VDS_H_PENDING_FAILURE = 10,
|
|
VDS_H_DEGRADED = 11
|
|
} VDS_HEALTH;
|
|
|
|
typedef
|
|
enum _VDS_TRANSITION_STATE
|
|
{ VDS_TS_UNKNOWN = 0,
|
|
VDS_TS_STABLE = 1,
|
|
VDS_TS_EXTENDING = 2,
|
|
VDS_TS_SHRINKING = 3,
|
|
VDS_TS_RECONFIGING = 4,
|
|
VDS_TS_RESTRIPING = 5
|
|
} VDS_TRANSITION_STATE;
|
|
|
|
typedef
|
|
enum _VDS_FILE_SYSTEM_TYPE
|
|
{ VDS_FST_UNKNOWN = 0,
|
|
VDS_FST_RAW = ( VDS_FST_UNKNOWN + 1 ) ,
|
|
VDS_FST_FAT = ( VDS_FST_RAW + 1 ) ,
|
|
VDS_FST_FAT32 = ( VDS_FST_FAT + 1 ) ,
|
|
VDS_FST_NTFS = ( VDS_FST_FAT32 + 1 ) ,
|
|
VDS_FST_CDFS = ( VDS_FST_NTFS + 1 ) ,
|
|
VDS_FST_UDF = ( VDS_FST_CDFS + 1 ) ,
|
|
VDS_FST_EXFAT = ( VDS_FST_UDF + 1 )
|
|
} VDS_FILE_SYSTEM_TYPE;
|
|
|
|
typedef
|
|
enum _VDS_HBAPORT_TYPE
|
|
{ VDS_HPT_UNKNOWN = 1,
|
|
VDS_HPT_OTHER = 2,
|
|
VDS_HPT_NOTPRESENT = 3,
|
|
VDS_HPT_NPORT = 5,
|
|
VDS_HPT_NLPORT = 6,
|
|
VDS_HPT_FLPORT = 7,
|
|
VDS_HPT_FPORT = 8,
|
|
VDS_HPT_EPORT = 9,
|
|
VDS_HPT_GPORT = 10,
|
|
VDS_HPT_LPORT = 20,
|
|
VDS_HPT_PTP = 21
|
|
} VDS_HBAPORT_TYPE;
|
|
|
|
typedef
|
|
enum _VDS_HBAPORT_STATUS
|
|
{ VDS_HPS_UNKNOWN = 1,
|
|
VDS_HPS_ONLINE = 2,
|
|
VDS_HPS_OFFLINE = 3,
|
|
VDS_HPS_BYPASSED = 4,
|
|
VDS_HPS_DIAGNOSTICS = 5,
|
|
VDS_HPS_LINKDOWN = 6,
|
|
VDS_HPS_ERROR = 7,
|
|
VDS_HPS_LOOPBACK = 8
|
|
} VDS_HBAPORT_STATUS;
|
|
|
|
typedef
|
|
enum _VDS_HBAPORT_SPEED_FLAG
|
|
{ VDS_HSF_UNKNOWN = 0,
|
|
VDS_HSF_1GBIT = 0x1,
|
|
VDS_HSF_2GBIT = 0x2,
|
|
VDS_HSF_10GBIT = 0x4,
|
|
VDS_HSF_4GBIT = 0x8,
|
|
VDS_HSF_NOT_NEGOTIATED = ( 1 << 15 )
|
|
} VDS_HBAPORT_SPEED_FLAG;
|
|
|
|
typedef
|
|
enum _VDS_PATH_STATUS
|
|
{ VDS_MPS_UNKNOWN = 0,
|
|
VDS_MPS_ONLINE = 1,
|
|
VDS_MPS_FAILED = 5,
|
|
VDS_MPS_STANDBY = 7
|
|
} VDS_PATH_STATUS;
|
|
|
|
typedef
|
|
enum _VDS_LOADBALANCE_POLICY_ENUM
|
|
{ VDS_LBP_UNKNOWN = 0,
|
|
VDS_LBP_FAILOVER = 1,
|
|
VDS_LBP_ROUND_ROBIN = 2,
|
|
VDS_LBP_ROUND_ROBIN_WITH_SUBSET = 3,
|
|
VDS_LBP_DYN_LEAST_QUEUE_DEPTH = 4,
|
|
VDS_LBP_WEIGHTED_PATHS = 5,
|
|
VDS_LBP_LEAST_BLOCKS = 6,
|
|
VDS_LBP_VENDOR_SPECIFIC = 7
|
|
} VDS_LOADBALANCE_POLICY_ENUM;
|
|
|
|
typedef
|
|
enum _VDS_PROVIDER_LBSUPPORT_FLAG
|
|
{ VDS_LBF_FAILOVER = 0x1,
|
|
VDS_LBF_ROUND_ROBIN = 0x2,
|
|
VDS_LBF_ROUND_ROBIN_WITH_SUBSET = 0x4,
|
|
VDS_LBF_DYN_LEAST_QUEUE_DEPTH = 0x8,
|
|
VDS_LBF_WEIGHTED_PATHS = 0x10,
|
|
VDS_LBF_LEAST_BLOCKS = 0x20,
|
|
VDS_LBF_VENDOR_SPECIFIC = 0x40
|
|
} VDS_PROVIDER_LBSUPPORT_FLAG;
|
|
|
|
typedef
|
|
enum _VDS_VERSION_SUPPORT_FLAG
|
|
{ VDS_VSF_1_0 = 0x1,
|
|
VDS_VSF_1_1 = 0x2,
|
|
VDS_VSF_2_0 = 0x4,
|
|
VDS_VSF_2_1 = 0x8,
|
|
VDS_VSF_3_0 = 0x10
|
|
} VDS_VERSION_SUPPORT_FLAG;
|
|
|
|
typedef
|
|
enum _VDS_HWPROVIDER_TYPE
|
|
{ VDS_HWT_UNKNOWN = 0,
|
|
VDS_HWT_PCI_RAID = 1,
|
|
VDS_HWT_FIBRE_CHANNEL = 2,
|
|
VDS_HWT_ISCSI = 3,
|
|
VDS_HWT_SAS = 4,
|
|
VDS_HWT_HYBRID = 5
|
|
} VDS_HWPROVIDER_TYPE;
|
|
|
|
typedef
|
|
enum _VDS_ISCSI_LOGIN_TYPE
|
|
{ VDS_ILT_MANUAL = 0,
|
|
VDS_ILT_PERSISTENT = 1,
|
|
VDS_ILT_BOOT = 2
|
|
} VDS_ISCSI_LOGIN_TYPE;
|
|
|
|
typedef
|
|
enum _VDS_ISCSI_AUTH_TYPE
|
|
{ VDS_IAT_NONE = 0,
|
|
VDS_IAT_CHAP = 1,
|
|
VDS_IAT_MUTUAL_CHAP = 2
|
|
} VDS_ISCSI_AUTH_TYPE;
|
|
|
|
typedef
|
|
enum _VDS_ISCSI_IPSEC_FLAG
|
|
{ VDS_IIF_VALID = 0x1,
|
|
VDS_IIF_IKE = 0x2,
|
|
VDS_IIF_MAIN_MODE = 0x4,
|
|
VDS_IIF_AGGRESSIVE_MODE = 0x8,
|
|
VDS_IIF_PFS_ENABLE = 0x10,
|
|
VDS_IIF_TRANSPORT_MODE_PREFERRED = 0x20,
|
|
VDS_IIF_TUNNEL_MODE_PREFERRED = 0x40
|
|
} VDS_ISCSI_IPSEC_FLAG;
|
|
|
|
typedef
|
|
enum _VDS_ISCSI_LOGIN_FLAG
|
|
{ VDS_ILF_REQUIRE_IPSEC = 0x1,
|
|
VDS_ILF_MULTIPATH_ENABLED = 0x2
|
|
} VDS_ISCSI_LOGIN_FLAG;
|
|
|
|
typedef struct _VDS_PATH_ID
|
|
{
|
|
ULONGLONG ullSourceId;
|
|
ULONGLONG ullPathId;
|
|
} VDS_PATH_ID;
|
|
|
|
typedef struct _VDS_WWN
|
|
{
|
|
UCHAR rguchWwn[ 8 ];
|
|
} VDS_WWN;
|
|
|
|
typedef struct _VDS_IPADDRESS
|
|
{
|
|
VDS_IPADDRESS_TYPE type;
|
|
ULONG ipv4Address;
|
|
UCHAR ipv6Address[ 16 ];
|
|
ULONG ulIpv6FlowInfo;
|
|
ULONG ulIpv6ScopeId;
|
|
WCHAR wszTextAddress[ 257 ];
|
|
ULONG ulPort;
|
|
} VDS_IPADDRESS;
|
|
|
|
typedef struct _VDS_ISCSI_IPSEC_KEY
|
|
{
|
|
UCHAR *pKey;
|
|
ULONG ulKeySize;
|
|
} VDS_ISCSI_IPSEC_KEY;
|
|
|
|
typedef struct _VDS_ISCSI_SHARED_SECRET
|
|
{
|
|
UCHAR *pSharedSecret;
|
|
ULONG ulSharedSecretSize;
|
|
} VDS_ISCSI_SHARED_SECRET;
|
|
|
|
typedef struct _VDS_HBAPORT_PROP
|
|
{
|
|
VDS_OBJECT_ID id;
|
|
VDS_WWN wwnNode;
|
|
VDS_WWN wwnPort;
|
|
VDS_HBAPORT_TYPE type;
|
|
VDS_HBAPORT_STATUS status;
|
|
ULONG ulPortSpeed;
|
|
ULONG ulSupportedPortSpeed;
|
|
} VDS_HBAPORT_PROP;
|
|
|
|
typedef struct _VDS_ISCSI_INITIATOR_ADAPTER_PROP
|
|
{
|
|
VDS_OBJECT_ID id;
|
|
LPWSTR pwszName;
|
|
} VDS_ISCSI_INITIATOR_ADAPTER_PROP;
|
|
|
|
typedef struct _VDS_ISCSI_INITIATOR_PORTAL_PROP
|
|
{
|
|
VDS_OBJECT_ID id;
|
|
VDS_IPADDRESS address;
|
|
ULONG ulPortIndex;
|
|
} VDS_ISCSI_INITIATOR_PORTAL_PROP;
|
|
|
|
typedef struct _VDS_PROVIDER_PROP
|
|
{
|
|
VDS_OBJECT_ID id;
|
|
LPWSTR pwszName;
|
|
GUID guidVersionId;
|
|
LPWSTR pwszVersion;
|
|
VDS_PROVIDER_TYPE type;
|
|
ULONG ulFlags;
|
|
ULONG ulStripeSizeFlags;
|
|
SHORT sRebuildPriority;
|
|
} VDS_PROVIDER_PROP;
|
|
|
|
typedef struct _VDS_PATH_INFO
|
|
{
|
|
VDS_PATH_ID pathId;
|
|
VDS_HWPROVIDER_TYPE type;
|
|
VDS_PATH_STATUS status;
|
|
/* [switch_type] */ union
|
|
{
|
|
VDS_OBJECT_ID controllerPortId;
|
|
VDS_OBJECT_ID targetPortalId;
|
|
/* Empty union arm */
|
|
} ;
|
|
/* [switch_type] */ union
|
|
{
|
|
VDS_OBJECT_ID hbaPortId;
|
|
VDS_OBJECT_ID initiatorAdapterId;
|
|
/* Empty union arm */
|
|
} ;
|
|
/* [switch_type] */ union
|
|
{
|
|
VDS_HBAPORT_PROP *pHbaPortProp;
|
|
VDS_IPADDRESS *pInitiatorPortalIpAddr;
|
|
/* Empty union arm */
|
|
} ;
|
|
} VDS_PATH_INFO;
|
|
|
|
typedef struct _VDS_PATH_POLICY
|
|
{
|
|
VDS_PATH_ID pathId;
|
|
BOOL bPrimaryPath;
|
|
ULONG ulWeight;
|
|
} VDS_PATH_POLICY;
|
|
|
|
|
|
|
|
extern RPC_IF_HANDLE __MIDL_itf_vds_0000_0000_v0_0_c_ifspec;
|
|
extern RPC_IF_HANDLE __MIDL_itf_vds_0000_0000_v0_0_s_ifspec;
|
|
|
|
#ifndef __IEnumVdsObject_INTERFACE_DEFINED__
|
|
#define __IEnumVdsObject_INTERFACE_DEFINED__
|
|
|
|
/* interface IEnumVdsObject */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IEnumVdsObject;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("118610b7-8d94-4030-b5b8-500889788e4e")
|
|
IEnumVdsObject : public IUnknown
|
|
{
|
|
public:
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Next(
|
|
/* [in] */ ULONG celt,
|
|
/* [length_is][size_is][out] */ __RPC__out_ecount_part(celt, *pcFetched) IUnknown **ppObjectArray,
|
|
/* [out] */ __RPC__out ULONG *pcFetched) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Skip(
|
|
/* [in] */ ULONG celt) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Reset( void) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Clone(
|
|
/* [out] */ __RPC__deref_out_opt IEnumVdsObject **ppEnum) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IEnumVdsObjectVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
__RPC__in IEnumVdsObject * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [annotation][iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
__RPC__in IEnumVdsObject * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
__RPC__in IEnumVdsObject * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Next )(
|
|
__RPC__in IEnumVdsObject * This,
|
|
/* [in] */ ULONG celt,
|
|
/* [length_is][size_is][out] */ __RPC__out_ecount_part(celt, *pcFetched) IUnknown **ppObjectArray,
|
|
/* [out] */ __RPC__out ULONG *pcFetched);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Skip )(
|
|
__RPC__in IEnumVdsObject * This,
|
|
/* [in] */ ULONG celt);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Reset )(
|
|
__RPC__in IEnumVdsObject * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clone )(
|
|
__RPC__in IEnumVdsObject * This,
|
|
/* [out] */ __RPC__deref_out_opt IEnumVdsObject **ppEnum);
|
|
|
|
END_INTERFACE
|
|
} IEnumVdsObjectVtbl;
|
|
|
|
interface IEnumVdsObject
|
|
{
|
|
CONST_VTBL struct IEnumVdsObjectVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IEnumVdsObject_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IEnumVdsObject_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IEnumVdsObject_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IEnumVdsObject_Next(This,celt,ppObjectArray,pcFetched) \
|
|
( (This)->lpVtbl -> Next(This,celt,ppObjectArray,pcFetched) )
|
|
|
|
#define IEnumVdsObject_Skip(This,celt) \
|
|
( (This)->lpVtbl -> Skip(This,celt) )
|
|
|
|
#define IEnumVdsObject_Reset(This) \
|
|
( (This)->lpVtbl -> Reset(This) )
|
|
|
|
#define IEnumVdsObject_Clone(This,ppEnum) \
|
|
( (This)->lpVtbl -> Clone(This,ppEnum) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IEnumVdsObject_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsAsync_INTERFACE_DEFINED__
|
|
#define __IVdsAsync_INTERFACE_DEFINED__
|
|
|
|
/* interface IVdsAsync */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IVdsAsync;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("d5d23b6d-5a55-4492-9889-397a3c2d2dbc")
|
|
IVdsAsync : public IUnknown
|
|
{
|
|
public:
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Cancel( void) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Wait(
|
|
/* [out] */ __RPC__out HRESULT *pHrResult,
|
|
/* [out] */ __RPC__out VDS_ASYNC_OUTPUT *pAsyncOut) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryStatus(
|
|
/* [out] */ __RPC__out HRESULT *pHrResult,
|
|
/* [out] */ __RPC__out ULONG *pulPercentCompleted) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IVdsAsyncVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
__RPC__in IVdsAsync * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [annotation][iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
__RPC__in IVdsAsync * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
__RPC__in IVdsAsync * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Cancel )(
|
|
__RPC__in IVdsAsync * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Wait )(
|
|
__RPC__in IVdsAsync * This,
|
|
/* [out] */ __RPC__out HRESULT *pHrResult,
|
|
/* [out] */ __RPC__out VDS_ASYNC_OUTPUT *pAsyncOut);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *QueryStatus )(
|
|
__RPC__in IVdsAsync * This,
|
|
/* [out] */ __RPC__out HRESULT *pHrResult,
|
|
/* [out] */ __RPC__out ULONG *pulPercentCompleted);
|
|
|
|
END_INTERFACE
|
|
} IVdsAsyncVtbl;
|
|
|
|
interface IVdsAsync
|
|
{
|
|
CONST_VTBL struct IVdsAsyncVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IVdsAsync_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IVdsAsync_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IVdsAsync_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IVdsAsync_Cancel(This) \
|
|
( (This)->lpVtbl -> Cancel(This) )
|
|
|
|
#define IVdsAsync_Wait(This,pHrResult,pAsyncOut) \
|
|
( (This)->lpVtbl -> Wait(This,pHrResult,pAsyncOut) )
|
|
|
|
#define IVdsAsync_QueryStatus(This,pHrResult,pulPercentCompleted) \
|
|
( (This)->lpVtbl -> QueryStatus(This,pHrResult,pulPercentCompleted) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IVdsAsync_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsAdviseSink_INTERFACE_DEFINED__
|
|
#define __IVdsAdviseSink_INTERFACE_DEFINED__
|
|
|
|
/* interface IVdsAdviseSink */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IVdsAdviseSink;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("8326cd1d-cf59-4936-b786-5efc08798e25")
|
|
IVdsAdviseSink : public IUnknown
|
|
{
|
|
public:
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnNotify(
|
|
/* [range][in] */ __RPC__in_range(1,100) LONG lNumberOfNotifications,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(lNumberOfNotifications) VDS_NOTIFICATION *pNotificationArray) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IVdsAdviseSinkVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
__RPC__in IVdsAdviseSink * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [annotation][iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
__RPC__in IVdsAdviseSink * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
__RPC__in IVdsAdviseSink * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnNotify )(
|
|
__RPC__in IVdsAdviseSink * This,
|
|
/* [range][in] */ __RPC__in_range(1,100) LONG lNumberOfNotifications,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(lNumberOfNotifications) VDS_NOTIFICATION *pNotificationArray);
|
|
|
|
END_INTERFACE
|
|
} IVdsAdviseSinkVtbl;
|
|
|
|
interface IVdsAdviseSink
|
|
{
|
|
CONST_VTBL struct IVdsAdviseSinkVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IVdsAdviseSink_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IVdsAdviseSink_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IVdsAdviseSink_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IVdsAdviseSink_OnNotify(This,lNumberOfNotifications,pNotificationArray) \
|
|
( (This)->lpVtbl -> OnNotify(This,lNumberOfNotifications,pNotificationArray) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IVdsAdviseSink_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsProvider_INTERFACE_DEFINED__
|
|
#define __IVdsProvider_INTERFACE_DEFINED__
|
|
|
|
/* interface IVdsProvider */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IVdsProvider;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("10c5e575-7984-4e81-a56b-431f5f92ae42")
|
|
IVdsProvider : public IUnknown
|
|
{
|
|
public:
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetProperties(
|
|
/* [out] */ __RPC__out VDS_PROVIDER_PROP *pProviderProp) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IVdsProviderVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
__RPC__in IVdsProvider * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [annotation][iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
__RPC__in IVdsProvider * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
__RPC__in IVdsProvider * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetProperties )(
|
|
__RPC__in IVdsProvider * This,
|
|
/* [out] */ __RPC__out VDS_PROVIDER_PROP *pProviderProp);
|
|
|
|
END_INTERFACE
|
|
} IVdsProviderVtbl;
|
|
|
|
interface IVdsProvider
|
|
{
|
|
CONST_VTBL struct IVdsProviderVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IVdsProvider_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IVdsProvider_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IVdsProvider_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IVdsProvider_GetProperties(This,pProviderProp) \
|
|
( (This)->lpVtbl -> GetProperties(This,pProviderProp) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IVdsProvider_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsProviderSupport_INTERFACE_DEFINED__
|
|
#define __IVdsProviderSupport_INTERFACE_DEFINED__
|
|
|
|
/* interface IVdsProviderSupport */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IVdsProviderSupport;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("1732be13-e8f9-4a03-bfbc-5f616aa66ce1")
|
|
IVdsProviderSupport : public IUnknown
|
|
{
|
|
public:
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetVersionSupport(
|
|
/* [out] */ __RPC__out ULONG *ulVersionSupport) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IVdsProviderSupportVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
__RPC__in IVdsProviderSupport * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [annotation][iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
__RPC__in IVdsProviderSupport * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
__RPC__in IVdsProviderSupport * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetVersionSupport )(
|
|
__RPC__in IVdsProviderSupport * This,
|
|
/* [out] */ __RPC__out ULONG *ulVersionSupport);
|
|
|
|
END_INTERFACE
|
|
} IVdsProviderSupportVtbl;
|
|
|
|
interface IVdsProviderSupport
|
|
{
|
|
CONST_VTBL struct IVdsProviderSupportVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IVdsProviderSupport_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IVdsProviderSupport_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IVdsProviderSupport_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IVdsProviderSupport_GetVersionSupport(This,ulVersionSupport) \
|
|
( (This)->lpVtbl -> GetVersionSupport(This,ulVersionSupport) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IVdsProviderSupport_INTERFACE_DEFINED__ */
|
|
|
|
|
|
/* interface __MIDL_itf_vds_0000_0005 */
|
|
/* [local] */
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
typedef
|
|
enum _VDS_PACK_STATUS
|
|
{ VDS_PS_UNKNOWN = 0,
|
|
VDS_PS_ONLINE = 1,
|
|
VDS_PS_OFFLINE = 4
|
|
} VDS_PACK_STATUS;
|
|
|
|
typedef
|
|
enum _VDS_PACK_FLAG
|
|
{ VDS_PKF_FOREIGN = 0x1,
|
|
VDS_PKF_NOQUORUM = 0x2,
|
|
VDS_PKF_POLICY = 0x4,
|
|
VDS_PKF_CORRUPTED = 0x8,
|
|
VDS_PKF_ONLINE_ERROR = 0x10
|
|
} VDS_PACK_FLAG;
|
|
|
|
typedef
|
|
enum _VDS_DISK_STATUS
|
|
{ VDS_DS_UNKNOWN = 0,
|
|
VDS_DS_ONLINE = 1,
|
|
VDS_DS_NOT_READY = 2,
|
|
VDS_DS_NO_MEDIA = 3,
|
|
VDS_DS_FAILED = 5,
|
|
VDS_DS_MISSING = 6,
|
|
VDS_DS_OFFLINE = 4
|
|
} VDS_DISK_STATUS;
|
|
|
|
typedef
|
|
enum _VDS_PARTITION_STYLE
|
|
{ VDS_PST_UNKNOWN = 0,
|
|
VDS_PST_MBR = 1,
|
|
VDS_PST_GPT = 2
|
|
} VDS_PARTITION_STYLE;
|
|
|
|
typedef
|
|
enum _VDS_DISK_FLAG
|
|
{ VDS_DF_AUDIO_CD = 0x1,
|
|
VDS_DF_HOTSPARE = 0x2,
|
|
VDS_DF_RESERVE_CAPABLE = 0x4,
|
|
VDS_DF_MASKED = 0x8,
|
|
VDS_DF_STYLE_CONVERTIBLE = 0x10,
|
|
VDS_DF_CLUSTERED = 0x20,
|
|
VDS_DF_READ_ONLY = 0x40,
|
|
VDS_DF_SYSTEM_DISK = 0x80,
|
|
VDS_DF_BOOT_DISK = 0x100,
|
|
VDS_DF_PAGEFILE_DISK = 0x200,
|
|
VDS_DF_HIBERNATIONFILE_DISK = 0x400,
|
|
VDS_DF_CRASHDUMP_DISK = 0x800,
|
|
VDS_DF_HAS_ARC_PATH = 0x1000,
|
|
VDS_DF_DYNAMIC = 0x2000,
|
|
VDS_DF_BOOT_FROM_DISK = 0x4000,
|
|
VDS_DF_CURRENT_READ_ONLY = 0x8000
|
|
} VDS_DISK_FLAG;
|
|
|
|
typedef
|
|
enum _VDS_PARTITION_FLAG
|
|
{ VDS_PTF_SYSTEM = 0x1
|
|
} VDS_PARTITION_FLAG;
|
|
|
|
typedef
|
|
enum _VDS_LUN_RESERVE_MODE
|
|
{ VDS_LRM_NONE = 0,
|
|
VDS_LRM_EXCLUSIVE_RW = 1,
|
|
VDS_LRM_EXCLUSIVE_RO = 2,
|
|
VDS_LRM_SHARED_RO = 3,
|
|
VDS_LRM_SHARED_RW = 4
|
|
} VDS_LUN_RESERVE_MODE;
|
|
|
|
typedef
|
|
enum _VDS_VOLUME_STATUS
|
|
{ VDS_VS_UNKNOWN = 0,
|
|
VDS_VS_ONLINE = 1,
|
|
VDS_VS_NO_MEDIA = 3,
|
|
VDS_VS_FAILED = 5,
|
|
VDS_VS_OFFLINE = 4
|
|
} VDS_VOLUME_STATUS;
|
|
|
|
typedef
|
|
enum _VDS_VOLUME_TYPE
|
|
{ VDS_VT_UNKNOWN = 0,
|
|
VDS_VT_SIMPLE = 10,
|
|
VDS_VT_SPAN = 11,
|
|
VDS_VT_STRIPE = 12,
|
|
VDS_VT_MIRROR = 13,
|
|
VDS_VT_PARITY = 14
|
|
} VDS_VOLUME_TYPE;
|
|
|
|
typedef
|
|
enum _VDS_VOLUME_FLAG
|
|
{ VDS_VF_SYSTEM_VOLUME = 0x1,
|
|
VDS_VF_BOOT_VOLUME = 0x2,
|
|
VDS_VF_ACTIVE = 0x4,
|
|
VDS_VF_READONLY = 0x8,
|
|
VDS_VF_HIDDEN = 0x10,
|
|
VDS_VF_CAN_EXTEND = 0x20,
|
|
VDS_VF_CAN_SHRINK = 0x40,
|
|
VDS_VF_PAGEFILE = 0x80,
|
|
VDS_VF_HIBERNATION = 0x100,
|
|
VDS_VF_CRASHDUMP = 0x200,
|
|
VDS_VF_INSTALLABLE = 0x400,
|
|
VDS_VF_LBN_REMAP_ENABLED = 0x800,
|
|
VDS_VF_FORMATTING = 0x1000,
|
|
VDS_VF_NOT_FORMATTABLE = 0x2000,
|
|
VDS_VF_NTFS_NOT_SUPPORTED = 0x4000,
|
|
VDS_VF_FAT32_NOT_SUPPORTED = 0x8000,
|
|
VDS_VF_FAT_NOT_SUPPORTED = 0x10000,
|
|
VDS_VF_NO_DEFAULT_DRIVE_LETTER = 0x20000,
|
|
VDS_VF_PERMANENTLY_DISMOUNTED = 0x40000,
|
|
VDS_VF_PERMANENT_DISMOUNT_SUPPORTED = 0x80000,
|
|
VDS_VF_SHADOW_COPY = 0x100000,
|
|
VDS_VF_FVE_ENABLED = 0x200000,
|
|
VDS_VF_DIRTY = 0x400000
|
|
} VDS_VOLUME_FLAG;
|
|
|
|
typedef
|
|
enum _VDS_VOLUME_PLEX_TYPE
|
|
{ VDS_VPT_UNKNOWN = 0,
|
|
VDS_VPT_SIMPLE = VDS_VT_SIMPLE,
|
|
VDS_VPT_SPAN = VDS_VT_SPAN,
|
|
VDS_VPT_STRIPE = VDS_VT_STRIPE,
|
|
VDS_VPT_PARITY = VDS_VT_PARITY
|
|
} VDS_VOLUME_PLEX_TYPE;
|
|
|
|
typedef
|
|
enum _VDS_VOLUME_PLEX_STATUS
|
|
{ VDS_VPS_UNKNOWN = 0,
|
|
VDS_VPS_ONLINE = 1,
|
|
VDS_VPS_NO_MEDIA = 3,
|
|
VDS_VPS_FAILED = 5
|
|
} VDS_VOLUME_PLEX_STATUS;
|
|
|
|
typedef
|
|
enum _VDS_DISK_EXTENT_TYPE
|
|
{ VDS_DET_UNKNOWN = 0,
|
|
VDS_DET_FREE = 1,
|
|
VDS_DET_DATA = 2,
|
|
VDS_DET_OEM = 3,
|
|
VDS_DET_ESP = 4,
|
|
VDS_DET_MSR = 5,
|
|
VDS_DET_LDM = 6,
|
|
VDS_DET_CLUSTER = 7,
|
|
VDS_DET_UNUSABLE = 0x7fff
|
|
} VDS_DISK_EXTENT_TYPE;
|
|
|
|
typedef struct _VDS_PACK_PROP
|
|
{
|
|
VDS_OBJECT_ID id;
|
|
LPWSTR pwszName;
|
|
VDS_PACK_STATUS status;
|
|
ULONG ulFlags;
|
|
} VDS_PACK_PROP;
|
|
|
|
typedef struct _VDS_PACK_PROP *PVDS_PACK_PROP;
|
|
|
|
typedef struct _VDS_DISK_PROP
|
|
{
|
|
VDS_OBJECT_ID id;
|
|
VDS_DISK_STATUS status;
|
|
VDS_LUN_RESERVE_MODE ReserveMode;
|
|
VDS_HEALTH health;
|
|
DWORD dwDeviceType;
|
|
DWORD dwMediaType;
|
|
ULONGLONG ullSize;
|
|
ULONG ulBytesPerSector;
|
|
ULONG ulSectorsPerTrack;
|
|
ULONG ulTracksPerCylinder;
|
|
ULONG ulFlags;
|
|
VDS_STORAGE_BUS_TYPE BusType;
|
|
VDS_PARTITION_STYLE PartitionStyle;
|
|
/* [switch_type] */ union
|
|
{
|
|
DWORD dwSignature;
|
|
GUID DiskGuid;
|
|
/* Empty union arm */
|
|
} ;
|
|
LPWSTR pwszDiskAddress;
|
|
LPWSTR pwszName;
|
|
LPWSTR pwszFriendlyName;
|
|
LPWSTR pwszAdaptorName;
|
|
LPWSTR pwszDevicePath;
|
|
} VDS_DISK_PROP;
|
|
|
|
typedef struct _VDS_DISK_PROP *PVDS_DISK_PROP;
|
|
|
|
typedef
|
|
enum _VDS_DISK_OFFLINE_REASON
|
|
{ VDSDiskOfflineReasonNone = 0,
|
|
VDSDiskOfflineReasonPolicy = 1,
|
|
VDSDiskOfflineReasonRedundantPath = 2,
|
|
VDSDiskOfflineReasonSnapshot = 3,
|
|
VDSDiskOfflineReasonCollision = 4
|
|
} VDS_DISK_OFFLINE_REASON;
|
|
|
|
typedef struct _VDS_DISK_PROP2
|
|
{
|
|
VDS_OBJECT_ID id;
|
|
VDS_DISK_STATUS status;
|
|
VDS_DISK_OFFLINE_REASON OfflineReason;
|
|
VDS_LUN_RESERVE_MODE ReserveMode;
|
|
VDS_HEALTH health;
|
|
DWORD dwDeviceType;
|
|
DWORD dwMediaType;
|
|
ULONGLONG ullSize;
|
|
ULONG ulBytesPerSector;
|
|
ULONG ulSectorsPerTrack;
|
|
ULONG ulTracksPerCylinder;
|
|
ULONG ulFlags;
|
|
VDS_STORAGE_BUS_TYPE BusType;
|
|
VDS_PARTITION_STYLE PartitionStyle;
|
|
/* [switch_type] */ union
|
|
{
|
|
DWORD dwSignature;
|
|
GUID DiskGuid;
|
|
/* Empty union arm */
|
|
} ;
|
|
LPWSTR pwszDiskAddress;
|
|
LPWSTR pwszName;
|
|
LPWSTR pwszFriendlyName;
|
|
LPWSTR pwszAdaptorName;
|
|
LPWSTR pwszDevicePath;
|
|
LPWSTR pwszLocationPath;
|
|
} VDS_DISK_PROP2;
|
|
|
|
typedef struct _VDS_DISK_PROP2 *PVDS_DISK_PROP2;
|
|
|
|
typedef struct _VDS_VOLUME_PROP
|
|
{
|
|
VDS_OBJECT_ID id;
|
|
VDS_VOLUME_TYPE type;
|
|
VDS_VOLUME_STATUS status;
|
|
VDS_HEALTH health;
|
|
VDS_TRANSITION_STATE TransitionState;
|
|
ULONGLONG ullSize;
|
|
ULONG ulFlags;
|
|
VDS_FILE_SYSTEM_TYPE RecommendedFileSystemType;
|
|
LPWSTR pwszName;
|
|
} VDS_VOLUME_PROP;
|
|
|
|
typedef struct _VDS_VOLUME_PROP *PVDS_VOLUME_PROP;
|
|
|
|
typedef struct _VDS_VOLUME_PROP2
|
|
{
|
|
VDS_OBJECT_ID id;
|
|
VDS_VOLUME_TYPE type;
|
|
VDS_VOLUME_STATUS status;
|
|
VDS_HEALTH health;
|
|
VDS_TRANSITION_STATE TransitionState;
|
|
ULONGLONG ullSize;
|
|
ULONG ulFlags;
|
|
VDS_FILE_SYSTEM_TYPE RecommendedFileSystemType;
|
|
ULONG cbUniqueId;
|
|
LPWSTR pwszName;
|
|
BYTE *pUniqueId;
|
|
} VDS_VOLUME_PROP2;
|
|
|
|
typedef struct _VDS_VOLUME_PROP2 *PVDS_VOLUME_PROP2;
|
|
|
|
typedef struct _VDS_VOLUME_PLEX_PROP
|
|
{
|
|
VDS_OBJECT_ID id;
|
|
VDS_VOLUME_PLEX_TYPE type;
|
|
VDS_VOLUME_PLEX_STATUS status;
|
|
VDS_HEALTH health;
|
|
VDS_TRANSITION_STATE TransitionState;
|
|
ULONGLONG ullSize;
|
|
ULONG ulStripeSize;
|
|
ULONG ulNumberOfMembers;
|
|
} VDS_VOLUME_PLEX_PROP;
|
|
|
|
typedef struct _VDS_VOLUME_PLEX_PROP *PVDS_VOLUME_PLEX_PROP;
|
|
|
|
typedef struct _VDS_DISK_EXTENT
|
|
{
|
|
VDS_OBJECT_ID diskId;
|
|
VDS_DISK_EXTENT_TYPE type;
|
|
ULONGLONG ullOffset;
|
|
ULONGLONG ullSize;
|
|
VDS_OBJECT_ID volumeId;
|
|
VDS_OBJECT_ID plexId;
|
|
ULONG memberIdx;
|
|
} VDS_DISK_EXTENT;
|
|
|
|
typedef struct _VDS_DISK_EXTENT *PVDS_DISK_EXTENT;
|
|
|
|
typedef struct _VDS_DISK_FREE_EXTENT
|
|
{
|
|
VDS_OBJECT_ID diskId;
|
|
ULONGLONG ullOffset;
|
|
ULONGLONG ullSize;
|
|
} VDS_DISK_FREE_EXTENT;
|
|
|
|
typedef struct _VDS_DISK_FREE_EXTENT *PVDS_DISK_FREE_EXTENT;
|
|
|
|
typedef struct _VDS_INPUT_DISK
|
|
{
|
|
VDS_OBJECT_ID diskId;
|
|
ULONGLONG ullSize;
|
|
VDS_OBJECT_ID plexId;
|
|
ULONG memberIdx;
|
|
} VDS_INPUT_DISK;
|
|
|
|
#define GPT_PARTITION_NAME_LENGTH 36
|
|
typedef struct _VDS_PARTITION_INFO_GPT
|
|
{
|
|
GUID partitionType;
|
|
GUID partitionId;
|
|
ULONGLONG attributes;
|
|
WCHAR name[ 36 ];
|
|
} VDS_PARTITION_INFO_GPT;
|
|
|
|
typedef struct _VDS_PARTITION_INFO_MBR
|
|
{
|
|
BYTE partitionType;
|
|
BOOLEAN bootIndicator;
|
|
BOOLEAN recognizedPartition;
|
|
DWORD hiddenSectors;
|
|
} VDS_PARTITION_INFO_MBR;
|
|
|
|
typedef struct _VDS_PARTITION_PROP
|
|
{
|
|
VDS_PARTITION_STYLE PartitionStyle;
|
|
ULONG ulFlags;
|
|
ULONG ulPartitionNumber;
|
|
ULONGLONG ullOffset;
|
|
ULONGLONG ullSize;
|
|
/* [switch_type] */ union
|
|
{
|
|
VDS_PARTITION_INFO_MBR Mbr;
|
|
VDS_PARTITION_INFO_GPT Gpt;
|
|
/* Empty union arm */
|
|
} ;
|
|
} VDS_PARTITION_PROP;
|
|
|
|
typedef
|
|
enum tag_VDS_PARTITION_STYLE
|
|
{ VDS_PARTITION_STYLE_MBR = 0,
|
|
VDS_PARTITION_STYLE_GPT = ( VDS_PARTITION_STYLE_MBR + 1 ) ,
|
|
VDS_PARTITION_STYLE_RAW = ( VDS_PARTITION_STYLE_GPT + 1 )
|
|
} __VDS_PARTITION_STYLE;
|
|
|
|
typedef struct _VDS_PARTITION_INFORMATION_EX
|
|
{
|
|
__VDS_PARTITION_STYLE dwPartitionStyle;
|
|
ULONGLONG ullStartingOffset;
|
|
ULONGLONG ullPartitionLength;
|
|
DWORD dwPartitionNumber;
|
|
BOOLEAN bRewritePartition;
|
|
/* [switch_type] */ union
|
|
{
|
|
VDS_PARTITION_INFO_MBR Mbr;
|
|
VDS_PARTITION_INFO_GPT Gpt;
|
|
} ;
|
|
} VDS_PARTITION_INFORMATION_EX;
|
|
|
|
typedef struct _CREATE_PARTITION_PARAMETERS
|
|
{
|
|
VDS_PARTITION_STYLE style;
|
|
/* [switch_type] */ union
|
|
{
|
|
struct
|
|
{
|
|
BYTE partitionType;
|
|
BOOLEAN bootIndicator;
|
|
} MbrPartInfo;
|
|
struct
|
|
{
|
|
GUID partitionType;
|
|
GUID partitionId;
|
|
ULONGLONG attributes;
|
|
WCHAR name[ 36 ];
|
|
} GptPartInfo;
|
|
/* Empty union arm */
|
|
} ;
|
|
} CREATE_PARTITION_PARAMETERS;
|
|
|
|
typedef struct _CHANGE_ATTRIBUTES_PARAMETERS
|
|
{
|
|
VDS_PARTITION_STYLE style;
|
|
/* [switch_type] */ union
|
|
{
|
|
struct
|
|
{
|
|
BOOLEAN bootIndicator;
|
|
} MbrPartInfo;
|
|
struct
|
|
{
|
|
ULONGLONG attributes;
|
|
} GptPartInfo;
|
|
/* Empty union arm */
|
|
} ;
|
|
} CHANGE_ATTRIBUTES_PARAMETERS;
|
|
|
|
typedef struct _CHANGE_PARTITION_TYPE_PARAMETERS
|
|
{
|
|
VDS_PARTITION_STYLE style;
|
|
/* [switch_type] */ union
|
|
{
|
|
struct
|
|
{
|
|
BYTE partitionType;
|
|
} MbrPartInfo;
|
|
struct
|
|
{
|
|
GUID partitionType;
|
|
} GptPartInfo;
|
|
/* Empty union arm */
|
|
} ;
|
|
} CHANGE_PARTITION_TYPE_PARAMETERS;
|
|
|
|
|
|
|
|
extern RPC_IF_HANDLE __MIDL_itf_vds_0000_0005_v0_0_c_ifspec;
|
|
extern RPC_IF_HANDLE __MIDL_itf_vds_0000_0005_v0_0_s_ifspec;
|
|
|
|
#ifndef __IVdsSwProvider_INTERFACE_DEFINED__
|
|
#define __IVdsSwProvider_INTERFACE_DEFINED__
|
|
|
|
/* interface IVdsSwProvider */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IVdsSwProvider;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("9aa58360-ce33-4f92-b658-ed24b14425b8")
|
|
IVdsSwProvider : public IUnknown
|
|
{
|
|
public:
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryPacks(
|
|
/* [out] */ __RPC__deref_out_opt IEnumVdsObject **ppEnum) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreatePack(
|
|
/* [out] */ __RPC__deref_out_opt IVdsPack **ppPack) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IVdsSwProviderVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
__RPC__in IVdsSwProvider * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [annotation][iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
__RPC__in IVdsSwProvider * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
__RPC__in IVdsSwProvider * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *QueryPacks )(
|
|
__RPC__in IVdsSwProvider * This,
|
|
/* [out] */ __RPC__deref_out_opt IEnumVdsObject **ppEnum);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreatePack )(
|
|
__RPC__in IVdsSwProvider * This,
|
|
/* [out] */ __RPC__deref_out_opt IVdsPack **ppPack);
|
|
|
|
END_INTERFACE
|
|
} IVdsSwProviderVtbl;
|
|
|
|
interface IVdsSwProvider
|
|
{
|
|
CONST_VTBL struct IVdsSwProviderVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IVdsSwProvider_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IVdsSwProvider_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IVdsSwProvider_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IVdsSwProvider_QueryPacks(This,ppEnum) \
|
|
( (This)->lpVtbl -> QueryPacks(This,ppEnum) )
|
|
|
|
#define IVdsSwProvider_CreatePack(This,ppPack) \
|
|
( (This)->lpVtbl -> CreatePack(This,ppPack) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IVdsSwProvider_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsPack_INTERFACE_DEFINED__
|
|
#define __IVdsPack_INTERFACE_DEFINED__
|
|
|
|
/* interface IVdsPack */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IVdsPack;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("3b69d7f5-9d94-4648-91ca-79939ba263bf")
|
|
IVdsPack : public IUnknown
|
|
{
|
|
public:
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetProperties(
|
|
/* [out] */ __RPC__out VDS_PACK_PROP *pPackProp) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetProvider(
|
|
/* [out] */ __RPC__deref_out_opt IVdsProvider **ppProvider) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryVolumes(
|
|
/* [out] */ __RPC__deref_out_opt IEnumVdsObject **ppEnum) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryDisks(
|
|
/* [out] */ __RPC__deref_out_opt IEnumVdsObject **ppEnum) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateVolume(
|
|
/* [in] */ VDS_VOLUME_TYPE type,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(lNumberOfDisks) VDS_INPUT_DISK *pInputDiskArray,
|
|
/* [in] */ LONG lNumberOfDisks,
|
|
/* [in] */ ULONG ulStripeSize,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddDisk(
|
|
/* [in] */ VDS_OBJECT_ID DiskId,
|
|
/* [in] */ VDS_PARTITION_STYLE PartitionStyle,
|
|
/* [in] */ BOOL bAsHotSpare) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE MigrateDisks(
|
|
/* [size_is][in] */ __RPC__in_ecount_full(lNumberOfDisks) VDS_OBJECT_ID *pDiskArray,
|
|
/* [in] */ LONG lNumberOfDisks,
|
|
/* [in] */ VDS_OBJECT_ID TargetPack,
|
|
/* [in] */ BOOL bForce,
|
|
/* [in] */ BOOL bQueryOnly,
|
|
/* [size_is][out] */ __RPC__out_ecount_full(lNumberOfDisks) HRESULT *pResults,
|
|
/* [out] */ __RPC__out BOOL *pbRebootNeeded) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ReplaceDisk(
|
|
/* [in] */ VDS_OBJECT_ID OldDiskId,
|
|
/* [in] */ VDS_OBJECT_ID NewDiskId,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveMissingDisk(
|
|
/* [in] */ VDS_OBJECT_ID DiskId) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Recover(
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IVdsPackVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
__RPC__in IVdsPack * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [annotation][iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
__RPC__in IVdsPack * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
__RPC__in IVdsPack * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetProperties )(
|
|
__RPC__in IVdsPack * This,
|
|
/* [out] */ __RPC__out VDS_PACK_PROP *pPackProp);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetProvider )(
|
|
__RPC__in IVdsPack * This,
|
|
/* [out] */ __RPC__deref_out_opt IVdsProvider **ppProvider);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *QueryVolumes )(
|
|
__RPC__in IVdsPack * This,
|
|
/* [out] */ __RPC__deref_out_opt IEnumVdsObject **ppEnum);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *QueryDisks )(
|
|
__RPC__in IVdsPack * This,
|
|
/* [out] */ __RPC__deref_out_opt IEnumVdsObject **ppEnum);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateVolume )(
|
|
__RPC__in IVdsPack * This,
|
|
/* [in] */ VDS_VOLUME_TYPE type,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(lNumberOfDisks) VDS_INPUT_DISK *pInputDiskArray,
|
|
/* [in] */ LONG lNumberOfDisks,
|
|
/* [in] */ ULONG ulStripeSize,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddDisk )(
|
|
__RPC__in IVdsPack * This,
|
|
/* [in] */ VDS_OBJECT_ID DiskId,
|
|
/* [in] */ VDS_PARTITION_STYLE PartitionStyle,
|
|
/* [in] */ BOOL bAsHotSpare);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *MigrateDisks )(
|
|
__RPC__in IVdsPack * This,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(lNumberOfDisks) VDS_OBJECT_ID *pDiskArray,
|
|
/* [in] */ LONG lNumberOfDisks,
|
|
/* [in] */ VDS_OBJECT_ID TargetPack,
|
|
/* [in] */ BOOL bForce,
|
|
/* [in] */ BOOL bQueryOnly,
|
|
/* [size_is][out] */ __RPC__out_ecount_full(lNumberOfDisks) HRESULT *pResults,
|
|
/* [out] */ __RPC__out BOOL *pbRebootNeeded);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ReplaceDisk )(
|
|
__RPC__in IVdsPack * This,
|
|
/* [in] */ VDS_OBJECT_ID OldDiskId,
|
|
/* [in] */ VDS_OBJECT_ID NewDiskId,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveMissingDisk )(
|
|
__RPC__in IVdsPack * This,
|
|
/* [in] */ VDS_OBJECT_ID DiskId);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Recover )(
|
|
__RPC__in IVdsPack * This,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync);
|
|
|
|
END_INTERFACE
|
|
} IVdsPackVtbl;
|
|
|
|
interface IVdsPack
|
|
{
|
|
CONST_VTBL struct IVdsPackVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IVdsPack_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IVdsPack_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IVdsPack_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IVdsPack_GetProperties(This,pPackProp) \
|
|
( (This)->lpVtbl -> GetProperties(This,pPackProp) )
|
|
|
|
#define IVdsPack_GetProvider(This,ppProvider) \
|
|
( (This)->lpVtbl -> GetProvider(This,ppProvider) )
|
|
|
|
#define IVdsPack_QueryVolumes(This,ppEnum) \
|
|
( (This)->lpVtbl -> QueryVolumes(This,ppEnum) )
|
|
|
|
#define IVdsPack_QueryDisks(This,ppEnum) \
|
|
( (This)->lpVtbl -> QueryDisks(This,ppEnum) )
|
|
|
|
#define IVdsPack_CreateVolume(This,type,pInputDiskArray,lNumberOfDisks,ulStripeSize,ppAsync) \
|
|
( (This)->lpVtbl -> CreateVolume(This,type,pInputDiskArray,lNumberOfDisks,ulStripeSize,ppAsync) )
|
|
|
|
#define IVdsPack_AddDisk(This,DiskId,PartitionStyle,bAsHotSpare) \
|
|
( (This)->lpVtbl -> AddDisk(This,DiskId,PartitionStyle,bAsHotSpare) )
|
|
|
|
#define IVdsPack_MigrateDisks(This,pDiskArray,lNumberOfDisks,TargetPack,bForce,bQueryOnly,pResults,pbRebootNeeded) \
|
|
( (This)->lpVtbl -> MigrateDisks(This,pDiskArray,lNumberOfDisks,TargetPack,bForce,bQueryOnly,pResults,pbRebootNeeded) )
|
|
|
|
#define IVdsPack_ReplaceDisk(This,OldDiskId,NewDiskId,ppAsync) \
|
|
( (This)->lpVtbl -> ReplaceDisk(This,OldDiskId,NewDiskId,ppAsync) )
|
|
|
|
#define IVdsPack_RemoveMissingDisk(This,DiskId) \
|
|
( (This)->lpVtbl -> RemoveMissingDisk(This,DiskId) )
|
|
|
|
#define IVdsPack_Recover(This,ppAsync) \
|
|
( (This)->lpVtbl -> Recover(This,ppAsync) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IVdsPack_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsPack2_INTERFACE_DEFINED__
|
|
#define __IVdsPack2_INTERFACE_DEFINED__
|
|
|
|
/* interface IVdsPack2 */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IVdsPack2;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("13B50BFF-290A-47DD-8558-B7C58DB1A71A")
|
|
IVdsPack2 : public IUnknown
|
|
{
|
|
public:
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateVolume2(
|
|
/* [in] */ VDS_VOLUME_TYPE type,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(lNumberOfDisks) VDS_INPUT_DISK *pInputDiskArray,
|
|
/* [in] */ LONG lNumberOfDisks,
|
|
/* [in] */ ULONG ulStripeSize,
|
|
/* [in] */ ULONG ulAlign,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IVdsPack2Vtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
__RPC__in IVdsPack2 * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [annotation][iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
__RPC__in IVdsPack2 * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
__RPC__in IVdsPack2 * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateVolume2 )(
|
|
__RPC__in IVdsPack2 * This,
|
|
/* [in] */ VDS_VOLUME_TYPE type,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(lNumberOfDisks) VDS_INPUT_DISK *pInputDiskArray,
|
|
/* [in] */ LONG lNumberOfDisks,
|
|
/* [in] */ ULONG ulStripeSize,
|
|
/* [in] */ ULONG ulAlign,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync);
|
|
|
|
END_INTERFACE
|
|
} IVdsPack2Vtbl;
|
|
|
|
interface IVdsPack2
|
|
{
|
|
CONST_VTBL struct IVdsPack2Vtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IVdsPack2_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IVdsPack2_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IVdsPack2_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IVdsPack2_CreateVolume2(This,type,pInputDiskArray,lNumberOfDisks,ulStripeSize,ulAlign,ppAsync) \
|
|
( (This)->lpVtbl -> CreateVolume2(This,type,pInputDiskArray,lNumberOfDisks,ulStripeSize,ulAlign,ppAsync) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IVdsPack2_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsDisk_INTERFACE_DEFINED__
|
|
#define __IVdsDisk_INTERFACE_DEFINED__
|
|
|
|
/* interface IVdsDisk */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IVdsDisk;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("07e5c822-f00c-47a1-8fce-b244da56fd06")
|
|
IVdsDisk : public IUnknown
|
|
{
|
|
public:
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetProperties(
|
|
/* [out] */ __RPC__out VDS_DISK_PROP *pDiskProperties) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPack(
|
|
/* [out] */ __RPC__deref_out_opt IVdsPack **ppPack) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetIdentificationData(
|
|
/* [out] */ __RPC__out VDS_LUN_INFORMATION *pLunInfo) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryExtents(
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*plNumberOfExtents) VDS_DISK_EXTENT **ppExtentArray,
|
|
/* [out] */ __RPC__out LONG *plNumberOfExtents) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ConvertStyle(
|
|
/* [in] */ VDS_PARTITION_STYLE NewStyle) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetFlags(
|
|
/* [in] */ ULONG ulFlags) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ClearFlags(
|
|
/* [in] */ ULONG ulFlags) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IVdsDiskVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
__RPC__in IVdsDisk * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [annotation][iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
__RPC__in IVdsDisk * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
__RPC__in IVdsDisk * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetProperties )(
|
|
__RPC__in IVdsDisk * This,
|
|
/* [out] */ __RPC__out VDS_DISK_PROP *pDiskProperties);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPack )(
|
|
__RPC__in IVdsDisk * This,
|
|
/* [out] */ __RPC__deref_out_opt IVdsPack **ppPack);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetIdentificationData )(
|
|
__RPC__in IVdsDisk * This,
|
|
/* [out] */ __RPC__out VDS_LUN_INFORMATION *pLunInfo);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *QueryExtents )(
|
|
__RPC__in IVdsDisk * This,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*plNumberOfExtents) VDS_DISK_EXTENT **ppExtentArray,
|
|
/* [out] */ __RPC__out LONG *plNumberOfExtents);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ConvertStyle )(
|
|
__RPC__in IVdsDisk * This,
|
|
/* [in] */ VDS_PARTITION_STYLE NewStyle);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetFlags )(
|
|
__RPC__in IVdsDisk * This,
|
|
/* [in] */ ULONG ulFlags);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ClearFlags )(
|
|
__RPC__in IVdsDisk * This,
|
|
/* [in] */ ULONG ulFlags);
|
|
|
|
END_INTERFACE
|
|
} IVdsDiskVtbl;
|
|
|
|
interface IVdsDisk
|
|
{
|
|
CONST_VTBL struct IVdsDiskVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IVdsDisk_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IVdsDisk_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IVdsDisk_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IVdsDisk_GetProperties(This,pDiskProperties) \
|
|
( (This)->lpVtbl -> GetProperties(This,pDiskProperties) )
|
|
|
|
#define IVdsDisk_GetPack(This,ppPack) \
|
|
( (This)->lpVtbl -> GetPack(This,ppPack) )
|
|
|
|
#define IVdsDisk_GetIdentificationData(This,pLunInfo) \
|
|
( (This)->lpVtbl -> GetIdentificationData(This,pLunInfo) )
|
|
|
|
#define IVdsDisk_QueryExtents(This,ppExtentArray,plNumberOfExtents) \
|
|
( (This)->lpVtbl -> QueryExtents(This,ppExtentArray,plNumberOfExtents) )
|
|
|
|
#define IVdsDisk_ConvertStyle(This,NewStyle) \
|
|
( (This)->lpVtbl -> ConvertStyle(This,NewStyle) )
|
|
|
|
#define IVdsDisk_SetFlags(This,ulFlags) \
|
|
( (This)->lpVtbl -> SetFlags(This,ulFlags) )
|
|
|
|
#define IVdsDisk_ClearFlags(This,ulFlags) \
|
|
( (This)->lpVtbl -> ClearFlags(This,ulFlags) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IVdsDisk_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsDisk2_INTERFACE_DEFINED__
|
|
#define __IVdsDisk2_INTERFACE_DEFINED__
|
|
|
|
/* interface IVdsDisk2 */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IVdsDisk2;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("40F73C8B-687D-4a13-8D96-3D7F2E683936")
|
|
IVdsDisk2 : public IUnknown
|
|
{
|
|
public:
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetSANMode(
|
|
/* [in] */ BOOL bEnable) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IVdsDisk2Vtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
__RPC__in IVdsDisk2 * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [annotation][iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
__RPC__in IVdsDisk2 * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
__RPC__in IVdsDisk2 * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetSANMode )(
|
|
__RPC__in IVdsDisk2 * This,
|
|
/* [in] */ BOOL bEnable);
|
|
|
|
END_INTERFACE
|
|
} IVdsDisk2Vtbl;
|
|
|
|
interface IVdsDisk2
|
|
{
|
|
CONST_VTBL struct IVdsDisk2Vtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IVdsDisk2_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IVdsDisk2_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IVdsDisk2_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IVdsDisk2_SetSANMode(This,bEnable) \
|
|
( (This)->lpVtbl -> SetSANMode(This,bEnable) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IVdsDisk2_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsDiskOnline_INTERFACE_DEFINED__
|
|
#define __IVdsDiskOnline_INTERFACE_DEFINED__
|
|
|
|
/* interface IVdsDiskOnline */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IVdsDiskOnline;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("90681B1D-6A7F-48e8-9061-31B7AA125322")
|
|
IVdsDiskOnline : public IUnknown
|
|
{
|
|
public:
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Online( void) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Offline( void) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IVdsDiskOnlineVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
__RPC__in IVdsDiskOnline * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [annotation][iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
__RPC__in IVdsDiskOnline * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
__RPC__in IVdsDiskOnline * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Online )(
|
|
__RPC__in IVdsDiskOnline * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Offline )(
|
|
__RPC__in IVdsDiskOnline * This);
|
|
|
|
END_INTERFACE
|
|
} IVdsDiskOnlineVtbl;
|
|
|
|
interface IVdsDiskOnline
|
|
{
|
|
CONST_VTBL struct IVdsDiskOnlineVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IVdsDiskOnline_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IVdsDiskOnline_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IVdsDiskOnline_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IVdsDiskOnline_Online(This) \
|
|
( (This)->lpVtbl -> Online(This) )
|
|
|
|
#define IVdsDiskOnline_Offline(This) \
|
|
( (This)->lpVtbl -> Offline(This) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IVdsDiskOnline_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsAdvancedDisk_INTERFACE_DEFINED__
|
|
#define __IVdsAdvancedDisk_INTERFACE_DEFINED__
|
|
|
|
/* interface IVdsAdvancedDisk */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IVdsAdvancedDisk;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("6e6f6b40-977c-4069-bddd-ac710059f8c0")
|
|
IVdsAdvancedDisk : public IUnknown
|
|
{
|
|
public:
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPartitionProperties(
|
|
/* [in] */ ULONGLONG ullOffset,
|
|
/* [out] */ __RPC__out VDS_PARTITION_PROP *pPartitionProp) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryPartitions(
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*plNumberOfPartitions) VDS_PARTITION_PROP **ppPartitionPropArray,
|
|
/* [out] */ __RPC__out LONG *plNumberOfPartitions) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreatePartition(
|
|
/* [in] */ ULONGLONG ullOffset,
|
|
/* [in] */ ULONGLONG ullSize,
|
|
/* [in] */ __RPC__in CREATE_PARTITION_PARAMETERS *para,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DeletePartition(
|
|
/* [in] */ ULONGLONG ullOffset,
|
|
/* [in] */ BOOL bForce,
|
|
/* [in] */ BOOL bForceProtected) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ChangeAttributes(
|
|
/* [in] */ ULONGLONG ullOffset,
|
|
/* [in] */ __RPC__in CHANGE_ATTRIBUTES_PARAMETERS *para) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AssignDriveLetter(
|
|
/* [in] */ ULONGLONG ullOffset,
|
|
/* [in] */ WCHAR wcLetter) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DeleteDriveLetter(
|
|
/* [in] */ ULONGLONG ullOffset,
|
|
/* [in] */ WCHAR wcLetter) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDriveLetter(
|
|
/* [in] */ ULONGLONG ullOffset,
|
|
/* [out] */ __RPC__out WCHAR *pwcLetter) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FormatPartition(
|
|
/* [in] */ ULONGLONG ullOffset,
|
|
/* [in] */ VDS_FILE_SYSTEM_TYPE type,
|
|
/* [string][in] */ __RPC__in_string LPWSTR pwszLabel,
|
|
/* [in] */ DWORD dwUnitAllocationSize,
|
|
/* [in] */ BOOL bForce,
|
|
/* [in] */ BOOL bQuickFormat,
|
|
/* [in] */ BOOL bEnableCompression,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Clean(
|
|
/* [in] */ BOOL bForce,
|
|
/* [in] */ BOOL bForceOEM,
|
|
/* [in] */ BOOL bFullClean,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IVdsAdvancedDiskVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
__RPC__in IVdsAdvancedDisk * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [annotation][iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
__RPC__in IVdsAdvancedDisk * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
__RPC__in IVdsAdvancedDisk * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPartitionProperties )(
|
|
__RPC__in IVdsAdvancedDisk * This,
|
|
/* [in] */ ULONGLONG ullOffset,
|
|
/* [out] */ __RPC__out VDS_PARTITION_PROP *pPartitionProp);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *QueryPartitions )(
|
|
__RPC__in IVdsAdvancedDisk * This,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*plNumberOfPartitions) VDS_PARTITION_PROP **ppPartitionPropArray,
|
|
/* [out] */ __RPC__out LONG *plNumberOfPartitions);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreatePartition )(
|
|
__RPC__in IVdsAdvancedDisk * This,
|
|
/* [in] */ ULONGLONG ullOffset,
|
|
/* [in] */ ULONGLONG ullSize,
|
|
/* [in] */ __RPC__in CREATE_PARTITION_PARAMETERS *para,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DeletePartition )(
|
|
__RPC__in IVdsAdvancedDisk * This,
|
|
/* [in] */ ULONGLONG ullOffset,
|
|
/* [in] */ BOOL bForce,
|
|
/* [in] */ BOOL bForceProtected);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ChangeAttributes )(
|
|
__RPC__in IVdsAdvancedDisk * This,
|
|
/* [in] */ ULONGLONG ullOffset,
|
|
/* [in] */ __RPC__in CHANGE_ATTRIBUTES_PARAMETERS *para);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AssignDriveLetter )(
|
|
__RPC__in IVdsAdvancedDisk * This,
|
|
/* [in] */ ULONGLONG ullOffset,
|
|
/* [in] */ WCHAR wcLetter);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DeleteDriveLetter )(
|
|
__RPC__in IVdsAdvancedDisk * This,
|
|
/* [in] */ ULONGLONG ullOffset,
|
|
/* [in] */ WCHAR wcLetter);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDriveLetter )(
|
|
__RPC__in IVdsAdvancedDisk * This,
|
|
/* [in] */ ULONGLONG ullOffset,
|
|
/* [out] */ __RPC__out WCHAR *pwcLetter);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *FormatPartition )(
|
|
__RPC__in IVdsAdvancedDisk * This,
|
|
/* [in] */ ULONGLONG ullOffset,
|
|
/* [in] */ VDS_FILE_SYSTEM_TYPE type,
|
|
/* [string][in] */ __RPC__in_string LPWSTR pwszLabel,
|
|
/* [in] */ DWORD dwUnitAllocationSize,
|
|
/* [in] */ BOOL bForce,
|
|
/* [in] */ BOOL bQuickFormat,
|
|
/* [in] */ BOOL bEnableCompression,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Clean )(
|
|
__RPC__in IVdsAdvancedDisk * This,
|
|
/* [in] */ BOOL bForce,
|
|
/* [in] */ BOOL bForceOEM,
|
|
/* [in] */ BOOL bFullClean,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync);
|
|
|
|
END_INTERFACE
|
|
} IVdsAdvancedDiskVtbl;
|
|
|
|
interface IVdsAdvancedDisk
|
|
{
|
|
CONST_VTBL struct IVdsAdvancedDiskVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IVdsAdvancedDisk_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IVdsAdvancedDisk_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IVdsAdvancedDisk_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IVdsAdvancedDisk_GetPartitionProperties(This,ullOffset,pPartitionProp) \
|
|
( (This)->lpVtbl -> GetPartitionProperties(This,ullOffset,pPartitionProp) )
|
|
|
|
#define IVdsAdvancedDisk_QueryPartitions(This,ppPartitionPropArray,plNumberOfPartitions) \
|
|
( (This)->lpVtbl -> QueryPartitions(This,ppPartitionPropArray,plNumberOfPartitions) )
|
|
|
|
#define IVdsAdvancedDisk_CreatePartition(This,ullOffset,ullSize,para,ppAsync) \
|
|
( (This)->lpVtbl -> CreatePartition(This,ullOffset,ullSize,para,ppAsync) )
|
|
|
|
#define IVdsAdvancedDisk_DeletePartition(This,ullOffset,bForce,bForceProtected) \
|
|
( (This)->lpVtbl -> DeletePartition(This,ullOffset,bForce,bForceProtected) )
|
|
|
|
#define IVdsAdvancedDisk_ChangeAttributes(This,ullOffset,para) \
|
|
( (This)->lpVtbl -> ChangeAttributes(This,ullOffset,para) )
|
|
|
|
#define IVdsAdvancedDisk_AssignDriveLetter(This,ullOffset,wcLetter) \
|
|
( (This)->lpVtbl -> AssignDriveLetter(This,ullOffset,wcLetter) )
|
|
|
|
#define IVdsAdvancedDisk_DeleteDriveLetter(This,ullOffset,wcLetter) \
|
|
( (This)->lpVtbl -> DeleteDriveLetter(This,ullOffset,wcLetter) )
|
|
|
|
#define IVdsAdvancedDisk_GetDriveLetter(This,ullOffset,pwcLetter) \
|
|
( (This)->lpVtbl -> GetDriveLetter(This,ullOffset,pwcLetter) )
|
|
|
|
#define IVdsAdvancedDisk_FormatPartition(This,ullOffset,type,pwszLabel,dwUnitAllocationSize,bForce,bQuickFormat,bEnableCompression,ppAsync) \
|
|
( (This)->lpVtbl -> FormatPartition(This,ullOffset,type,pwszLabel,dwUnitAllocationSize,bForce,bQuickFormat,bEnableCompression,ppAsync) )
|
|
|
|
#define IVdsAdvancedDisk_Clean(This,bForce,bForceOEM,bFullClean,ppAsync) \
|
|
( (This)->lpVtbl -> Clean(This,bForce,bForceOEM,bFullClean,ppAsync) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IVdsAdvancedDisk_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsAdvancedDisk2_INTERFACE_DEFINED__
|
|
#define __IVdsAdvancedDisk2_INTERFACE_DEFINED__
|
|
|
|
/* interface IVdsAdvancedDisk2 */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IVdsAdvancedDisk2;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("9723f420-9355-42de-ab66-e31bb15beeac")
|
|
IVdsAdvancedDisk2 : public IUnknown
|
|
{
|
|
public:
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ChangePartitionType(
|
|
/* [in] */ ULONGLONG ullOffset,
|
|
/* [in] */ BOOL bForce,
|
|
/* [in] */ __RPC__in CHANGE_PARTITION_TYPE_PARAMETERS *para) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IVdsAdvancedDisk2Vtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
__RPC__in IVdsAdvancedDisk2 * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [annotation][iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
__RPC__in IVdsAdvancedDisk2 * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
__RPC__in IVdsAdvancedDisk2 * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ChangePartitionType )(
|
|
__RPC__in IVdsAdvancedDisk2 * This,
|
|
/* [in] */ ULONGLONG ullOffset,
|
|
/* [in] */ BOOL bForce,
|
|
/* [in] */ __RPC__in CHANGE_PARTITION_TYPE_PARAMETERS *para);
|
|
|
|
END_INTERFACE
|
|
} IVdsAdvancedDisk2Vtbl;
|
|
|
|
interface IVdsAdvancedDisk2
|
|
{
|
|
CONST_VTBL struct IVdsAdvancedDisk2Vtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IVdsAdvancedDisk2_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IVdsAdvancedDisk2_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IVdsAdvancedDisk2_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IVdsAdvancedDisk2_ChangePartitionType(This,ullOffset,bForce,para) \
|
|
( (This)->lpVtbl -> ChangePartitionType(This,ullOffset,bForce,para) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IVdsAdvancedDisk2_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsCreatePartitionEx_INTERFACE_DEFINED__
|
|
#define __IVdsCreatePartitionEx_INTERFACE_DEFINED__
|
|
|
|
/* interface IVdsCreatePartitionEx */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IVdsCreatePartitionEx;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("9882f547-cfc3-420b-9750-00dfbec50662")
|
|
IVdsCreatePartitionEx : public IUnknown
|
|
{
|
|
public:
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreatePartitionEx(
|
|
/* [in] */ ULONGLONG ullOffset,
|
|
/* [in] */ ULONGLONG ullSize,
|
|
/* [in] */ ULONG ulAlign,
|
|
/* [in] */ __RPC__in CREATE_PARTITION_PARAMETERS *para,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IVdsCreatePartitionExVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
__RPC__in IVdsCreatePartitionEx * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [annotation][iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
__RPC__in IVdsCreatePartitionEx * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
__RPC__in IVdsCreatePartitionEx * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreatePartitionEx )(
|
|
__RPC__in IVdsCreatePartitionEx * This,
|
|
/* [in] */ ULONGLONG ullOffset,
|
|
/* [in] */ ULONGLONG ullSize,
|
|
/* [in] */ ULONG ulAlign,
|
|
/* [in] */ __RPC__in CREATE_PARTITION_PARAMETERS *para,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync);
|
|
|
|
END_INTERFACE
|
|
} IVdsCreatePartitionExVtbl;
|
|
|
|
interface IVdsCreatePartitionEx
|
|
{
|
|
CONST_VTBL struct IVdsCreatePartitionExVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IVdsCreatePartitionEx_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IVdsCreatePartitionEx_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IVdsCreatePartitionEx_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IVdsCreatePartitionEx_CreatePartitionEx(This,ullOffset,ullSize,ulAlign,para,ppAsync) \
|
|
( (This)->lpVtbl -> CreatePartitionEx(This,ullOffset,ullSize,ulAlign,para,ppAsync) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IVdsCreatePartitionEx_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsRemovable_INTERFACE_DEFINED__
|
|
#define __IVdsRemovable_INTERFACE_DEFINED__
|
|
|
|
/* interface IVdsRemovable */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IVdsRemovable;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("0316560b-5db4-4ed9-bbb5-213436ddc0d9")
|
|
IVdsRemovable : public IUnknown
|
|
{
|
|
public:
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryMedia( void) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Eject( void) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IVdsRemovableVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
__RPC__in IVdsRemovable * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [annotation][iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
__RPC__in IVdsRemovable * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
__RPC__in IVdsRemovable * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *QueryMedia )(
|
|
__RPC__in IVdsRemovable * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Eject )(
|
|
__RPC__in IVdsRemovable * This);
|
|
|
|
END_INTERFACE
|
|
} IVdsRemovableVtbl;
|
|
|
|
interface IVdsRemovable
|
|
{
|
|
CONST_VTBL struct IVdsRemovableVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IVdsRemovable_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IVdsRemovable_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IVdsRemovable_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IVdsRemovable_QueryMedia(This) \
|
|
( (This)->lpVtbl -> QueryMedia(This) )
|
|
|
|
#define IVdsRemovable_Eject(This) \
|
|
( (This)->lpVtbl -> Eject(This) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IVdsRemovable_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsVolume_INTERFACE_DEFINED__
|
|
#define __IVdsVolume_INTERFACE_DEFINED__
|
|
|
|
/* interface IVdsVolume */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IVdsVolume;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("88306bb2-e71f-478c-86a2-79da200a0f11")
|
|
IVdsVolume : public IUnknown
|
|
{
|
|
public:
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetProperties(
|
|
/* [out] */ __RPC__out VDS_VOLUME_PROP *pVolumeProperties) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPack(
|
|
/* [out] */ __RPC__deref_out_opt IVdsPack **ppPack) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryPlexes(
|
|
/* [out] */ __RPC__deref_out_opt IEnumVdsObject **ppEnum) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Extend(
|
|
/* [size_is][unique][in] */ __RPC__in_ecount_full_opt(lNumberOfDisks) VDS_INPUT_DISK *pInputDiskArray,
|
|
/* [in] */ LONG lNumberOfDisks,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Shrink(
|
|
/* [in] */ ULONGLONG ullNumberOfBytesToRemove,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddPlex(
|
|
/* [in] */ VDS_OBJECT_ID VolumeId,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE BreakPlex(
|
|
/* [in] */ VDS_OBJECT_ID plexId,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemovePlex(
|
|
/* [in] */ VDS_OBJECT_ID plexId,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Delete(
|
|
/* [in] */ BOOL bForce) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetFlags(
|
|
/* [in] */ ULONG ulFlags,
|
|
/* [in] */ BOOL bRevertOnClose) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ClearFlags(
|
|
/* [in] */ ULONG ulFlags) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IVdsVolumeVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
__RPC__in IVdsVolume * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [annotation][iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
__RPC__in IVdsVolume * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
__RPC__in IVdsVolume * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetProperties )(
|
|
__RPC__in IVdsVolume * This,
|
|
/* [out] */ __RPC__out VDS_VOLUME_PROP *pVolumeProperties);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPack )(
|
|
__RPC__in IVdsVolume * This,
|
|
/* [out] */ __RPC__deref_out_opt IVdsPack **ppPack);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *QueryPlexes )(
|
|
__RPC__in IVdsVolume * This,
|
|
/* [out] */ __RPC__deref_out_opt IEnumVdsObject **ppEnum);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Extend )(
|
|
__RPC__in IVdsVolume * This,
|
|
/* [size_is][unique][in] */ __RPC__in_ecount_full_opt(lNumberOfDisks) VDS_INPUT_DISK *pInputDiskArray,
|
|
/* [in] */ LONG lNumberOfDisks,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Shrink )(
|
|
__RPC__in IVdsVolume * This,
|
|
/* [in] */ ULONGLONG ullNumberOfBytesToRemove,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddPlex )(
|
|
__RPC__in IVdsVolume * This,
|
|
/* [in] */ VDS_OBJECT_ID VolumeId,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *BreakPlex )(
|
|
__RPC__in IVdsVolume * This,
|
|
/* [in] */ VDS_OBJECT_ID plexId,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemovePlex )(
|
|
__RPC__in IVdsVolume * This,
|
|
/* [in] */ VDS_OBJECT_ID plexId,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Delete )(
|
|
__RPC__in IVdsVolume * This,
|
|
/* [in] */ BOOL bForce);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetFlags )(
|
|
__RPC__in IVdsVolume * This,
|
|
/* [in] */ ULONG ulFlags,
|
|
/* [in] */ BOOL bRevertOnClose);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ClearFlags )(
|
|
__RPC__in IVdsVolume * This,
|
|
/* [in] */ ULONG ulFlags);
|
|
|
|
END_INTERFACE
|
|
} IVdsVolumeVtbl;
|
|
|
|
interface IVdsVolume
|
|
{
|
|
CONST_VTBL struct IVdsVolumeVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IVdsVolume_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IVdsVolume_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IVdsVolume_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IVdsVolume_GetProperties(This,pVolumeProperties) \
|
|
( (This)->lpVtbl -> GetProperties(This,pVolumeProperties) )
|
|
|
|
#define IVdsVolume_GetPack(This,ppPack) \
|
|
( (This)->lpVtbl -> GetPack(This,ppPack) )
|
|
|
|
#define IVdsVolume_QueryPlexes(This,ppEnum) \
|
|
( (This)->lpVtbl -> QueryPlexes(This,ppEnum) )
|
|
|
|
#define IVdsVolume_Extend(This,pInputDiskArray,lNumberOfDisks,ppAsync) \
|
|
( (This)->lpVtbl -> Extend(This,pInputDiskArray,lNumberOfDisks,ppAsync) )
|
|
|
|
#define IVdsVolume_Shrink(This,ullNumberOfBytesToRemove,ppAsync) \
|
|
( (This)->lpVtbl -> Shrink(This,ullNumberOfBytesToRemove,ppAsync) )
|
|
|
|
#define IVdsVolume_AddPlex(This,VolumeId,ppAsync) \
|
|
( (This)->lpVtbl -> AddPlex(This,VolumeId,ppAsync) )
|
|
|
|
#define IVdsVolume_BreakPlex(This,plexId,ppAsync) \
|
|
( (This)->lpVtbl -> BreakPlex(This,plexId,ppAsync) )
|
|
|
|
#define IVdsVolume_RemovePlex(This,plexId,ppAsync) \
|
|
( (This)->lpVtbl -> RemovePlex(This,plexId,ppAsync) )
|
|
|
|
#define IVdsVolume_Delete(This,bForce) \
|
|
( (This)->lpVtbl -> Delete(This,bForce) )
|
|
|
|
#define IVdsVolume_SetFlags(This,ulFlags,bRevertOnClose) \
|
|
( (This)->lpVtbl -> SetFlags(This,ulFlags,bRevertOnClose) )
|
|
|
|
#define IVdsVolume_ClearFlags(This,ulFlags) \
|
|
( (This)->lpVtbl -> ClearFlags(This,ulFlags) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IVdsVolume_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsVolume2_INTERFACE_DEFINED__
|
|
#define __IVdsVolume2_INTERFACE_DEFINED__
|
|
|
|
/* interface IVdsVolume2 */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IVdsVolume2;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("72AE6713-DCBB-4a03-B36B-371F6AC6B53D")
|
|
IVdsVolume2 : public IUnknown
|
|
{
|
|
public:
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetProperties2(
|
|
/* [out] */ __RPC__out VDS_VOLUME_PROP2 *pVolumeProperties) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IVdsVolume2Vtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
__RPC__in IVdsVolume2 * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [annotation][iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
__RPC__in IVdsVolume2 * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
__RPC__in IVdsVolume2 * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetProperties2 )(
|
|
__RPC__in IVdsVolume2 * This,
|
|
/* [out] */ __RPC__out VDS_VOLUME_PROP2 *pVolumeProperties);
|
|
|
|
END_INTERFACE
|
|
} IVdsVolume2Vtbl;
|
|
|
|
interface IVdsVolume2
|
|
{
|
|
CONST_VTBL struct IVdsVolume2Vtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IVdsVolume2_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IVdsVolume2_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IVdsVolume2_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IVdsVolume2_GetProperties2(This,pVolumeProperties) \
|
|
( (This)->lpVtbl -> GetProperties2(This,pVolumeProperties) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IVdsVolume2_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsVolumeOnline_INTERFACE_DEFINED__
|
|
#define __IVdsVolumeOnline_INTERFACE_DEFINED__
|
|
|
|
/* interface IVdsVolumeOnline */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IVdsVolumeOnline;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("1BE2275A-B315-4f70-9E44-879B3A2A53F2")
|
|
IVdsVolumeOnline : public IUnknown
|
|
{
|
|
public:
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Online( void) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IVdsVolumeOnlineVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
__RPC__in IVdsVolumeOnline * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [annotation][iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
__RPC__in IVdsVolumeOnline * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
__RPC__in IVdsVolumeOnline * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Online )(
|
|
__RPC__in IVdsVolumeOnline * This);
|
|
|
|
END_INTERFACE
|
|
} IVdsVolumeOnlineVtbl;
|
|
|
|
interface IVdsVolumeOnline
|
|
{
|
|
CONST_VTBL struct IVdsVolumeOnlineVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IVdsVolumeOnline_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IVdsVolumeOnline_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IVdsVolumeOnline_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IVdsVolumeOnline_Online(This) \
|
|
( (This)->lpVtbl -> Online(This) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IVdsVolumeOnline_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsVolumePlex_INTERFACE_DEFINED__
|
|
#define __IVdsVolumePlex_INTERFACE_DEFINED__
|
|
|
|
/* interface IVdsVolumePlex */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IVdsVolumePlex;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("4daa0135-e1d1-40f1-aaa5-3cc1e53221c3")
|
|
IVdsVolumePlex : public IUnknown
|
|
{
|
|
public:
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetProperties(
|
|
/* [out] */ __RPC__out VDS_VOLUME_PLEX_PROP *pPlexProperties) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetVolume(
|
|
/* [out] */ __RPC__deref_out_opt IVdsVolume **ppVolume) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryExtents(
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*plNumberOfExtents) VDS_DISK_EXTENT **ppExtentArray,
|
|
/* [out] */ __RPC__out LONG *plNumberOfExtents) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Repair(
|
|
/* [size_is][in] */ __RPC__in_ecount_full(lNumberOfDisks) VDS_INPUT_DISK *pInputDiskArray,
|
|
/* [in] */ LONG lNumberOfDisks,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IVdsVolumePlexVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
__RPC__in IVdsVolumePlex * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [annotation][iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
__RPC__in IVdsVolumePlex * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
__RPC__in IVdsVolumePlex * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetProperties )(
|
|
__RPC__in IVdsVolumePlex * This,
|
|
/* [out] */ __RPC__out VDS_VOLUME_PLEX_PROP *pPlexProperties);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetVolume )(
|
|
__RPC__in IVdsVolumePlex * This,
|
|
/* [out] */ __RPC__deref_out_opt IVdsVolume **ppVolume);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *QueryExtents )(
|
|
__RPC__in IVdsVolumePlex * This,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*plNumberOfExtents) VDS_DISK_EXTENT **ppExtentArray,
|
|
/* [out] */ __RPC__out LONG *plNumberOfExtents);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Repair )(
|
|
__RPC__in IVdsVolumePlex * This,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(lNumberOfDisks) VDS_INPUT_DISK *pInputDiskArray,
|
|
/* [in] */ LONG lNumberOfDisks,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync);
|
|
|
|
END_INTERFACE
|
|
} IVdsVolumePlexVtbl;
|
|
|
|
interface IVdsVolumePlex
|
|
{
|
|
CONST_VTBL struct IVdsVolumePlexVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IVdsVolumePlex_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IVdsVolumePlex_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IVdsVolumePlex_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IVdsVolumePlex_GetProperties(This,pPlexProperties) \
|
|
( (This)->lpVtbl -> GetProperties(This,pPlexProperties) )
|
|
|
|
#define IVdsVolumePlex_GetVolume(This,ppVolume) \
|
|
( (This)->lpVtbl -> GetVolume(This,ppVolume) )
|
|
|
|
#define IVdsVolumePlex_QueryExtents(This,ppExtentArray,plNumberOfExtents) \
|
|
( (This)->lpVtbl -> QueryExtents(This,ppExtentArray,plNumberOfExtents) )
|
|
|
|
#define IVdsVolumePlex_Repair(This,pInputDiskArray,lNumberOfDisks,ppAsync) \
|
|
( (This)->lpVtbl -> Repair(This,pInputDiskArray,lNumberOfDisks,ppAsync) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IVdsVolumePlex_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsDisk3_INTERFACE_DEFINED__
|
|
#define __IVdsDisk3_INTERFACE_DEFINED__
|
|
|
|
/* interface IVdsDisk3 */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IVdsDisk3;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("8F4B2F5D-EC15-4357-992F-473EF10975B9")
|
|
IVdsDisk3 : public IUnknown
|
|
{
|
|
public:
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetProperties2(
|
|
/* [out] */ __RPC__out VDS_DISK_PROP2 *pDiskProperties) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryFreeExtents(
|
|
/* [in] */ ULONG ulAlign,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*plNumberOfFreeExtents) VDS_DISK_FREE_EXTENT **ppFreeExtentArray,
|
|
/* [out] */ __RPC__out LONG *plNumberOfFreeExtents) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IVdsDisk3Vtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
__RPC__in IVdsDisk3 * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [annotation][iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
__RPC__in IVdsDisk3 * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
__RPC__in IVdsDisk3 * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetProperties2 )(
|
|
__RPC__in IVdsDisk3 * This,
|
|
/* [out] */ __RPC__out VDS_DISK_PROP2 *pDiskProperties);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *QueryFreeExtents )(
|
|
__RPC__in IVdsDisk3 * This,
|
|
/* [in] */ ULONG ulAlign,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*plNumberOfFreeExtents) VDS_DISK_FREE_EXTENT **ppFreeExtentArray,
|
|
/* [out] */ __RPC__out LONG *plNumberOfFreeExtents);
|
|
|
|
END_INTERFACE
|
|
} IVdsDisk3Vtbl;
|
|
|
|
interface IVdsDisk3
|
|
{
|
|
CONST_VTBL struct IVdsDisk3Vtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IVdsDisk3_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IVdsDisk3_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IVdsDisk3_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IVdsDisk3_GetProperties2(This,pDiskProperties) \
|
|
( (This)->lpVtbl -> GetProperties2(This,pDiskProperties) )
|
|
|
|
#define IVdsDisk3_QueryFreeExtents(This,ulAlign,ppFreeExtentArray,plNumberOfFreeExtents) \
|
|
( (This)->lpVtbl -> QueryFreeExtents(This,ulAlign,ppFreeExtentArray,plNumberOfFreeExtents) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IVdsDisk3_INTERFACE_DEFINED__ */
|
|
|
|
|
|
/* interface __MIDL_itf_vds_0000_0020 */
|
|
/* [local] */
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
typedef
|
|
enum _VDS_SUB_SYSTEM_STATUS
|
|
{ VDS_SSS_UNKNOWN = 0,
|
|
VDS_SSS_ONLINE = 1,
|
|
VDS_SSS_NOT_READY = 2,
|
|
VDS_SSS_OFFLINE = 4,
|
|
VDS_SSS_FAILED = 5,
|
|
VDS_SSS_PARTIALLY_MANAGED = 9
|
|
} VDS_SUB_SYSTEM_STATUS;
|
|
|
|
typedef
|
|
enum _VDS_SUB_SYSTEM_FLAG
|
|
{ VDS_SF_LUN_MASKING_CAPABLE = 0x1,
|
|
VDS_SF_LUN_PLEXING_CAPABLE = 0x2,
|
|
VDS_SF_LUN_REMAPPING_CAPABLE = 0x4,
|
|
VDS_SF_DRIVE_EXTENT_CAPABLE = 0x8,
|
|
VDS_SF_HARDWARE_CHECKSUM_CAPABLE = 0x10,
|
|
VDS_SF_RADIUS_CAPABLE = 0x20,
|
|
VDS_SF_READ_BACK_VERIFY_CAPABLE = 0x40,
|
|
VDS_SF_WRITE_THROUGH_CACHING_CAPABLE = 0x80,
|
|
VDS_SF_SUPPORTS_FAULT_TOLERANT_LUNS = 0x200,
|
|
VDS_SF_SUPPORTS_NON_FAULT_TOLERANT_LUNS = 0x400,
|
|
VDS_SF_SUPPORTS_SIMPLE_LUNS = 0x800,
|
|
VDS_SF_SUPPORTS_SPAN_LUNS = 0x1000,
|
|
VDS_SF_SUPPORTS_STRIPE_LUNS = 0x2000,
|
|
VDS_SF_SUPPORTS_MIRROR_LUNS = 0x4000,
|
|
VDS_SF_SUPPORTS_PARITY_LUNS = 0x8000,
|
|
VDS_SF_SUPPORTS_AUTH_CHAP = 0x10000,
|
|
VDS_SF_SUPPORTS_AUTH_MUTUAL_CHAP = 0x20000,
|
|
VDS_SF_SUPPORTS_SIMPLE_TARGET_CONFIG = 0x40000,
|
|
VDS_SF_SUPPORTS_LUN_NUMBER = 0x80000,
|
|
VDS_SF_SUPPORTS_MIRRORED_CACHE = 0x100000,
|
|
VDS_SF_READ_CACHING_CAPABLE = 0x200000,
|
|
VDS_SF_WRITE_CACHING_CAPABLE = 0x400000,
|
|
VDS_SF_MEDIA_SCAN_CAPABLE = 0x800000,
|
|
VDS_SF_CONSISTENCY_CHECK_CAPABLE = 0x1000000
|
|
} VDS_SUB_SYSTEM_FLAG;
|
|
|
|
typedef
|
|
enum _VDS_SUB_SYSTEM_SUPPORTED_RAID_TYPE_FLAG
|
|
{ VDS_SF_SUPPORTS_RAID2_LUNS = 0x1,
|
|
VDS_SF_SUPPORTS_RAID3_LUNS = 0x2,
|
|
VDS_SF_SUPPORTS_RAID4_LUNS = 0x4,
|
|
VDS_SF_SUPPORTS_RAID5_LUNS = 0x8,
|
|
VDS_SF_SUPPORTS_RAID6_LUNS = 0x10,
|
|
VDS_SF_SUPPORTS_RAID01_LUNS = 0x20,
|
|
VDS_SF_SUPPORTS_RAID03_LUNS = 0x40,
|
|
VDS_SF_SUPPORTS_RAID05_LUNS = 0x80,
|
|
VDS_SF_SUPPORTS_RAID10_LUNS = 0x100,
|
|
VDS_SF_SUPPORTS_RAID15_LUNS = 0x200,
|
|
VDS_SF_SUPPORTS_RAID30_LUNS = 0x400,
|
|
VDS_SF_SUPPORTS_RAID50_LUNS = 0x800,
|
|
VDS_SF_SUPPORTS_RAID51_LUNS = 0x1000,
|
|
VDS_SF_SUPPORTS_RAID53_LUNS = 0x2000,
|
|
VDS_SF_SUPPORTS_RAID60_LUNS = 0x4000,
|
|
VDS_SF_SUPPORTS_RAID61_LUNS = 0x8000
|
|
} VDS_SUB_SYSTEM_SUPPORTED_RAID_TYPE_FLAG;
|
|
|
|
typedef
|
|
enum _VDS_INTERCONNECT_FLAG
|
|
{ VDS_ITF_PCI_RAID = 0x1,
|
|
VDS_ITF_FIBRE_CHANNEL = 0x2,
|
|
VDS_ITF_ISCSI = 0x4,
|
|
VDS_ITF_SAS = 0x8
|
|
} VDS_INTERCONNECT_FLAG;
|
|
|
|
typedef
|
|
enum _VDS_CONTROLLER_STATUS
|
|
{ VDS_CS_UNKNOWN = 0,
|
|
VDS_CS_ONLINE = 1,
|
|
VDS_CS_NOT_READY = 2,
|
|
VDS_CS_OFFLINE = 4,
|
|
VDS_CS_FAILED = 5,
|
|
VDS_CS_REMOVED = 8
|
|
} VDS_CONTROLLER_STATUS;
|
|
|
|
typedef
|
|
enum _VDS_PORT_STATUS
|
|
{ VDS_PRS_UNKNOWN = 0,
|
|
VDS_PRS_ONLINE = 1,
|
|
VDS_PRS_NOT_READY = 2,
|
|
VDS_PRS_OFFLINE = 4,
|
|
VDS_PRS_FAILED = 5,
|
|
VDS_PRS_REMOVED = 8
|
|
} VDS_PORT_STATUS;
|
|
|
|
typedef
|
|
enum _VDS_DRIVE_STATUS
|
|
{ VDS_DRS_UNKNOWN = 0,
|
|
VDS_DRS_ONLINE = 1,
|
|
VDS_DRS_NOT_READY = 2,
|
|
VDS_DRS_OFFLINE = 4,
|
|
VDS_DRS_FAILED = 5,
|
|
VDS_DRS_REMOVED = 8
|
|
} VDS_DRIVE_STATUS;
|
|
|
|
typedef
|
|
enum _VDS_DRIVE_FLAG
|
|
{ VDS_DRF_HOTSPARE = 0x1,
|
|
VDS_DRF_ASSIGNED = 0x2,
|
|
VDS_DRF_UNASSIGNED = 0x4,
|
|
VDS_DRF_HOTSPARE_IN_USE = 0x8,
|
|
VDS_DRF_HOTSPARE_STANDBY = 0x10
|
|
} VDS_DRIVE_FLAG;
|
|
|
|
typedef
|
|
enum _VDS_LUN_TYPE
|
|
{ VDS_LT_UNKNOWN = 0,
|
|
VDS_LT_DEFAULT = 1,
|
|
VDS_LT_FAULT_TOLERANT = 2,
|
|
VDS_LT_NON_FAULT_TOLERANT = 3,
|
|
VDS_LT_SIMPLE = 10,
|
|
VDS_LT_SPAN = 11,
|
|
VDS_LT_STRIPE = 12,
|
|
VDS_LT_MIRROR = 13,
|
|
VDS_LT_PARITY = 14,
|
|
VDS_LT_RAID2 = 15,
|
|
VDS_LT_RAID3 = 16,
|
|
VDS_LT_RAID4 = 17,
|
|
VDS_LT_RAID5 = 18,
|
|
VDS_LT_RAID6 = 19,
|
|
VDS_LT_RAID01 = 20,
|
|
VDS_LT_RAID03 = 21,
|
|
VDS_LT_RAID05 = 22,
|
|
VDS_LT_RAID10 = 23,
|
|
VDS_LT_RAID15 = 24,
|
|
VDS_LT_RAID30 = 25,
|
|
VDS_LT_RAID50 = 26,
|
|
VDS_LT_RAID51 = 27,
|
|
VDS_LT_RAID53 = 28,
|
|
VDS_LT_RAID60 = 29,
|
|
VDS_LT_RAID61 = 30
|
|
} VDS_LUN_TYPE;
|
|
|
|
typedef
|
|
enum _VDS_LUN_STATUS
|
|
{ VDS_LS_UNKNOWN = 0,
|
|
VDS_LS_ONLINE = 1,
|
|
VDS_LS_NOT_READY = 2,
|
|
VDS_LS_OFFLINE = 4,
|
|
VDS_LS_FAILED = 5
|
|
} VDS_LUN_STATUS;
|
|
|
|
typedef
|
|
enum _VDS_LUN_FLAG
|
|
{ VDS_LF_LBN_REMAP_ENABLED = 0x1,
|
|
VDS_LF_READ_BACK_VERIFY_ENABLED = 0x2,
|
|
VDS_LF_WRITE_THROUGH_CACHING_ENABLED = 0x4,
|
|
VDS_LF_HARDWARE_CHECKSUM_ENABLED = 0x8,
|
|
VDS_LF_READ_CACHE_ENABLED = 0x10,
|
|
VDS_LF_WRITE_CACHE_ENABLED = 0x20,
|
|
VDS_LF_MEDIA_SCAN_ENABLED = 0x40,
|
|
VDS_LF_CONSISTENCY_CHECK_ENABLED = 0x80,
|
|
VDS_LF_SNAPSHOT = 0x100
|
|
} VDS_LUN_FLAG;
|
|
|
|
typedef
|
|
enum _VDS_LUN_PLEX_TYPE
|
|
{ VDS_LPT_UNKNOWN = 0,
|
|
VDS_LPT_SIMPLE = VDS_LT_SIMPLE,
|
|
VDS_LPT_SPAN = VDS_LT_SPAN,
|
|
VDS_LPT_STRIPE = VDS_LT_STRIPE,
|
|
VDS_LPT_PARITY = VDS_LT_PARITY,
|
|
VDS_LPT_RAID2 = VDS_LT_RAID2,
|
|
VDS_LPT_RAID3 = VDS_LT_RAID3,
|
|
VDS_LPT_RAID4 = VDS_LT_RAID4,
|
|
VDS_LPT_RAID5 = VDS_LT_RAID5,
|
|
VDS_LPT_RAID6 = VDS_LT_RAID6,
|
|
VDS_LPT_RAID03 = VDS_LT_RAID03,
|
|
VDS_LPT_RAID05 = VDS_LT_RAID05,
|
|
VDS_LPT_RAID10 = VDS_LT_RAID10,
|
|
VDS_LPT_RAID15 = VDS_LT_RAID15,
|
|
VDS_LPT_RAID30 = VDS_LT_RAID30,
|
|
VDS_LPT_RAID50 = VDS_LT_RAID50,
|
|
VDS_LPT_RAID53 = VDS_LT_RAID53,
|
|
VDS_LPT_RAID60 = VDS_LT_RAID60
|
|
} VDS_LUN_PLEX_TYPE;
|
|
|
|
typedef
|
|
enum _VDS_LUN_PLEX_STATUS
|
|
{ VDS_LPS_UNKNOWN = 0,
|
|
VDS_LPS_ONLINE = 1,
|
|
VDS_LPS_NOT_READY = 2,
|
|
VDS_LPS_OFFLINE = 4,
|
|
VDS_LPS_FAILED = 5
|
|
} VDS_LUN_PLEX_STATUS;
|
|
|
|
typedef
|
|
enum _VDS_LUN_PLEX_FLAG
|
|
{ VDS_LPF_LBN_REMAP_ENABLED = VDS_LF_LBN_REMAP_ENABLED
|
|
} VDS_LUN_PLEX_FLAG;
|
|
|
|
typedef
|
|
enum _VDS_ISCSI_PORTAL_STATUS
|
|
{ VDS_IPS_UNKNOWN = 0,
|
|
VDS_IPS_ONLINE = 1,
|
|
VDS_IPS_NOT_READY = 2,
|
|
VDS_IPS_OFFLINE = 4,
|
|
VDS_IPS_FAILED = 5
|
|
} VDS_ISCSI_PORTAL_STATUS;
|
|
|
|
typedef
|
|
enum _VDS_STORAGE_POOL_STATUS
|
|
{ VDS_SPS_UNKNOWN = 0,
|
|
VDS_SPS_ONLINE = 1,
|
|
VDS_SPS_NOT_READY = 2,
|
|
VDS_SPS_OFFLINE = 4
|
|
} VDS_STORAGE_POOL_STATUS;
|
|
|
|
typedef
|
|
enum _VDS_STORAGE_POOL_TYPE
|
|
{ VDS_SPT_UNKNOWN = 0,
|
|
VDS_SPT_PRIMORDIAL = 0x1,
|
|
VDS_SPT_CONCRETE = 0x2
|
|
} VDS_STORAGE_POOL_TYPE;
|
|
|
|
typedef
|
|
enum _VDS_MAINTENANCE_OPERATION
|
|
{ BlinkLight = 1,
|
|
BeepAlarm = 2,
|
|
SpinDown = 3,
|
|
SpinUp = 4,
|
|
Ping = 5
|
|
} VDS_MAINTENANCE_OPERATION;
|
|
|
|
typedef struct _VDS_HINTS
|
|
{
|
|
ULONGLONG ullHintMask;
|
|
ULONGLONG ullExpectedMaximumSize;
|
|
ULONG ulOptimalReadSize;
|
|
ULONG ulOptimalReadAlignment;
|
|
ULONG ulOptimalWriteSize;
|
|
ULONG ulOptimalWriteAlignment;
|
|
ULONG ulMaximumDriveCount;
|
|
ULONG ulStripeSize;
|
|
BOOL bFastCrashRecoveryRequired;
|
|
BOOL bMostlyReads;
|
|
BOOL bOptimizeForSequentialReads;
|
|
BOOL bOptimizeForSequentialWrites;
|
|
BOOL bRemapEnabled;
|
|
BOOL bReadBackVerifyEnabled;
|
|
BOOL bWriteThroughCachingEnabled;
|
|
BOOL bHardwareChecksumEnabled;
|
|
BOOL bIsYankable;
|
|
SHORT sRebuildPriority;
|
|
} VDS_HINTS;
|
|
|
|
typedef struct _VDS_HINTS *PVDS_HINTS;
|
|
|
|
#define VDS_HINT_FASTCRASHRECOVERYREQUIRED ( 0x1L )
|
|
|
|
#define VDS_HINT_MOSTLYREADS ( 0x2L )
|
|
|
|
#define VDS_HINT_OPTIMIZEFORSEQUENTIALREADS ( 0x4L )
|
|
|
|
#define VDS_HINT_OPTIMIZEFORSEQUENTIALWRITES ( 0x8L )
|
|
|
|
#define VDS_HINT_READBACKVERIFYENABLED ( 0x10L )
|
|
|
|
#define VDS_HINT_REMAPENABLED ( 0x20L )
|
|
|
|
#define VDS_HINT_WRITETHROUGHCACHINGENABLED ( 0x40L )
|
|
|
|
#define VDS_HINT_HARDWARECHECKSUMENABLED ( 0x80L )
|
|
|
|
#define VDS_HINT_ISYANKABLE ( 0x100L )
|
|
|
|
typedef struct _VDS_HINTS2
|
|
{
|
|
ULONGLONG ullHintMask;
|
|
ULONGLONG ullExpectedMaximumSize;
|
|
ULONG ulOptimalReadSize;
|
|
ULONG ulOptimalReadAlignment;
|
|
ULONG ulOptimalWriteSize;
|
|
ULONG ulOptimalWriteAlignment;
|
|
ULONG ulMaximumDriveCount;
|
|
ULONG ulStripeSize;
|
|
ULONG ulReserved1;
|
|
ULONG ulReserved2;
|
|
ULONG ulReserved3;
|
|
BOOL bFastCrashRecoveryRequired;
|
|
BOOL bMostlyReads;
|
|
BOOL bOptimizeForSequentialReads;
|
|
BOOL bOptimizeForSequentialWrites;
|
|
BOOL bRemapEnabled;
|
|
BOOL bReadBackVerifyEnabled;
|
|
BOOL bWriteThroughCachingEnabled;
|
|
BOOL bHardwareChecksumEnabled;
|
|
BOOL bIsYankable;
|
|
BOOL bAllocateHotSpare;
|
|
BOOL bUseMirroredCache;
|
|
BOOL bReadCachingEnabled;
|
|
BOOL bWriteCachingEnabled;
|
|
BOOL bMediaScanEnabled;
|
|
BOOL bConsistencyCheckEnabled;
|
|
VDS_STORAGE_BUS_TYPE BusType;
|
|
BOOL bReserved1;
|
|
BOOL bReserved2;
|
|
BOOL bReserved3;
|
|
SHORT sRebuildPriority;
|
|
} VDS_HINTS2;
|
|
|
|
typedef struct _VDS_HINTS2 *PVDS_HINTS2;
|
|
|
|
#define VDS_HINT_ALLOCATEHOTSPARE ( 0x200L )
|
|
|
|
#define VDS_HINT_BUSTYPE ( 0x400L )
|
|
|
|
#define VDS_HINT_USEMIRROREDCACHE ( 0x800L )
|
|
|
|
#define VDS_HINT_READCACHINGENABLED ( 0x1000L )
|
|
|
|
#define VDS_HINT_WRITECACHINGENABLED ( 0x2000L )
|
|
|
|
#define VDS_HINT_MEDIASCANENABLED ( 0x4000L )
|
|
|
|
#define VDS_HINT_CONSISTENCYCHECKENABLED ( 0x8000L )
|
|
|
|
typedef struct _VDS_SUB_SYSTEM_PROP
|
|
{
|
|
VDS_OBJECT_ID id;
|
|
LPWSTR pwszFriendlyName;
|
|
LPWSTR pwszIdentification;
|
|
ULONG ulFlags;
|
|
ULONG ulStripeSizeFlags;
|
|
VDS_SUB_SYSTEM_STATUS status;
|
|
VDS_HEALTH health;
|
|
SHORT sNumberOfInternalBuses;
|
|
SHORT sMaxNumberOfSlotsEachBus;
|
|
SHORT sMaxNumberOfControllers;
|
|
SHORT sRebuildPriority;
|
|
} VDS_SUB_SYSTEM_PROP;
|
|
|
|
typedef struct _VDS_SUB_SYSTEM_PROP2
|
|
{
|
|
VDS_OBJECT_ID id;
|
|
LPWSTR pwszFriendlyName;
|
|
LPWSTR pwszIdentification;
|
|
ULONG ulFlags;
|
|
ULONG ulStripeSizeFlags;
|
|
ULONG ulSupportedRaidTypeFlags;
|
|
VDS_SUB_SYSTEM_STATUS status;
|
|
VDS_HEALTH health;
|
|
SHORT sNumberOfInternalBuses;
|
|
SHORT sMaxNumberOfSlotsEachBus;
|
|
SHORT sMaxNumberOfControllers;
|
|
SHORT sRebuildPriority;
|
|
ULONG ulNumberOfEnclosures;
|
|
} VDS_SUB_SYSTEM_PROP2;
|
|
|
|
typedef struct _VDS_CONTROLLER_PROP
|
|
{
|
|
VDS_OBJECT_ID id;
|
|
LPWSTR pwszFriendlyName;
|
|
LPWSTR pwszIdentification;
|
|
VDS_CONTROLLER_STATUS status;
|
|
VDS_HEALTH health;
|
|
SHORT sNumberOfPorts;
|
|
} VDS_CONTROLLER_PROP;
|
|
|
|
typedef struct _VDS_DRIVE_PROP
|
|
{
|
|
VDS_OBJECT_ID id;
|
|
ULONGLONG ullSize;
|
|
LPWSTR pwszFriendlyName;
|
|
LPWSTR pwszIdentification;
|
|
ULONG ulFlags;
|
|
VDS_DRIVE_STATUS status;
|
|
VDS_HEALTH health;
|
|
SHORT sInternalBusNumber;
|
|
SHORT sSlotNumber;
|
|
} VDS_DRIVE_PROP;
|
|
|
|
typedef struct _VDS_DRIVE_PROP2
|
|
{
|
|
VDS_OBJECT_ID id;
|
|
ULONGLONG ullSize;
|
|
LPWSTR pwszFriendlyName;
|
|
LPWSTR pwszIdentification;
|
|
ULONG ulFlags;
|
|
VDS_DRIVE_STATUS status;
|
|
VDS_HEALTH health;
|
|
SHORT sInternalBusNumber;
|
|
SHORT sSlotNumber;
|
|
ULONG ulEnclosureNumber;
|
|
VDS_STORAGE_BUS_TYPE busType;
|
|
ULONG ulSpindleSpeed;
|
|
} VDS_DRIVE_PROP2;
|
|
|
|
typedef struct _VDS_DRIVE_EXTENT
|
|
{
|
|
VDS_OBJECT_ID id;
|
|
VDS_OBJECT_ID LunId;
|
|
ULONGLONG ullSize;
|
|
BOOL bUsed;
|
|
} VDS_DRIVE_EXTENT;
|
|
|
|
#define VDS_REBUILD_PRIORITY_MIN 0
|
|
#define VDS_REBUILD_PRIORITY_MAX 16
|
|
typedef struct _VDS_LUN_PROP
|
|
{
|
|
VDS_OBJECT_ID id;
|
|
ULONGLONG ullSize;
|
|
LPWSTR pwszFriendlyName;
|
|
LPWSTR pwszIdentification;
|
|
LPWSTR pwszUnmaskingList;
|
|
ULONG ulFlags;
|
|
VDS_LUN_TYPE type;
|
|
VDS_LUN_STATUS status;
|
|
VDS_HEALTH health;
|
|
VDS_TRANSITION_STATE TransitionState;
|
|
SHORT sRebuildPriority;
|
|
} VDS_LUN_PROP;
|
|
|
|
typedef struct _VDS_LUN_PROP *PVDS_LUN_PROP;
|
|
|
|
typedef struct _VDS_LUN_PLEX_PROP
|
|
{
|
|
VDS_OBJECT_ID id;
|
|
ULONGLONG ullSize;
|
|
VDS_LUN_PLEX_TYPE type;
|
|
VDS_LUN_PLEX_STATUS status;
|
|
VDS_HEALTH health;
|
|
VDS_TRANSITION_STATE TransitionState;
|
|
ULONG ulFlags;
|
|
ULONG ulStripeSize;
|
|
SHORT sRebuildPriority;
|
|
} VDS_LUN_PLEX_PROP;
|
|
|
|
typedef struct _VDS_PORT_PROP
|
|
{
|
|
VDS_OBJECT_ID id;
|
|
LPWSTR pwszFriendlyName;
|
|
LPWSTR pwszIdentification;
|
|
VDS_PORT_STATUS status;
|
|
} VDS_PORT_PROP;
|
|
|
|
typedef struct _VDS_ISCSI_PORTAL_PROP
|
|
{
|
|
VDS_OBJECT_ID id;
|
|
VDS_IPADDRESS address;
|
|
VDS_ISCSI_PORTAL_STATUS status;
|
|
} VDS_ISCSI_PORTAL_PROP;
|
|
|
|
typedef struct _VDS_ISCSI_TARGET_PROP
|
|
{
|
|
VDS_OBJECT_ID id;
|
|
LPWSTR pwszIscsiName;
|
|
LPWSTR pwszFriendlyName;
|
|
BOOL bChapEnabled;
|
|
} VDS_ISCSI_TARGET_PROP;
|
|
|
|
typedef struct _VDS_ISCSI_PORTALGROUP_PROP
|
|
{
|
|
VDS_OBJECT_ID id;
|
|
VDS_ISCSI_PORTALGROUP_TAG tag;
|
|
} VDS_ISCSI_PORTALGROUP_PROP;
|
|
|
|
typedef
|
|
enum _VDS_RAID_TYPE
|
|
{ VDS_RT_UNKNOWN = 0,
|
|
VDS_RT_RAID0 = 10,
|
|
VDS_RT_RAID1 = 11,
|
|
VDS_RT_RAID2 = 12,
|
|
VDS_RT_RAID3 = 13,
|
|
VDS_RT_RAID4 = 14,
|
|
VDS_RT_RAID5 = 15,
|
|
VDS_RT_RAID6 = 16,
|
|
VDS_RT_RAID01 = 17,
|
|
VDS_RT_RAID03 = 18,
|
|
VDS_RT_RAID05 = 19,
|
|
VDS_RT_RAID10 = 20,
|
|
VDS_RT_RAID15 = 21,
|
|
VDS_RT_RAID30 = 22,
|
|
VDS_RT_RAID50 = 23,
|
|
VDS_RT_RAID51 = 24,
|
|
VDS_RT_RAID53 = 25,
|
|
VDS_RT_RAID60 = 26,
|
|
VDS_RT_RAID61 = 27
|
|
} VDS_RAID_TYPE;
|
|
|
|
typedef struct _VDS_POOL_CUSTOM_ATTRIBUTES
|
|
{
|
|
LPWSTR pwszName;
|
|
LPWSTR pwszValue;
|
|
} VDS_POOL_CUSTOM_ATTRIBUTES;
|
|
|
|
typedef struct _VDS_POOL_CUSTOM_ATTRIBUTES *PVDS_POOL_CUSTOM_ATTRIBUTES;
|
|
|
|
typedef struct _VDS_POOL_ATTRIBUTES
|
|
{
|
|
ULONGLONG ullAttributeMask;
|
|
VDS_RAID_TYPE raidType;
|
|
VDS_STORAGE_BUS_TYPE busType;
|
|
LPWSTR pwszIntendedUsage;
|
|
BOOL bSpinDown;
|
|
BOOL bIsThinProvisioned;
|
|
ULONGLONG ullProvisionedSpace;
|
|
BOOL bNoSinglePointOfFailure;
|
|
ULONG ulDataRedundancyMax;
|
|
ULONG ulDataRedundancyMin;
|
|
ULONG ulDataRedundancyDefault;
|
|
ULONG ulPackageRedundancyMax;
|
|
ULONG ulPackageRedundancyMin;
|
|
ULONG ulPackageRedundancyDefault;
|
|
ULONG ulStripeSize;
|
|
ULONG ulStripeSizeMax;
|
|
ULONG ulStripeSizeMin;
|
|
ULONG ulDefaultStripeSize;
|
|
ULONG ulNumberOfColumns;
|
|
ULONG ulNumberOfColumnsMax;
|
|
ULONG ulNumberOfColumnsMin;
|
|
ULONG ulDefaultNumberofColumns;
|
|
ULONG ulDataAvailabilityHint;
|
|
ULONG ulAccessRandomnessHint;
|
|
ULONG ulAccessDirectionHint;
|
|
ULONG ulAccessSizeHint;
|
|
ULONG ulAccessLatencyHint;
|
|
ULONG ulAccessBandwidthWeightHint;
|
|
ULONG ulStorageCostHint;
|
|
ULONG ulStorageEfficiencyHint;
|
|
ULONG ulNumOfCustomAttributes;
|
|
VDS_POOL_CUSTOM_ATTRIBUTES *pPoolCustomAttributes;
|
|
BOOL bReserved1;
|
|
BOOL bReserved2;
|
|
ULONG ulReserved1;
|
|
ULONG ulReserved2;
|
|
ULONGLONG ullReserved1;
|
|
ULONGLONG ullReserved2;
|
|
} VDS_POOL_ATTRIBUTES;
|
|
|
|
typedef struct _VDS_POOL_ATTRIBUTES *PVDS_POOL_ATTRIBUTES;
|
|
|
|
#define VDS_POOL_ATTRIB_RAIDTYPE ( 0x1L )
|
|
|
|
#define VDS_POOL_ATTRIB_BUSTYPE ( 0x2L )
|
|
|
|
#define VDS_POOL_ATTRIB_ALLOW_SPINDOWN ( 0x4L )
|
|
|
|
#define VDS_POOL_ATTRIB_THIN_PROVISION ( 0x8L )
|
|
|
|
#define VDS_POOL_ATTRIB_NO_SINGLE_POF ( 0x10L )
|
|
|
|
#define VDS_POOL_ATTRIB_DATA_RDNCY_MAX ( 0x20L )
|
|
|
|
#define VDS_POOL_ATTRIB_DATA_RDNCY_MIN ( 0x40L )
|
|
|
|
#define VDS_POOL_ATTRIB_DATA_RDNCY_DEF ( 0x80L )
|
|
|
|
#define VDS_POOL_ATTRIB_PKG_RDNCY_MAX ( 0x100L )
|
|
|
|
#define VDS_POOL_ATTRIB_PKG_RDNCY_MIN ( 0x200L )
|
|
|
|
#define VDS_POOL_ATTRIB_PKG_RDNCY_DEF ( 0x400L )
|
|
|
|
#define VDS_POOL_ATTRIB_STRIPE_SIZE ( 0x800L )
|
|
|
|
#define VDS_POOL_ATTRIB_STRIPE_SIZE_MAX ( 0x1000L )
|
|
|
|
#define VDS_POOL_ATTRIB_STRIPE_SIZE_MIN ( 0x2000L )
|
|
|
|
#define VDS_POOL_ATTRIB_STRIPE_SIZE_DEF ( 0x4000L )
|
|
|
|
#define VDS_POOL_ATTRIB_NUM_CLMNS ( 0x8000L )
|
|
|
|
#define VDS_POOL_ATTRIB_NUM_CLMNS_MAX ( 0x10000L )
|
|
|
|
#define VDS_POOL_ATTRIB_NUM_CLMNS_MIN ( 0x20000L )
|
|
|
|
#define VDS_POOL_ATTRIB_NUM_CLMNS_DEF ( 0x40000L )
|
|
|
|
#define VDS_POOL_ATTRIB_DATA_AVL_HINT ( 0x80000L )
|
|
|
|
#define VDS_POOL_ATTRIB_ACCS_RNDM_HINT ( 0x100000L )
|
|
|
|
#define VDS_POOL_ATTRIB_ACCS_DIR_HINT ( 0x200000L )
|
|
|
|
#define VDS_POOL_ATTRIB_ACCS_SIZE_HINT ( 0x400000L )
|
|
|
|
#define VDS_POOL_ATTRIB_ACCS_LTNCY_HINT ( 0x800000L )
|
|
|
|
#define VDS_POOL_ATTRIB_ACCS_BDW_WT_HINT ( 0x1000000L )
|
|
|
|
#define VDS_POOL_ATTRIB_STOR_COST_HINT ( 0x2000000L )
|
|
|
|
#define VDS_POOL_ATTRIB_STOR_EFFCY_HINT ( 0x4000000L )
|
|
|
|
#define VDS_POOL_ATTRIB_CUSTOM_ATTRIB ( 0x8000000L )
|
|
|
|
typedef struct _VDS_STORAGE_POOL_PROP
|
|
{
|
|
VDS_OBJECT_ID id;
|
|
VDS_STORAGE_POOL_STATUS status;
|
|
VDS_HEALTH health;
|
|
VDS_STORAGE_POOL_TYPE type;
|
|
LPWSTR pwszName;
|
|
LPWSTR pwszDescription;
|
|
ULONGLONG ullTotalConsumedSpace;
|
|
ULONGLONG ullTotalManagedSpace;
|
|
ULONGLONG ullRemainingFreeSpace;
|
|
} VDS_STORAGE_POOL_PROP;
|
|
|
|
typedef struct _VDS_STORAGE_POOL_PROP *PVDS_STORAGE_POOL_PROP;
|
|
|
|
typedef struct _VDS_STORAGE_POOL_DRIVE_EXTENT
|
|
{
|
|
VDS_OBJECT_ID id;
|
|
ULONGLONG ullSize;
|
|
BOOL bUsed;
|
|
} VDS_STORAGE_POOL_DRIVE_EXTENT;
|
|
|
|
|
|
|
|
extern RPC_IF_HANDLE __MIDL_itf_vds_0000_0020_v0_0_c_ifspec;
|
|
extern RPC_IF_HANDLE __MIDL_itf_vds_0000_0020_v0_0_s_ifspec;
|
|
|
|
#ifndef __IVdsHwProvider_INTERFACE_DEFINED__
|
|
#define __IVdsHwProvider_INTERFACE_DEFINED__
|
|
|
|
/* interface IVdsHwProvider */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IVdsHwProvider;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("d99bdaae-b13a-4178-9fdb-e27f16b4603e")
|
|
IVdsHwProvider : public IUnknown
|
|
{
|
|
public:
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QuerySubSystems(
|
|
/* [out] */ __RPC__deref_out_opt IEnumVdsObject **ppEnum) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Reenumerate( void) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Refresh( void) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IVdsHwProviderVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
__RPC__in IVdsHwProvider * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [annotation][iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
__RPC__in IVdsHwProvider * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
__RPC__in IVdsHwProvider * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *QuerySubSystems )(
|
|
__RPC__in IVdsHwProvider * This,
|
|
/* [out] */ __RPC__deref_out_opt IEnumVdsObject **ppEnum);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Reenumerate )(
|
|
__RPC__in IVdsHwProvider * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Refresh )(
|
|
__RPC__in IVdsHwProvider * This);
|
|
|
|
END_INTERFACE
|
|
} IVdsHwProviderVtbl;
|
|
|
|
interface IVdsHwProvider
|
|
{
|
|
CONST_VTBL struct IVdsHwProviderVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IVdsHwProvider_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IVdsHwProvider_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IVdsHwProvider_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IVdsHwProvider_QuerySubSystems(This,ppEnum) \
|
|
( (This)->lpVtbl -> QuerySubSystems(This,ppEnum) )
|
|
|
|
#define IVdsHwProvider_Reenumerate(This) \
|
|
( (This)->lpVtbl -> Reenumerate(This) )
|
|
|
|
#define IVdsHwProvider_Refresh(This) \
|
|
( (This)->lpVtbl -> Refresh(This) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IVdsHwProvider_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsHwProviderType_INTERFACE_DEFINED__
|
|
#define __IVdsHwProviderType_INTERFACE_DEFINED__
|
|
|
|
/* interface IVdsHwProviderType */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IVdsHwProviderType;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("3e0f5166-542d-4fc6-947a-012174240b7e")
|
|
IVdsHwProviderType : public IUnknown
|
|
{
|
|
public:
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetProviderType(
|
|
/* [out] */ __RPC__out VDS_HWPROVIDER_TYPE *pType) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IVdsHwProviderTypeVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
__RPC__in IVdsHwProviderType * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [annotation][iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
__RPC__in IVdsHwProviderType * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
__RPC__in IVdsHwProviderType * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetProviderType )(
|
|
__RPC__in IVdsHwProviderType * This,
|
|
/* [out] */ __RPC__out VDS_HWPROVIDER_TYPE *pType);
|
|
|
|
END_INTERFACE
|
|
} IVdsHwProviderTypeVtbl;
|
|
|
|
interface IVdsHwProviderType
|
|
{
|
|
CONST_VTBL struct IVdsHwProviderTypeVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IVdsHwProviderType_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IVdsHwProviderType_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IVdsHwProviderType_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IVdsHwProviderType_GetProviderType(This,pType) \
|
|
( (This)->lpVtbl -> GetProviderType(This,pType) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IVdsHwProviderType_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsHwProviderType2_INTERFACE_DEFINED__
|
|
#define __IVdsHwProviderType2_INTERFACE_DEFINED__
|
|
|
|
/* interface IVdsHwProviderType2 */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IVdsHwProviderType2;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("8190236f-c4d0-4e81-8011-d69512fcc984")
|
|
IVdsHwProviderType2 : public IUnknown
|
|
{
|
|
public:
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetProviderType2(
|
|
/* [out] */ __RPC__out VDS_HWPROVIDER_TYPE *pType) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IVdsHwProviderType2Vtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
__RPC__in IVdsHwProviderType2 * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [annotation][iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
__RPC__in IVdsHwProviderType2 * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
__RPC__in IVdsHwProviderType2 * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetProviderType2 )(
|
|
__RPC__in IVdsHwProviderType2 * This,
|
|
/* [out] */ __RPC__out VDS_HWPROVIDER_TYPE *pType);
|
|
|
|
END_INTERFACE
|
|
} IVdsHwProviderType2Vtbl;
|
|
|
|
interface IVdsHwProviderType2
|
|
{
|
|
CONST_VTBL struct IVdsHwProviderType2Vtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IVdsHwProviderType2_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IVdsHwProviderType2_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IVdsHwProviderType2_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IVdsHwProviderType2_GetProviderType2(This,pType) \
|
|
( (This)->lpVtbl -> GetProviderType2(This,pType) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IVdsHwProviderType2_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsHwProviderStoragePools_INTERFACE_DEFINED__
|
|
#define __IVdsHwProviderStoragePools_INTERFACE_DEFINED__
|
|
|
|
/* interface IVdsHwProviderStoragePools */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IVdsHwProviderStoragePools;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("d5b5937a-f188-4c79-b86c-11c920ad11b8")
|
|
IVdsHwProviderStoragePools : public IUnknown
|
|
{
|
|
public:
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryStoragePools(
|
|
/* [in] */ ULONG ulFlags,
|
|
/* [in] */ ULONGLONG ullRemainingFreeSpace,
|
|
/* [unique][in] */ __RPC__in_opt VDS_POOL_ATTRIBUTES *pPoolAttributes,
|
|
/* [out] */ __RPC__deref_out_opt IEnumVdsObject **ppEnum) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateLunInStoragePool(
|
|
/* [in] */ VDS_LUN_TYPE type,
|
|
/* [in] */ ULONGLONG ullSizeInBytes,
|
|
/* [in] */ VDS_OBJECT_ID StoragePoolId,
|
|
/* [string][in] */ __RPC__in_string LPWSTR pwszUnmaskingList,
|
|
/* [unique][in] */ __RPC__in_opt VDS_HINTS2 *pHints2,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryMaxLunCreateSizeInStoragePool(
|
|
/* [in] */ VDS_LUN_TYPE type,
|
|
/* [in] */ VDS_OBJECT_ID StoragePoolId,
|
|
/* [unique][in] */ __RPC__in_opt VDS_HINTS2 *pHints2,
|
|
/* [out] */ __RPC__out ULONGLONG *pullMaxLunSize) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IVdsHwProviderStoragePoolsVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
__RPC__in IVdsHwProviderStoragePools * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [annotation][iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
__RPC__in IVdsHwProviderStoragePools * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
__RPC__in IVdsHwProviderStoragePools * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *QueryStoragePools )(
|
|
__RPC__in IVdsHwProviderStoragePools * This,
|
|
/* [in] */ ULONG ulFlags,
|
|
/* [in] */ ULONGLONG ullRemainingFreeSpace,
|
|
/* [unique][in] */ __RPC__in_opt VDS_POOL_ATTRIBUTES *pPoolAttributes,
|
|
/* [out] */ __RPC__deref_out_opt IEnumVdsObject **ppEnum);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateLunInStoragePool )(
|
|
__RPC__in IVdsHwProviderStoragePools * This,
|
|
/* [in] */ VDS_LUN_TYPE type,
|
|
/* [in] */ ULONGLONG ullSizeInBytes,
|
|
/* [in] */ VDS_OBJECT_ID StoragePoolId,
|
|
/* [string][in] */ __RPC__in_string LPWSTR pwszUnmaskingList,
|
|
/* [unique][in] */ __RPC__in_opt VDS_HINTS2 *pHints2,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *QueryMaxLunCreateSizeInStoragePool )(
|
|
__RPC__in IVdsHwProviderStoragePools * This,
|
|
/* [in] */ VDS_LUN_TYPE type,
|
|
/* [in] */ VDS_OBJECT_ID StoragePoolId,
|
|
/* [unique][in] */ __RPC__in_opt VDS_HINTS2 *pHints2,
|
|
/* [out] */ __RPC__out ULONGLONG *pullMaxLunSize);
|
|
|
|
END_INTERFACE
|
|
} IVdsHwProviderStoragePoolsVtbl;
|
|
|
|
interface IVdsHwProviderStoragePools
|
|
{
|
|
CONST_VTBL struct IVdsHwProviderStoragePoolsVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IVdsHwProviderStoragePools_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IVdsHwProviderStoragePools_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IVdsHwProviderStoragePools_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IVdsHwProviderStoragePools_QueryStoragePools(This,ulFlags,ullRemainingFreeSpace,pPoolAttributes,ppEnum) \
|
|
( (This)->lpVtbl -> QueryStoragePools(This,ulFlags,ullRemainingFreeSpace,pPoolAttributes,ppEnum) )
|
|
|
|
#define IVdsHwProviderStoragePools_CreateLunInStoragePool(This,type,ullSizeInBytes,StoragePoolId,pwszUnmaskingList,pHints2,ppAsync) \
|
|
( (This)->lpVtbl -> CreateLunInStoragePool(This,type,ullSizeInBytes,StoragePoolId,pwszUnmaskingList,pHints2,ppAsync) )
|
|
|
|
#define IVdsHwProviderStoragePools_QueryMaxLunCreateSizeInStoragePool(This,type,StoragePoolId,pHints2,pullMaxLunSize) \
|
|
( (This)->lpVtbl -> QueryMaxLunCreateSizeInStoragePool(This,type,StoragePoolId,pHints2,pullMaxLunSize) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IVdsHwProviderStoragePools_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsSubSystem_INTERFACE_DEFINED__
|
|
#define __IVdsSubSystem_INTERFACE_DEFINED__
|
|
|
|
/* interface IVdsSubSystem */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IVdsSubSystem;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("6fcee2d3-6d90-4f91-80e2-a5c7caaca9d8")
|
|
IVdsSubSystem : public IUnknown
|
|
{
|
|
public:
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetProperties(
|
|
/* [out] */ __RPC__out VDS_SUB_SYSTEM_PROP *pSubSystemProp) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetProvider(
|
|
/* [out] */ __RPC__deref_out_opt IVdsProvider **ppProvider) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryControllers(
|
|
/* [out] */ __RPC__deref_out_opt IEnumVdsObject **ppEnum) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryLuns(
|
|
/* [out] */ __RPC__deref_out_opt IEnumVdsObject **ppEnum) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryDrives(
|
|
/* [out] */ __RPC__deref_out_opt IEnumVdsObject **ppEnum) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDrive(
|
|
/* [in] */ SHORT sBusNumber,
|
|
/* [in] */ SHORT sSlotNumber,
|
|
/* [out] */ __RPC__deref_out_opt IVdsDrive **ppDrive) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Reenumerate( void) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetControllerStatus(
|
|
/* [size_is][in] */ __RPC__in_ecount_full(lNumberOfOnlineControllers) VDS_OBJECT_ID *pOnlineControllerIdArray,
|
|
/* [in] */ LONG lNumberOfOnlineControllers,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(lNumberOfOfflineControllers) VDS_OBJECT_ID *pOfflineControllerIdArray,
|
|
/* [in] */ LONG lNumberOfOfflineControllers) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateLun(
|
|
/* [in] */ VDS_LUN_TYPE type,
|
|
/* [in] */ ULONGLONG ullSizeInBytes,
|
|
/* [unique][size_is][in] */ __RPC__in_ecount_full_opt(lNumberOfDrives) VDS_OBJECT_ID *pDriveIdArray,
|
|
/* [in] */ LONG lNumberOfDrives,
|
|
/* [string][in] */ __RPC__in_string LPWSTR pwszUnmaskingList,
|
|
/* [unique][in] */ __RPC__in_opt VDS_HINTS *pHints,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ReplaceDrive(
|
|
/* [in] */ VDS_OBJECT_ID DriveToBeReplaced,
|
|
/* [in] */ VDS_OBJECT_ID ReplacementDrive) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetStatus(
|
|
/* [in] */ VDS_SUB_SYSTEM_STATUS status) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryMaxLunCreateSize(
|
|
/* [in] */ VDS_LUN_TYPE type,
|
|
/* [unique][size_is][in] */ __RPC__in_ecount_full_opt(lNumberOfDrives) VDS_OBJECT_ID *pDriveIdArray,
|
|
/* [in] */ LONG lNumberOfDrives,
|
|
/* [unique][in] */ __RPC__in_opt VDS_HINTS *pHints,
|
|
/* [out] */ __RPC__out ULONGLONG *pullMaxLunSize) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IVdsSubSystemVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
__RPC__in IVdsSubSystem * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [annotation][iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
__RPC__in IVdsSubSystem * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
__RPC__in IVdsSubSystem * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetProperties )(
|
|
__RPC__in IVdsSubSystem * This,
|
|
/* [out] */ __RPC__out VDS_SUB_SYSTEM_PROP *pSubSystemProp);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetProvider )(
|
|
__RPC__in IVdsSubSystem * This,
|
|
/* [out] */ __RPC__deref_out_opt IVdsProvider **ppProvider);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *QueryControllers )(
|
|
__RPC__in IVdsSubSystem * This,
|
|
/* [out] */ __RPC__deref_out_opt IEnumVdsObject **ppEnum);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *QueryLuns )(
|
|
__RPC__in IVdsSubSystem * This,
|
|
/* [out] */ __RPC__deref_out_opt IEnumVdsObject **ppEnum);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *QueryDrives )(
|
|
__RPC__in IVdsSubSystem * This,
|
|
/* [out] */ __RPC__deref_out_opt IEnumVdsObject **ppEnum);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDrive )(
|
|
__RPC__in IVdsSubSystem * This,
|
|
/* [in] */ SHORT sBusNumber,
|
|
/* [in] */ SHORT sSlotNumber,
|
|
/* [out] */ __RPC__deref_out_opt IVdsDrive **ppDrive);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Reenumerate )(
|
|
__RPC__in IVdsSubSystem * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetControllerStatus )(
|
|
__RPC__in IVdsSubSystem * This,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(lNumberOfOnlineControllers) VDS_OBJECT_ID *pOnlineControllerIdArray,
|
|
/* [in] */ LONG lNumberOfOnlineControllers,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(lNumberOfOfflineControllers) VDS_OBJECT_ID *pOfflineControllerIdArray,
|
|
/* [in] */ LONG lNumberOfOfflineControllers);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateLun )(
|
|
__RPC__in IVdsSubSystem * This,
|
|
/* [in] */ VDS_LUN_TYPE type,
|
|
/* [in] */ ULONGLONG ullSizeInBytes,
|
|
/* [unique][size_is][in] */ __RPC__in_ecount_full_opt(lNumberOfDrives) VDS_OBJECT_ID *pDriveIdArray,
|
|
/* [in] */ LONG lNumberOfDrives,
|
|
/* [string][in] */ __RPC__in_string LPWSTR pwszUnmaskingList,
|
|
/* [unique][in] */ __RPC__in_opt VDS_HINTS *pHints,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ReplaceDrive )(
|
|
__RPC__in IVdsSubSystem * This,
|
|
/* [in] */ VDS_OBJECT_ID DriveToBeReplaced,
|
|
/* [in] */ VDS_OBJECT_ID ReplacementDrive);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetStatus )(
|
|
__RPC__in IVdsSubSystem * This,
|
|
/* [in] */ VDS_SUB_SYSTEM_STATUS status);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *QueryMaxLunCreateSize )(
|
|
__RPC__in IVdsSubSystem * This,
|
|
/* [in] */ VDS_LUN_TYPE type,
|
|
/* [unique][size_is][in] */ __RPC__in_ecount_full_opt(lNumberOfDrives) VDS_OBJECT_ID *pDriveIdArray,
|
|
/* [in] */ LONG lNumberOfDrives,
|
|
/* [unique][in] */ __RPC__in_opt VDS_HINTS *pHints,
|
|
/* [out] */ __RPC__out ULONGLONG *pullMaxLunSize);
|
|
|
|
END_INTERFACE
|
|
} IVdsSubSystemVtbl;
|
|
|
|
interface IVdsSubSystem
|
|
{
|
|
CONST_VTBL struct IVdsSubSystemVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IVdsSubSystem_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IVdsSubSystem_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IVdsSubSystem_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IVdsSubSystem_GetProperties(This,pSubSystemProp) \
|
|
( (This)->lpVtbl -> GetProperties(This,pSubSystemProp) )
|
|
|
|
#define IVdsSubSystem_GetProvider(This,ppProvider) \
|
|
( (This)->lpVtbl -> GetProvider(This,ppProvider) )
|
|
|
|
#define IVdsSubSystem_QueryControllers(This,ppEnum) \
|
|
( (This)->lpVtbl -> QueryControllers(This,ppEnum) )
|
|
|
|
#define IVdsSubSystem_QueryLuns(This,ppEnum) \
|
|
( (This)->lpVtbl -> QueryLuns(This,ppEnum) )
|
|
|
|
#define IVdsSubSystem_QueryDrives(This,ppEnum) \
|
|
( (This)->lpVtbl -> QueryDrives(This,ppEnum) )
|
|
|
|
#define IVdsSubSystem_GetDrive(This,sBusNumber,sSlotNumber,ppDrive) \
|
|
( (This)->lpVtbl -> GetDrive(This,sBusNumber,sSlotNumber,ppDrive) )
|
|
|
|
#define IVdsSubSystem_Reenumerate(This) \
|
|
( (This)->lpVtbl -> Reenumerate(This) )
|
|
|
|
#define IVdsSubSystem_SetControllerStatus(This,pOnlineControllerIdArray,lNumberOfOnlineControllers,pOfflineControllerIdArray,lNumberOfOfflineControllers) \
|
|
( (This)->lpVtbl -> SetControllerStatus(This,pOnlineControllerIdArray,lNumberOfOnlineControllers,pOfflineControllerIdArray,lNumberOfOfflineControllers) )
|
|
|
|
#define IVdsSubSystem_CreateLun(This,type,ullSizeInBytes,pDriveIdArray,lNumberOfDrives,pwszUnmaskingList,pHints,ppAsync) \
|
|
( (This)->lpVtbl -> CreateLun(This,type,ullSizeInBytes,pDriveIdArray,lNumberOfDrives,pwszUnmaskingList,pHints,ppAsync) )
|
|
|
|
#define IVdsSubSystem_ReplaceDrive(This,DriveToBeReplaced,ReplacementDrive) \
|
|
( (This)->lpVtbl -> ReplaceDrive(This,DriveToBeReplaced,ReplacementDrive) )
|
|
|
|
#define IVdsSubSystem_SetStatus(This,status) \
|
|
( (This)->lpVtbl -> SetStatus(This,status) )
|
|
|
|
#define IVdsSubSystem_QueryMaxLunCreateSize(This,type,pDriveIdArray,lNumberOfDrives,pHints,pullMaxLunSize) \
|
|
( (This)->lpVtbl -> QueryMaxLunCreateSize(This,type,pDriveIdArray,lNumberOfDrives,pHints,pullMaxLunSize) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IVdsSubSystem_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsSubSystem2_INTERFACE_DEFINED__
|
|
#define __IVdsSubSystem2_INTERFACE_DEFINED__
|
|
|
|
/* interface IVdsSubSystem2 */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IVdsSubSystem2;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("be666735-7800-4a77-9d9c-40f85b87e292")
|
|
IVdsSubSystem2 : public IUnknown
|
|
{
|
|
public:
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetProperties2(
|
|
/* [out] */ __RPC__out VDS_SUB_SYSTEM_PROP2 *pSubSystemProp2) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDrive2(
|
|
/* [in] */ SHORT sBusNumber,
|
|
/* [in] */ SHORT sSlotNumber,
|
|
/* [in] */ ULONG ulEnclosureNumber,
|
|
/* [out] */ __RPC__deref_out_opt IVdsDrive **ppDrive) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateLun2(
|
|
/* [in] */ VDS_LUN_TYPE type,
|
|
/* [in] */ ULONGLONG ullSizeInBytes,
|
|
/* [unique][size_is][in] */ __RPC__in_ecount_full_opt(lNumberOfDrives) VDS_OBJECT_ID *pDriveIdArray,
|
|
/* [in] */ LONG lNumberOfDrives,
|
|
/* [string][in] */ __RPC__in_string LPWSTR pwszUnmaskingList,
|
|
/* [unique][in] */ __RPC__in_opt VDS_HINTS2 *pHints2,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryMaxLunCreateSize2(
|
|
/* [in] */ VDS_LUN_TYPE type,
|
|
/* [unique][size_is][in] */ __RPC__in_ecount_full_opt(lNumberOfDrives) VDS_OBJECT_ID *pDriveIdArray,
|
|
/* [in] */ LONG lNumberOfDrives,
|
|
/* [unique][in] */ __RPC__in_opt VDS_HINTS2 *pHints2,
|
|
/* [out] */ __RPC__out ULONGLONG *pullMaxLunSize) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IVdsSubSystem2Vtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
__RPC__in IVdsSubSystem2 * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [annotation][iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
__RPC__in IVdsSubSystem2 * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
__RPC__in IVdsSubSystem2 * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetProperties2 )(
|
|
__RPC__in IVdsSubSystem2 * This,
|
|
/* [out] */ __RPC__out VDS_SUB_SYSTEM_PROP2 *pSubSystemProp2);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDrive2 )(
|
|
__RPC__in IVdsSubSystem2 * This,
|
|
/* [in] */ SHORT sBusNumber,
|
|
/* [in] */ SHORT sSlotNumber,
|
|
/* [in] */ ULONG ulEnclosureNumber,
|
|
/* [out] */ __RPC__deref_out_opt IVdsDrive **ppDrive);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateLun2 )(
|
|
__RPC__in IVdsSubSystem2 * This,
|
|
/* [in] */ VDS_LUN_TYPE type,
|
|
/* [in] */ ULONGLONG ullSizeInBytes,
|
|
/* [unique][size_is][in] */ __RPC__in_ecount_full_opt(lNumberOfDrives) VDS_OBJECT_ID *pDriveIdArray,
|
|
/* [in] */ LONG lNumberOfDrives,
|
|
/* [string][in] */ __RPC__in_string LPWSTR pwszUnmaskingList,
|
|
/* [unique][in] */ __RPC__in_opt VDS_HINTS2 *pHints2,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *QueryMaxLunCreateSize2 )(
|
|
__RPC__in IVdsSubSystem2 * This,
|
|
/* [in] */ VDS_LUN_TYPE type,
|
|
/* [unique][size_is][in] */ __RPC__in_ecount_full_opt(lNumberOfDrives) VDS_OBJECT_ID *pDriveIdArray,
|
|
/* [in] */ LONG lNumberOfDrives,
|
|
/* [unique][in] */ __RPC__in_opt VDS_HINTS2 *pHints2,
|
|
/* [out] */ __RPC__out ULONGLONG *pullMaxLunSize);
|
|
|
|
END_INTERFACE
|
|
} IVdsSubSystem2Vtbl;
|
|
|
|
interface IVdsSubSystem2
|
|
{
|
|
CONST_VTBL struct IVdsSubSystem2Vtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IVdsSubSystem2_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IVdsSubSystem2_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IVdsSubSystem2_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IVdsSubSystem2_GetProperties2(This,pSubSystemProp2) \
|
|
( (This)->lpVtbl -> GetProperties2(This,pSubSystemProp2) )
|
|
|
|
#define IVdsSubSystem2_GetDrive2(This,sBusNumber,sSlotNumber,ulEnclosureNumber,ppDrive) \
|
|
( (This)->lpVtbl -> GetDrive2(This,sBusNumber,sSlotNumber,ulEnclosureNumber,ppDrive) )
|
|
|
|
#define IVdsSubSystem2_CreateLun2(This,type,ullSizeInBytes,pDriveIdArray,lNumberOfDrives,pwszUnmaskingList,pHints2,ppAsync) \
|
|
( (This)->lpVtbl -> CreateLun2(This,type,ullSizeInBytes,pDriveIdArray,lNumberOfDrives,pwszUnmaskingList,pHints2,ppAsync) )
|
|
|
|
#define IVdsSubSystem2_QueryMaxLunCreateSize2(This,type,pDriveIdArray,lNumberOfDrives,pHints2,pullMaxLunSize) \
|
|
( (This)->lpVtbl -> QueryMaxLunCreateSize2(This,type,pDriveIdArray,lNumberOfDrives,pHints2,pullMaxLunSize) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IVdsSubSystem2_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsSubSystemNaming_INTERFACE_DEFINED__
|
|
#define __IVdsSubSystemNaming_INTERFACE_DEFINED__
|
|
|
|
/* interface IVdsSubSystemNaming */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IVdsSubSystemNaming;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("0d70faa3-9cd4-4900-aa20-6981b6aafc75")
|
|
IVdsSubSystemNaming : public IUnknown
|
|
{
|
|
public:
|
|
virtual HRESULT STDMETHODCALLTYPE SetFriendlyName(
|
|
/* [string][in] */ __RPC__in_string LPWSTR pwszFriendlyName) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IVdsSubSystemNamingVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
__RPC__in IVdsSubSystemNaming * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [annotation][iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
__RPC__in IVdsSubSystemNaming * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
__RPC__in IVdsSubSystemNaming * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *SetFriendlyName )(
|
|
__RPC__in IVdsSubSystemNaming * This,
|
|
/* [string][in] */ __RPC__in_string LPWSTR pwszFriendlyName);
|
|
|
|
END_INTERFACE
|
|
} IVdsSubSystemNamingVtbl;
|
|
|
|
interface IVdsSubSystemNaming
|
|
{
|
|
CONST_VTBL struct IVdsSubSystemNamingVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IVdsSubSystemNaming_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IVdsSubSystemNaming_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IVdsSubSystemNaming_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IVdsSubSystemNaming_SetFriendlyName(This,pwszFriendlyName) \
|
|
( (This)->lpVtbl -> SetFriendlyName(This,pwszFriendlyName) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IVdsSubSystemNaming_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsSubSystemIscsi_INTERFACE_DEFINED__
|
|
#define __IVdsSubSystemIscsi_INTERFACE_DEFINED__
|
|
|
|
/* interface IVdsSubSystemIscsi */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IVdsSubSystemIscsi;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("0027346f-40d0-4b45-8cec-5906dc0380c8")
|
|
IVdsSubSystemIscsi : public IUnknown
|
|
{
|
|
public:
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryTargets(
|
|
/* [out] */ __RPC__deref_out_opt IEnumVdsObject **ppEnum) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryPortals(
|
|
/* [out] */ __RPC__deref_out_opt IEnumVdsObject **ppEnum) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateTarget(
|
|
/* [string][unique][in] */ __RPC__in_opt_string LPWSTR pwszIscsiName,
|
|
/* [string][in] */ __RPC__in_string LPWSTR pwszFriendlyName,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetIpsecGroupPresharedKey(
|
|
/* [unique][in] */ __RPC__in_opt VDS_ISCSI_IPSEC_KEY *pIpsecKey) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IVdsSubSystemIscsiVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
__RPC__in IVdsSubSystemIscsi * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [annotation][iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
__RPC__in IVdsSubSystemIscsi * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
__RPC__in IVdsSubSystemIscsi * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *QueryTargets )(
|
|
__RPC__in IVdsSubSystemIscsi * This,
|
|
/* [out] */ __RPC__deref_out_opt IEnumVdsObject **ppEnum);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *QueryPortals )(
|
|
__RPC__in IVdsSubSystemIscsi * This,
|
|
/* [out] */ __RPC__deref_out_opt IEnumVdsObject **ppEnum);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateTarget )(
|
|
__RPC__in IVdsSubSystemIscsi * This,
|
|
/* [string][unique][in] */ __RPC__in_opt_string LPWSTR pwszIscsiName,
|
|
/* [string][in] */ __RPC__in_string LPWSTR pwszFriendlyName,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetIpsecGroupPresharedKey )(
|
|
__RPC__in IVdsSubSystemIscsi * This,
|
|
/* [unique][in] */ __RPC__in_opt VDS_ISCSI_IPSEC_KEY *pIpsecKey);
|
|
|
|
END_INTERFACE
|
|
} IVdsSubSystemIscsiVtbl;
|
|
|
|
interface IVdsSubSystemIscsi
|
|
{
|
|
CONST_VTBL struct IVdsSubSystemIscsiVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IVdsSubSystemIscsi_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IVdsSubSystemIscsi_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IVdsSubSystemIscsi_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IVdsSubSystemIscsi_QueryTargets(This,ppEnum) \
|
|
( (This)->lpVtbl -> QueryTargets(This,ppEnum) )
|
|
|
|
#define IVdsSubSystemIscsi_QueryPortals(This,ppEnum) \
|
|
( (This)->lpVtbl -> QueryPortals(This,ppEnum) )
|
|
|
|
#define IVdsSubSystemIscsi_CreateTarget(This,pwszIscsiName,pwszFriendlyName,ppAsync) \
|
|
( (This)->lpVtbl -> CreateTarget(This,pwszIscsiName,pwszFriendlyName,ppAsync) )
|
|
|
|
#define IVdsSubSystemIscsi_SetIpsecGroupPresharedKey(This,pIpsecKey) \
|
|
( (This)->lpVtbl -> SetIpsecGroupPresharedKey(This,pIpsecKey) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IVdsSubSystemIscsi_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsSubSystemInterconnect_INTERFACE_DEFINED__
|
|
#define __IVdsSubSystemInterconnect_INTERFACE_DEFINED__
|
|
|
|
/* interface IVdsSubSystemInterconnect */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IVdsSubSystemInterconnect;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("9e6fa560-c141-477b-83ba-0b6c38f7febf")
|
|
IVdsSubSystemInterconnect : public IUnknown
|
|
{
|
|
public:
|
|
virtual HRESULT STDMETHODCALLTYPE GetSupportedInterconnects(
|
|
/* [out] */ __RPC__out ULONG *pulSupportedInterconnectsFlag) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IVdsSubSystemInterconnectVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
__RPC__in IVdsSubSystemInterconnect * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [annotation][iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
__RPC__in IVdsSubSystemInterconnect * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
__RPC__in IVdsSubSystemInterconnect * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetSupportedInterconnects )(
|
|
__RPC__in IVdsSubSystemInterconnect * This,
|
|
/* [out] */ __RPC__out ULONG *pulSupportedInterconnectsFlag);
|
|
|
|
END_INTERFACE
|
|
} IVdsSubSystemInterconnectVtbl;
|
|
|
|
interface IVdsSubSystemInterconnect
|
|
{
|
|
CONST_VTBL struct IVdsSubSystemInterconnectVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IVdsSubSystemInterconnect_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IVdsSubSystemInterconnect_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IVdsSubSystemInterconnect_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IVdsSubSystemInterconnect_GetSupportedInterconnects(This,pulSupportedInterconnectsFlag) \
|
|
( (This)->lpVtbl -> GetSupportedInterconnects(This,pulSupportedInterconnectsFlag) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IVdsSubSystemInterconnect_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsControllerPort_INTERFACE_DEFINED__
|
|
#define __IVdsControllerPort_INTERFACE_DEFINED__
|
|
|
|
/* interface IVdsControllerPort */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IVdsControllerPort;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("18691d0d-4e7f-43e8-92e4-cf44beeed11c")
|
|
IVdsControllerPort : public IUnknown
|
|
{
|
|
public:
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetProperties(
|
|
/* [out] */ __RPC__out VDS_PORT_PROP *pPortProp) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetController(
|
|
/* [out] */ __RPC__deref_out_opt IVdsController **ppController) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryAssociatedLuns(
|
|
/* [out] */ __RPC__deref_out_opt IEnumVdsObject **ppEnum) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Reset( void) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetStatus(
|
|
/* [in] */ VDS_PORT_STATUS status) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IVdsControllerPortVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
__RPC__in IVdsControllerPort * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [annotation][iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
__RPC__in IVdsControllerPort * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
__RPC__in IVdsControllerPort * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetProperties )(
|
|
__RPC__in IVdsControllerPort * This,
|
|
/* [out] */ __RPC__out VDS_PORT_PROP *pPortProp);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetController )(
|
|
__RPC__in IVdsControllerPort * This,
|
|
/* [out] */ __RPC__deref_out_opt IVdsController **ppController);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *QueryAssociatedLuns )(
|
|
__RPC__in IVdsControllerPort * This,
|
|
/* [out] */ __RPC__deref_out_opt IEnumVdsObject **ppEnum);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Reset )(
|
|
__RPC__in IVdsControllerPort * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetStatus )(
|
|
__RPC__in IVdsControllerPort * This,
|
|
/* [in] */ VDS_PORT_STATUS status);
|
|
|
|
END_INTERFACE
|
|
} IVdsControllerPortVtbl;
|
|
|
|
interface IVdsControllerPort
|
|
{
|
|
CONST_VTBL struct IVdsControllerPortVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IVdsControllerPort_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IVdsControllerPort_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IVdsControllerPort_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IVdsControllerPort_GetProperties(This,pPortProp) \
|
|
( (This)->lpVtbl -> GetProperties(This,pPortProp) )
|
|
|
|
#define IVdsControllerPort_GetController(This,ppController) \
|
|
( (This)->lpVtbl -> GetController(This,ppController) )
|
|
|
|
#define IVdsControllerPort_QueryAssociatedLuns(This,ppEnum) \
|
|
( (This)->lpVtbl -> QueryAssociatedLuns(This,ppEnum) )
|
|
|
|
#define IVdsControllerPort_Reset(This) \
|
|
( (This)->lpVtbl -> Reset(This) )
|
|
|
|
#define IVdsControllerPort_SetStatus(This,status) \
|
|
( (This)->lpVtbl -> SetStatus(This,status) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IVdsControllerPort_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsController_INTERFACE_DEFINED__
|
|
#define __IVdsController_INTERFACE_DEFINED__
|
|
|
|
/* interface IVdsController */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IVdsController;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("cb53d96e-dffb-474a-a078-790d1e2bc082")
|
|
IVdsController : public IUnknown
|
|
{
|
|
public:
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetProperties(
|
|
/* [out] */ __RPC__out VDS_CONTROLLER_PROP *pControllerProp) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetSubSystem(
|
|
/* [out] */ __RPC__deref_out_opt IVdsSubSystem **ppSubSystem) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPortProperties(
|
|
/* [in] */ SHORT sPortNumber,
|
|
/* [out] */ __RPC__out VDS_PORT_PROP *pPortProp) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FlushCache( void) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE InvalidateCache( void) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Reset( void) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryAssociatedLuns(
|
|
/* [out] */ __RPC__deref_out_opt IEnumVdsObject **ppEnum) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetStatus(
|
|
/* [in] */ VDS_CONTROLLER_STATUS status) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IVdsControllerVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
__RPC__in IVdsController * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [annotation][iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
__RPC__in IVdsController * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
__RPC__in IVdsController * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetProperties )(
|
|
__RPC__in IVdsController * This,
|
|
/* [out] */ __RPC__out VDS_CONTROLLER_PROP *pControllerProp);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetSubSystem )(
|
|
__RPC__in IVdsController * This,
|
|
/* [out] */ __RPC__deref_out_opt IVdsSubSystem **ppSubSystem);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPortProperties )(
|
|
__RPC__in IVdsController * This,
|
|
/* [in] */ SHORT sPortNumber,
|
|
/* [out] */ __RPC__out VDS_PORT_PROP *pPortProp);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *FlushCache )(
|
|
__RPC__in IVdsController * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *InvalidateCache )(
|
|
__RPC__in IVdsController * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Reset )(
|
|
__RPC__in IVdsController * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *QueryAssociatedLuns )(
|
|
__RPC__in IVdsController * This,
|
|
/* [out] */ __RPC__deref_out_opt IEnumVdsObject **ppEnum);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetStatus )(
|
|
__RPC__in IVdsController * This,
|
|
/* [in] */ VDS_CONTROLLER_STATUS status);
|
|
|
|
END_INTERFACE
|
|
} IVdsControllerVtbl;
|
|
|
|
interface IVdsController
|
|
{
|
|
CONST_VTBL struct IVdsControllerVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IVdsController_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IVdsController_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IVdsController_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IVdsController_GetProperties(This,pControllerProp) \
|
|
( (This)->lpVtbl -> GetProperties(This,pControllerProp) )
|
|
|
|
#define IVdsController_GetSubSystem(This,ppSubSystem) \
|
|
( (This)->lpVtbl -> GetSubSystem(This,ppSubSystem) )
|
|
|
|
#define IVdsController_GetPortProperties(This,sPortNumber,pPortProp) \
|
|
( (This)->lpVtbl -> GetPortProperties(This,sPortNumber,pPortProp) )
|
|
|
|
#define IVdsController_FlushCache(This) \
|
|
( (This)->lpVtbl -> FlushCache(This) )
|
|
|
|
#define IVdsController_InvalidateCache(This) \
|
|
( (This)->lpVtbl -> InvalidateCache(This) )
|
|
|
|
#define IVdsController_Reset(This) \
|
|
( (This)->lpVtbl -> Reset(This) )
|
|
|
|
#define IVdsController_QueryAssociatedLuns(This,ppEnum) \
|
|
( (This)->lpVtbl -> QueryAssociatedLuns(This,ppEnum) )
|
|
|
|
#define IVdsController_SetStatus(This,status) \
|
|
( (This)->lpVtbl -> SetStatus(This,status) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IVdsController_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsControllerControllerPort_INTERFACE_DEFINED__
|
|
#define __IVdsControllerControllerPort_INTERFACE_DEFINED__
|
|
|
|
/* interface IVdsControllerControllerPort */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IVdsControllerControllerPort;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("ca5d735f-6bae-42c0-b30e-f2666045ce71")
|
|
IVdsControllerControllerPort : public IUnknown
|
|
{
|
|
public:
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryControllerPorts(
|
|
/* [out] */ __RPC__deref_out_opt IEnumVdsObject **ppEnum) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IVdsControllerControllerPortVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
__RPC__in IVdsControllerControllerPort * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [annotation][iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
__RPC__in IVdsControllerControllerPort * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
__RPC__in IVdsControllerControllerPort * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *QueryControllerPorts )(
|
|
__RPC__in IVdsControllerControllerPort * This,
|
|
/* [out] */ __RPC__deref_out_opt IEnumVdsObject **ppEnum);
|
|
|
|
END_INTERFACE
|
|
} IVdsControllerControllerPortVtbl;
|
|
|
|
interface IVdsControllerControllerPort
|
|
{
|
|
CONST_VTBL struct IVdsControllerControllerPortVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IVdsControllerControllerPort_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IVdsControllerControllerPort_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IVdsControllerControllerPort_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IVdsControllerControllerPort_QueryControllerPorts(This,ppEnum) \
|
|
( (This)->lpVtbl -> QueryControllerPorts(This,ppEnum) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IVdsControllerControllerPort_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsDrive_INTERFACE_DEFINED__
|
|
#define __IVdsDrive_INTERFACE_DEFINED__
|
|
|
|
/* interface IVdsDrive */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IVdsDrive;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("ff24efa4-aade-4b6b-898b-eaa6a20887c7")
|
|
IVdsDrive : public IUnknown
|
|
{
|
|
public:
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetProperties(
|
|
/* [out] */ __RPC__out VDS_DRIVE_PROP *pDriveProp) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetSubSystem(
|
|
/* [out] */ __RPC__deref_out_opt IVdsSubSystem **ppSubSystem) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryExtents(
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*plNumberOfExtents) VDS_DRIVE_EXTENT **ppExtentArray,
|
|
/* [out] */ __RPC__out LONG *plNumberOfExtents) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetFlags(
|
|
/* [in] */ ULONG ulFlags) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ClearFlags(
|
|
/* [in] */ ULONG ulFlags) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetStatus(
|
|
/* [in] */ VDS_DRIVE_STATUS status) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IVdsDriveVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
__RPC__in IVdsDrive * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [annotation][iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
__RPC__in IVdsDrive * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
__RPC__in IVdsDrive * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetProperties )(
|
|
__RPC__in IVdsDrive * This,
|
|
/* [out] */ __RPC__out VDS_DRIVE_PROP *pDriveProp);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetSubSystem )(
|
|
__RPC__in IVdsDrive * This,
|
|
/* [out] */ __RPC__deref_out_opt IVdsSubSystem **ppSubSystem);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *QueryExtents )(
|
|
__RPC__in IVdsDrive * This,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*plNumberOfExtents) VDS_DRIVE_EXTENT **ppExtentArray,
|
|
/* [out] */ __RPC__out LONG *plNumberOfExtents);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetFlags )(
|
|
__RPC__in IVdsDrive * This,
|
|
/* [in] */ ULONG ulFlags);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ClearFlags )(
|
|
__RPC__in IVdsDrive * This,
|
|
/* [in] */ ULONG ulFlags);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetStatus )(
|
|
__RPC__in IVdsDrive * This,
|
|
/* [in] */ VDS_DRIVE_STATUS status);
|
|
|
|
END_INTERFACE
|
|
} IVdsDriveVtbl;
|
|
|
|
interface IVdsDrive
|
|
{
|
|
CONST_VTBL struct IVdsDriveVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IVdsDrive_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IVdsDrive_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IVdsDrive_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IVdsDrive_GetProperties(This,pDriveProp) \
|
|
( (This)->lpVtbl -> GetProperties(This,pDriveProp) )
|
|
|
|
#define IVdsDrive_GetSubSystem(This,ppSubSystem) \
|
|
( (This)->lpVtbl -> GetSubSystem(This,ppSubSystem) )
|
|
|
|
#define IVdsDrive_QueryExtents(This,ppExtentArray,plNumberOfExtents) \
|
|
( (This)->lpVtbl -> QueryExtents(This,ppExtentArray,plNumberOfExtents) )
|
|
|
|
#define IVdsDrive_SetFlags(This,ulFlags) \
|
|
( (This)->lpVtbl -> SetFlags(This,ulFlags) )
|
|
|
|
#define IVdsDrive_ClearFlags(This,ulFlags) \
|
|
( (This)->lpVtbl -> ClearFlags(This,ulFlags) )
|
|
|
|
#define IVdsDrive_SetStatus(This,status) \
|
|
( (This)->lpVtbl -> SetStatus(This,status) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IVdsDrive_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsDrive2_INTERFACE_DEFINED__
|
|
#define __IVdsDrive2_INTERFACE_DEFINED__
|
|
|
|
/* interface IVdsDrive2 */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IVdsDrive2;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("60b5a730-addf-4436-8ca7-5769e2d1ffa4")
|
|
IVdsDrive2 : public IUnknown
|
|
{
|
|
public:
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetProperties2(
|
|
/* [out] */ __RPC__out VDS_DRIVE_PROP2 *pDriveProp2) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IVdsDrive2Vtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
__RPC__in IVdsDrive2 * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [annotation][iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
__RPC__in IVdsDrive2 * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
__RPC__in IVdsDrive2 * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetProperties2 )(
|
|
__RPC__in IVdsDrive2 * This,
|
|
/* [out] */ __RPC__out VDS_DRIVE_PROP2 *pDriveProp2);
|
|
|
|
END_INTERFACE
|
|
} IVdsDrive2Vtbl;
|
|
|
|
interface IVdsDrive2
|
|
{
|
|
CONST_VTBL struct IVdsDrive2Vtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IVdsDrive2_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IVdsDrive2_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IVdsDrive2_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IVdsDrive2_GetProperties2(This,pDriveProp2) \
|
|
( (This)->lpVtbl -> GetProperties2(This,pDriveProp2) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IVdsDrive2_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsLun_INTERFACE_DEFINED__
|
|
#define __IVdsLun_INTERFACE_DEFINED__
|
|
|
|
/* interface IVdsLun */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IVdsLun;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("3540a9c7-e60f-4111-a840-8bba6c2c83d8")
|
|
IVdsLun : public IUnknown
|
|
{
|
|
public:
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetProperties(
|
|
/* [out] */ __RPC__out VDS_LUN_PROP *pLunProp) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetSubSystem(
|
|
/* [out] */ __RPC__deref_out_opt IVdsSubSystem **ppSubSystem) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetIdentificationData(
|
|
/* [out] */ __RPC__out VDS_LUN_INFORMATION *pLunInfo) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryActiveControllers(
|
|
/* [out] */ __RPC__deref_out_opt IEnumVdsObject **ppEnum) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Extend(
|
|
/* [in] */ ULONGLONG ullNumberOfBytesToAdd,
|
|
/* [unique][size_is][in] */ __RPC__in_ecount_full_opt(lNumberOfDrives) VDS_OBJECT_ID *pDriveIdArray,
|
|
/* [in] */ LONG lNumberOfDrives,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Shrink(
|
|
/* [in] */ ULONGLONG ullNumberOfBytesToRemove,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryPlexes(
|
|
/* [out] */ __RPC__deref_out_opt IEnumVdsObject **ppEnum) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddPlex(
|
|
/* [in] */ VDS_OBJECT_ID lunId,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemovePlex(
|
|
/* [in] */ VDS_OBJECT_ID plexId,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Recover(
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetMask(
|
|
/* [string][in] */ __RPC__in_string LPWSTR pwszUnmaskingList) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Delete( void) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AssociateControllers(
|
|
/* [size_is][unique][in] */ __RPC__in_ecount_full_opt(lNumberOfActiveControllers) VDS_OBJECT_ID *pActiveControllerIdArray,
|
|
/* [in] */ LONG lNumberOfActiveControllers,
|
|
/* [size_is][unique][in] */ __RPC__in_ecount_full_opt(lNumberOfInactiveControllers) VDS_OBJECT_ID *pInactiveControllerIdArray,
|
|
/* [in] */ LONG lNumberOfInactiveControllers) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryHints(
|
|
/* [out] */ __RPC__out VDS_HINTS *pHints) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ApplyHints(
|
|
/* [in] */ __RPC__in VDS_HINTS *pHints) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetStatus(
|
|
/* [in] */ VDS_LUN_STATUS status) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryMaxLunExtendSize(
|
|
/* [unique][size_is][in] */ __RPC__in_ecount_full_opt(lNumberOfDrives) VDS_OBJECT_ID *pDriveIdArray,
|
|
/* [in] */ LONG lNumberOfDrives,
|
|
/* [out] */ __RPC__out ULONGLONG *pullMaxBytesToBeAdded) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IVdsLunVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
__RPC__in IVdsLun * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [annotation][iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
__RPC__in IVdsLun * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
__RPC__in IVdsLun * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetProperties )(
|
|
__RPC__in IVdsLun * This,
|
|
/* [out] */ __RPC__out VDS_LUN_PROP *pLunProp);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetSubSystem )(
|
|
__RPC__in IVdsLun * This,
|
|
/* [out] */ __RPC__deref_out_opt IVdsSubSystem **ppSubSystem);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetIdentificationData )(
|
|
__RPC__in IVdsLun * This,
|
|
/* [out] */ __RPC__out VDS_LUN_INFORMATION *pLunInfo);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *QueryActiveControllers )(
|
|
__RPC__in IVdsLun * This,
|
|
/* [out] */ __RPC__deref_out_opt IEnumVdsObject **ppEnum);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Extend )(
|
|
__RPC__in IVdsLun * This,
|
|
/* [in] */ ULONGLONG ullNumberOfBytesToAdd,
|
|
/* [unique][size_is][in] */ __RPC__in_ecount_full_opt(lNumberOfDrives) VDS_OBJECT_ID *pDriveIdArray,
|
|
/* [in] */ LONG lNumberOfDrives,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Shrink )(
|
|
__RPC__in IVdsLun * This,
|
|
/* [in] */ ULONGLONG ullNumberOfBytesToRemove,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *QueryPlexes )(
|
|
__RPC__in IVdsLun * This,
|
|
/* [out] */ __RPC__deref_out_opt IEnumVdsObject **ppEnum);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddPlex )(
|
|
__RPC__in IVdsLun * This,
|
|
/* [in] */ VDS_OBJECT_ID lunId,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemovePlex )(
|
|
__RPC__in IVdsLun * This,
|
|
/* [in] */ VDS_OBJECT_ID plexId,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Recover )(
|
|
__RPC__in IVdsLun * This,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetMask )(
|
|
__RPC__in IVdsLun * This,
|
|
/* [string][in] */ __RPC__in_string LPWSTR pwszUnmaskingList);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Delete )(
|
|
__RPC__in IVdsLun * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AssociateControllers )(
|
|
__RPC__in IVdsLun * This,
|
|
/* [size_is][unique][in] */ __RPC__in_ecount_full_opt(lNumberOfActiveControllers) VDS_OBJECT_ID *pActiveControllerIdArray,
|
|
/* [in] */ LONG lNumberOfActiveControllers,
|
|
/* [size_is][unique][in] */ __RPC__in_ecount_full_opt(lNumberOfInactiveControllers) VDS_OBJECT_ID *pInactiveControllerIdArray,
|
|
/* [in] */ LONG lNumberOfInactiveControllers);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *QueryHints )(
|
|
__RPC__in IVdsLun * This,
|
|
/* [out] */ __RPC__out VDS_HINTS *pHints);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ApplyHints )(
|
|
__RPC__in IVdsLun * This,
|
|
/* [in] */ __RPC__in VDS_HINTS *pHints);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetStatus )(
|
|
__RPC__in IVdsLun * This,
|
|
/* [in] */ VDS_LUN_STATUS status);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *QueryMaxLunExtendSize )(
|
|
__RPC__in IVdsLun * This,
|
|
/* [unique][size_is][in] */ __RPC__in_ecount_full_opt(lNumberOfDrives) VDS_OBJECT_ID *pDriveIdArray,
|
|
/* [in] */ LONG lNumberOfDrives,
|
|
/* [out] */ __RPC__out ULONGLONG *pullMaxBytesToBeAdded);
|
|
|
|
END_INTERFACE
|
|
} IVdsLunVtbl;
|
|
|
|
interface IVdsLun
|
|
{
|
|
CONST_VTBL struct IVdsLunVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IVdsLun_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IVdsLun_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IVdsLun_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IVdsLun_GetProperties(This,pLunProp) \
|
|
( (This)->lpVtbl -> GetProperties(This,pLunProp) )
|
|
|
|
#define IVdsLun_GetSubSystem(This,ppSubSystem) \
|
|
( (This)->lpVtbl -> GetSubSystem(This,ppSubSystem) )
|
|
|
|
#define IVdsLun_GetIdentificationData(This,pLunInfo) \
|
|
( (This)->lpVtbl -> GetIdentificationData(This,pLunInfo) )
|
|
|
|
#define IVdsLun_QueryActiveControllers(This,ppEnum) \
|
|
( (This)->lpVtbl -> QueryActiveControllers(This,ppEnum) )
|
|
|
|
#define IVdsLun_Extend(This,ullNumberOfBytesToAdd,pDriveIdArray,lNumberOfDrives,ppAsync) \
|
|
( (This)->lpVtbl -> Extend(This,ullNumberOfBytesToAdd,pDriveIdArray,lNumberOfDrives,ppAsync) )
|
|
|
|
#define IVdsLun_Shrink(This,ullNumberOfBytesToRemove,ppAsync) \
|
|
( (This)->lpVtbl -> Shrink(This,ullNumberOfBytesToRemove,ppAsync) )
|
|
|
|
#define IVdsLun_QueryPlexes(This,ppEnum) \
|
|
( (This)->lpVtbl -> QueryPlexes(This,ppEnum) )
|
|
|
|
#define IVdsLun_AddPlex(This,lunId,ppAsync) \
|
|
( (This)->lpVtbl -> AddPlex(This,lunId,ppAsync) )
|
|
|
|
#define IVdsLun_RemovePlex(This,plexId,ppAsync) \
|
|
( (This)->lpVtbl -> RemovePlex(This,plexId,ppAsync) )
|
|
|
|
#define IVdsLun_Recover(This,ppAsync) \
|
|
( (This)->lpVtbl -> Recover(This,ppAsync) )
|
|
|
|
#define IVdsLun_SetMask(This,pwszUnmaskingList) \
|
|
( (This)->lpVtbl -> SetMask(This,pwszUnmaskingList) )
|
|
|
|
#define IVdsLun_Delete(This) \
|
|
( (This)->lpVtbl -> Delete(This) )
|
|
|
|
#define IVdsLun_AssociateControllers(This,pActiveControllerIdArray,lNumberOfActiveControllers,pInactiveControllerIdArray,lNumberOfInactiveControllers) \
|
|
( (This)->lpVtbl -> AssociateControllers(This,pActiveControllerIdArray,lNumberOfActiveControllers,pInactiveControllerIdArray,lNumberOfInactiveControllers) )
|
|
|
|
#define IVdsLun_QueryHints(This,pHints) \
|
|
( (This)->lpVtbl -> QueryHints(This,pHints) )
|
|
|
|
#define IVdsLun_ApplyHints(This,pHints) \
|
|
( (This)->lpVtbl -> ApplyHints(This,pHints) )
|
|
|
|
#define IVdsLun_SetStatus(This,status) \
|
|
( (This)->lpVtbl -> SetStatus(This,status) )
|
|
|
|
#define IVdsLun_QueryMaxLunExtendSize(This,pDriveIdArray,lNumberOfDrives,pullMaxBytesToBeAdded) \
|
|
( (This)->lpVtbl -> QueryMaxLunExtendSize(This,pDriveIdArray,lNumberOfDrives,pullMaxBytesToBeAdded) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IVdsLun_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsLun2_INTERFACE_DEFINED__
|
|
#define __IVdsLun2_INTERFACE_DEFINED__
|
|
|
|
/* interface IVdsLun2 */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IVdsLun2;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("e5b3a735-9efb-499a-8071-4394d9ee6fcb")
|
|
IVdsLun2 : public IUnknown
|
|
{
|
|
public:
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryHints2(
|
|
/* [out] */ __RPC__out VDS_HINTS2 *pHints2) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ApplyHints2(
|
|
/* [in] */ __RPC__in VDS_HINTS2 *pHints2) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IVdsLun2Vtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
__RPC__in IVdsLun2 * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [annotation][iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
__RPC__in IVdsLun2 * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
__RPC__in IVdsLun2 * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *QueryHints2 )(
|
|
__RPC__in IVdsLun2 * This,
|
|
/* [out] */ __RPC__out VDS_HINTS2 *pHints2);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ApplyHints2 )(
|
|
__RPC__in IVdsLun2 * This,
|
|
/* [in] */ __RPC__in VDS_HINTS2 *pHints2);
|
|
|
|
END_INTERFACE
|
|
} IVdsLun2Vtbl;
|
|
|
|
interface IVdsLun2
|
|
{
|
|
CONST_VTBL struct IVdsLun2Vtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IVdsLun2_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IVdsLun2_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IVdsLun2_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IVdsLun2_QueryHints2(This,pHints2) \
|
|
( (This)->lpVtbl -> QueryHints2(This,pHints2) )
|
|
|
|
#define IVdsLun2_ApplyHints2(This,pHints2) \
|
|
( (This)->lpVtbl -> ApplyHints2(This,pHints2) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IVdsLun2_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsLunNaming_INTERFACE_DEFINED__
|
|
#define __IVdsLunNaming_INTERFACE_DEFINED__
|
|
|
|
/* interface IVdsLunNaming */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IVdsLunNaming;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("907504cb-6b4e-4d88-a34d-17ba661fbb06")
|
|
IVdsLunNaming : public IUnknown
|
|
{
|
|
public:
|
|
virtual HRESULT STDMETHODCALLTYPE SetFriendlyName(
|
|
/* [string][in] */ __RPC__in_string LPWSTR pwszFriendlyName) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IVdsLunNamingVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
__RPC__in IVdsLunNaming * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [annotation][iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
__RPC__in IVdsLunNaming * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
__RPC__in IVdsLunNaming * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *SetFriendlyName )(
|
|
__RPC__in IVdsLunNaming * This,
|
|
/* [string][in] */ __RPC__in_string LPWSTR pwszFriendlyName);
|
|
|
|
END_INTERFACE
|
|
} IVdsLunNamingVtbl;
|
|
|
|
interface IVdsLunNaming
|
|
{
|
|
CONST_VTBL struct IVdsLunNamingVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IVdsLunNaming_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IVdsLunNaming_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IVdsLunNaming_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IVdsLunNaming_SetFriendlyName(This,pwszFriendlyName) \
|
|
( (This)->lpVtbl -> SetFriendlyName(This,pwszFriendlyName) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IVdsLunNaming_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsLunNumber_INTERFACE_DEFINED__
|
|
#define __IVdsLunNumber_INTERFACE_DEFINED__
|
|
|
|
/* interface IVdsLunNumber */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IVdsLunNumber;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("d3f95e46-54b3-41f9-b678-0f1871443a08")
|
|
IVdsLunNumber : public IUnknown
|
|
{
|
|
public:
|
|
virtual HRESULT STDMETHODCALLTYPE GetLunNumber(
|
|
/* [out] */ __RPC__out ULONG *pulLunNumber) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IVdsLunNumberVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
__RPC__in IVdsLunNumber * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [annotation][iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
__RPC__in IVdsLunNumber * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
__RPC__in IVdsLunNumber * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetLunNumber )(
|
|
__RPC__in IVdsLunNumber * This,
|
|
/* [out] */ __RPC__out ULONG *pulLunNumber);
|
|
|
|
END_INTERFACE
|
|
} IVdsLunNumberVtbl;
|
|
|
|
interface IVdsLunNumber
|
|
{
|
|
CONST_VTBL struct IVdsLunNumberVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IVdsLunNumber_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IVdsLunNumber_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IVdsLunNumber_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IVdsLunNumber_GetLunNumber(This,pulLunNumber) \
|
|
( (This)->lpVtbl -> GetLunNumber(This,pulLunNumber) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IVdsLunNumber_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsLunControllerPorts_INTERFACE_DEFINED__
|
|
#define __IVdsLunControllerPorts_INTERFACE_DEFINED__
|
|
|
|
/* interface IVdsLunControllerPorts */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IVdsLunControllerPorts;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("451fe266-da6d-406a-bb60-82e534f85aeb")
|
|
IVdsLunControllerPorts : public IUnknown
|
|
{
|
|
public:
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AssociateControllerPorts(
|
|
/* [size_is][unique][in] */ __RPC__in_ecount_full_opt(lNumberOfActiveControllerPorts) VDS_OBJECT_ID *pActiveControllerPortIdArray,
|
|
/* [in] */ LONG lNumberOfActiveControllerPorts,
|
|
/* [size_is][unique][in] */ __RPC__in_ecount_full_opt(lNumberOfInactiveControllerPorts) VDS_OBJECT_ID *pInactiveControllerPortIdArray,
|
|
/* [in] */ LONG lNumberOfInactiveControllerPorts) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryActiveControllerPorts(
|
|
/* [out] */ __RPC__deref_out_opt IEnumVdsObject **ppEnum) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IVdsLunControllerPortsVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
__RPC__in IVdsLunControllerPorts * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [annotation][iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
__RPC__in IVdsLunControllerPorts * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
__RPC__in IVdsLunControllerPorts * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AssociateControllerPorts )(
|
|
__RPC__in IVdsLunControllerPorts * This,
|
|
/* [size_is][unique][in] */ __RPC__in_ecount_full_opt(lNumberOfActiveControllerPorts) VDS_OBJECT_ID *pActiveControllerPortIdArray,
|
|
/* [in] */ LONG lNumberOfActiveControllerPorts,
|
|
/* [size_is][unique][in] */ __RPC__in_ecount_full_opt(lNumberOfInactiveControllerPorts) VDS_OBJECT_ID *pInactiveControllerPortIdArray,
|
|
/* [in] */ LONG lNumberOfInactiveControllerPorts);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *QueryActiveControllerPorts )(
|
|
__RPC__in IVdsLunControllerPorts * This,
|
|
/* [out] */ __RPC__deref_out_opt IEnumVdsObject **ppEnum);
|
|
|
|
END_INTERFACE
|
|
} IVdsLunControllerPortsVtbl;
|
|
|
|
interface IVdsLunControllerPorts
|
|
{
|
|
CONST_VTBL struct IVdsLunControllerPortsVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IVdsLunControllerPorts_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IVdsLunControllerPorts_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IVdsLunControllerPorts_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IVdsLunControllerPorts_AssociateControllerPorts(This,pActiveControllerPortIdArray,lNumberOfActiveControllerPorts,pInactiveControllerPortIdArray,lNumberOfInactiveControllerPorts) \
|
|
( (This)->lpVtbl -> AssociateControllerPorts(This,pActiveControllerPortIdArray,lNumberOfActiveControllerPorts,pInactiveControllerPortIdArray,lNumberOfInactiveControllerPorts) )
|
|
|
|
#define IVdsLunControllerPorts_QueryActiveControllerPorts(This,ppEnum) \
|
|
( (This)->lpVtbl -> QueryActiveControllerPorts(This,ppEnum) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IVdsLunControllerPorts_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsLunMpio_INTERFACE_DEFINED__
|
|
#define __IVdsLunMpio_INTERFACE_DEFINED__
|
|
|
|
/* interface IVdsLunMpio */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IVdsLunMpio;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("7c5fbae3-333a-48a1-a982-33c15788cde3")
|
|
IVdsLunMpio : public IUnknown
|
|
{
|
|
public:
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPathInfo(
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*plNumberOfPaths) VDS_PATH_INFO **ppPaths,
|
|
/* [out] */ __RPC__out LONG *plNumberOfPaths) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetLoadBalancePolicy(
|
|
/* [out] */ __RPC__out VDS_LOADBALANCE_POLICY_ENUM *pPolicy,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*plNumberOfPaths) VDS_PATH_POLICY **ppPaths,
|
|
/* [out] */ __RPC__out LONG *plNumberOfPaths) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetLoadBalancePolicy(
|
|
/* [in] */ VDS_LOADBALANCE_POLICY_ENUM policy,
|
|
/* [size_is][unique][in] */ __RPC__in_ecount_full_opt(lNumberOfPaths) VDS_PATH_POLICY *pPaths,
|
|
/* [in] */ LONG lNumberOfPaths) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetSupportedLbPolicies(
|
|
/* [out] */ __RPC__out ULONG *pulLbFlags) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IVdsLunMpioVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
__RPC__in IVdsLunMpio * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [annotation][iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
__RPC__in IVdsLunMpio * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
__RPC__in IVdsLunMpio * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPathInfo )(
|
|
__RPC__in IVdsLunMpio * This,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*plNumberOfPaths) VDS_PATH_INFO **ppPaths,
|
|
/* [out] */ __RPC__out LONG *plNumberOfPaths);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetLoadBalancePolicy )(
|
|
__RPC__in IVdsLunMpio * This,
|
|
/* [out] */ __RPC__out VDS_LOADBALANCE_POLICY_ENUM *pPolicy,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*plNumberOfPaths) VDS_PATH_POLICY **ppPaths,
|
|
/* [out] */ __RPC__out LONG *plNumberOfPaths);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetLoadBalancePolicy )(
|
|
__RPC__in IVdsLunMpio * This,
|
|
/* [in] */ VDS_LOADBALANCE_POLICY_ENUM policy,
|
|
/* [size_is][unique][in] */ __RPC__in_ecount_full_opt(lNumberOfPaths) VDS_PATH_POLICY *pPaths,
|
|
/* [in] */ LONG lNumberOfPaths);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetSupportedLbPolicies )(
|
|
__RPC__in IVdsLunMpio * This,
|
|
/* [out] */ __RPC__out ULONG *pulLbFlags);
|
|
|
|
END_INTERFACE
|
|
} IVdsLunMpioVtbl;
|
|
|
|
interface IVdsLunMpio
|
|
{
|
|
CONST_VTBL struct IVdsLunMpioVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IVdsLunMpio_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IVdsLunMpio_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IVdsLunMpio_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IVdsLunMpio_GetPathInfo(This,ppPaths,plNumberOfPaths) \
|
|
( (This)->lpVtbl -> GetPathInfo(This,ppPaths,plNumberOfPaths) )
|
|
|
|
#define IVdsLunMpio_GetLoadBalancePolicy(This,pPolicy,ppPaths,plNumberOfPaths) \
|
|
( (This)->lpVtbl -> GetLoadBalancePolicy(This,pPolicy,ppPaths,plNumberOfPaths) )
|
|
|
|
#define IVdsLunMpio_SetLoadBalancePolicy(This,policy,pPaths,lNumberOfPaths) \
|
|
( (This)->lpVtbl -> SetLoadBalancePolicy(This,policy,pPaths,lNumberOfPaths) )
|
|
|
|
#define IVdsLunMpio_GetSupportedLbPolicies(This,pulLbFlags) \
|
|
( (This)->lpVtbl -> GetSupportedLbPolicies(This,pulLbFlags) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IVdsLunMpio_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsLunIscsi_INTERFACE_DEFINED__
|
|
#define __IVdsLunIscsi_INTERFACE_DEFINED__
|
|
|
|
/* interface IVdsLunIscsi */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IVdsLunIscsi;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("0d7c1e64-b59b-45ae-b86a-2c2cc6a42067")
|
|
IVdsLunIscsi : public IUnknown
|
|
{
|
|
public:
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AssociateTargets(
|
|
/* [size_is][unique][in] */ __RPC__in_ecount_full_opt(lNumberOfTargets) VDS_OBJECT_ID *pTargetIdArray,
|
|
/* [in] */ LONG lNumberOfTargets) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryAssociatedTargets(
|
|
/* [out] */ __RPC__deref_out_opt IEnumVdsObject **ppEnum) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IVdsLunIscsiVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
__RPC__in IVdsLunIscsi * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [annotation][iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
__RPC__in IVdsLunIscsi * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
__RPC__in IVdsLunIscsi * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AssociateTargets )(
|
|
__RPC__in IVdsLunIscsi * This,
|
|
/* [size_is][unique][in] */ __RPC__in_ecount_full_opt(lNumberOfTargets) VDS_OBJECT_ID *pTargetIdArray,
|
|
/* [in] */ LONG lNumberOfTargets);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *QueryAssociatedTargets )(
|
|
__RPC__in IVdsLunIscsi * This,
|
|
/* [out] */ __RPC__deref_out_opt IEnumVdsObject **ppEnum);
|
|
|
|
END_INTERFACE
|
|
} IVdsLunIscsiVtbl;
|
|
|
|
interface IVdsLunIscsi
|
|
{
|
|
CONST_VTBL struct IVdsLunIscsiVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IVdsLunIscsi_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IVdsLunIscsi_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IVdsLunIscsi_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IVdsLunIscsi_AssociateTargets(This,pTargetIdArray,lNumberOfTargets) \
|
|
( (This)->lpVtbl -> AssociateTargets(This,pTargetIdArray,lNumberOfTargets) )
|
|
|
|
#define IVdsLunIscsi_QueryAssociatedTargets(This,ppEnum) \
|
|
( (This)->lpVtbl -> QueryAssociatedTargets(This,ppEnum) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IVdsLunIscsi_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsLunPlex_INTERFACE_DEFINED__
|
|
#define __IVdsLunPlex_INTERFACE_DEFINED__
|
|
|
|
/* interface IVdsLunPlex */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IVdsLunPlex;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("0ee1a790-5d2e-4abb-8c99-c481e8be2138")
|
|
IVdsLunPlex : public IUnknown
|
|
{
|
|
public:
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetProperties(
|
|
/* [out] */ __RPC__out VDS_LUN_PLEX_PROP *pPlexProp) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetLun(
|
|
/* [out] */ __RPC__deref_out_opt IVdsLun **ppLun) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryExtents(
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*plNumberOfExtents) VDS_DRIVE_EXTENT **ppExtentArray,
|
|
/* [out] */ __RPC__out LONG *plNumberOfExtents) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryHints(
|
|
/* [out] */ __RPC__out VDS_HINTS *pHints) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ApplyHints(
|
|
/* [in] */ __RPC__in VDS_HINTS *pHints) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IVdsLunPlexVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
__RPC__in IVdsLunPlex * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [annotation][iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
__RPC__in IVdsLunPlex * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
__RPC__in IVdsLunPlex * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetProperties )(
|
|
__RPC__in IVdsLunPlex * This,
|
|
/* [out] */ __RPC__out VDS_LUN_PLEX_PROP *pPlexProp);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetLun )(
|
|
__RPC__in IVdsLunPlex * This,
|
|
/* [out] */ __RPC__deref_out_opt IVdsLun **ppLun);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *QueryExtents )(
|
|
__RPC__in IVdsLunPlex * This,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*plNumberOfExtents) VDS_DRIVE_EXTENT **ppExtentArray,
|
|
/* [out] */ __RPC__out LONG *plNumberOfExtents);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *QueryHints )(
|
|
__RPC__in IVdsLunPlex * This,
|
|
/* [out] */ __RPC__out VDS_HINTS *pHints);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ApplyHints )(
|
|
__RPC__in IVdsLunPlex * This,
|
|
/* [in] */ __RPC__in VDS_HINTS *pHints);
|
|
|
|
END_INTERFACE
|
|
} IVdsLunPlexVtbl;
|
|
|
|
interface IVdsLunPlex
|
|
{
|
|
CONST_VTBL struct IVdsLunPlexVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IVdsLunPlex_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IVdsLunPlex_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IVdsLunPlex_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IVdsLunPlex_GetProperties(This,pPlexProp) \
|
|
( (This)->lpVtbl -> GetProperties(This,pPlexProp) )
|
|
|
|
#define IVdsLunPlex_GetLun(This,ppLun) \
|
|
( (This)->lpVtbl -> GetLun(This,ppLun) )
|
|
|
|
#define IVdsLunPlex_QueryExtents(This,ppExtentArray,plNumberOfExtents) \
|
|
( (This)->lpVtbl -> QueryExtents(This,ppExtentArray,plNumberOfExtents) )
|
|
|
|
#define IVdsLunPlex_QueryHints(This,pHints) \
|
|
( (This)->lpVtbl -> QueryHints(This,pHints) )
|
|
|
|
#define IVdsLunPlex_ApplyHints(This,pHints) \
|
|
( (This)->lpVtbl -> ApplyHints(This,pHints) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IVdsLunPlex_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsIscsiPortal_INTERFACE_DEFINED__
|
|
#define __IVdsIscsiPortal_INTERFACE_DEFINED__
|
|
|
|
/* interface IVdsIscsiPortal */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IVdsIscsiPortal;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("7fa1499d-ec85-4a8a-a47b-ff69201fcd34")
|
|
IVdsIscsiPortal : public IUnknown
|
|
{
|
|
public:
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetProperties(
|
|
/* [out] */ __RPC__out VDS_ISCSI_PORTAL_PROP *pPortalProp) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetSubSystem(
|
|
/* [out] */ __RPC__deref_out_opt IVdsSubSystem **ppSubSystem) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryAssociatedPortalGroups(
|
|
/* [out] */ __RPC__deref_out_opt IEnumVdsObject **ppEnum) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetStatus(
|
|
/* [in] */ VDS_ISCSI_PORTAL_STATUS status) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetIpsecTunnelAddress(
|
|
/* [in] */ __RPC__in VDS_IPADDRESS *pTunnelAddress,
|
|
/* [in] */ __RPC__in VDS_IPADDRESS *pDestinationAddress) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetIpsecSecurity(
|
|
/* [in] */ __RPC__in VDS_IPADDRESS *pInitiatorPortalAddress,
|
|
/* [out] */ __RPC__out ULONGLONG *pullSecurityFlags) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetIpsecSecurity(
|
|
/* [in] */ __RPC__in VDS_IPADDRESS *pInitiatorPortalAddress,
|
|
/* [in] */ ULONGLONG ullSecurityFlags,
|
|
/* [unique][in] */ __RPC__in_opt VDS_ISCSI_IPSEC_KEY *pIpsecKey) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IVdsIscsiPortalVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
__RPC__in IVdsIscsiPortal * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [annotation][iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
__RPC__in IVdsIscsiPortal * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
__RPC__in IVdsIscsiPortal * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetProperties )(
|
|
__RPC__in IVdsIscsiPortal * This,
|
|
/* [out] */ __RPC__out VDS_ISCSI_PORTAL_PROP *pPortalProp);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetSubSystem )(
|
|
__RPC__in IVdsIscsiPortal * This,
|
|
/* [out] */ __RPC__deref_out_opt IVdsSubSystem **ppSubSystem);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *QueryAssociatedPortalGroups )(
|
|
__RPC__in IVdsIscsiPortal * This,
|
|
/* [out] */ __RPC__deref_out_opt IEnumVdsObject **ppEnum);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetStatus )(
|
|
__RPC__in IVdsIscsiPortal * This,
|
|
/* [in] */ VDS_ISCSI_PORTAL_STATUS status);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetIpsecTunnelAddress )(
|
|
__RPC__in IVdsIscsiPortal * This,
|
|
/* [in] */ __RPC__in VDS_IPADDRESS *pTunnelAddress,
|
|
/* [in] */ __RPC__in VDS_IPADDRESS *pDestinationAddress);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetIpsecSecurity )(
|
|
__RPC__in IVdsIscsiPortal * This,
|
|
/* [in] */ __RPC__in VDS_IPADDRESS *pInitiatorPortalAddress,
|
|
/* [out] */ __RPC__out ULONGLONG *pullSecurityFlags);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetIpsecSecurity )(
|
|
__RPC__in IVdsIscsiPortal * This,
|
|
/* [in] */ __RPC__in VDS_IPADDRESS *pInitiatorPortalAddress,
|
|
/* [in] */ ULONGLONG ullSecurityFlags,
|
|
/* [unique][in] */ __RPC__in_opt VDS_ISCSI_IPSEC_KEY *pIpsecKey);
|
|
|
|
END_INTERFACE
|
|
} IVdsIscsiPortalVtbl;
|
|
|
|
interface IVdsIscsiPortal
|
|
{
|
|
CONST_VTBL struct IVdsIscsiPortalVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IVdsIscsiPortal_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IVdsIscsiPortal_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IVdsIscsiPortal_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IVdsIscsiPortal_GetProperties(This,pPortalProp) \
|
|
( (This)->lpVtbl -> GetProperties(This,pPortalProp) )
|
|
|
|
#define IVdsIscsiPortal_GetSubSystem(This,ppSubSystem) \
|
|
( (This)->lpVtbl -> GetSubSystem(This,ppSubSystem) )
|
|
|
|
#define IVdsIscsiPortal_QueryAssociatedPortalGroups(This,ppEnum) \
|
|
( (This)->lpVtbl -> QueryAssociatedPortalGroups(This,ppEnum) )
|
|
|
|
#define IVdsIscsiPortal_SetStatus(This,status) \
|
|
( (This)->lpVtbl -> SetStatus(This,status) )
|
|
|
|
#define IVdsIscsiPortal_SetIpsecTunnelAddress(This,pTunnelAddress,pDestinationAddress) \
|
|
( (This)->lpVtbl -> SetIpsecTunnelAddress(This,pTunnelAddress,pDestinationAddress) )
|
|
|
|
#define IVdsIscsiPortal_GetIpsecSecurity(This,pInitiatorPortalAddress,pullSecurityFlags) \
|
|
( (This)->lpVtbl -> GetIpsecSecurity(This,pInitiatorPortalAddress,pullSecurityFlags) )
|
|
|
|
#define IVdsIscsiPortal_SetIpsecSecurity(This,pInitiatorPortalAddress,ullSecurityFlags,pIpsecKey) \
|
|
( (This)->lpVtbl -> SetIpsecSecurity(This,pInitiatorPortalAddress,ullSecurityFlags,pIpsecKey) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IVdsIscsiPortal_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsIscsiTarget_INTERFACE_DEFINED__
|
|
#define __IVdsIscsiTarget_INTERFACE_DEFINED__
|
|
|
|
/* interface IVdsIscsiTarget */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IVdsIscsiTarget;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("aa8f5055-83e5-4bcc-aa73-19851a36a849")
|
|
IVdsIscsiTarget : public IUnknown
|
|
{
|
|
public:
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetProperties(
|
|
/* [out] */ __RPC__out VDS_ISCSI_TARGET_PROP *pTargetProp) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetSubSystem(
|
|
/* [out] */ __RPC__deref_out_opt IVdsSubSystem **ppSubSystem) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryPortalGroups(
|
|
/* [out] */ __RPC__deref_out_opt IEnumVdsObject **ppEnum) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryAssociatedLuns(
|
|
/* [out] */ __RPC__deref_out_opt IEnumVdsObject **ppEnum) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreatePortalGroup(
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Delete(
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetFriendlyName(
|
|
/* [string][in] */ __RPC__in_string LPWSTR pwszFriendlyName) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetSharedSecret(
|
|
/* [unique][in] */ __RPC__in_opt VDS_ISCSI_SHARED_SECRET *pTargetSharedSecret,
|
|
/* [string][unique][in] */ __RPC__in_opt_string LPWSTR pwszInitiatorName) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RememberInitiatorSharedSecret(
|
|
/* [string][in] */ __RPC__in_string LPWSTR pwszInitiatorName,
|
|
/* [unique][in] */ __RPC__in_opt VDS_ISCSI_SHARED_SECRET *pInitiatorSharedSecret) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetConnectedInitiators(
|
|
/* [size_is][size_is][string][out] */ __RPC__deref_out_ecount_full_opt_string(*plNumberOfInitiators) LPWSTR **pppwszInitiatorList,
|
|
/* [out] */ __RPC__out LONG *plNumberOfInitiators) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IVdsIscsiTargetVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
__RPC__in IVdsIscsiTarget * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [annotation][iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
__RPC__in IVdsIscsiTarget * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
__RPC__in IVdsIscsiTarget * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetProperties )(
|
|
__RPC__in IVdsIscsiTarget * This,
|
|
/* [out] */ __RPC__out VDS_ISCSI_TARGET_PROP *pTargetProp);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetSubSystem )(
|
|
__RPC__in IVdsIscsiTarget * This,
|
|
/* [out] */ __RPC__deref_out_opt IVdsSubSystem **ppSubSystem);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *QueryPortalGroups )(
|
|
__RPC__in IVdsIscsiTarget * This,
|
|
/* [out] */ __RPC__deref_out_opt IEnumVdsObject **ppEnum);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *QueryAssociatedLuns )(
|
|
__RPC__in IVdsIscsiTarget * This,
|
|
/* [out] */ __RPC__deref_out_opt IEnumVdsObject **ppEnum);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreatePortalGroup )(
|
|
__RPC__in IVdsIscsiTarget * This,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Delete )(
|
|
__RPC__in IVdsIscsiTarget * This,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetFriendlyName )(
|
|
__RPC__in IVdsIscsiTarget * This,
|
|
/* [string][in] */ __RPC__in_string LPWSTR pwszFriendlyName);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetSharedSecret )(
|
|
__RPC__in IVdsIscsiTarget * This,
|
|
/* [unique][in] */ __RPC__in_opt VDS_ISCSI_SHARED_SECRET *pTargetSharedSecret,
|
|
/* [string][unique][in] */ __RPC__in_opt_string LPWSTR pwszInitiatorName);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RememberInitiatorSharedSecret )(
|
|
__RPC__in IVdsIscsiTarget * This,
|
|
/* [string][in] */ __RPC__in_string LPWSTR pwszInitiatorName,
|
|
/* [unique][in] */ __RPC__in_opt VDS_ISCSI_SHARED_SECRET *pInitiatorSharedSecret);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetConnectedInitiators )(
|
|
__RPC__in IVdsIscsiTarget * This,
|
|
/* [size_is][size_is][string][out] */ __RPC__deref_out_ecount_full_opt_string(*plNumberOfInitiators) LPWSTR **pppwszInitiatorList,
|
|
/* [out] */ __RPC__out LONG *plNumberOfInitiators);
|
|
|
|
END_INTERFACE
|
|
} IVdsIscsiTargetVtbl;
|
|
|
|
interface IVdsIscsiTarget
|
|
{
|
|
CONST_VTBL struct IVdsIscsiTargetVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IVdsIscsiTarget_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IVdsIscsiTarget_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IVdsIscsiTarget_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IVdsIscsiTarget_GetProperties(This,pTargetProp) \
|
|
( (This)->lpVtbl -> GetProperties(This,pTargetProp) )
|
|
|
|
#define IVdsIscsiTarget_GetSubSystem(This,ppSubSystem) \
|
|
( (This)->lpVtbl -> GetSubSystem(This,ppSubSystem) )
|
|
|
|
#define IVdsIscsiTarget_QueryPortalGroups(This,ppEnum) \
|
|
( (This)->lpVtbl -> QueryPortalGroups(This,ppEnum) )
|
|
|
|
#define IVdsIscsiTarget_QueryAssociatedLuns(This,ppEnum) \
|
|
( (This)->lpVtbl -> QueryAssociatedLuns(This,ppEnum) )
|
|
|
|
#define IVdsIscsiTarget_CreatePortalGroup(This,ppAsync) \
|
|
( (This)->lpVtbl -> CreatePortalGroup(This,ppAsync) )
|
|
|
|
#define IVdsIscsiTarget_Delete(This,ppAsync) \
|
|
( (This)->lpVtbl -> Delete(This,ppAsync) )
|
|
|
|
#define IVdsIscsiTarget_SetFriendlyName(This,pwszFriendlyName) \
|
|
( (This)->lpVtbl -> SetFriendlyName(This,pwszFriendlyName) )
|
|
|
|
#define IVdsIscsiTarget_SetSharedSecret(This,pTargetSharedSecret,pwszInitiatorName) \
|
|
( (This)->lpVtbl -> SetSharedSecret(This,pTargetSharedSecret,pwszInitiatorName) )
|
|
|
|
#define IVdsIscsiTarget_RememberInitiatorSharedSecret(This,pwszInitiatorName,pInitiatorSharedSecret) \
|
|
( (This)->lpVtbl -> RememberInitiatorSharedSecret(This,pwszInitiatorName,pInitiatorSharedSecret) )
|
|
|
|
#define IVdsIscsiTarget_GetConnectedInitiators(This,pppwszInitiatorList,plNumberOfInitiators) \
|
|
( (This)->lpVtbl -> GetConnectedInitiators(This,pppwszInitiatorList,plNumberOfInitiators) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IVdsIscsiTarget_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsIscsiPortalGroup_INTERFACE_DEFINED__
|
|
#define __IVdsIscsiPortalGroup_INTERFACE_DEFINED__
|
|
|
|
/* interface IVdsIscsiPortalGroup */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IVdsIscsiPortalGroup;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("fef5f89d-a3dd-4b36-bf28-e7dde045c593")
|
|
IVdsIscsiPortalGroup : public IUnknown
|
|
{
|
|
public:
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetProperties(
|
|
/* [out] */ __RPC__out VDS_ISCSI_PORTALGROUP_PROP *pPortalGroupProp) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetTarget(
|
|
/* [out] */ __RPC__deref_out_opt IVdsIscsiTarget **ppTarget) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryAssociatedPortals(
|
|
/* [out] */ __RPC__deref_out_opt IEnumVdsObject **ppEnum) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddPortal(
|
|
/* [in] */ VDS_OBJECT_ID portalId,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemovePortal(
|
|
/* [in] */ VDS_OBJECT_ID portalId,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Delete(
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IVdsIscsiPortalGroupVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
__RPC__in IVdsIscsiPortalGroup * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [annotation][iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
__RPC__in IVdsIscsiPortalGroup * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
__RPC__in IVdsIscsiPortalGroup * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetProperties )(
|
|
__RPC__in IVdsIscsiPortalGroup * This,
|
|
/* [out] */ __RPC__out VDS_ISCSI_PORTALGROUP_PROP *pPortalGroupProp);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetTarget )(
|
|
__RPC__in IVdsIscsiPortalGroup * This,
|
|
/* [out] */ __RPC__deref_out_opt IVdsIscsiTarget **ppTarget);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *QueryAssociatedPortals )(
|
|
__RPC__in IVdsIscsiPortalGroup * This,
|
|
/* [out] */ __RPC__deref_out_opt IEnumVdsObject **ppEnum);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddPortal )(
|
|
__RPC__in IVdsIscsiPortalGroup * This,
|
|
/* [in] */ VDS_OBJECT_ID portalId,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemovePortal )(
|
|
__RPC__in IVdsIscsiPortalGroup * This,
|
|
/* [in] */ VDS_OBJECT_ID portalId,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Delete )(
|
|
__RPC__in IVdsIscsiPortalGroup * This,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync);
|
|
|
|
END_INTERFACE
|
|
} IVdsIscsiPortalGroupVtbl;
|
|
|
|
interface IVdsIscsiPortalGroup
|
|
{
|
|
CONST_VTBL struct IVdsIscsiPortalGroupVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IVdsIscsiPortalGroup_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IVdsIscsiPortalGroup_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IVdsIscsiPortalGroup_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IVdsIscsiPortalGroup_GetProperties(This,pPortalGroupProp) \
|
|
( (This)->lpVtbl -> GetProperties(This,pPortalGroupProp) )
|
|
|
|
#define IVdsIscsiPortalGroup_GetTarget(This,ppTarget) \
|
|
( (This)->lpVtbl -> GetTarget(This,ppTarget) )
|
|
|
|
#define IVdsIscsiPortalGroup_QueryAssociatedPortals(This,ppEnum) \
|
|
( (This)->lpVtbl -> QueryAssociatedPortals(This,ppEnum) )
|
|
|
|
#define IVdsIscsiPortalGroup_AddPortal(This,portalId,ppAsync) \
|
|
( (This)->lpVtbl -> AddPortal(This,portalId,ppAsync) )
|
|
|
|
#define IVdsIscsiPortalGroup_RemovePortal(This,portalId,ppAsync) \
|
|
( (This)->lpVtbl -> RemovePortal(This,portalId,ppAsync) )
|
|
|
|
#define IVdsIscsiPortalGroup_Delete(This,ppAsync) \
|
|
( (This)->lpVtbl -> Delete(This,ppAsync) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IVdsIscsiPortalGroup_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsStoragePool_INTERFACE_DEFINED__
|
|
#define __IVdsStoragePool_INTERFACE_DEFINED__
|
|
|
|
/* interface IVdsStoragePool */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IVdsStoragePool;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("932ca8cf-0eb3-4ba8-9620-22665d7f8450")
|
|
IVdsStoragePool : public IUnknown
|
|
{
|
|
public:
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetProvider(
|
|
/* [out] */ __RPC__deref_out_opt IVdsProvider **ppProvider) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetProperties(
|
|
/* [out] */ __RPC__out VDS_STORAGE_POOL_PROP *pStoragePoolProp) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAttributes(
|
|
/* [out] */ __RPC__out VDS_POOL_ATTRIBUTES *pStoragePoolAttributes) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryDriveExtents(
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*plNumberOfExtents) VDS_STORAGE_POOL_DRIVE_EXTENT **ppExtentArray,
|
|
/* [out] */ __RPC__out LONG *plNumberOfExtents) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryAllocatedLuns(
|
|
/* [out] */ __RPC__deref_out_opt IEnumVdsObject **ppEnum) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryAllocatedStoragePools(
|
|
/* [out] */ __RPC__deref_out_opt IEnumVdsObject **ppEnum) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IVdsStoragePoolVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
__RPC__in IVdsStoragePool * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [annotation][iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
__RPC__in IVdsStoragePool * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
__RPC__in IVdsStoragePool * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetProvider )(
|
|
__RPC__in IVdsStoragePool * This,
|
|
/* [out] */ __RPC__deref_out_opt IVdsProvider **ppProvider);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetProperties )(
|
|
__RPC__in IVdsStoragePool * This,
|
|
/* [out] */ __RPC__out VDS_STORAGE_POOL_PROP *pStoragePoolProp);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAttributes )(
|
|
__RPC__in IVdsStoragePool * This,
|
|
/* [out] */ __RPC__out VDS_POOL_ATTRIBUTES *pStoragePoolAttributes);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *QueryDriveExtents )(
|
|
__RPC__in IVdsStoragePool * This,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*plNumberOfExtents) VDS_STORAGE_POOL_DRIVE_EXTENT **ppExtentArray,
|
|
/* [out] */ __RPC__out LONG *plNumberOfExtents);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *QueryAllocatedLuns )(
|
|
__RPC__in IVdsStoragePool * This,
|
|
/* [out] */ __RPC__deref_out_opt IEnumVdsObject **ppEnum);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *QueryAllocatedStoragePools )(
|
|
__RPC__in IVdsStoragePool * This,
|
|
/* [out] */ __RPC__deref_out_opt IEnumVdsObject **ppEnum);
|
|
|
|
END_INTERFACE
|
|
} IVdsStoragePoolVtbl;
|
|
|
|
interface IVdsStoragePool
|
|
{
|
|
CONST_VTBL struct IVdsStoragePoolVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IVdsStoragePool_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IVdsStoragePool_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IVdsStoragePool_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IVdsStoragePool_GetProvider(This,ppProvider) \
|
|
( (This)->lpVtbl -> GetProvider(This,ppProvider) )
|
|
|
|
#define IVdsStoragePool_GetProperties(This,pStoragePoolProp) \
|
|
( (This)->lpVtbl -> GetProperties(This,pStoragePoolProp) )
|
|
|
|
#define IVdsStoragePool_GetAttributes(This,pStoragePoolAttributes) \
|
|
( (This)->lpVtbl -> GetAttributes(This,pStoragePoolAttributes) )
|
|
|
|
#define IVdsStoragePool_QueryDriveExtents(This,ppExtentArray,plNumberOfExtents) \
|
|
( (This)->lpVtbl -> QueryDriveExtents(This,ppExtentArray,plNumberOfExtents) )
|
|
|
|
#define IVdsStoragePool_QueryAllocatedLuns(This,ppEnum) \
|
|
( (This)->lpVtbl -> QueryAllocatedLuns(This,ppEnum) )
|
|
|
|
#define IVdsStoragePool_QueryAllocatedStoragePools(This,ppEnum) \
|
|
( (This)->lpVtbl -> QueryAllocatedStoragePools(This,ppEnum) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IVdsStoragePool_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsMaintenance_INTERFACE_DEFINED__
|
|
#define __IVdsMaintenance_INTERFACE_DEFINED__
|
|
|
|
/* interface IVdsMaintenance */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IVdsMaintenance;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("daebeef3-8523-47ed-a2b9-05cecce2a1ae")
|
|
IVdsMaintenance : public IUnknown
|
|
{
|
|
public:
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE StartMaintenance(
|
|
/* [in] */ VDS_MAINTENANCE_OPERATION operation) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE StopMaintenance(
|
|
/* [in] */ VDS_MAINTENANCE_OPERATION operation) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PulseMaintenance(
|
|
/* [in] */ VDS_MAINTENANCE_OPERATION operation,
|
|
/* [in] */ ULONG ulCount) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IVdsMaintenanceVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
__RPC__in IVdsMaintenance * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [annotation][iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
__RPC__in IVdsMaintenance * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
__RPC__in IVdsMaintenance * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *StartMaintenance )(
|
|
__RPC__in IVdsMaintenance * This,
|
|
/* [in] */ VDS_MAINTENANCE_OPERATION operation);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *StopMaintenance )(
|
|
__RPC__in IVdsMaintenance * This,
|
|
/* [in] */ VDS_MAINTENANCE_OPERATION operation);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PulseMaintenance )(
|
|
__RPC__in IVdsMaintenance * This,
|
|
/* [in] */ VDS_MAINTENANCE_OPERATION operation,
|
|
/* [in] */ ULONG ulCount);
|
|
|
|
END_INTERFACE
|
|
} IVdsMaintenanceVtbl;
|
|
|
|
interface IVdsMaintenance
|
|
{
|
|
CONST_VTBL struct IVdsMaintenanceVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IVdsMaintenance_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IVdsMaintenance_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IVdsMaintenance_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IVdsMaintenance_StartMaintenance(This,operation) \
|
|
( (This)->lpVtbl -> StartMaintenance(This,operation) )
|
|
|
|
#define IVdsMaintenance_StopMaintenance(This,operation) \
|
|
( (This)->lpVtbl -> StopMaintenance(This,operation) )
|
|
|
|
#define IVdsMaintenance_PulseMaintenance(This,operation,ulCount) \
|
|
( (This)->lpVtbl -> PulseMaintenance(This,operation,ulCount) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IVdsMaintenance_INTERFACE_DEFINED__ */
|
|
|
|
|
|
/* interface __MIDL_itf_vds_0000_0047 */
|
|
/* [local] */
|
|
|
|
#if (WINVER >= _WIN32_WINNT_WIN7)
|
|
|
|
|
|
|
|
typedef struct _VDS_CREATE_VDISK_PARAMETERS
|
|
{
|
|
GUID UniqueId;
|
|
ULONGLONG MaximumSize;
|
|
ULONG BlockSizeInBytes;
|
|
ULONG SectorSizeInBytes;
|
|
LPWSTR pParentPath;
|
|
LPWSTR pSourcePath;
|
|
} VDS_CREATE_VDISK_PARAMETERS;
|
|
|
|
typedef struct _VDS_CREATE_VDISK_PARAMETERS *PVDS_CREATE_VDISK_PARAMETERS;
|
|
|
|
|
|
|
|
extern RPC_IF_HANDLE __MIDL_itf_vds_0000_0047_v0_0_c_ifspec;
|
|
extern RPC_IF_HANDLE __MIDL_itf_vds_0000_0047_v0_0_s_ifspec;
|
|
|
|
#ifndef __IVdsVdProvider_INTERFACE_DEFINED__
|
|
#define __IVdsVdProvider_INTERFACE_DEFINED__
|
|
|
|
/* interface IVdsVdProvider */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IVdsVdProvider;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("b481498c-8354-45f9-84a0-0bdd2832a91f")
|
|
IVdsVdProvider : public IUnknown
|
|
{
|
|
public:
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryVDisks(
|
|
/* [out] */ __RPC__deref_out_opt IEnumVdsObject **ppEnum) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateVDisk(
|
|
/* [in] */ __RPC__in PVIRTUAL_STORAGE_TYPE VirtualDeviceType,
|
|
/* [string][in] */ __RPC__in_string LPWSTR pPath,
|
|
/* [unique][string][in] */ __RPC__in_opt_string LPWSTR pStringSecurityDescriptor,
|
|
/* [in] */ CREATE_VIRTUAL_DISK_FLAG Flags,
|
|
/* [in] */ ULONG ProviderSpecificFlags,
|
|
/* [in] */ ULONG Reserved,
|
|
/* [in] */ __RPC__in PVDS_CREATE_VDISK_PARAMETERS pCreateDiskParameters,
|
|
/* [unique][out][in] */ __RPC__deref_opt_inout_opt IVdsAsync **ppAsync) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddVDisk(
|
|
/* [in] */ __RPC__in PVIRTUAL_STORAGE_TYPE VirtualDeviceType,
|
|
/* [string][in] */ __RPC__in_string LPWSTR pPath,
|
|
/* [unique][out][in] */ __RPC__deref_opt_inout_opt IVdsVDisk **ppVDisk) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetDiskFromVDisk(
|
|
/* [in] */ __RPC__in_opt IVdsVDisk *pVDisk,
|
|
/* [out] */ __RPC__deref_out_opt IVdsDisk **ppDisk) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetVDiskFromDisk(
|
|
/* [in] */ __RPC__in_opt IVdsDisk *pDisk,
|
|
/* [out] */ __RPC__deref_out_opt IVdsVDisk **ppVDisk) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IVdsVdProviderVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
__RPC__in IVdsVdProvider * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [annotation][iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
__RPC__in IVdsVdProvider * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
__RPC__in IVdsVdProvider * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *QueryVDisks )(
|
|
__RPC__in IVdsVdProvider * This,
|
|
/* [out] */ __RPC__deref_out_opt IEnumVdsObject **ppEnum);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateVDisk )(
|
|
__RPC__in IVdsVdProvider * This,
|
|
/* [in] */ __RPC__in PVIRTUAL_STORAGE_TYPE VirtualDeviceType,
|
|
/* [string][in] */ __RPC__in_string LPWSTR pPath,
|
|
/* [unique][string][in] */ __RPC__in_opt_string LPWSTR pStringSecurityDescriptor,
|
|
/* [in] */ CREATE_VIRTUAL_DISK_FLAG Flags,
|
|
/* [in] */ ULONG ProviderSpecificFlags,
|
|
/* [in] */ ULONG Reserved,
|
|
/* [in] */ __RPC__in PVDS_CREATE_VDISK_PARAMETERS pCreateDiskParameters,
|
|
/* [unique][out][in] */ __RPC__deref_opt_inout_opt IVdsAsync **ppAsync);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddVDisk )(
|
|
__RPC__in IVdsVdProvider * This,
|
|
/* [in] */ __RPC__in PVIRTUAL_STORAGE_TYPE VirtualDeviceType,
|
|
/* [string][in] */ __RPC__in_string LPWSTR pPath,
|
|
/* [unique][out][in] */ __RPC__deref_opt_inout_opt IVdsVDisk **ppVDisk);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetDiskFromVDisk )(
|
|
__RPC__in IVdsVdProvider * This,
|
|
/* [in] */ __RPC__in_opt IVdsVDisk *pVDisk,
|
|
/* [out] */ __RPC__deref_out_opt IVdsDisk **ppDisk);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetVDiskFromDisk )(
|
|
__RPC__in IVdsVdProvider * This,
|
|
/* [in] */ __RPC__in_opt IVdsDisk *pDisk,
|
|
/* [out] */ __RPC__deref_out_opt IVdsVDisk **ppVDisk);
|
|
|
|
END_INTERFACE
|
|
} IVdsVdProviderVtbl;
|
|
|
|
interface IVdsVdProvider
|
|
{
|
|
CONST_VTBL struct IVdsVdProviderVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IVdsVdProvider_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IVdsVdProvider_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IVdsVdProvider_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IVdsVdProvider_QueryVDisks(This,ppEnum) \
|
|
( (This)->lpVtbl -> QueryVDisks(This,ppEnum) )
|
|
|
|
#define IVdsVdProvider_CreateVDisk(This,VirtualDeviceType,pPath,pStringSecurityDescriptor,Flags,ProviderSpecificFlags,Reserved,pCreateDiskParameters,ppAsync) \
|
|
( (This)->lpVtbl -> CreateVDisk(This,VirtualDeviceType,pPath,pStringSecurityDescriptor,Flags,ProviderSpecificFlags,Reserved,pCreateDiskParameters,ppAsync) )
|
|
|
|
#define IVdsVdProvider_AddVDisk(This,VirtualDeviceType,pPath,ppVDisk) \
|
|
( (This)->lpVtbl -> AddVDisk(This,VirtualDeviceType,pPath,ppVDisk) )
|
|
|
|
#define IVdsVdProvider_GetDiskFromVDisk(This,pVDisk,ppDisk) \
|
|
( (This)->lpVtbl -> GetDiskFromVDisk(This,pVDisk,ppDisk) )
|
|
|
|
#define IVdsVdProvider_GetVDiskFromDisk(This,pDisk,ppVDisk) \
|
|
( (This)->lpVtbl -> GetVDiskFromDisk(This,pDisk,ppVDisk) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IVdsVdProvider_INTERFACE_DEFINED__ */
|
|
|
|
|
|
/* interface __MIDL_itf_vds_0000_0048 */
|
|
/* [local] */
|
|
|
|
typedef
|
|
enum _VDS_VDISK_STATE
|
|
{ VDS_VST_UNKNOWN = 0,
|
|
VDS_VST_ADDED = ( VDS_VST_UNKNOWN + 1 ) ,
|
|
VDS_VST_OPEN = ( VDS_VST_ADDED + 1 ) ,
|
|
VDS_VST_ATTACH_PENDING = ( VDS_VST_OPEN + 1 ) ,
|
|
VDS_VST_ATTACHED_NOT_OPEN = ( VDS_VST_ATTACH_PENDING + 1 ) ,
|
|
VDS_VST_ATTACHED = ( VDS_VST_ATTACHED_NOT_OPEN + 1 ) ,
|
|
VDS_VST_DETACH_PENDING = ( VDS_VST_ATTACHED + 1 ) ,
|
|
VDS_VST_COMPACTING = ( VDS_VST_DETACH_PENDING + 1 ) ,
|
|
VDS_VST_MERGING = ( VDS_VST_COMPACTING + 1 ) ,
|
|
VDS_VST_EXPANDING = ( VDS_VST_MERGING + 1 ) ,
|
|
VDS_VST_DELETED = ( VDS_VST_EXPANDING + 1 ) ,
|
|
VDS_VST_MAX = ( VDS_VST_DELETED + 1 )
|
|
} VDS_VDISK_STATE;
|
|
|
|
typedef struct _VDS_VDISK_PROPERTIES
|
|
{
|
|
VDS_OBJECT_ID Id;
|
|
VDS_VDISK_STATE State;
|
|
VIRTUAL_STORAGE_TYPE VirtualDeviceType;
|
|
ULONGLONG VirtualSize;
|
|
ULONGLONG PhysicalSize;
|
|
LPWSTR pPath;
|
|
LPWSTR pDeviceName;
|
|
DEPENDENT_DISK_FLAG DiskFlag;
|
|
BOOL bIsChild;
|
|
LPWSTR pParentPath;
|
|
} VDS_VDISK_PROPERTIES;
|
|
|
|
typedef struct _VDS_VDISK_PROPERTIES *PVDS_VDISK_PROPERTIES;
|
|
|
|
|
|
|
|
extern RPC_IF_HANDLE __MIDL_itf_vds_0000_0048_v0_0_c_ifspec;
|
|
extern RPC_IF_HANDLE __MIDL_itf_vds_0000_0048_v0_0_s_ifspec;
|
|
|
|
#ifndef __IVdsVDisk_INTERFACE_DEFINED__
|
|
#define __IVdsVDisk_INTERFACE_DEFINED__
|
|
|
|
/* interface IVdsVDisk */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IVdsVDisk;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("1e062b84-e5e6-4b4b-8a25-67b81e8f13e8")
|
|
IVdsVDisk : public IUnknown
|
|
{
|
|
public:
|
|
virtual HRESULT STDMETHODCALLTYPE Open(
|
|
/* [in] */ VIRTUAL_DISK_ACCESS_MASK AccessMask,
|
|
/* [in] */ OPEN_VIRTUAL_DISK_FLAG Flags,
|
|
/* [in] */ ULONG ReadWriteDepth,
|
|
/* [out] */ __RPC__deref_out_opt IVdsOpenVDisk **ppOpenVDisk) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetProperties(
|
|
/* [out] */ __RPC__out PVDS_VDISK_PROPERTIES pDiskProperties) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetHostVolume(
|
|
/* [out] */ __RPC__deref_out_opt IVdsVolume **ppVolume) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetDeviceName(
|
|
/* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppDeviceName) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IVdsVDiskVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
__RPC__in IVdsVDisk * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [annotation][iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
__RPC__in IVdsVDisk * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
__RPC__in IVdsVDisk * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Open )(
|
|
__RPC__in IVdsVDisk * This,
|
|
/* [in] */ VIRTUAL_DISK_ACCESS_MASK AccessMask,
|
|
/* [in] */ OPEN_VIRTUAL_DISK_FLAG Flags,
|
|
/* [in] */ ULONG ReadWriteDepth,
|
|
/* [out] */ __RPC__deref_out_opt IVdsOpenVDisk **ppOpenVDisk);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetProperties )(
|
|
__RPC__in IVdsVDisk * This,
|
|
/* [out] */ __RPC__out PVDS_VDISK_PROPERTIES pDiskProperties);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetHostVolume )(
|
|
__RPC__in IVdsVDisk * This,
|
|
/* [out] */ __RPC__deref_out_opt IVdsVolume **ppVolume);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetDeviceName )(
|
|
__RPC__in IVdsVDisk * This,
|
|
/* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppDeviceName);
|
|
|
|
END_INTERFACE
|
|
} IVdsVDiskVtbl;
|
|
|
|
interface IVdsVDisk
|
|
{
|
|
CONST_VTBL struct IVdsVDiskVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IVdsVDisk_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IVdsVDisk_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IVdsVDisk_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IVdsVDisk_Open(This,AccessMask,Flags,ReadWriteDepth,ppOpenVDisk) \
|
|
( (This)->lpVtbl -> Open(This,AccessMask,Flags,ReadWriteDepth,ppOpenVDisk) )
|
|
|
|
#define IVdsVDisk_GetProperties(This,pDiskProperties) \
|
|
( (This)->lpVtbl -> GetProperties(This,pDiskProperties) )
|
|
|
|
#define IVdsVDisk_GetHostVolume(This,ppVolume) \
|
|
( (This)->lpVtbl -> GetHostVolume(This,ppVolume) )
|
|
|
|
#define IVdsVDisk_GetDeviceName(This,ppDeviceName) \
|
|
( (This)->lpVtbl -> GetDeviceName(This,ppDeviceName) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IVdsVDisk_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsOpenVDisk_INTERFACE_DEFINED__
|
|
#define __IVdsOpenVDisk_INTERFACE_DEFINED__
|
|
|
|
/* interface IVdsOpenVDisk */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IVdsOpenVDisk;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("75c8f324-f715-4fe3-a28e-f9011b61a4a1")
|
|
IVdsOpenVDisk : public IUnknown
|
|
{
|
|
public:
|
|
virtual HRESULT STDMETHODCALLTYPE Attach(
|
|
/* [unique][in] */ __RPC__in_opt LPWSTR pStringSecurityDescriptor,
|
|
/* [in] */ ATTACH_VIRTUAL_DISK_FLAG Flags,
|
|
/* [in] */ ULONG ProviderSpecificFlags,
|
|
/* [in] */ ULONG TimeoutInMs,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Detach(
|
|
/* [in] */ DETACH_VIRTUAL_DISK_FLAG Flags,
|
|
/* [in] */ ULONG ProviderSpecificFlags) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE DetachAndDelete(
|
|
/* [in] */ DETACH_VIRTUAL_DISK_FLAG Flags,
|
|
/* [in] */ ULONG ProviderSpecificFlags) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Compact(
|
|
/* [in] */ COMPACT_VIRTUAL_DISK_FLAG Flags,
|
|
/* [in] */ ULONG Reserved,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Merge(
|
|
/* [in] */ MERGE_VIRTUAL_DISK_FLAG Flags,
|
|
/* [in] */ ULONG MergeDepth,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Expand(
|
|
/* [in] */ EXPAND_VIRTUAL_DISK_FLAG Flags,
|
|
/* [in] */ ULONGLONG NewSize,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IVdsOpenVDiskVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
__RPC__in IVdsOpenVDisk * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [annotation][iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
__RPC__in IVdsOpenVDisk * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
__RPC__in IVdsOpenVDisk * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Attach )(
|
|
__RPC__in IVdsOpenVDisk * This,
|
|
/* [unique][in] */ __RPC__in_opt LPWSTR pStringSecurityDescriptor,
|
|
/* [in] */ ATTACH_VIRTUAL_DISK_FLAG Flags,
|
|
/* [in] */ ULONG ProviderSpecificFlags,
|
|
/* [in] */ ULONG TimeoutInMs,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Detach )(
|
|
__RPC__in IVdsOpenVDisk * This,
|
|
/* [in] */ DETACH_VIRTUAL_DISK_FLAG Flags,
|
|
/* [in] */ ULONG ProviderSpecificFlags);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *DetachAndDelete )(
|
|
__RPC__in IVdsOpenVDisk * This,
|
|
/* [in] */ DETACH_VIRTUAL_DISK_FLAG Flags,
|
|
/* [in] */ ULONG ProviderSpecificFlags);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Compact )(
|
|
__RPC__in IVdsOpenVDisk * This,
|
|
/* [in] */ COMPACT_VIRTUAL_DISK_FLAG Flags,
|
|
/* [in] */ ULONG Reserved,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Merge )(
|
|
__RPC__in IVdsOpenVDisk * This,
|
|
/* [in] */ MERGE_VIRTUAL_DISK_FLAG Flags,
|
|
/* [in] */ ULONG MergeDepth,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Expand )(
|
|
__RPC__in IVdsOpenVDisk * This,
|
|
/* [in] */ EXPAND_VIRTUAL_DISK_FLAG Flags,
|
|
/* [in] */ ULONGLONG NewSize,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync);
|
|
|
|
END_INTERFACE
|
|
} IVdsOpenVDiskVtbl;
|
|
|
|
interface IVdsOpenVDisk
|
|
{
|
|
CONST_VTBL struct IVdsOpenVDiskVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IVdsOpenVDisk_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IVdsOpenVDisk_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IVdsOpenVDisk_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IVdsOpenVDisk_Attach(This,pStringSecurityDescriptor,Flags,ProviderSpecificFlags,TimeoutInMs,ppAsync) \
|
|
( (This)->lpVtbl -> Attach(This,pStringSecurityDescriptor,Flags,ProviderSpecificFlags,TimeoutInMs,ppAsync) )
|
|
|
|
#define IVdsOpenVDisk_Detach(This,Flags,ProviderSpecificFlags) \
|
|
( (This)->lpVtbl -> Detach(This,Flags,ProviderSpecificFlags) )
|
|
|
|
#define IVdsOpenVDisk_DetachAndDelete(This,Flags,ProviderSpecificFlags) \
|
|
( (This)->lpVtbl -> DetachAndDelete(This,Flags,ProviderSpecificFlags) )
|
|
|
|
#define IVdsOpenVDisk_Compact(This,Flags,Reserved,ppAsync) \
|
|
( (This)->lpVtbl -> Compact(This,Flags,Reserved,ppAsync) )
|
|
|
|
#define IVdsOpenVDisk_Merge(This,Flags,MergeDepth,ppAsync) \
|
|
( (This)->lpVtbl -> Merge(This,Flags,MergeDepth,ppAsync) )
|
|
|
|
#define IVdsOpenVDisk_Expand(This,Flags,NewSize,ppAsync) \
|
|
( (This)->lpVtbl -> Expand(This,Flags,NewSize,ppAsync) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IVdsOpenVDisk_INTERFACE_DEFINED__ */
|
|
|
|
|
|
/* interface __MIDL_itf_vds_0000_0050 */
|
|
/* [local] */
|
|
|
|
#define VDS_ATTACH_VIRTUAL_DISK_FLAG_USE_FILE_ACL ( 0x1 )
|
|
|
|
#endif // _WIN32_WINNT_WIN7
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// {9C38ED61-D565-4728-AEEE-C80952F0ECDE}
|
|
DEFINE_GUID(CLSID_VdsLoader,
|
|
0X9C38ED61,0xD565,0x4728,0xAE,0xEE,0xC8,0x09,0x52,0xF0,0xEC,0xDE);
|
|
|
|
// {7D1933CB-86F6-4A98-8628-01BE94C9A575}
|
|
DEFINE_GUID(CLSID_VdsService,
|
|
0x7D1933CB,0x86F6,0x4A98,0x86,0x28,0x01,0xBE,0x94,0xC9,0xA5,0x75);
|
|
|
|
#define MAX_FS_NAME_SIZE ( 8 )
|
|
|
|
#define MAX_FS_FORMAT_SUPPORT_NAME_SIZE ( 32 )
|
|
|
|
#define MAX_FS_ALLOWED_CLUSTER_SIZES_SIZE ( 32 )
|
|
|
|
typedef
|
|
enum _VDS_SERVICE_FLAG
|
|
{ VDS_SVF_SUPPORT_DYNAMIC = 0x1,
|
|
VDS_SVF_SUPPORT_FAULT_TOLERANT = 0x2,
|
|
VDS_SVF_SUPPORT_GPT = 0x4,
|
|
VDS_SVF_SUPPORT_DYNAMIC_1394 = 0x8,
|
|
VDS_SVF_CLUSTER_SERVICE_CONFIGURED = 0x10,
|
|
VDS_SVF_AUTO_MOUNT_OFF = 0x20,
|
|
VDS_SVF_OS_UNINSTALL_VALID = 0x40,
|
|
VDS_SVF_EFI = 0x80,
|
|
VDS_SVF_SUPPORT_MIRROR = 0x100L,
|
|
VDS_SVF_SUPPORT_RAID5 = 0x200L
|
|
} VDS_SERVICE_FLAG;
|
|
|
|
typedef struct _VDS_SERVICE_PROP
|
|
{
|
|
LPWSTR pwszVersion;
|
|
ULONG ulFlags;
|
|
} VDS_SERVICE_PROP;
|
|
|
|
typedef
|
|
enum _VDS_SAN_POLICY
|
|
{ VDS_SP_UNKNOWN = 0,
|
|
VDS_SP_ONLINE = 0x1,
|
|
VDS_SP_OFFLINE_SHARED = 0x2,
|
|
VDS_SP_OFFLINE = 0x3
|
|
} VDS_SAN_POLICY;
|
|
|
|
typedef struct VDS_REPARSE_POINT_PROP
|
|
{
|
|
VDS_OBJECT_ID SourceVolumeId;
|
|
LPWSTR pwszPath;
|
|
} VDS_REPARSE_POINT_PROP;
|
|
|
|
typedef struct VDS_REPARSE_POINT_PROP *PVDS_REPARSE_POINT_PROP;
|
|
|
|
typedef
|
|
enum _VDS_DRIVE_LETTER_FLAG
|
|
{ VDS_DLF_NON_PERSISTENT = 0x1
|
|
} VDS_DRIVE_LETTER_FLAG;
|
|
|
|
typedef struct _VDS_DRIVE_LETTER_PROP
|
|
{
|
|
WCHAR wcLetter;
|
|
VDS_OBJECT_ID volumeId;
|
|
ULONG ulFlags;
|
|
BOOL bUsed;
|
|
} VDS_DRIVE_LETTER_PROP;
|
|
|
|
typedef struct _VDS_DRIVE_LETTER_PROP *PVDS_DRIVE_LETTER_PROP;
|
|
|
|
typedef
|
|
enum _VDS_FILE_SYSTEM_FLAG
|
|
{ VDS_FSF_SUPPORT_FORMAT = 0x1,
|
|
VDS_FSF_SUPPORT_QUICK_FORMAT = 0x2,
|
|
VDS_FSF_SUPPORT_COMPRESS = 0x4,
|
|
VDS_FSF_SUPPORT_SPECIFY_LABEL = 0x8,
|
|
VDS_FSF_SUPPORT_MOUNT_POINT = 0x10,
|
|
VDS_FSF_SUPPORT_REMOVABLE_MEDIA = 0x20,
|
|
VDS_FSF_SUPPORT_EXTEND = 0x40,
|
|
VDS_FSF_ALLOCATION_UNIT_512 = 0x10000,
|
|
VDS_FSF_ALLOCATION_UNIT_1K = 0x20000,
|
|
VDS_FSF_ALLOCATION_UNIT_2K = 0x40000,
|
|
VDS_FSF_ALLOCATION_UNIT_4K = 0x80000,
|
|
VDS_FSF_ALLOCATION_UNIT_8K = 0x100000,
|
|
VDS_FSF_ALLOCATION_UNIT_16K = 0x200000,
|
|
VDS_FSF_ALLOCATION_UNIT_32K = 0x400000,
|
|
VDS_FSF_ALLOCATION_UNIT_64K = 0x800000,
|
|
VDS_FSF_ALLOCATION_UNIT_128K = 0x1000000,
|
|
VDS_FSF_ALLOCATION_UNIT_256K = 0x2000000
|
|
} VDS_FILE_SYSTEM_FLAG;
|
|
|
|
typedef struct _VDS_FILE_SYSTEM_TYPE_PROP
|
|
{
|
|
VDS_FILE_SYSTEM_TYPE type;
|
|
WCHAR wszName[ 8 ];
|
|
ULONG ulFlags;
|
|
ULONG ulCompressionFlags;
|
|
ULONG ulMaxLableLength;
|
|
LPWSTR pwszIllegalLabelCharSet;
|
|
} VDS_FILE_SYSTEM_TYPE_PROP;
|
|
|
|
typedef struct _VDS_FILE_SYSTEM_TYPE_PROP *PVDS_FILE_SYSTEM_TYPE_PROP;
|
|
|
|
typedef
|
|
enum _VDS_FILE_SYSTEM_FORMAT_SUPPORT_FLAG
|
|
{ VDS_FSS_DEFAULT = 0x1,
|
|
VDS_FSS_PREVIOUS_REVISION = 0x2,
|
|
VDS_FSS_RECOMMENDED = 0x4
|
|
} VDS_FILE_SYSTEM_FORMAT_SUPPORT_FLAG;
|
|
|
|
typedef struct _VDS_FILE_SYSTEM_FORMAT_SUPPORT_PROP
|
|
{
|
|
ULONG ulFlags;
|
|
USHORT usRevision;
|
|
ULONG ulDefaultUnitAllocationSize;
|
|
ULONG rgulAllowedUnitAllocationSizes[ 32 ];
|
|
WCHAR wszName[ 32 ];
|
|
} VDS_FILE_SYSTEM_FORMAT_SUPPORT_PROP;
|
|
|
|
typedef struct _VDS_FILE_SYSTEM_FORMAT_SUPPORT_PROP *PVDS_FILE_SYSTEM_FORMAT_SUPPORT_PROP;
|
|
|
|
typedef
|
|
enum _VDS_FILE_SYSTEM_PROP_FLAG
|
|
{ VDS_FPF_COMPRESSED = 0x1
|
|
} VDS_FILE_SYSTEM_PROP_FLAG;
|
|
|
|
typedef
|
|
enum _VDS_FORMAT_OPTION_FLAGS
|
|
{ VDS_FSOF_NONE = 0,
|
|
VDS_FSOF_FORCE = 0x1,
|
|
VDS_FSOF_QUICK = 0x2,
|
|
VDS_FSOF_COMPRESSION = 0x4,
|
|
VDS_FSOF_DUPLICATE_METADATA = 0x8
|
|
} VDS_FORMAT_OPTION_FLAGS;
|
|
|
|
typedef struct _VDS_FILE_SYSTEM_PROP
|
|
{
|
|
VDS_FILE_SYSTEM_TYPE type;
|
|
VDS_OBJECT_ID volumeId;
|
|
ULONG ulFlags;
|
|
ULONGLONG ullTotalAllocationUnits;
|
|
ULONGLONG ullAvailableAllocationUnits;
|
|
ULONG ulAllocationUnitSize;
|
|
LPWSTR pwszLabel;
|
|
} VDS_FILE_SYSTEM_PROP;
|
|
|
|
typedef struct _VDS_FILE_SYSTEM_PROP *PVDS_FILE_SYSTEM_PROP;
|
|
|
|
typedef
|
|
enum _VDS_QUERY_PROVIDER_FLAG
|
|
{ VDS_QUERY_SOFTWARE_PROVIDERS = 0x1,
|
|
VDS_QUERY_HARDWARE_PROVIDERS = 0x2,
|
|
VDS_QUERY_VIRTUALDISK_PROVIDERS = 0x4
|
|
} VDS_QUERY_PROVIDER_FLAG;
|
|
|
|
|
|
|
|
extern RPC_IF_HANDLE __MIDL_itf_vds_0000_0050_v0_0_c_ifspec;
|
|
extern RPC_IF_HANDLE __MIDL_itf_vds_0000_0050_v0_0_s_ifspec;
|
|
|
|
#ifndef __IVdsServiceLoader_INTERFACE_DEFINED__
|
|
#define __IVdsServiceLoader_INTERFACE_DEFINED__
|
|
|
|
/* interface IVdsServiceLoader */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IVdsServiceLoader;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("e0393303-90d4-4a97-ab71-e9b671ee2729")
|
|
IVdsServiceLoader : public IUnknown
|
|
{
|
|
public:
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LoadService(
|
|
/* [string][unique][in] */ __RPC__in_opt_string LPWSTR pwszMachineName,
|
|
/* [out] */ __RPC__deref_out_opt IVdsService **ppService) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IVdsServiceLoaderVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
__RPC__in IVdsServiceLoader * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [annotation][iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
__RPC__in IVdsServiceLoader * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
__RPC__in IVdsServiceLoader * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *LoadService )(
|
|
__RPC__in IVdsServiceLoader * This,
|
|
/* [string][unique][in] */ __RPC__in_opt_string LPWSTR pwszMachineName,
|
|
/* [out] */ __RPC__deref_out_opt IVdsService **ppService);
|
|
|
|
END_INTERFACE
|
|
} IVdsServiceLoaderVtbl;
|
|
|
|
interface IVdsServiceLoader
|
|
{
|
|
CONST_VTBL struct IVdsServiceLoaderVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IVdsServiceLoader_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IVdsServiceLoader_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IVdsServiceLoader_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IVdsServiceLoader_LoadService(This,pwszMachineName,ppService) \
|
|
( (This)->lpVtbl -> LoadService(This,pwszMachineName,ppService) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IVdsServiceLoader_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsService_INTERFACE_DEFINED__
|
|
#define __IVdsService_INTERFACE_DEFINED__
|
|
|
|
/* interface IVdsService */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IVdsService;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("0818a8ef-9ba9-40d8-a6f9-e22833cc771e")
|
|
IVdsService : public IUnknown
|
|
{
|
|
public:
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsServiceReady( void) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE WaitForServiceReady( void) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetProperties(
|
|
/* [out] */ __RPC__out VDS_SERVICE_PROP *pServiceProp) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryProviders(
|
|
/* [in] */ DWORD masks,
|
|
/* [out] */ __RPC__deref_out_opt IEnumVdsObject **ppEnum) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryMaskedDisks(
|
|
/* [out] */ __RPC__deref_out_opt IEnumVdsObject **ppEnum) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryUnallocatedDisks(
|
|
/* [out] */ __RPC__deref_out_opt IEnumVdsObject **ppEnum) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetObject(
|
|
/* [in] */ VDS_OBJECT_ID ObjectId,
|
|
/* [in] */ VDS_OBJECT_TYPE type,
|
|
/* [out] */ __RPC__deref_out_opt IUnknown **ppObjectUnk) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryDriveLetters(
|
|
/* [in] */ WCHAR wcFirstLetter,
|
|
/* [in] */ DWORD count,
|
|
/* [size_is][out] */ __RPC__out_ecount_full(count) VDS_DRIVE_LETTER_PROP *pDriveLetterPropArray) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryFileSystemTypes(
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*plNumberOfFileSystems) VDS_FILE_SYSTEM_TYPE_PROP **ppFileSystemTypeProps,
|
|
/* [out] */ __RPC__out LONG *plNumberOfFileSystems) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Reenumerate( void) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Refresh( void) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CleanupObsoleteMountPoints( void) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Advise(
|
|
/* [in] */ __RPC__in_opt IVdsAdviseSink *pSink,
|
|
/* [out] */ __RPC__out DWORD *pdwCookie) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Unadvise(
|
|
/* [in] */ DWORD dwCookie) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Reboot( void) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetFlags(
|
|
/* [in] */ ULONG ulFlags) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ClearFlags(
|
|
/* [in] */ ULONG ulFlags) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IVdsServiceVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
__RPC__in IVdsService * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [annotation][iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
__RPC__in IVdsService * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
__RPC__in IVdsService * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsServiceReady )(
|
|
__RPC__in IVdsService * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *WaitForServiceReady )(
|
|
__RPC__in IVdsService * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetProperties )(
|
|
__RPC__in IVdsService * This,
|
|
/* [out] */ __RPC__out VDS_SERVICE_PROP *pServiceProp);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *QueryProviders )(
|
|
__RPC__in IVdsService * This,
|
|
/* [in] */ DWORD masks,
|
|
/* [out] */ __RPC__deref_out_opt IEnumVdsObject **ppEnum);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *QueryMaskedDisks )(
|
|
__RPC__in IVdsService * This,
|
|
/* [out] */ __RPC__deref_out_opt IEnumVdsObject **ppEnum);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *QueryUnallocatedDisks )(
|
|
__RPC__in IVdsService * This,
|
|
/* [out] */ __RPC__deref_out_opt IEnumVdsObject **ppEnum);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetObject )(
|
|
__RPC__in IVdsService * This,
|
|
/* [in] */ VDS_OBJECT_ID ObjectId,
|
|
/* [in] */ VDS_OBJECT_TYPE type,
|
|
/* [out] */ __RPC__deref_out_opt IUnknown **ppObjectUnk);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *QueryDriveLetters )(
|
|
__RPC__in IVdsService * This,
|
|
/* [in] */ WCHAR wcFirstLetter,
|
|
/* [in] */ DWORD count,
|
|
/* [size_is][out] */ __RPC__out_ecount_full(count) VDS_DRIVE_LETTER_PROP *pDriveLetterPropArray);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *QueryFileSystemTypes )(
|
|
__RPC__in IVdsService * This,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*plNumberOfFileSystems) VDS_FILE_SYSTEM_TYPE_PROP **ppFileSystemTypeProps,
|
|
/* [out] */ __RPC__out LONG *plNumberOfFileSystems);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Reenumerate )(
|
|
__RPC__in IVdsService * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Refresh )(
|
|
__RPC__in IVdsService * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CleanupObsoleteMountPoints )(
|
|
__RPC__in IVdsService * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Advise )(
|
|
__RPC__in IVdsService * This,
|
|
/* [in] */ __RPC__in_opt IVdsAdviseSink *pSink,
|
|
/* [out] */ __RPC__out DWORD *pdwCookie);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Unadvise )(
|
|
__RPC__in IVdsService * This,
|
|
/* [in] */ DWORD dwCookie);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Reboot )(
|
|
__RPC__in IVdsService * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetFlags )(
|
|
__RPC__in IVdsService * This,
|
|
/* [in] */ ULONG ulFlags);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ClearFlags )(
|
|
__RPC__in IVdsService * This,
|
|
/* [in] */ ULONG ulFlags);
|
|
|
|
END_INTERFACE
|
|
} IVdsServiceVtbl;
|
|
|
|
interface IVdsService
|
|
{
|
|
CONST_VTBL struct IVdsServiceVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IVdsService_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IVdsService_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IVdsService_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IVdsService_IsServiceReady(This) \
|
|
( (This)->lpVtbl -> IsServiceReady(This) )
|
|
|
|
#define IVdsService_WaitForServiceReady(This) \
|
|
( (This)->lpVtbl -> WaitForServiceReady(This) )
|
|
|
|
#define IVdsService_GetProperties(This,pServiceProp) \
|
|
( (This)->lpVtbl -> GetProperties(This,pServiceProp) )
|
|
|
|
#define IVdsService_QueryProviders(This,masks,ppEnum) \
|
|
( (This)->lpVtbl -> QueryProviders(This,masks,ppEnum) )
|
|
|
|
#define IVdsService_QueryMaskedDisks(This,ppEnum) \
|
|
( (This)->lpVtbl -> QueryMaskedDisks(This,ppEnum) )
|
|
|
|
#define IVdsService_QueryUnallocatedDisks(This,ppEnum) \
|
|
( (This)->lpVtbl -> QueryUnallocatedDisks(This,ppEnum) )
|
|
|
|
#define IVdsService_GetObject(This,ObjectId,type,ppObjectUnk) \
|
|
( (This)->lpVtbl -> GetObject(This,ObjectId,type,ppObjectUnk) )
|
|
|
|
#define IVdsService_QueryDriveLetters(This,wcFirstLetter,count,pDriveLetterPropArray) \
|
|
( (This)->lpVtbl -> QueryDriveLetters(This,wcFirstLetter,count,pDriveLetterPropArray) )
|
|
|
|
#define IVdsService_QueryFileSystemTypes(This,ppFileSystemTypeProps,plNumberOfFileSystems) \
|
|
( (This)->lpVtbl -> QueryFileSystemTypes(This,ppFileSystemTypeProps,plNumberOfFileSystems) )
|
|
|
|
#define IVdsService_Reenumerate(This) \
|
|
( (This)->lpVtbl -> Reenumerate(This) )
|
|
|
|
#define IVdsService_Refresh(This) \
|
|
( (This)->lpVtbl -> Refresh(This) )
|
|
|
|
#define IVdsService_CleanupObsoleteMountPoints(This) \
|
|
( (This)->lpVtbl -> CleanupObsoleteMountPoints(This) )
|
|
|
|
#define IVdsService_Advise(This,pSink,pdwCookie) \
|
|
( (This)->lpVtbl -> Advise(This,pSink,pdwCookie) )
|
|
|
|
#define IVdsService_Unadvise(This,dwCookie) \
|
|
( (This)->lpVtbl -> Unadvise(This,dwCookie) )
|
|
|
|
#define IVdsService_Reboot(This) \
|
|
( (This)->lpVtbl -> Reboot(This) )
|
|
|
|
#define IVdsService_SetFlags(This,ulFlags) \
|
|
( (This)->lpVtbl -> SetFlags(This,ulFlags) )
|
|
|
|
#define IVdsService_ClearFlags(This,ulFlags) \
|
|
( (This)->lpVtbl -> ClearFlags(This,ulFlags) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IVdsService_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsServiceUninstallDisk_INTERFACE_DEFINED__
|
|
#define __IVdsServiceUninstallDisk_INTERFACE_DEFINED__
|
|
|
|
/* interface IVdsServiceUninstallDisk */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IVdsServiceUninstallDisk;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("B6B22DA8-F903-4be7-B492-C09D875AC9DA")
|
|
IVdsServiceUninstallDisk : public IUnknown
|
|
{
|
|
public:
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDiskIdFromLunInfo(
|
|
/* [in] */ __RPC__in VDS_LUN_INFORMATION *pLunInfo,
|
|
/* [out] */ __RPC__out VDS_OBJECT_ID *pDiskId) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UninstallDisks(
|
|
/* [size_is][in] */ __RPC__in_ecount_full(ulCount) VDS_OBJECT_ID *pDiskIdArray,
|
|
/* [in] */ ULONG ulCount,
|
|
/* [in] */ BOOLEAN bForce,
|
|
/* [out] */ __RPC__out BOOLEAN *pbReboot,
|
|
/* [size_is][out] */ __RPC__out_ecount_full(ulCount) HRESULT *pResults) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IVdsServiceUninstallDiskVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
__RPC__in IVdsServiceUninstallDisk * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [annotation][iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
__RPC__in IVdsServiceUninstallDisk * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
__RPC__in IVdsServiceUninstallDisk * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDiskIdFromLunInfo )(
|
|
__RPC__in IVdsServiceUninstallDisk * This,
|
|
/* [in] */ __RPC__in VDS_LUN_INFORMATION *pLunInfo,
|
|
/* [out] */ __RPC__out VDS_OBJECT_ID *pDiskId);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UninstallDisks )(
|
|
__RPC__in IVdsServiceUninstallDisk * This,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(ulCount) VDS_OBJECT_ID *pDiskIdArray,
|
|
/* [in] */ ULONG ulCount,
|
|
/* [in] */ BOOLEAN bForce,
|
|
/* [out] */ __RPC__out BOOLEAN *pbReboot,
|
|
/* [size_is][out] */ __RPC__out_ecount_full(ulCount) HRESULT *pResults);
|
|
|
|
END_INTERFACE
|
|
} IVdsServiceUninstallDiskVtbl;
|
|
|
|
interface IVdsServiceUninstallDisk
|
|
{
|
|
CONST_VTBL struct IVdsServiceUninstallDiskVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IVdsServiceUninstallDisk_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IVdsServiceUninstallDisk_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IVdsServiceUninstallDisk_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IVdsServiceUninstallDisk_GetDiskIdFromLunInfo(This,pLunInfo,pDiskId) \
|
|
( (This)->lpVtbl -> GetDiskIdFromLunInfo(This,pLunInfo,pDiskId) )
|
|
|
|
#define IVdsServiceUninstallDisk_UninstallDisks(This,pDiskIdArray,ulCount,bForce,pbReboot,pResults) \
|
|
( (This)->lpVtbl -> UninstallDisks(This,pDiskIdArray,ulCount,bForce,pbReboot,pResults) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IVdsServiceUninstallDisk_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsServiceHba_INTERFACE_DEFINED__
|
|
#define __IVdsServiceHba_INTERFACE_DEFINED__
|
|
|
|
/* interface IVdsServiceHba */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IVdsServiceHba;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("0ac13689-3134-47c6-a17c-4669216801be")
|
|
IVdsServiceHba : public IUnknown
|
|
{
|
|
public:
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryHbaPorts(
|
|
/* [out] */ __RPC__deref_out_opt IEnumVdsObject **ppEnum) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IVdsServiceHbaVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
__RPC__in IVdsServiceHba * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [annotation][iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
__RPC__in IVdsServiceHba * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
__RPC__in IVdsServiceHba * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *QueryHbaPorts )(
|
|
__RPC__in IVdsServiceHba * This,
|
|
/* [out] */ __RPC__deref_out_opt IEnumVdsObject **ppEnum);
|
|
|
|
END_INTERFACE
|
|
} IVdsServiceHbaVtbl;
|
|
|
|
interface IVdsServiceHba
|
|
{
|
|
CONST_VTBL struct IVdsServiceHbaVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IVdsServiceHba_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IVdsServiceHba_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IVdsServiceHba_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IVdsServiceHba_QueryHbaPorts(This,ppEnum) \
|
|
( (This)->lpVtbl -> QueryHbaPorts(This,ppEnum) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IVdsServiceHba_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsServiceIscsi_INTERFACE_DEFINED__
|
|
#define __IVdsServiceIscsi_INTERFACE_DEFINED__
|
|
|
|
/* interface IVdsServiceIscsi */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IVdsServiceIscsi;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("14fbe036-3ed7-4e10-90e9-a5ff991aff01")
|
|
IVdsServiceIscsi : public IUnknown
|
|
{
|
|
public:
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetInitiatorName(
|
|
/* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppwszIscsiName) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryInitiatorAdapters(
|
|
/* [out] */ __RPC__deref_out_opt IEnumVdsObject **ppEnum) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetIpsecGroupPresharedKey(
|
|
/* [unique][in] */ __RPC__in_opt VDS_ISCSI_IPSEC_KEY *pIpsecKey) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetAllIpsecTunnelAddresses(
|
|
/* [in] */ __RPC__in VDS_IPADDRESS *pTunnelAddress,
|
|
/* [in] */ __RPC__in VDS_IPADDRESS *pDestinationAddress) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetAllIpsecSecurity(
|
|
/* [in] */ VDS_OBJECT_ID targetPortalId,
|
|
/* [in] */ ULONGLONG ullSecurityFlags,
|
|
/* [unique][in] */ __RPC__in_opt VDS_ISCSI_IPSEC_KEY *pIpsecKey) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetInitiatorSharedSecret(
|
|
/* [unique][in] */ __RPC__in_opt VDS_ISCSI_SHARED_SECRET *pInitiatorSharedSecret,
|
|
/* [in] */ VDS_OBJECT_ID targetId) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RememberTargetSharedSecret(
|
|
/* [in] */ VDS_OBJECT_ID targetId,
|
|
/* [unique][in] */ __RPC__in_opt VDS_ISCSI_SHARED_SECRET *pTargetSharedSecret) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IVdsServiceIscsiVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
__RPC__in IVdsServiceIscsi * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [annotation][iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
__RPC__in IVdsServiceIscsi * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
__RPC__in IVdsServiceIscsi * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetInitiatorName )(
|
|
__RPC__in IVdsServiceIscsi * This,
|
|
/* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppwszIscsiName);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *QueryInitiatorAdapters )(
|
|
__RPC__in IVdsServiceIscsi * This,
|
|
/* [out] */ __RPC__deref_out_opt IEnumVdsObject **ppEnum);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetIpsecGroupPresharedKey )(
|
|
__RPC__in IVdsServiceIscsi * This,
|
|
/* [unique][in] */ __RPC__in_opt VDS_ISCSI_IPSEC_KEY *pIpsecKey);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetAllIpsecTunnelAddresses )(
|
|
__RPC__in IVdsServiceIscsi * This,
|
|
/* [in] */ __RPC__in VDS_IPADDRESS *pTunnelAddress,
|
|
/* [in] */ __RPC__in VDS_IPADDRESS *pDestinationAddress);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetAllIpsecSecurity )(
|
|
__RPC__in IVdsServiceIscsi * This,
|
|
/* [in] */ VDS_OBJECT_ID targetPortalId,
|
|
/* [in] */ ULONGLONG ullSecurityFlags,
|
|
/* [unique][in] */ __RPC__in_opt VDS_ISCSI_IPSEC_KEY *pIpsecKey);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetInitiatorSharedSecret )(
|
|
__RPC__in IVdsServiceIscsi * This,
|
|
/* [unique][in] */ __RPC__in_opt VDS_ISCSI_SHARED_SECRET *pInitiatorSharedSecret,
|
|
/* [in] */ VDS_OBJECT_ID targetId);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RememberTargetSharedSecret )(
|
|
__RPC__in IVdsServiceIscsi * This,
|
|
/* [in] */ VDS_OBJECT_ID targetId,
|
|
/* [unique][in] */ __RPC__in_opt VDS_ISCSI_SHARED_SECRET *pTargetSharedSecret);
|
|
|
|
END_INTERFACE
|
|
} IVdsServiceIscsiVtbl;
|
|
|
|
interface IVdsServiceIscsi
|
|
{
|
|
CONST_VTBL struct IVdsServiceIscsiVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IVdsServiceIscsi_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IVdsServiceIscsi_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IVdsServiceIscsi_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IVdsServiceIscsi_GetInitiatorName(This,ppwszIscsiName) \
|
|
( (This)->lpVtbl -> GetInitiatorName(This,ppwszIscsiName) )
|
|
|
|
#define IVdsServiceIscsi_QueryInitiatorAdapters(This,ppEnum) \
|
|
( (This)->lpVtbl -> QueryInitiatorAdapters(This,ppEnum) )
|
|
|
|
#define IVdsServiceIscsi_SetIpsecGroupPresharedKey(This,pIpsecKey) \
|
|
( (This)->lpVtbl -> SetIpsecGroupPresharedKey(This,pIpsecKey) )
|
|
|
|
#define IVdsServiceIscsi_SetAllIpsecTunnelAddresses(This,pTunnelAddress,pDestinationAddress) \
|
|
( (This)->lpVtbl -> SetAllIpsecTunnelAddresses(This,pTunnelAddress,pDestinationAddress) )
|
|
|
|
#define IVdsServiceIscsi_SetAllIpsecSecurity(This,targetPortalId,ullSecurityFlags,pIpsecKey) \
|
|
( (This)->lpVtbl -> SetAllIpsecSecurity(This,targetPortalId,ullSecurityFlags,pIpsecKey) )
|
|
|
|
#define IVdsServiceIscsi_SetInitiatorSharedSecret(This,pInitiatorSharedSecret,targetId) \
|
|
( (This)->lpVtbl -> SetInitiatorSharedSecret(This,pInitiatorSharedSecret,targetId) )
|
|
|
|
#define IVdsServiceIscsi_RememberTargetSharedSecret(This,targetId,pTargetSharedSecret) \
|
|
( (This)->lpVtbl -> RememberTargetSharedSecret(This,targetId,pTargetSharedSecret) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IVdsServiceIscsi_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsServiceInitialization_INTERFACE_DEFINED__
|
|
#define __IVdsServiceInitialization_INTERFACE_DEFINED__
|
|
|
|
/* interface IVdsServiceInitialization */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IVdsServiceInitialization;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("4afc3636-db01-4052-80c3-03bbcb8d3c69")
|
|
IVdsServiceInitialization : public IUnknown
|
|
{
|
|
public:
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Initialize(
|
|
/* [string][unique][in] */ __RPC__in_opt_string LPWSTR pwszMachineName) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IVdsServiceInitializationVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
__RPC__in IVdsServiceInitialization * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [annotation][iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
__RPC__in IVdsServiceInitialization * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
__RPC__in IVdsServiceInitialization * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Initialize )(
|
|
__RPC__in IVdsServiceInitialization * This,
|
|
/* [string][unique][in] */ __RPC__in_opt_string LPWSTR pwszMachineName);
|
|
|
|
END_INTERFACE
|
|
} IVdsServiceInitializationVtbl;
|
|
|
|
interface IVdsServiceInitialization
|
|
{
|
|
CONST_VTBL struct IVdsServiceInitializationVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IVdsServiceInitialization_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IVdsServiceInitialization_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IVdsServiceInitialization_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IVdsServiceInitialization_Initialize(This,pwszMachineName) \
|
|
( (This)->lpVtbl -> Initialize(This,pwszMachineName) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IVdsServiceInitialization_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsHbaPort_INTERFACE_DEFINED__
|
|
#define __IVdsHbaPort_INTERFACE_DEFINED__
|
|
|
|
/* interface IVdsHbaPort */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IVdsHbaPort;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("2abd757f-2851-4997-9a13-47d2a885d6ca")
|
|
IVdsHbaPort : public IUnknown
|
|
{
|
|
public:
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetProperties(
|
|
/* [out] */ __RPC__out VDS_HBAPORT_PROP *pHbaPortProp) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetAllPathStatuses(
|
|
/* [in] */ VDS_PATH_STATUS status) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IVdsHbaPortVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
__RPC__in IVdsHbaPort * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [annotation][iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
__RPC__in IVdsHbaPort * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
__RPC__in IVdsHbaPort * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetProperties )(
|
|
__RPC__in IVdsHbaPort * This,
|
|
/* [out] */ __RPC__out VDS_HBAPORT_PROP *pHbaPortProp);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetAllPathStatuses )(
|
|
__RPC__in IVdsHbaPort * This,
|
|
/* [in] */ VDS_PATH_STATUS status);
|
|
|
|
END_INTERFACE
|
|
} IVdsHbaPortVtbl;
|
|
|
|
interface IVdsHbaPort
|
|
{
|
|
CONST_VTBL struct IVdsHbaPortVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IVdsHbaPort_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IVdsHbaPort_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IVdsHbaPort_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IVdsHbaPort_GetProperties(This,pHbaPortProp) \
|
|
( (This)->lpVtbl -> GetProperties(This,pHbaPortProp) )
|
|
|
|
#define IVdsHbaPort_SetAllPathStatuses(This,status) \
|
|
( (This)->lpVtbl -> SetAllPathStatuses(This,status) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IVdsHbaPort_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsIscsiInitiatorAdapter_INTERFACE_DEFINED__
|
|
#define __IVdsIscsiInitiatorAdapter_INTERFACE_DEFINED__
|
|
|
|
/* interface IVdsIscsiInitiatorAdapter */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IVdsIscsiInitiatorAdapter;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("b07fedd4-1682-4440-9189-a39b55194dc5")
|
|
IVdsIscsiInitiatorAdapter : public IUnknown
|
|
{
|
|
public:
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetProperties(
|
|
/* [out] */ __RPC__out VDS_ISCSI_INITIATOR_ADAPTER_PROP *pInitiatorAdapterProp) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryInitiatorPortals(
|
|
/* [out] */ __RPC__deref_out_opt IEnumVdsObject **ppEnum) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LoginToTarget(
|
|
/* [in] */ VDS_ISCSI_LOGIN_TYPE loginType,
|
|
/* [in] */ VDS_OBJECT_ID targetId,
|
|
/* [in] */ VDS_OBJECT_ID targetPortalId,
|
|
/* [in] */ VDS_OBJECT_ID initiatorPortalId,
|
|
/* [in] */ ULONG ulLoginFlags,
|
|
/* [in] */ BOOL bHeaderDigest,
|
|
/* [in] */ BOOL bDataDigest,
|
|
/* [in] */ VDS_ISCSI_AUTH_TYPE authType,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LogoutFromTarget(
|
|
/* [in] */ VDS_OBJECT_ID targetId,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IVdsIscsiInitiatorAdapterVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
__RPC__in IVdsIscsiInitiatorAdapter * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [annotation][iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
__RPC__in IVdsIscsiInitiatorAdapter * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
__RPC__in IVdsIscsiInitiatorAdapter * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetProperties )(
|
|
__RPC__in IVdsIscsiInitiatorAdapter * This,
|
|
/* [out] */ __RPC__out VDS_ISCSI_INITIATOR_ADAPTER_PROP *pInitiatorAdapterProp);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *QueryInitiatorPortals )(
|
|
__RPC__in IVdsIscsiInitiatorAdapter * This,
|
|
/* [out] */ __RPC__deref_out_opt IEnumVdsObject **ppEnum);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *LoginToTarget )(
|
|
__RPC__in IVdsIscsiInitiatorAdapter * This,
|
|
/* [in] */ VDS_ISCSI_LOGIN_TYPE loginType,
|
|
/* [in] */ VDS_OBJECT_ID targetId,
|
|
/* [in] */ VDS_OBJECT_ID targetPortalId,
|
|
/* [in] */ VDS_OBJECT_ID initiatorPortalId,
|
|
/* [in] */ ULONG ulLoginFlags,
|
|
/* [in] */ BOOL bHeaderDigest,
|
|
/* [in] */ BOOL bDataDigest,
|
|
/* [in] */ VDS_ISCSI_AUTH_TYPE authType,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *LogoutFromTarget )(
|
|
__RPC__in IVdsIscsiInitiatorAdapter * This,
|
|
/* [in] */ VDS_OBJECT_ID targetId,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync);
|
|
|
|
END_INTERFACE
|
|
} IVdsIscsiInitiatorAdapterVtbl;
|
|
|
|
interface IVdsIscsiInitiatorAdapter
|
|
{
|
|
CONST_VTBL struct IVdsIscsiInitiatorAdapterVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IVdsIscsiInitiatorAdapter_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IVdsIscsiInitiatorAdapter_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IVdsIscsiInitiatorAdapter_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IVdsIscsiInitiatorAdapter_GetProperties(This,pInitiatorAdapterProp) \
|
|
( (This)->lpVtbl -> GetProperties(This,pInitiatorAdapterProp) )
|
|
|
|
#define IVdsIscsiInitiatorAdapter_QueryInitiatorPortals(This,ppEnum) \
|
|
( (This)->lpVtbl -> QueryInitiatorPortals(This,ppEnum) )
|
|
|
|
#define IVdsIscsiInitiatorAdapter_LoginToTarget(This,loginType,targetId,targetPortalId,initiatorPortalId,ulLoginFlags,bHeaderDigest,bDataDigest,authType,ppAsync) \
|
|
( (This)->lpVtbl -> LoginToTarget(This,loginType,targetId,targetPortalId,initiatorPortalId,ulLoginFlags,bHeaderDigest,bDataDigest,authType,ppAsync) )
|
|
|
|
#define IVdsIscsiInitiatorAdapter_LogoutFromTarget(This,targetId,ppAsync) \
|
|
( (This)->lpVtbl -> LogoutFromTarget(This,targetId,ppAsync) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IVdsIscsiInitiatorAdapter_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsIscsiInitiatorPortal_INTERFACE_DEFINED__
|
|
#define __IVdsIscsiInitiatorPortal_INTERFACE_DEFINED__
|
|
|
|
/* interface IVdsIscsiInitiatorPortal */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IVdsIscsiInitiatorPortal;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("38a0a9ab-7cc8-4693-ac07-1f28bd03c3da")
|
|
IVdsIscsiInitiatorPortal : public IUnknown
|
|
{
|
|
public:
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetProperties(
|
|
/* [out] */ __RPC__out VDS_ISCSI_INITIATOR_PORTAL_PROP *pInitiatorPortalProp) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetInitiatorAdapter(
|
|
/* [out] */ __RPC__deref_out_opt IVdsIscsiInitiatorAdapter **ppInitiatorAdapter) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetIpsecTunnelAddress(
|
|
/* [in] */ __RPC__in VDS_IPADDRESS *pTunnelAddress,
|
|
/* [in] */ __RPC__in VDS_IPADDRESS *pDestinationAddress) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetIpsecSecurity(
|
|
/* [in] */ VDS_OBJECT_ID targetPortalId,
|
|
/* [out] */ __RPC__out ULONGLONG *pullSecurityFlags) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetIpsecSecurity(
|
|
/* [in] */ VDS_OBJECT_ID targetPortalId,
|
|
/* [in] */ ULONGLONG ullSecurityFlags,
|
|
/* [unique][in] */ __RPC__in_opt VDS_ISCSI_IPSEC_KEY *pIpsecKey) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IVdsIscsiInitiatorPortalVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
__RPC__in IVdsIscsiInitiatorPortal * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [annotation][iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
__RPC__in IVdsIscsiInitiatorPortal * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
__RPC__in IVdsIscsiInitiatorPortal * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetProperties )(
|
|
__RPC__in IVdsIscsiInitiatorPortal * This,
|
|
/* [out] */ __RPC__out VDS_ISCSI_INITIATOR_PORTAL_PROP *pInitiatorPortalProp);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetInitiatorAdapter )(
|
|
__RPC__in IVdsIscsiInitiatorPortal * This,
|
|
/* [out] */ __RPC__deref_out_opt IVdsIscsiInitiatorAdapter **ppInitiatorAdapter);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetIpsecTunnelAddress )(
|
|
__RPC__in IVdsIscsiInitiatorPortal * This,
|
|
/* [in] */ __RPC__in VDS_IPADDRESS *pTunnelAddress,
|
|
/* [in] */ __RPC__in VDS_IPADDRESS *pDestinationAddress);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetIpsecSecurity )(
|
|
__RPC__in IVdsIscsiInitiatorPortal * This,
|
|
/* [in] */ VDS_OBJECT_ID targetPortalId,
|
|
/* [out] */ __RPC__out ULONGLONG *pullSecurityFlags);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetIpsecSecurity )(
|
|
__RPC__in IVdsIscsiInitiatorPortal * This,
|
|
/* [in] */ VDS_OBJECT_ID targetPortalId,
|
|
/* [in] */ ULONGLONG ullSecurityFlags,
|
|
/* [unique][in] */ __RPC__in_opt VDS_ISCSI_IPSEC_KEY *pIpsecKey);
|
|
|
|
END_INTERFACE
|
|
} IVdsIscsiInitiatorPortalVtbl;
|
|
|
|
interface IVdsIscsiInitiatorPortal
|
|
{
|
|
CONST_VTBL struct IVdsIscsiInitiatorPortalVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IVdsIscsiInitiatorPortal_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IVdsIscsiInitiatorPortal_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IVdsIscsiInitiatorPortal_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IVdsIscsiInitiatorPortal_GetProperties(This,pInitiatorPortalProp) \
|
|
( (This)->lpVtbl -> GetProperties(This,pInitiatorPortalProp) )
|
|
|
|
#define IVdsIscsiInitiatorPortal_GetInitiatorAdapter(This,ppInitiatorAdapter) \
|
|
( (This)->lpVtbl -> GetInitiatorAdapter(This,ppInitiatorAdapter) )
|
|
|
|
#define IVdsIscsiInitiatorPortal_SetIpsecTunnelAddress(This,pTunnelAddress,pDestinationAddress) \
|
|
( (This)->lpVtbl -> SetIpsecTunnelAddress(This,pTunnelAddress,pDestinationAddress) )
|
|
|
|
#define IVdsIscsiInitiatorPortal_GetIpsecSecurity(This,targetPortalId,pullSecurityFlags) \
|
|
( (This)->lpVtbl -> GetIpsecSecurity(This,targetPortalId,pullSecurityFlags) )
|
|
|
|
#define IVdsIscsiInitiatorPortal_SetIpsecSecurity(This,targetPortalId,ullSecurityFlags,pIpsecKey) \
|
|
( (This)->lpVtbl -> SetIpsecSecurity(This,targetPortalId,ullSecurityFlags,pIpsecKey) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IVdsIscsiInitiatorPortal_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsDiskPartitionMF_INTERFACE_DEFINED__
|
|
#define __IVdsDiskPartitionMF_INTERFACE_DEFINED__
|
|
|
|
/* interface IVdsDiskPartitionMF */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IVdsDiskPartitionMF;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("538684e0-ba3d-4bc0-aca9-164aff85c2a9")
|
|
IVdsDiskPartitionMF : public IUnknown
|
|
{
|
|
public:
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPartitionFileSystemProperties(
|
|
/* [in] */ ULONGLONG ullOffset,
|
|
/* [out] */ __RPC__out VDS_FILE_SYSTEM_PROP *pFileSystemProp) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPartitionFileSystemTypeName(
|
|
/* [in] */ ULONGLONG ullOffset,
|
|
/* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppwszFileSystemTypeName) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryPartitionFileSystemFormatSupport(
|
|
/* [in] */ ULONGLONG ullOffset,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*plNumberOfFileSystems) VDS_FILE_SYSTEM_FORMAT_SUPPORT_PROP **ppFileSystemSupportProps,
|
|
/* [out] */ __RPC__out LONG *plNumberOfFileSystems) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FormatPartitionEx(
|
|
/* [in] */ ULONGLONG ullOffset,
|
|
/* [string][unique][in] */ __RPC__in_opt_string LPWSTR pwszFileSystemTypeName,
|
|
/* [in] */ USHORT usFileSystemRevision,
|
|
/* [in] */ ULONG ulDesiredUnitAllocationSize,
|
|
/* [string][unique][in] */ __RPC__in_opt_string LPWSTR pwszLabel,
|
|
/* [in] */ BOOL bForce,
|
|
/* [in] */ BOOL bQuickFormat,
|
|
/* [in] */ BOOL bEnableCompression,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IVdsDiskPartitionMFVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
__RPC__in IVdsDiskPartitionMF * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [annotation][iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
__RPC__in IVdsDiskPartitionMF * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
__RPC__in IVdsDiskPartitionMF * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPartitionFileSystemProperties )(
|
|
__RPC__in IVdsDiskPartitionMF * This,
|
|
/* [in] */ ULONGLONG ullOffset,
|
|
/* [out] */ __RPC__out VDS_FILE_SYSTEM_PROP *pFileSystemProp);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPartitionFileSystemTypeName )(
|
|
__RPC__in IVdsDiskPartitionMF * This,
|
|
/* [in] */ ULONGLONG ullOffset,
|
|
/* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppwszFileSystemTypeName);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *QueryPartitionFileSystemFormatSupport )(
|
|
__RPC__in IVdsDiskPartitionMF * This,
|
|
/* [in] */ ULONGLONG ullOffset,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*plNumberOfFileSystems) VDS_FILE_SYSTEM_FORMAT_SUPPORT_PROP **ppFileSystemSupportProps,
|
|
/* [out] */ __RPC__out LONG *plNumberOfFileSystems);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *FormatPartitionEx )(
|
|
__RPC__in IVdsDiskPartitionMF * This,
|
|
/* [in] */ ULONGLONG ullOffset,
|
|
/* [string][unique][in] */ __RPC__in_opt_string LPWSTR pwszFileSystemTypeName,
|
|
/* [in] */ USHORT usFileSystemRevision,
|
|
/* [in] */ ULONG ulDesiredUnitAllocationSize,
|
|
/* [string][unique][in] */ __RPC__in_opt_string LPWSTR pwszLabel,
|
|
/* [in] */ BOOL bForce,
|
|
/* [in] */ BOOL bQuickFormat,
|
|
/* [in] */ BOOL bEnableCompression,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync);
|
|
|
|
END_INTERFACE
|
|
} IVdsDiskPartitionMFVtbl;
|
|
|
|
interface IVdsDiskPartitionMF
|
|
{
|
|
CONST_VTBL struct IVdsDiskPartitionMFVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IVdsDiskPartitionMF_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IVdsDiskPartitionMF_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IVdsDiskPartitionMF_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IVdsDiskPartitionMF_GetPartitionFileSystemProperties(This,ullOffset,pFileSystemProp) \
|
|
( (This)->lpVtbl -> GetPartitionFileSystemProperties(This,ullOffset,pFileSystemProp) )
|
|
|
|
#define IVdsDiskPartitionMF_GetPartitionFileSystemTypeName(This,ullOffset,ppwszFileSystemTypeName) \
|
|
( (This)->lpVtbl -> GetPartitionFileSystemTypeName(This,ullOffset,ppwszFileSystemTypeName) )
|
|
|
|
#define IVdsDiskPartitionMF_QueryPartitionFileSystemFormatSupport(This,ullOffset,ppFileSystemSupportProps,plNumberOfFileSystems) \
|
|
( (This)->lpVtbl -> QueryPartitionFileSystemFormatSupport(This,ullOffset,ppFileSystemSupportProps,plNumberOfFileSystems) )
|
|
|
|
#define IVdsDiskPartitionMF_FormatPartitionEx(This,ullOffset,pwszFileSystemTypeName,usFileSystemRevision,ulDesiredUnitAllocationSize,pwszLabel,bForce,bQuickFormat,bEnableCompression,ppAsync) \
|
|
( (This)->lpVtbl -> FormatPartitionEx(This,ullOffset,pwszFileSystemTypeName,usFileSystemRevision,ulDesiredUnitAllocationSize,pwszLabel,bForce,bQuickFormat,bEnableCompression,ppAsync) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IVdsDiskPartitionMF_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsVolumeMF_INTERFACE_DEFINED__
|
|
#define __IVdsVolumeMF_INTERFACE_DEFINED__
|
|
|
|
/* interface IVdsVolumeMF */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IVdsVolumeMF;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("ee2d5ded-6236-4169-931d-b9778ce03dc6")
|
|
IVdsVolumeMF : public IUnknown
|
|
{
|
|
public:
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetFileSystemProperties(
|
|
/* [out] */ __RPC__out VDS_FILE_SYSTEM_PROP *pFileSystemProp) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Format(
|
|
/* [in] */ VDS_FILE_SYSTEM_TYPE type,
|
|
/* [string][in] */ __RPC__in_string LPWSTR pwszLabel,
|
|
/* [in] */ DWORD dwUnitAllocationSize,
|
|
/* [in] */ BOOL bForce,
|
|
/* [in] */ BOOL bQuickFormat,
|
|
/* [in] */ BOOL bEnableCompression,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddAccessPath(
|
|
/* [string][max_is][in] */ __RPC__in_ecount_full_string(( ( 260 - 1 ) + 1 ) ) LPWSTR pwszPath) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryAccessPaths(
|
|
/* [size_is][size_is][string][out] */ __RPC__deref_out_ecount_full_opt_string(*plNumberOfAccessPaths) LPWSTR **pwszPathArray,
|
|
/* [out] */ __RPC__out LONG *plNumberOfAccessPaths) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryReparsePoints(
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*plNumberOfReparsePointProps) VDS_REPARSE_POINT_PROP **ppReparsePointProps,
|
|
/* [out] */ __RPC__out LONG *plNumberOfReparsePointProps) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DeleteAccessPath(
|
|
/* [string][max_is][in] */ __RPC__in_ecount_full_string(( ( 260 - 1 ) + 1 ) ) LPWSTR pwszPath,
|
|
/* [in] */ BOOL bForce) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Mount( void) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Dismount(
|
|
/* [in] */ BOOL bForce,
|
|
/* [in] */ BOOL bPermanent) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetFileSystemFlags(
|
|
/* [in] */ ULONG ulFlags) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ClearFileSystemFlags(
|
|
/* [in] */ ULONG ulFlags) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IVdsVolumeMFVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
__RPC__in IVdsVolumeMF * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [annotation][iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
__RPC__in IVdsVolumeMF * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
__RPC__in IVdsVolumeMF * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetFileSystemProperties )(
|
|
__RPC__in IVdsVolumeMF * This,
|
|
/* [out] */ __RPC__out VDS_FILE_SYSTEM_PROP *pFileSystemProp);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Format )(
|
|
__RPC__in IVdsVolumeMF * This,
|
|
/* [in] */ VDS_FILE_SYSTEM_TYPE type,
|
|
/* [string][in] */ __RPC__in_string LPWSTR pwszLabel,
|
|
/* [in] */ DWORD dwUnitAllocationSize,
|
|
/* [in] */ BOOL bForce,
|
|
/* [in] */ BOOL bQuickFormat,
|
|
/* [in] */ BOOL bEnableCompression,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddAccessPath )(
|
|
__RPC__in IVdsVolumeMF * This,
|
|
/* [string][max_is][in] */ __RPC__in_ecount_full_string(( ( 260 - 1 ) + 1 ) ) LPWSTR pwszPath);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *QueryAccessPaths )(
|
|
__RPC__in IVdsVolumeMF * This,
|
|
/* [size_is][size_is][string][out] */ __RPC__deref_out_ecount_full_opt_string(*plNumberOfAccessPaths) LPWSTR **pwszPathArray,
|
|
/* [out] */ __RPC__out LONG *plNumberOfAccessPaths);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *QueryReparsePoints )(
|
|
__RPC__in IVdsVolumeMF * This,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*plNumberOfReparsePointProps) VDS_REPARSE_POINT_PROP **ppReparsePointProps,
|
|
/* [out] */ __RPC__out LONG *plNumberOfReparsePointProps);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DeleteAccessPath )(
|
|
__RPC__in IVdsVolumeMF * This,
|
|
/* [string][max_is][in] */ __RPC__in_ecount_full_string(( ( 260 - 1 ) + 1 ) ) LPWSTR pwszPath,
|
|
/* [in] */ BOOL bForce);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Mount )(
|
|
__RPC__in IVdsVolumeMF * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Dismount )(
|
|
__RPC__in IVdsVolumeMF * This,
|
|
/* [in] */ BOOL bForce,
|
|
/* [in] */ BOOL bPermanent);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetFileSystemFlags )(
|
|
__RPC__in IVdsVolumeMF * This,
|
|
/* [in] */ ULONG ulFlags);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ClearFileSystemFlags )(
|
|
__RPC__in IVdsVolumeMF * This,
|
|
/* [in] */ ULONG ulFlags);
|
|
|
|
END_INTERFACE
|
|
} IVdsVolumeMFVtbl;
|
|
|
|
interface IVdsVolumeMF
|
|
{
|
|
CONST_VTBL struct IVdsVolumeMFVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IVdsVolumeMF_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IVdsVolumeMF_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IVdsVolumeMF_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IVdsVolumeMF_GetFileSystemProperties(This,pFileSystemProp) \
|
|
( (This)->lpVtbl -> GetFileSystemProperties(This,pFileSystemProp) )
|
|
|
|
#define IVdsVolumeMF_Format(This,type,pwszLabel,dwUnitAllocationSize,bForce,bQuickFormat,bEnableCompression,ppAsync) \
|
|
( (This)->lpVtbl -> Format(This,type,pwszLabel,dwUnitAllocationSize,bForce,bQuickFormat,bEnableCompression,ppAsync) )
|
|
|
|
#define IVdsVolumeMF_AddAccessPath(This,pwszPath) \
|
|
( (This)->lpVtbl -> AddAccessPath(This,pwszPath) )
|
|
|
|
#define IVdsVolumeMF_QueryAccessPaths(This,pwszPathArray,plNumberOfAccessPaths) \
|
|
( (This)->lpVtbl -> QueryAccessPaths(This,pwszPathArray,plNumberOfAccessPaths) )
|
|
|
|
#define IVdsVolumeMF_QueryReparsePoints(This,ppReparsePointProps,plNumberOfReparsePointProps) \
|
|
( (This)->lpVtbl -> QueryReparsePoints(This,ppReparsePointProps,plNumberOfReparsePointProps) )
|
|
|
|
#define IVdsVolumeMF_DeleteAccessPath(This,pwszPath,bForce) \
|
|
( (This)->lpVtbl -> DeleteAccessPath(This,pwszPath,bForce) )
|
|
|
|
#define IVdsVolumeMF_Mount(This) \
|
|
( (This)->lpVtbl -> Mount(This) )
|
|
|
|
#define IVdsVolumeMF_Dismount(This,bForce,bPermanent) \
|
|
( (This)->lpVtbl -> Dismount(This,bForce,bPermanent) )
|
|
|
|
#define IVdsVolumeMF_SetFileSystemFlags(This,ulFlags) \
|
|
( (This)->lpVtbl -> SetFileSystemFlags(This,ulFlags) )
|
|
|
|
#define IVdsVolumeMF_ClearFileSystemFlags(This,ulFlags) \
|
|
( (This)->lpVtbl -> ClearFileSystemFlags(This,ulFlags) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IVdsVolumeMF_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsVolumeMF2_INTERFACE_DEFINED__
|
|
#define __IVdsVolumeMF2_INTERFACE_DEFINED__
|
|
|
|
/* interface IVdsVolumeMF2 */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IVdsVolumeMF2;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("4dbcee9a-6343-4651-b85f-5e75d74d983c")
|
|
IVdsVolumeMF2 : public IUnknown
|
|
{
|
|
public:
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetFileSystemTypeName(
|
|
/* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppwszFileSystemTypeName) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryFileSystemFormatSupport(
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*plNumberOfFileSystems) VDS_FILE_SYSTEM_FORMAT_SUPPORT_PROP **ppFileSystemSupportProps,
|
|
/* [out] */ __RPC__out LONG *plNumberOfFileSystems) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FormatEx(
|
|
/* [string][unique][in] */ __RPC__in_opt_string LPWSTR pwszFileSystemTypeName,
|
|
/* [in] */ USHORT usFileSystemRevision,
|
|
/* [in] */ ULONG ulDesiredUnitAllocationSize,
|
|
/* [string][unique][in] */ __RPC__in_opt_string LPWSTR pwszLabel,
|
|
/* [in] */ BOOL bForce,
|
|
/* [in] */ BOOL bQuickFormat,
|
|
/* [in] */ BOOL bEnableCompression,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IVdsVolumeMF2Vtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
__RPC__in IVdsVolumeMF2 * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [annotation][iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
__RPC__in IVdsVolumeMF2 * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
__RPC__in IVdsVolumeMF2 * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetFileSystemTypeName )(
|
|
__RPC__in IVdsVolumeMF2 * This,
|
|
/* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppwszFileSystemTypeName);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *QueryFileSystemFormatSupport )(
|
|
__RPC__in IVdsVolumeMF2 * This,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*plNumberOfFileSystems) VDS_FILE_SYSTEM_FORMAT_SUPPORT_PROP **ppFileSystemSupportProps,
|
|
/* [out] */ __RPC__out LONG *plNumberOfFileSystems);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *FormatEx )(
|
|
__RPC__in IVdsVolumeMF2 * This,
|
|
/* [string][unique][in] */ __RPC__in_opt_string LPWSTR pwszFileSystemTypeName,
|
|
/* [in] */ USHORT usFileSystemRevision,
|
|
/* [in] */ ULONG ulDesiredUnitAllocationSize,
|
|
/* [string][unique][in] */ __RPC__in_opt_string LPWSTR pwszLabel,
|
|
/* [in] */ BOOL bForce,
|
|
/* [in] */ BOOL bQuickFormat,
|
|
/* [in] */ BOOL bEnableCompression,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync);
|
|
|
|
END_INTERFACE
|
|
} IVdsVolumeMF2Vtbl;
|
|
|
|
interface IVdsVolumeMF2
|
|
{
|
|
CONST_VTBL struct IVdsVolumeMF2Vtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IVdsVolumeMF2_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IVdsVolumeMF2_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IVdsVolumeMF2_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IVdsVolumeMF2_GetFileSystemTypeName(This,ppwszFileSystemTypeName) \
|
|
( (This)->lpVtbl -> GetFileSystemTypeName(This,ppwszFileSystemTypeName) )
|
|
|
|
#define IVdsVolumeMF2_QueryFileSystemFormatSupport(This,ppFileSystemSupportProps,plNumberOfFileSystems) \
|
|
( (This)->lpVtbl -> QueryFileSystemFormatSupport(This,ppFileSystemSupportProps,plNumberOfFileSystems) )
|
|
|
|
#define IVdsVolumeMF2_FormatEx(This,pwszFileSystemTypeName,usFileSystemRevision,ulDesiredUnitAllocationSize,pwszLabel,bForce,bQuickFormat,bEnableCompression,ppAsync) \
|
|
( (This)->lpVtbl -> FormatEx(This,pwszFileSystemTypeName,usFileSystemRevision,ulDesiredUnitAllocationSize,pwszLabel,bForce,bQuickFormat,bEnableCompression,ppAsync) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IVdsVolumeMF2_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsVolumeShrink_INTERFACE_DEFINED__
|
|
#define __IVdsVolumeShrink_INTERFACE_DEFINED__
|
|
|
|
/* interface IVdsVolumeShrink */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IVdsVolumeShrink;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("d68168c9-82a2-4f85-b6e9-74707c49a58f")
|
|
IVdsVolumeShrink : public IUnknown
|
|
{
|
|
public:
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryMaxReclaimableBytes(
|
|
/* [out] */ __RPC__out ULONGLONG *pullMaxNumberOfReclaimableBytes) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Shrink(
|
|
/* [in] */ ULONGLONG ullDesiredNumberOfReclaimableBytes,
|
|
/* [in] */ ULONGLONG ullMinNumberOfReclaimableBytes,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IVdsVolumeShrinkVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
__RPC__in IVdsVolumeShrink * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [annotation][iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
__RPC__in IVdsVolumeShrink * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
__RPC__in IVdsVolumeShrink * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *QueryMaxReclaimableBytes )(
|
|
__RPC__in IVdsVolumeShrink * This,
|
|
/* [out] */ __RPC__out ULONGLONG *pullMaxNumberOfReclaimableBytes);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Shrink )(
|
|
__RPC__in IVdsVolumeShrink * This,
|
|
/* [in] */ ULONGLONG ullDesiredNumberOfReclaimableBytes,
|
|
/* [in] */ ULONGLONG ullMinNumberOfReclaimableBytes,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync);
|
|
|
|
END_INTERFACE
|
|
} IVdsVolumeShrinkVtbl;
|
|
|
|
interface IVdsVolumeShrink
|
|
{
|
|
CONST_VTBL struct IVdsVolumeShrinkVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IVdsVolumeShrink_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IVdsVolumeShrink_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IVdsVolumeShrink_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IVdsVolumeShrink_QueryMaxReclaimableBytes(This,pullMaxNumberOfReclaimableBytes) \
|
|
( (This)->lpVtbl -> QueryMaxReclaimableBytes(This,pullMaxNumberOfReclaimableBytes) )
|
|
|
|
#define IVdsVolumeShrink_Shrink(This,ullDesiredNumberOfReclaimableBytes,ullMinNumberOfReclaimableBytes,ppAsync) \
|
|
( (This)->lpVtbl -> Shrink(This,ullDesiredNumberOfReclaimableBytes,ullMinNumberOfReclaimableBytes,ppAsync) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IVdsVolumeShrink_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsSubSystemImportTarget_INTERFACE_DEFINED__
|
|
#define __IVdsSubSystemImportTarget_INTERFACE_DEFINED__
|
|
|
|
/* interface IVdsSubSystemImportTarget */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IVdsSubSystemImportTarget;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("83bfb87f-43fb-4903-baa6-127f01029eec")
|
|
IVdsSubSystemImportTarget : public IUnknown
|
|
{
|
|
public:
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetImportTarget(
|
|
/* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppwszIscsiName) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetImportTarget(
|
|
/* [string][unique][in] */ __RPC__in_opt_string LPWSTR pwszIscsiName) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IVdsSubSystemImportTargetVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
__RPC__in IVdsSubSystemImportTarget * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [annotation][iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
__RPC__in IVdsSubSystemImportTarget * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
__RPC__in IVdsSubSystemImportTarget * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetImportTarget )(
|
|
__RPC__in IVdsSubSystemImportTarget * This,
|
|
/* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppwszIscsiName);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetImportTarget )(
|
|
__RPC__in IVdsSubSystemImportTarget * This,
|
|
/* [string][unique][in] */ __RPC__in_opt_string LPWSTR pwszIscsiName);
|
|
|
|
END_INTERFACE
|
|
} IVdsSubSystemImportTargetVtbl;
|
|
|
|
interface IVdsSubSystemImportTarget
|
|
{
|
|
CONST_VTBL struct IVdsSubSystemImportTargetVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IVdsSubSystemImportTarget_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IVdsSubSystemImportTarget_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IVdsSubSystemImportTarget_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IVdsSubSystemImportTarget_GetImportTarget(This,ppwszIscsiName) \
|
|
( (This)->lpVtbl -> GetImportTarget(This,ppwszIscsiName) )
|
|
|
|
#define IVdsSubSystemImportTarget_SetImportTarget(This,pwszIscsiName) \
|
|
( (This)->lpVtbl -> SetImportTarget(This,pwszIscsiName) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IVdsSubSystemImportTarget_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsIscsiPortalLocal_INTERFACE_DEFINED__
|
|
#define __IVdsIscsiPortalLocal_INTERFACE_DEFINED__
|
|
|
|
/* interface IVdsIscsiPortalLocal */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IVdsIscsiPortalLocal;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("ad837c28-52c1-421d-bf04-fae7da665396")
|
|
IVdsIscsiPortalLocal : public IUnknown
|
|
{
|
|
public:
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetIpsecSecurityLocal(
|
|
/* [in] */ ULONGLONG ullSecurityFlags,
|
|
/* [unique][in] */ __RPC__in_opt VDS_ISCSI_IPSEC_KEY *pIpsecKey) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IVdsIscsiPortalLocalVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
__RPC__in IVdsIscsiPortalLocal * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [annotation][iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
__RPC__in IVdsIscsiPortalLocal * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
__RPC__in IVdsIscsiPortalLocal * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetIpsecSecurityLocal )(
|
|
__RPC__in IVdsIscsiPortalLocal * This,
|
|
/* [in] */ ULONGLONG ullSecurityFlags,
|
|
/* [unique][in] */ __RPC__in_opt VDS_ISCSI_IPSEC_KEY *pIpsecKey);
|
|
|
|
END_INTERFACE
|
|
} IVdsIscsiPortalLocalVtbl;
|
|
|
|
interface IVdsIscsiPortalLocal
|
|
{
|
|
CONST_VTBL struct IVdsIscsiPortalLocalVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IVdsIscsiPortalLocal_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IVdsIscsiPortalLocal_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IVdsIscsiPortalLocal_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IVdsIscsiPortalLocal_SetIpsecSecurityLocal(This,ullSecurityFlags,pIpsecKey) \
|
|
( (This)->lpVtbl -> SetIpsecSecurityLocal(This,ullSecurityFlags,pIpsecKey) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IVdsIscsiPortalLocal_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsServiceSAN_INTERFACE_DEFINED__
|
|
#define __IVdsServiceSAN_INTERFACE_DEFINED__
|
|
|
|
/* interface IVdsServiceSAN */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IVdsServiceSAN;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("FC5D23E8-A88B-41a5-8DE0-2D2F73C5A630")
|
|
IVdsServiceSAN : public IUnknown
|
|
{
|
|
public:
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetSANPolicy(
|
|
/* [out] */ __RPC__out VDS_SAN_POLICY *pSanPolicy) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetSANPolicy(
|
|
/* [in] */ VDS_SAN_POLICY SanPolicy) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IVdsServiceSANVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
__RPC__in IVdsServiceSAN * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [annotation][iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
__RPC__in IVdsServiceSAN * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
__RPC__in IVdsServiceSAN * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetSANPolicy )(
|
|
__RPC__in IVdsServiceSAN * This,
|
|
/* [out] */ __RPC__out VDS_SAN_POLICY *pSanPolicy);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetSANPolicy )(
|
|
__RPC__in IVdsServiceSAN * This,
|
|
/* [in] */ VDS_SAN_POLICY SanPolicy);
|
|
|
|
END_INTERFACE
|
|
} IVdsServiceSANVtbl;
|
|
|
|
interface IVdsServiceSAN
|
|
{
|
|
CONST_VTBL struct IVdsServiceSANVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IVdsServiceSAN_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IVdsServiceSAN_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IVdsServiceSAN_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IVdsServiceSAN_GetSANPolicy(This,pSanPolicy) \
|
|
( (This)->lpVtbl -> GetSANPolicy(This,pSanPolicy) )
|
|
|
|
#define IVdsServiceSAN_SetSANPolicy(This,SanPolicy) \
|
|
( (This)->lpVtbl -> SetSANPolicy(This,SanPolicy) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IVdsServiceSAN_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsVolumeMF3_INTERFACE_DEFINED__
|
|
#define __IVdsVolumeMF3_INTERFACE_DEFINED__
|
|
|
|
/* interface IVdsVolumeMF3 */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IVdsVolumeMF3;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("6788FAF9-214E-4b85-BA59-266953616E09")
|
|
IVdsVolumeMF3 : public IUnknown
|
|
{
|
|
public:
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryVolumeGuidPathnames(
|
|
/* [size_is][size_is][string][out] */ __RPC__deref_out_ecount_full_opt_string(*pulNumberOfPaths) LPWSTR **pwszPathArray,
|
|
/* [out] */ __RPC__out ULONG *pulNumberOfPaths) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FormatEx2(
|
|
/* [string][unique][in] */ __RPC__in_opt_string LPWSTR pwszFileSystemTypeName,
|
|
/* [in] */ USHORT usFileSystemRevision,
|
|
/* [in] */ ULONG ulDesiredUnitAllocationSize,
|
|
/* [string][unique][in] */ __RPC__in_opt_string LPWSTR pwszLabel,
|
|
/* [in] */ DWORD Options,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync) = 0;
|
|
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OfflineVolume( void) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IVdsVolumeMF3Vtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
__RPC__in IVdsVolumeMF3 * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [annotation][iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
__RPC__in IVdsVolumeMF3 * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
__RPC__in IVdsVolumeMF3 * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *QueryVolumeGuidPathnames )(
|
|
__RPC__in IVdsVolumeMF3 * This,
|
|
/* [size_is][size_is][string][out] */ __RPC__deref_out_ecount_full_opt_string(*pulNumberOfPaths) LPWSTR **pwszPathArray,
|
|
/* [out] */ __RPC__out ULONG *pulNumberOfPaths);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *FormatEx2 )(
|
|
__RPC__in IVdsVolumeMF3 * This,
|
|
/* [string][unique][in] */ __RPC__in_opt_string LPWSTR pwszFileSystemTypeName,
|
|
/* [in] */ USHORT usFileSystemRevision,
|
|
/* [in] */ ULONG ulDesiredUnitAllocationSize,
|
|
/* [string][unique][in] */ __RPC__in_opt_string LPWSTR pwszLabel,
|
|
/* [in] */ DWORD Options,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OfflineVolume )(
|
|
__RPC__in IVdsVolumeMF3 * This);
|
|
|
|
END_INTERFACE
|
|
} IVdsVolumeMF3Vtbl;
|
|
|
|
interface IVdsVolumeMF3
|
|
{
|
|
CONST_VTBL struct IVdsVolumeMF3Vtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IVdsVolumeMF3_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IVdsVolumeMF3_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IVdsVolumeMF3_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IVdsVolumeMF3_QueryVolumeGuidPathnames(This,pwszPathArray,pulNumberOfPaths) \
|
|
( (This)->lpVtbl -> QueryVolumeGuidPathnames(This,pwszPathArray,pulNumberOfPaths) )
|
|
|
|
#define IVdsVolumeMF3_FormatEx2(This,pwszFileSystemTypeName,usFileSystemRevision,ulDesiredUnitAllocationSize,pwszLabel,Options,ppAsync) \
|
|
( (This)->lpVtbl -> FormatEx2(This,pwszFileSystemTypeName,usFileSystemRevision,ulDesiredUnitAllocationSize,pwszLabel,Options,ppAsync) )
|
|
|
|
#define IVdsVolumeMF3_OfflineVolume(This) \
|
|
( (This)->lpVtbl -> OfflineVolume(This) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IVdsVolumeMF3_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IVdsDiskPartitionMF2_INTERFACE_DEFINED__
|
|
#define __IVdsDiskPartitionMF2_INTERFACE_DEFINED__
|
|
|
|
/* interface IVdsDiskPartitionMF2 */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IVdsDiskPartitionMF2;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("9CBE50CA-F2D2-4bf4-ACE1-96896B729625")
|
|
IVdsDiskPartitionMF2 : public IUnknown
|
|
{
|
|
public:
|
|
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FormatPartitionEx2(
|
|
/* [in] */ ULONGLONG ullOffset,
|
|
/* [string][unique][in] */ __RPC__in_opt_string LPWSTR pwszFileSystemTypeName,
|
|
/* [in] */ USHORT usFileSystemRevision,
|
|
/* [in] */ ULONG ulDesiredUnitAllocationSize,
|
|
/* [string][unique][in] */ __RPC__in_opt_string LPWSTR pwszLabel,
|
|
/* [in] */ DWORD Options,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IVdsDiskPartitionMF2Vtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
__RPC__in IVdsDiskPartitionMF2 * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [annotation][iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
__RPC__in IVdsDiskPartitionMF2 * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
__RPC__in IVdsDiskPartitionMF2 * This);
|
|
|
|
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *FormatPartitionEx2 )(
|
|
__RPC__in IVdsDiskPartitionMF2 * This,
|
|
/* [in] */ ULONGLONG ullOffset,
|
|
/* [string][unique][in] */ __RPC__in_opt_string LPWSTR pwszFileSystemTypeName,
|
|
/* [in] */ USHORT usFileSystemRevision,
|
|
/* [in] */ ULONG ulDesiredUnitAllocationSize,
|
|
/* [string][unique][in] */ __RPC__in_opt_string LPWSTR pwszLabel,
|
|
/* [in] */ DWORD Options,
|
|
/* [out] */ __RPC__deref_out_opt IVdsAsync **ppAsync);
|
|
|
|
END_INTERFACE
|
|
} IVdsDiskPartitionMF2Vtbl;
|
|
|
|
interface IVdsDiskPartitionMF2
|
|
{
|
|
CONST_VTBL struct IVdsDiskPartitionMF2Vtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IVdsDiskPartitionMF2_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IVdsDiskPartitionMF2_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IVdsDiskPartitionMF2_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IVdsDiskPartitionMF2_FormatPartitionEx2(This,ullOffset,pwszFileSystemTypeName,usFileSystemRevision,ulDesiredUnitAllocationSize,pwszLabel,Options,ppAsync) \
|
|
( (This)->lpVtbl -> FormatPartitionEx2(This,ullOffset,pwszFileSystemTypeName,usFileSystemRevision,ulDesiredUnitAllocationSize,pwszLabel,Options,ppAsync) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IVdsDiskPartitionMF2_INTERFACE_DEFINED__ */
|
|
|
|
|
|
/* Additional Prototypes for ALL interfaces */
|
|
|
|
/* end of Additional Prototypes */
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
|