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 |
---|---|
|
Bendera diatur. |
|
Penyedia tidak mendukung bendera volume VDS_VF_LBN REMAP_ENABLED . |
|
Penyedia tidak mendukung bendera volume VDS_VF_NO DRIVELETTER . |
|
bRevertOnClose hanya boleh diatur ke true jika bendera volume VDS_VF_HIDDEN atau VDS_VF_READONLY diatur. |
|
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.
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 |