Bagikan melalui


IVdsLun::Extend method (vds.h)

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

Memperluas LUN dengan jumlah byte tertentu.

Sintaks

HRESULT Extend(
  [in]  ULONGLONG     ullNumberOfBytesToAdd,
  [in]  VDS_OBJECT_ID *pDriveIdArray,
  [in]  LONG          lNumberOfDrives,
  [out] IVdsAsync     **ppAsync
);

Parameter

[in] ullNumberOfBytesToAdd

Jumlah byte untuk memperluas LUN. Jumlah byte tidak diperlukan untuk menjadi kelipatan blok atau ukuran sektor drive. Penyedia dapat membulatkan jumlah byte ke atas atau ke bawah untuk memenuhi persyaratan penyelarasan atau batasan lainnya. Dalam kebanyakan kasus, penyedia membulatkan ke atas, memastikan bahwa, dengan pengecualian langka, LUN diperpanjang setidaknya dengan jumlah byte yang diminta.

[in] pDriveIdArray

Pointer ke array GUID drive. Penyedia menggunakan drive ini untuk memperluas LUN. Drive digunakan dalam urutan yang ditentukan; penyedia menggunakan semua jangkauan pada satu drive sebelum beralih ke drive berikutnya dan berhenti ketika LUN telah diperpanjang oleh jumlah byte yang diminta.

Atau, penelepon dapat mengarahkan penyedia untuk memilih drive secara otomatis dengan meneruskan NULL dalam parameter ini dan nol dalam parameter lNumberOfDrives . Perhatikan bahwa melewati NULL hanya valid jika parameter lNumberOfDrives adalah nol.

[in] lNumberOfDrives

Jumlah drive yang ditentukan dalam parameter pDriveIdArray . Jika penelepon melewati nol, penyedia akan memilih drive.

[out] ppAsync

Alamat penunjuk antarmuka IVdsAsync , yang diinisialisasi VDS saat dikembalikan. Penelepon harus merilis antarmuka. Gunakan antarmuka ini untuk membatalkan, menunggu, atau mengkueri status operasi.

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

Mengembalikan kode/nilai Deskripsi
VDS_E_PROVIDER_CACHE_CORRUPT
0x8004241FL
Nilai pengembalian ini menandakan masalah perangkat lunak atau komunikasi di dalam penyedia yang menyimpan informasi tentang array. Gunakan metode IVdsHwProvider::Reenumerate diikuti dengan metode IVdsHwProvider::Refresh untuk memulihkan cache.
VDS_E_OBJECT_DELETED
0x8004240BL
Objek LUN tidak lagi ada.
VDS_E_OBJECT_STATUS_FAILED
0x80042431L
LUN dalam status gagal dan tidak dapat melakukan operasi yang diminta.
VDS_E_ANOTHER_CALL_IN_PROGRESS
0x80042404L
Operasi lain sedang berlangsung; operasi ini tidak dapat dilanjutkan sampai operasi atau operasi sebelumnya selesai.
VDS_E_OBJECT_NOT_FOUND
0x80042405L
Dapat dikembalikan dari metode apa pun yang mengambil konstanta VDS_OBJECT_ID . Nilai pengembalian ini menunjukkan bahwa pengidentifikasi tidak merujuk ke objek yang ada.
VDS_E_NOT_SUPPORTED
0x80042400L
Operasi atau kombinasi parameter ini tidak didukung oleh penyedia ini.
VDS_E_NOT_ENOUGH_SPACE
0x8004240FL
Tidak cukup ruang yang dapat digunakan untuk operasi ini.
VDS_E_NOT_ENOUGH_DRIVE
0x80042410L
Tidak cukup drive gratis yang ada di subsistem untuk menyelesaikan operasi ini.

Keterangan

Penelepon dapat menentukan daftar drive yang akan digunakan penyedia untuk memperluas LUN, atau mengarahkan penyedia untuk memilih drive secara otomatis.

Setelah LUN diperluas, pemanggil harus menggunakan kode kontrol IOCTL_DISK_UPDATE_PROPERTIES untuk membuat ukuran disk yang diperbarui terlihat di komputer tempat LUN dilepaskan kemasannya.

Pelaksana harus mengembalikan penunjuk ke antarmuka IVdsAsync untuk metode ini, terlepas dari apakah panggilan memulai operasi asinkron.

Jika parameter ullNumberOfBytesToAdd lebih besar dari jumlah byte yang tersedia pada drive yang ditentukan dalam parameter pDriveIdArray , gunakan drive yang ditentukan terlebih dahulu lalu pilih dari drive lain apa pun yang tersedia. Jika tidak ada cukup drive tersebut untuk memperpanjang LUN dengan jumlah byte yang diminta, kembalikan kesalahan dan jangan perpanjang LUN.

Persyaratan

   
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

IVdsAsync

IVdsHwProvider::Hitung ulang

IVdsHwProvider::Refresh

IVdsLun

IVdsLun::Shrink

IVdsSubSystem::CreateLun