Bagikan melalui


Metode IVdsDrive::QueryExtents (vdshwprv.h)

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

Mengembalikan array sejauh mana pada drive, termasuk tingkat yang dialokasikan dan tidak dialokasikan.

Sintaks

HRESULT QueryExtents(
  [out] VDS_DRIVE_EXTENT **ppExtentArray,
  [out] LONG             *plNumberOfExtents
);

Parameter

[out] ppExtentArray

Penunjuk ke array struktur VDS_DRIVE_EXTENT diteruskan oleh pemanggil. Penelepon harus membebaskan array ini dengan menggunakan fungsi CoTaskMemFree .

[out] plNumberOfExtents

Penunjuk ke jumlah tingkat drive yang dikembalikan dalam struktur VDS_DRIVE_EXTENT .

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

Mengembalikan kode/nilai Deskripsi
S_OK
Informasi jangkauan berhasil dikembalikan. Untuk drive tanpa batasan, array kosong, nilai plNumberOfExtents diatur ke 0, dan nilai ppExtentArray diatur ke NULL.
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 drive tidak ada lagi.
VDS_E_OBJECT_STATUS_FAILED
0x80042431L
Drive 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_NOT_SUPPORTED
0x80042400L
Subsistem tidak mendukung metode ini.

Keterangan

Drive dapat berkontribusi hingga sejumlah LUN, dan LUN ini dapat dilepaskan ke sejumlah komputer yang berbeda di jaringan. Gunakan metode IVdsLunPlex::QueryExtents untuk melihat semua tingkat pleks LUN.

Anggota LunId dari setiap struktur VDS_DRIVE_EXTENT menentukan GUID untuk LUN yang masing-masing dialokasikan berkontribusi. Akibatnya, Anda dapat menggunakan hasil metode ini untuk menentukan jumlah LUN yang dikontribusikan drive dengan menghitung jumlah nilai LunId berbeda yang dikembalikan dalam ppExtentArray.

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 vdshwprv.h
Pustaka Uuid.lib

Lihat juga

IVdsDrive

IVdsHwProvider::Hitung ulang

IVdsHwProvider::Refresh

IVdsLunPlex::QueryExtents

VDS_DRIVE_EXTENT