9 Index

A

Abstract data model

   client (section 3.2.1, section 3.3.1)

   server (section 3.2.1, section 3.4.1)

Access paths

   client

   server

ACCESS_MASK

AddAccessPath method

AddDisk method

Adding disk objects

Adding pack objects for dynamic providers

Adding virtual disk objects

Adding volume objects

AddPlex method

AddVDisk method

Advise method

Applicability

AssignDriveLetter method

Asynchronous operation object interfaces

Asynchronous tasks

Asynchronous tasks - performing - example

Attach method

ATTACH_VIRTUAL_DISK_FLAG enumeration

B

BreakPlex method

C

Callback object interface

Callback objects - client

Callback objects - server (section 3.4.1.4, section 3.4.3.2)

Cancel method

Capability negotiation

Change tracking

CHANGE_ATTRIBUTES_PARAMETERS structure

CHANGE_PARTITION_TYPE_PARAMETERS structure

ChangeAttributes method

ChangePartitionType method

Clean method

CleanupObsoleteMountPoints method

ClearFileSystemFlags method

ClearFlags method (section 3.4.5.2.4.16, section 3.4.5.2.21.7, section 3.4.5.2.32.11)

Client

   abstract data model (section 3.2.1, section 3.3.1)

   access paths

   disks

   drive letters

   file systems

   initialization (section 3.2.3, section 3.3.3)

   local events (section 3.2.6, section 3.3.6)

   message processing (section 3.2.4, section 3.3.4)

   method invocation

   notifications examples

      receiving

      registering for

      unregistering for

   other local events

   packs

   providers

   sequencing rules (section 3.2.4, section 3.3.4)

   service

   timer events (section 3.2.5, section 3.3.5)

   timers (section 3.2.2, section 3.3.2)

   virtual disks

   volumes

Clone method

Common data types

Compact method

COMPACT_VIRTUAL_DISK_FLAG enumeration

ConvertStyle method

CREATE_PARTITION_PARAMETERS structure

CREATE_VIRTUAL_DISK_FLAG enumeration

CreatePack method

CreatePartition method

CreatePartitionEx method

CreateVDisk method

CreateVolume method

CreateVolume2 method

D

Data model - abstract

   client (section 3.2.1, section 3.3.1)

   server (section 3.2.1, section 3.4.1)

Data types

   common

   interface-specific

   IVdsAdvancedDisk

   IVdsAdvancedDisk2

   IVdsAdvancedDisk3

   IVdsDisk

   IVdsHbaPort

   IVdsIscsiInitiatorAdapter

   IVdsIscsiInitiatorPortal

   IVdsPack

   IVdsProvider

   IVdsService (section 2.2.2.1, section 2.2.2.1.1)

   IVdsServiceIscsi

   IVdsVDisk

   IVdsVdProvider

   IVdsVolume

   IVdsVolumeMF (section 2.2.2.16, section 2.2.2.16.1)

   IVdsVolumePlex

Delete method

DeleteAccessPath method

DeleteDriveLetter method

DeletePartition method

DEPENDENT_DISK_FLAG enumeration

Detach method

DETACH_VIRTUAL_DISK_FLAG enumeration

DetachAndDelete method

Disk

   arrival

   removal

Disk object interfaces

Disk pack

   arrival

   removal

Disks

   client

   server

Dismount method

Drive letter

   assignment

   removal

Drive letters

   client

   server

DWORD

E

Eject method

Enumeration - objects

Enumeration object interface

Enumerations

   common data types

   IVdsHbaPort

   IVdsIscsiInitiatorPortal

   IVdsPack

   IVdsProvider

   IVdsService

   IVdsVDisk

   IVdsVdProvider

   IVdsVolumePlex

   querying example

Error codes

Error Codes message

Examples

   overview

   performing asynchronous tasks

   querying enumerations of VDS objects

   retrieving properties and IDs

   sample IVdsAdviseSink::OnNotify implementation

   VDS client notifications

      receiving

      registering for

      unregistering for

   VDS sessions

      ending

      starting

Expand method

EXPAND_VIRTUAL_DISK_FLAG enumeration

Extend method

F

Fields - vendor-extensible

File system modification

File systems

   client

   server

Format method

FormatEx method

FormatEx2 method

FormatPartition method

FormatPartitionEx method

FormatPartitionEx2 method

Full IDL

G

GetDeviceName method

GetDiskFromVDisk method

GetDiskIdFromLunInfo method

GetDiskObject method

GetDriveLetter method

GetFileSystemProperties method

GetFileSystemTypeName method

GetHostVolume method

GetIdentificationData method

GetImportTarget method

GetInitiatorAdapter method

GetInitiatorName method

GetObject method

GetPack method (section 3.4.5.2.21.2, section 3.4.5.2.32.2)

GetPartitionFileSystemProperties method

GetPartitionFileSystemTypeName method

GetPartitionProperties method

GetProperties method (section 3.4.5.2.4.3, section 3.4.5.2.11.1, section 3.4.5.2.12.1, section 3.4.5.2.13.1, section 3.4.5.2.14.1, section 3.4.5.2.19.1, section 3.4.5.2.21.1, section 3.4.5.2.26.1, section 3.4.5.2.32.1, section 3.4.5.2.39.1, section 3.4.5.2.40.2)

GetProperties2 method (section 3.4.5.2.23.1, section 3.4.5.2.33.1)

GetProvider method

GetSANPolicy method

GetUniqueId method

GetVDiskFromDisk method

GetVolume method

Glossary

H

Handling asynchronous tasks

HBA port object interfaces

Higher-layer triggered events

   server

Higher-layer triggered events - server

I

ID retrieval example

IDL

IEnumVdsObject interface

IEnumVdsObject methods

Implementer - security considerations

Index of security parameters

Informative references

Initialization

   client (section 3.2.3, section 3.3.3)

   server (section 3.2.3, section 3.4.3)

Initialize method

Initiator object interfaces

   adapter

   portal

Interfaces

   asynchronous operation object

   callback object

   disk object

   enumeration object

   HBA port object

   IEnumVdsObject

   initiator adapter object

   initiator portal object

   IVdsAdvancedDisk

   IVdsAdvancedDisk2

   IVdsAdviseSink

   IVdsAsync

   IVdsCreatePartitionEx

   IVdsDisk

   IVdsDiskPartitionMF

   IVdsDisks (section 3.1.12.2, section 3.1.12.3)

   IVdsHbaPort

   IVdsHwProvider

   IVdsIscsiInitiatorAdapter

   IVdsIscsiInitiatorPortal

   IVdsPack

   IVdsPack2

   IVdsProvider

   IVdsRemovable

   IVdsService

   IVdsServiceHba

   IVdsServiceInitialization

   IVdsServiceIscsi

   IVdsServiceLoader

   IVdsServiceUninstallDisk

   IVdsSubSystemImportTarget

   IVdsSwProvider

   IVdsVDisk

   IVdsVdProvider

   IVdsVolume

   IVdsVolumeMF

   IVdsVolumeMF2

   IVdsVolumeOnline

   IVdsVolumePlex

   IVdsVolumeShrink

   overview

   pack object

   provider object

   service loader

   service object

   subsystem object

   virtual disk object

   volume object

   volume plex object

Interfaces - data types

Introduction

IsServiceReady method

IVdsAdvancedDisk

   data types

   interface

   methods

   structures

IVdsAdvancedDisk2

   data types

   interface

   methods

   structures

IVdsAdvancedDisk3

   data types

   structures

IVdsAdviseSink

   interface

   methods

IVdsAdviseSink::OnNotify implementation - sample

IVdsAsync

   interface

   methods

IVdsCreatePartitionEx

   interface

   methods

IVdsDisk

   data types

   interface

   methods

   structures

IVdsDisk2

   interface

   methods

IVdsDisk3

   interface

IVdsDiskPartitionMF

   interface

   methods

IVdsHbaPort

   data types

   enumerations

   interface

   methods

   structures

IVdsHwProvider

   interface

   methods

IVdsIscsiInitiatorAdapter

   data types

   interface

   methods

   structures

IVdsIscsiInitiatorPortal

   data types

   enumerations

   interface

   methods

   structures

IVdsPack

   data types

   enumerations

   interface

   methods

   structures

IVdsPack2

   interface

   methods

IVdsProvider

   data types

   enumerations

   interface

   methods

   structures

IVdsRemovable

   interface

   methods

IVdsService

   data types

   enumerations

   interface

   methods

   structures

IVdsService data types - overview

IVdsServiceHba

   interface

   methods

IVdsServiceInitialization

   interface

   methods

IVdsServiceIscsi

   data types

   interface

   methods

   structures

IVdsServiceLoader

   interface

   methods

IVdsServiceUninstallDisk

   interface

   methods

IVdsSubSystemImportTarget

   interface

   methods

IVdsSwProvider

   interface

   methods

IVdsVDisk

   data types

   enumerations

   interface

   methods

   structures

IVdsVdProvider

   data types

   enumerations

   interface

   methods

   structures

IVdsVolume

   data types

   interface

   methods

   structures

IVdsVolumeMF

   data types (section 2.2.2.16, section 2.2.2.16.1)

   interface

   methods

   structures

IVdsVolumeMF2

   interface

   methods

IVdsVolumeOnline

   interface

   methods

IVdsVolumePlex

   data types

   enumerations

   interface

   methods

   structures

IVdsVolumeShrink

   interface

   methods

L

LoadService method

Local events

   client (section 3.2.6, section 3.3.6)

   server (section 3.2.6, section 3.4.7)

M

MAX_FS_NAME_SIZE

MAX_PATH

Media

   arrival

   removal

Merge method

MERGE_VIRTUAL_DISK_FLAG enumeration

Message processing

   client (section 3.2.4, section 3.3.4)

   server (section 3.2.4, section 3.4.5.2)

Messages

   common data types (section 2.2.1, section 2.2.1.1)

   enumerations

   Error Codes

   interface-specific data types

   IVdsAdvancedDisk data types

   IVdsAdvancedDisk structures

   IVdsAdvancedDisk2 data types

   IVdsAdvancedDisk2 structures

   IVdsAdvancedDisk3 data types

   IVdsAdvancedDisk3 structures

   IVdsDisk data types

   IVdsDisk structures

   IVdsHbaPort data types

   IVdsHbaPort enumerations

   IVdsHbaPort structures

   IVdsIscsiInitiatorAdapter data types

   IVdsIscsiInitiatorAdapter structures

   IVdsIscsiInitiatorPortal data types

   IVdsIscsiInitiatorPortal enumerations

   IVdsIscsiInitiatorPortal structures

   IVdsPack data types

   IVdsPack enumerations

   IVdsPack structures

   IVdsProvider data types

   IVdsProvider enumerations

   IVdsProvider structures

   IVdsService data types (section 2.2.2.1, section 2.2.2.1.1)

   IVdsService enumerations

   IVdsService structures

   IVdsServiceIscsi data types

   IVdsServiceIscsi structures

   IVdsVDisk data types

   IVdsVDisk enumerations

   IVdsVDisk structures

   IVdsVdProvider data types

   IVdsVdProvider enumerations

   IVdsVdProvider structures

   IVdsVolume data types

   IVdsVolume structures

   IVdsVolumeMF data types (section 2.2.2.16, section 2.2.2.16.1)

   IVdsVolumeMF structures

   IVdsVolumePlex data types

   IVdsVolumePlex enumerations

   IVdsVolumePlex structures

   overview

   structures

   syntax

   transport

Method invocation

   client

   server

Methods

   IEnumVdsObject

   IVdsAdvancedDisk

   IVdsAdvancedDisk2

   IVdsAdviseSink

   IVdsAsync

   IVdsCreatePartitionEx

   IVdsDisk

   IVdsDisk2

   IVdsDiskPartitionMF

   IVdsHbaPort

   IVdsHwProvider

   IVdsIscsiInitiatorAdapter

   IVdsIscsiInitiatorPortal

   IVdsPack

   IVdsPack2

   IVdsProvider

   IVdsRemovable

   IVdsService

   IVdsServiceHba

   IVdsServiceInitialization

   IVdsServiceIscsi

   IVdsServiceLoader

   IVdsServiceUninstallDisk

   IVdsSubSystemImportTarget

   IVdsSwProvider

   IVdsVDisk

   IVdsVdProvider

   IVdsVolume

   IVdsVolumeMF

   IVdsVolumeMF2

   IVdsVolumeOnline

   IVdsVolumePlex

   IVdsVolumeShrink

   sequencing requirements

MigrateDisks method

Mount method

Mount point change

N

Next method

Normative references

Notification callback objects - client

Notification callback objects - server (section 3.4.1.4, section 3.4.3.2)

O

Object enumeration

Offline method

OfflineVolume method

Online method (section 3.4.5.2.28.1, section 3.4.5.2.38.1)

OnNotify method

Open method

OPEN_VIRTUAL_DISK_FLAG enumeration

Other local events

   client

   server

Overview (synopsis)

P

Pack object interfaces

Packs

   client

   server

Parameters - security index

Paths - access

   client

   server

Preconditions

Prerequisites

Processing notifications from server to client

Processing server replies to method calls

Product behavior

Properties retrieval example

Protocol Details

   overview

Provider object interfaces

Providers

   client

   server

PVDS_CREATE_VDISK_PARAMETERS

PVDS_DISK_EXTENT

PVDS_DISK_FREE_EXTENT

PVDS_DISK_PROP

PVDS_DISK_PROP2

PVDS_DRIVE_LETTER_PROP

PVDS_FILE_SYSTEM_FORMAT_SUPPORT_PROP

PVDS_FILE_SYSTEM_PROP

PVDS_FILE_SYSTEM_TYPE_PROP

PVDS_PACK_PROP

PVDS_REPARSE_POINT_PROP

PVDS_VDISK_PROPERTIES

PVDS_VOLUME_PLEX_PROP

PVDS_VOLUME_PROP

PVDS_VOLUME_PROP2

PVIRTUAL_STORAGE_TYPE

Q

QueryAccessPaths method

QueryDisks method

QueryDriveLetters method

QueryExtents method (section 3.4.5.2.21.4, section 3.4.5.2.39.3)

QueryFileSystemFormatSupport method

QueryFileSystemTypes method

QueryFreeExtents method

QueryHbaPorts method

QueryInitiatorAdapters method

QueryInitiatorPortals method

QueryMaxReclaimableBytes method

QueryMedia method

QueryPacks method

QueryPartitionFileSystemFormatSupport method

QueryPartitions method

QueryPlexes method

QueryProviders method

QueryReparsePoints method

QueryStatus method

QuerySubSystems method

QueryUnallocatedDisks method

QueryVDisks method

QueryVolumeGuidPathnames method

QueryVolumes method

R

Reboot method

Recover method

Reenumerate method

References

   informative

   normative

Refresh method

Relationship to other protocols

RemoveMissingDisk method

RemovePlex method

Removing disk objects

Removing pack objects for dynamic providers

Removing virtual disk objects

Removing volume objects

Repair method

Reset method

S

Sample IVdsAdviseSink::OnNotify implementation

Security

   implementer considerations

   overview

   parameter index

Sequencing rules

   client (section 3.2.4, section 3.3.4)

   server

      adding disk objects

      adding pack objects for dynamic providers

      adding virtual disk objects

      adding volume objects

      handling asynchronous tasks

      removing disk objects

      removing pack objects for dynamic providers

      removing virtual disk objects

      removing volume objects

Server

   abstract data model (section 3.2.1, section 3.4.1)

   access paths

   disks

   drive letters

   file systems

   higher-layer triggered events

   initialization (section 3.2.3, section 3.4.3)

   local events (section 3.2.6, section 3.4.7)

   message processing (section 3.2.4, section 3.4.5.2)

   method invocation

   other local events

   overview

   packs

   providers

   sequencing rules

      adding disk objects

      adding pack objects for dynamic providers

      adding virtual disk objects

      adding volume objects

      handling asynchronous tasks

      removing disk objects

      removing pack objects for dynamic providers

      removing virtual disk objects

      removing volume objects

   service

   timer events (section 3.2.5, section 3.4.6)

   timers (section 3.2.2, section 3.4.2)

   virtual disks

   volumes

Service

   client

   server

Service loader interfaces

Service object

Service object interfaces

SetAllPathStatuses method

SetFileSystemFlags method

SetFlags method (section 3.4.5.2.4.15, section 3.4.5.2.21.6, section 3.4.5.2.32.10)

SetImportTarget method

SetInitiatorSharedSecret method

SetSANMode method

SetSANPolicy method

Shrink method (section 3.4.5.2.32.5, section 3.4.5.2.37.2)

Skip method

Standards assignments

Storage management objects (section 3.4.1.2, section 3.4.3.1)

Storage object relationships

Structures

   common data types

   IVdsAdvancedDisk

   IVdsAdvancedDisk2

   IVdsAdvancedDisk3

   IVdsDisk

   IVdsHbaPort

   IVdsIscsiInitiatorAdapter

   IVdsIscsiInitiatorPortal

   IVdsPack

   IVdsProvider

   IVdsService

   IVdsServiceIscsi

   IVdsVDisk

   IVdsVdProvider

   IVdsVolume

   IVdsVolumeMF

   IVdsVolumePlex

Subsystem object interfaces

Syntax - message

T

Timer events

   client (section 3.2.5, section 3.3.5)

   server (section 3.2.5, section 3.4.6)

Timers

   client (section 3.2.2, section 3.3.2)

   server (section 3.2.2, section 3.4.2)

Tracking changes

Transport

Triggered events - higher-layer

   server

Triggered events - higher-layer - server

U

ULONGLONG

Unadvise method

UninstallDisks method

V

VDS client notifications

   receiving

   registering for

   unregistering for

VDS sessions examples

   ending

   starting

VDS_ADVANCEDDISK_PROP

   *PVDS_ADVANCEDISK_PROP structure

VDS_ASYNC_OUTPUT structure

VDS_ASYNC_OUTPUT_TYPE enumeration

VDS_CREATE_VDISK_PARAMETERS structure

VDS_DISK_EXTENT structure

VDS_DISK_EXTENT_TYPE enumeration

VDS_DISK_FLAG enumeration

VDS_DISK_FREE_EXTENT structure

VDS_DISK_NOTIFICATION structure

VDS_DISK_OFFLINE_REASON enumeration

VDS_DISK_PROP structure

VDS_DISK_PROP2 structure

VDS_DISK_STATUS enumeration

VDS_DRIVE_LETTER_FLAG enumeration

VDS_DRIVE_LETTER_NOTIFICATION structure

VDS_DRIVE_LETTER_PROP structure

VDS_FILE_SYSTEM_FLAG enumeration

VDS_FILE_SYSTEM_FORMAT_SUPPORT_FLAG enumeration

VDS_FILE_SYSTEM_FORMAT_SUPPORT_PROP structure

VDS_FILE_SYSTEM_NOTIFICATION structure

VDS_FILE_SYSTEM_PROP structure

VDS_FILE_SYSTEM_PROP_FLAG enumeration

VDS_FILE_SYSTEM_TYPE enumeration

VDS_FILE_SYSTEM_TYPE_PROP structure

VDS_FORMAT_OPTION_FLAGS enumeration

VDS_HBAPORT_PROP structure

VDS_HBAPORT_SPEED_FLAG enumeration

VDS_HBAPORT_STATUS enumeration

VDS_HBAPORT_TYPE enumeration

VDS_HEALTH enumeration

VDS_INPUT_DISK structure

VDS_INTERCONNECT structure

VDS_INTERCONNECT_ADDRESS_TYPE enumeration

VDS_IPADDRESS structure

VDS_IPADDRESS_TYPE enumeration

VDS_ISCSI_INITIATOR_ADAPTER_PROP structure

VDS_ISCSI_INITIATOR_PORTAL_PROP structure

VDS_ISCSI_SHARED_SECRET structure

VDS_LUN_INFORMATION

VDS_LUN_INFORMATION structure

VDS_LUN_RESERVE_MODE enumeration

VDS_MOUNT_POINT_NOTIFICATION structure

VDS_NOTIFICATION structure

VDS_NOTIFICATION_TARGET_TYPE enumeration

VDS_OBJECT_TYPE enumeration

VDS_PACK_FLAG enumeration

VDS_PACK_NOTIFICATION structure

VDS_PACK_PROP structure

VDS_PACK_STATUS enumeration

VDS_PARTITION_FLAG enumeration

VDS_PARTITION_INFO_GPT structure

VDS_PARTITION_INFO_MBR structure

VDS_PARTITION_NOTIFICATION structure

VDS_PARTITION_PROP structure

VDS_PARTITION_STYLE enumeration

VDS_PATH_STATUS enumeration

VDS_PROVIDER_FLAG enumeration

VDS_PROVIDER_PROP structure

VDS_PROVIDER_TYPE enumeration

VDS_QUERY_PROVIDER_FLAG enumeration

VDS_RECOVER_ACTION enumeration

VDS_REPARSE_POINT_PROP structure

VDS_SAN_POLICY enumeration

VDS_SERVICE_FLAG enumeration

VDS_SERVICE_NOTIFICATION structure

VDS_SERVICE_PROP structure

VDS_STORAGE_BUS_TYPE enumeration

VDS_STORAGE_DEVICE_ID_DESCRIPTOR structure

VDS_STORAGE_IDENTIFIER structure

VDS_STORAGE_IDENTIFIER_CODE_SET enumeration

VDS_STORAGE_IDENTIFIER_TYPE enumeration

VDS_TRANSITION_STATE enumeration

VDS_VDISK_PROPERTIES structure

VDS_VDISK_STATE enumeration

VDS_VOLUME_FLAG enumeration

VDS_VOLUME_NOTIFICATION structure

VDS_VOLUME_PLEX_PROP structure

VDS_VOLUME_PLEX_STATUS enumeration

VDS_VOLUME_PLEX_TYPE enumeration

VDS_VOLUME_PROP structure

VDS_VOLUME_PROP2 structure

VDS_VOLUME_STATUS enumeration

VDS_VOLUME_TYPE enumeration

VDS_WWN structure

Vendor-extensible fields

Versioning

Virtual disk object interfaces

Virtual disks

   client

   server

VIRTUAL_DISK_ACCESS_MASK enumeration

VIRTUAL_STORAGE_TYPE structure

Volume

   arrival

   removal

Volume object interfaces

Volume plex object interfaces

Volumes

   client

   server

W

Wait method

WaitForServiceReady method