Metode IVdsVolume::SetFlags (vds.h)

[Dimulai dengan Windows 8 dan Windows Server 2012, antarmuka COM Layanan Disk Virtual digantikan oleh WINDOWS Storage Management API.]

Mengatur bendera volume.

Sintaks

HRESULT SetFlags(
  [in] ULONG ulFlags,
  [in] BOOL  bRevertOnClose
);

Parameter

[in] ulFlags

Bendera yang dijumlahkan oleh VDS_VOLUME_FLAG. Penelepon dapat mengatur bendera berikut:

  • 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

Jika TRUE, bendera akan diatur untuk sementara. VDS mengatur ulang setiap bendera ke status sebelumnya ketika pemanggil merilis referensi terakhir ke objek volume, memanggil IVdsVolume::ClearFlags, atau melepas volume, kecuali ketika bendera diatur pada seluruh disk (lihat tabel di bagian Keterangan untuk detailnya). Ketika bendera diatur pada seluruh disk, metode IVdsVolume::ClearFlags harus dipanggil untuk mengatur ulang bendera.

Mengembalikan nilai

Metode ini dapat mengembalikan nilai HRESULT standar, seperti E_INVALIDARG atau E_OUTOFMEMORY, dan nilai pengembalian khusus VDS. Ini juga dapat mengembalikan kode kesalahan sistem yang dikonversi menggunakan makro HRESULT_FROM_WIN32 . Kesalahan dapat berasal dari VDS itu sendiri atau dari penyedia VDS yang mendasar yang sedang digunakan. Kemungkinan nilai yang dikembalikan termasuk yang berikut ini.

Mengembalikan kode/nilai Deskripsi
S_OK
Bendera diatur.
VDS_E_LBN_REMAP_ENABLED_FLAG
0x80042456L
Penyedia tidak mendukung bendera volume VDS_VF_LBN REMAP_ENABLED .
VDS_E_NO_DRIVELETTER_FLAG
0x80042457L
Penyedia tidak mendukung bendera volume VDS_VF_NO DRIVELETTER .
VDS_E_REVERT_ON_CLOSE
0x80042458L
bRevertOnClose hanya boleh diatur ke true jika bendera volume VDS_VF_HIDDEN atau VDS_VF_READONLY diatur.
VDS_E_REVERT_ON_CLOSE_SET
0x80042459L
Beberapa bendera volume sudah diatur ke true. Anda harus menghapus bendera ini terlebih dahulu, lalu memanggil metode ini dan mengatur parameter bRevertOnClose ke true lagi. Nilai pengembalian VDS_E_INVALID_OPERATION juga dapat menunjukkan kondisi ini.

Keterangan

Cakupan bendera VDS_VF_READONLY, VDS_VF_HIDDEN, dan VDS_VF_NO_DEFAULT_DRIVE_LETTER berbeda tergantung pada jenis disk (dasar atau dinamis) dan gaya partisi (MBR atau GPT). Cakupannya berbasis disk atau berbasis volume, seperti yang dijelaskan oleh kondisi berikut:

  • Jika disk dasar dan MBR, maka mengatur salah satu bendera ini pada volume memengaruhi volume saat ini dan semua volume di masa mendatang dengan atribut yang ditentukan yang dibuat pada disk.
  • Jika disk dasar dan GPT, dinamis dan MBR, atau dinamis dan GPT, maka pengaturan salah satu bendera pada volume hanya berlaku untuk volume tertentu tersebut.
Tabel berikut mengidentifikasi cakupan setiap bendera volume pada disk dasar MBR, disk dasar GPT, dan disk dinamis MBR atau GPT.
Bendera Disk dasar MBR Disk dasar GPT Disk dinamis MBR atau GPT
VDS_VF_LBN_REMAP_ENABLED Tidak dapat diatur. Tidak dapat diatur. Atur pada volume, jika didukung oleh manajer volume pihak ketiga.
VDS_VF_HIDDEN Atur pada seluruh disk. Atur pada volume (hanya partisi data). Atur pada volume.
VDS_VF_READONLY Atur pada seluruh disk. Atur pada volume (hanya partisi data). Atur pada volume.
VDS_VF_NO_DEFAULT_DRIVE_LETTER Atur pada seluruh disk. Atur pada partisi. Lihat VDS_VOLUME_FLAG.
VDS_VF_SHADOW_COPY Atur pada seluruh disk. Atur pada volume (hanya partisi data). Atur pada volume.
VDS_VF_INSTALLABLE Tidak dapat diatur. Tidak dapat diatur. Atur pada volume.
 

Jika bRevertOnCloseadalah TRUE dan disk adalah disk dasar MBR dan volume kemudian dihapus, bendera masih diatur pada seluruh disk dan bendera akan berlaku untuk volume baru yang dibuat pada disk. IVdsAdvancedDisk::Clean kemudian harus digunakan untuk menghapus bendera.

Untuk membuat volume boot pada disk dinamis, Anda harus mengatur bendera VDS_VF_INSTALLABLE untuk volume dan kemudian memformat volume dengan memanggil metode IVdsVolumeMF::Format .

Metode ini gagal jika volume berisi satu atau beberapa bendera berikut:

  • VDS_VF_SYSTEM
  • VDS_VF_BOOT
  • VDS_VF_PAGEFILE
  • VDS_VF_HIBERNATION
  • VDS_VF_CRASHDUMP

Menentukan VDS_VF_HIDDEN atau VDS_VF_READONLY akan memaksa penghentian dan pemasangan ulang volume, kecuali bRevertOnCloseADALAH TRUE.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows Vista [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2003 [hanya aplikasi desktop]
Target Platform Windows
Header vds.h
Pustaka Uuid.lib

Lihat juga

IVdsAdvancedDisk::Clean

IVdsVolume

IVdsVolume::ClearFlags

VDS_VOLUME_FLAG