IVdsVolume::SetFlags-Methode (vds.h)
[Ab Windows 8 und Windows Server 2012 wird die COM-Schnittstelle des Virtuellen Datenträgerdiensts durch die Windows Storage Management-API ersetzt.]
Legt die Volumeflags fest.
Syntax
HRESULT SetFlags(
[in] ULONG ulFlags,
[in] BOOL bRevertOnClose
);
Parameter
[in] ulFlags
Die von VDS_VOLUME_FLAG aufgelisteten Flags. Aufrufer können die folgenden Flags festlegen:
VDS_VF_LBN_REMAP_ENABLED
VDS_VF_HIDDEN
VDS_VF_READONLY
VDS_VF_NO_DEFAULT_DRIVE_LETTER
VDS_VF_INSTALLABLE
VDS_VF_SHADOW_COPY
[in] bRevertOnClose
Wenn TRUE, werden die Flags vorübergehend festgelegt. VDS setzt jedes Flag auf den vorherigen Zustand zurück, wenn der Aufrufer den letzten Verweis auf das Volumeobjekt freigibt, IVdsVolume::ClearFlags aufruft oder die Bereitstellung des Volumes auf hebt, außer wenn das Flag auf dem gesamten Datenträger festgelegt ist (ausführliche Informationen finden Sie in der Tabelle im Abschnitt Hinweise). Wenn das Flag auf dem gesamten Datenträger festgelegt ist, muss die IVdsVolume::ClearFlags-Methode aufgerufen werden, um die Flags zurückzusetzen.
Rückgabewert
Diese Methode kann HRESULT-Standardwerte wie E_INVALIDARG oder E_OUTOFMEMORY und VDS-spezifische Rückgabewerte zurückgeben. Es kann auch konvertierte Systemfehlercodes mithilfe des HRESULT_FROM_WIN32-Makros zurückgeben. Fehler können vom VDS selbst oder vom zugrunde liegenden VDS-Anbieter stammen, der verwendet wird. Folgende Rückgabewerte sind möglich.
Rückgabecode/-wert | BESCHREIBUNG |
---|---|
|
Die Flags sind festgelegt. |
|
Der Anbieter unterstützt das VDS_VF_LBN REMAP_ENABLED-Volumeflag nicht. |
|
Der Anbieter unterstützt das VDS_VF_NO DRIVELETTER-Volumeflag nicht. |
|
bRevertOnClose sollte nur dann auf true festgelegt werden, wenn entweder das VDS_VF_HIDDEN - oder VDS_VF_READONLY Volumeflag festgelegt ist. |
|
Einige Volumeflags sind bereits auf true festgelegt. Sie müssen diese Flags zuerst löschen, dann diese Methode aufrufen und den bRevertOnClose-Parameter erneut auf true festlegen. Der VDS_E_INVALID_OPERATION Rückgabewerts kann diese Bedingung auch angeben. |
Hinweise
Der VDS_VF_READONLY-, VDS_VF_HIDDEN- und VDS_VF_NO_DEFAULT_DRIVE_LETTER-Flags sind je nach Datenträgertyp (einfach oder dynamisch) und Partitionsstil (MBR oder GPT) unterschiedlich. Der Bereich ist entweder datenträgerbasiert oder volumebasiert, wie in den folgenden Bedingungen beschrieben:
- Wenn der Datenträger basic und MBR ist, wirkt sich das Festlegen eines dieser Flags für ein Volume auf das aktuelle Volume und alle zukünftigen Volumes mit dem angegebenen Attribut aus, das auf dem Datenträger erstellt wurde.
- Wenn der Datenträger basic und GPT, dynamisch und MBR oder dynamisch und GPT ist, gilt das Festlegen eines der Flags auf einem Volume nur für dieses bestimmte Volume.
Flag | MBR-Basisdatenträger | GPT-Basisdatenträger | Dynamische MBR- oder GPT-Datenträger |
---|---|---|---|
VDS_VF_LBN_REMAP_ENABLED | Kann nicht festgelegt werden. | Kann nicht festgelegt werden. | Legen Sie auf Volume fest, wenn vom Volume-Manager eines Drittanbieters unterstützt wird. |
VDS_VF_HIDDEN | Legen Sie auf dem gesamten Datenträger fest. | Legen Sie auf Volumes fest (nur Datenpartitionen). | Legen Sie auf Volumes fest. |
VDS_VF_READONLY | Legen Sie auf dem gesamten Datenträger fest. | Legen Sie auf Volumes fest (nur Datenpartitionen). | Legen Sie auf Volumes fest. |
VDS_VF_NO_DEFAULT_DRIVE_LETTER | Legen Sie auf dem gesamten Datenträger fest. | Legen Sie auf Partitionen fest. | Siehe VDS_VOLUME_FLAG. |
VDS_VF_SHADOW_COPY | Legen Sie auf dem gesamten Datenträger fest. | Legen Sie auf Volumes fest (nur Datenpartitionen). | Legen Sie auf Volumes fest. |
VDS_VF_INSTALLABLE | Kann nicht festgelegt werden. | Kann nicht festgelegt werden. | Legen Sie auf Volumes fest. |
Wenn bRevertOnClosetrue ist und der Datenträger ein MBR-Basisdatenträger ist und das Volume dann gelöscht wird, werden die Flags weiterhin auf dem gesamten Datenträger festgelegt, und die Flags gelten für alle neuen Volumes, die auf dem Datenträger erstellt werden. IVdsAdvancedDisk::Clean muss dann verwendet werden, um die Flags zu löschen.
Um ein Startvolume auf einem dynamischen Datenträger zu erstellen, müssen Sie das VDS_VF_INSTALLABLE-Flag für das Volume festlegen und das Volume dann formatieren, indem Sie die IVdsVolumeMF::Format-Methode aufrufen.
Diese Methode schlägt fehl, wenn das Volume mindestens eines der folgenden Flags enthält:
- VDS_VF_SYSTEM
- VDS_VF_BOOT
- VDS_VF_PAGEFILE
- VDS_VF_HIBERNATION
- VDS_VF_CRASHDUMP
Wenn Sie entweder VDS_VF_HIDDEN oder VDS_VF_READONLY angeben, wird eine Demontage und erneute Bereitstellung des Volumes erzwungen, es sei denn, bRevertOnClose ist TRUE.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows Vista [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | vds.h |
Bibliothek | Uuid.lib |