Bagikan melalui


Metode IVdsVdProvider::CreateVDisk (vds.h)

[Dimulai dengan Windows 8 dan Windows Server 2012, antarmuka COM Layanan Disk Virtual digantikan oleh API Manajemen Penyimpanan Windows.]

Membuat disk virtual.

Sintaks

HRESULT CreateVDisk(
  [in]  PVIRTUAL_STORAGE_TYPE        VirtualDeviceType,
  [in]  LPWSTR                       pPath,
  [in]  LPWSTR                       pStringSecurityDescriptor,
  [in]  CREATE_VIRTUAL_DISK_FLAG     Flags,
  [in]  ULONG                        ProviderSpecificFlags,
  [in]  ULONG                        Reserved,
  [in]  PVDS_CREATE_VDISK_PARAMETERS pCreateDiskParameters,
  [out] IVdsAsync                    **ppAsync
);

Parameter

[in] VirtualDeviceType

Penunjuk ke struktur VIRTUAL_STORAGE_TYPE yang menentukan jenis disk virtual yang akan dibuat.

[in] pPath

String karakter lebar yang dihentikan NULL yang berisi nama dan jalur direktori untuk file cadangan yang akan dibuat untuk disk virtual.

[in] pStringSecurityDescriptor

String karakter lebar yang dihentikan NULL yang berisi deskriptor keamanan yang akan diterapkan ke disk virtual. Jika parameter ini NULL, deskriptor keamanan dalam token akses penelepon akan digunakan.

[in] Flags

Bitmask dari nilai enumerasi CREATE_VIRTUAL_DISK_FLAG yang menentukan bagaimana disk virtual akan dibuat.

Nilai Makna
CREATE_VIRTUAL_DISK_FLAG_NONE
0x00000000
Tidak ada bendera yang ditentukan.
CREATE_VIRTUAL_DISK_FLAG_FULL_PHYSICAL_ALLOCATION
0x00000001
Pra-alokasikan semua ruang fisik yang diperlukan untuk ukuran virtual disk virtual. Bendera ini hanya berlaku untuk disk virtual ukuran tetap.

[in] ProviderSpecificFlags

Bitmask bendera yang khusus untuk jenis disk virtual yang sedang dibuat. Bendera ini khusus penyedia. Untuk penyedia disk virtual Microsoft, parameter ini harus nol.

[in] Reserved

Parameter dicadangkan dan harus nol.

[in] pCreateDiskParameters

Penunjuk ke struktur VDS_CREATE_VDISK_PARAMETERS yang berisi parameter pembuatan disk virtual.

[out] ppAsync

Penunjuk ke antarmuka IVdsAsync yang setelah berhasil diselesaikan menerima antarmuka IVdsAsync untuk memantau dan mengontrol operasi ini. Penelepon harus merilis antarmuka yang diterima ketika mereka selesai dengannya. Jika metode IVdsAsync::Wait dipanggil pada antarmuka dan nilai HRESULT yang berhasil dikembalikan, antarmuka yang dikembalikan dalam struktur VDS_ASYNC_OUTPUT harus dirilis dengan memanggil metode IUnknown::Release pada setiap penunjuk antarmuka. Namun, jika Wait mengembalikan nilai HRESULT yang gagal, atau jika parameter pHrResultWait menerima nilai HRESULT yang gagal, penunjuk antarmuka dalam struktur VDS_ASYNC_OUTPUTadalah NULL dan tidak perlu dirilis. Anda dapat menguji keberhasilan atau kegagalan nilai HRESULT dengan menggunakan makro BERHASIL dan GAGAL yang ditentukan dalam Winerror.h.

Nilai kembali

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. Nilai yang mungkin dikembalikan termasuk yang berikut ini.

Menampilkan kode Deskripsi
S_OK
Metode berhasil diselesaikan.

Keterangan

Aplikasi harus menginisialisasi keamanan di seluruh proses dengan memanggil fungsi CoInitializeSecurity . Parameter dwImpLevel harus diatur ke RPC_C_IMP_LEVEL_IMPERSONATE.

Windows Server 2008, Windows Vista, dan Windows Server 2003: Tindakan ini tidak diperlukan sampai Windows 7 dan Windows Server 2008 R2.

Jika disk virtual dengan nama file yang ditentukan tidak ada, disk tersebut akan dibuat. Jika disk virtual sudah ada, penyedia disk virtual mengembalikan penunjuk antarmuka ke objek disk virtual yang ada tanpa membuat ulang file.

Persyaratan

   
Klien minimum yang didukung Windows 7 [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2008 R2 [hanya aplikasi desktop]
Target Platform Windows
Header vds.h
Pustaka Uuid.lib

Lihat juga

IVdsVdProvider