Metode IVdsLun::AssociateControllers (vdshwprv.h)

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

Mengatur pengontrol subsistem ke aktif atau tidak aktif sehubungan dengan LUN.

Sintaks

HRESULT AssociateControllers(
  [in] VDS_OBJECT_ID *pActiveControllerIdArray,
  [in] LONG          lNumberOfActiveControllers,
  [in] VDS_OBJECT_ID *pInactiveControllerIdArray,
  [in] LONG          lNumberOfInactiveControllers
);

Parameter

[in] pActiveControllerIdArray

Pointer ke array GUID pengontrol. Penyedia mengatur pengontrol ini ke aktif. Array ini mencakup pengontrol yang sudah diatur ke aktif yang akan tetap demikian.

[in] lNumberOfActiveControllers

Jumlah pengontrol yang ditentukan dalam parameter pActiveControllerArray .

[in] pInactiveControllerIdArray

Pointer ke array GUID pengontrol. Penyedia mengatur pengontrol ini menjadi tidak aktif. Array ini mencakup pengontrol yang sudah diatur ke tidak aktif yang akan tetap demikian.

[in] lNumberOfInactiveControllers

Jumlah pengontrol yang ditentukan dalam parameter pInactiveControllerIdArray .

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
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
Satu atau beberapa GUID yang ditentukan dalam array aktif atau tidak aktif tidak merujuk ke objek yang ada.
VDS_E_NOT_SUPPORTED
0x80042400L
Operasi atau kombinasi parameter ini tidak didukung oleh penyedia ini.

Keterangan

Pemanggil harus menyertakan setiap pengontrol subsistem di salah satu parameter pActiveControllerIdArray atau parameter pInactiveControllerIdArray untuk setiap panggilan metode. Komposisi parameter pActiveControllerIdArray dan pInactiveControllerIdArray dapat berbeda untuk setiap LUN subsistem. Sebagian besar subsistem hanya mengimplementasikan satu pengontrol aktif, tetapi beberapa memungkinkan beberapa pengontrol aktif.

Catatan Nilai pengembalian E_INVALIDARG dapat menunjukkan bahwa pemanggil tidak menentukan semua pengontrol dalam subsistem. Metode AssociateControllers mengharuskan semua pengontrol dalam subsistem ada di salah satu dari dua array yang disediakan.
 
Gunakan metode IVdsLun::QueryActiveControllers untuk mengkueri asosiasi pengontrol. Gunakan metode IVdsController::QueryAssociatedLuns untuk mengkueri LUN yang terkait dengan pengontrol tertentu.

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

IVdsController::QueryAssociatedLuns

IVdsHwProvider::Hitung ulang

IVdsHwProvider::Refresh

IVdsLun

IVdsLun::QueryActiveControllers