fungsi CM_Query_And_Remove_SubTree_ExW (cfgmgr32.h)

[Dimulai dengan Windows 8 dan Windows Server 2012, fungsi ini tidak digunakan lagi. Silakan gunakan CM_Query_And_Remove_SubTree sebagai gantinya.]

Fungsi CM_Query_And_Remove_SubTree_Ex memeriksa apakah instans perangkat dan turunannya dapat dihapus dan, jika demikian, ia menghapusnya.

Sintaks

CMAPI CONFIGRET CM_Query_And_Remove_SubTree_ExW(
  [in]            DEVINST        dnAncestor,
  [out, optional] PPNP_VETO_TYPE pVetoType,
  [out, optional] LPWSTR         pszVetoName,
  [in]            ULONG          ulNameLength,
  [in]            ULONG          ulFlags,
  [in, optional]  HMACHINE       hMachine
);

Parameter

[in] dnAncestor

Pegangan instans perangkat yang disediakan penelepon ke perangkat di akar subtree yang akan dihapus. Handel instans perangkat ini terikat ke handel mesin yang disediakan oleh hMachine.

[out, optional] pVetoType

(Opsional) Jika pemanggil tidak melewati NULL dan permintaan penghapusan direnovasi (artinya, fungsi mengembalikan CR_REMOVE_VETOED), pada pengembalian ini menunjuk ke nilai yang diketik PNP_VETO_TYPE yang menunjukkan alasan veto.

[out, optional] pszVetoName

(Opsional) Jika pemanggil tidak melewati NULL dan permintaan penghapusan direnovasi (artinya, fungsi mengembalikan CR_REMOVE_VETOED), pada pengembalian ini menunjuk ke string teks yang terkait dengan jenis veto. Jenis informasi yang disediakan string ini tergantung pada nilai yang diterima oleh pVetoType. Untuk informasi tentang string ini, lihat PNP_VETO_TYPE.

[in] ulNameLength

(Opsional.) Nilai yang disediakan penelepon mewakili panjang (jumlah karakter) buffer string yang disediakan oleh pszVetoName. Ini harus diatur ke MAX_PATH.

[in] ulFlags

Bitwise ATAU konstanta bendera yang disediakan pemanggil yang dijelaskan di bagian Keterangan .

[in, optional] hMachine

Handel mesin yang disediakan penelepon di mana handel instans perangkat yang disediakan pemanggil terikat.

Catatan Menggunakan fungsi ini untuk mengakses komputer jarak jauh tidak didukung dimulai dengan Windows 8 dan Windows Server 2012, karena fungsi ini telah dihapus.
 

Menampilkan nilai

Jika operasi berhasil, fungsi akan mengembalikan CR_SUCCESS. Jika tidak, ia mengembalikan salah satu kode kesalahan awalan CR_ yang ditentukan dalam Cfgmgr32.h.

Keterangan

Tujuan dari fungsi CM_Query_And_Remove_SubTree_Ex adalah untuk memungkinkan aplikasi menyiapkan perangkat untuk penghapusan yang aman dari komputer jarak jauh. Gunakan fungsi ini untuk menghapus perangkat hanya jika driver belum mengatur anggota SurpriseRemovalOKdari DEVICE_CAPABILITIES. Jika driver telah mengatur SurpriseRemovalOK, aplikasi harus memanggil CM_Request_Device_Eject_Ex alih-alih CM_Query_And_Remove_SubTree_Ex.

CM_Query_And_Remove_SubTree_Ex mendukung pengaturan parameter bendera ulFlags dengan salah satu dari dua bendera berikut; bendera ini hanya berlaku jika Windows atau alat penginstal melakukan veto penghapusan perangkat:

Dimulai dengan Windows XP, CM_Query_And_Remove_SubTree_Ex juga mendukung pengaturan bendera tambahan berikut; bendera ini hanya berlaku jika fungsi berhasil menghapus instans perangkat:

Aplikasi penginstalan perangkat yang tidak memerlukan operasi tingkat rendah CM_Query_And_Remove_SubTree_Ex harus menggunakan permintaan DIF_PROPERTYCHANGE untuk menonaktifkan perangkat alih-alih menggunakan CM_Query_And_Remove_SubTree_Ex untuk menghapus perangkat. Permintaan DIF_PROPERTYCHANGE dapat digunakan untuk mengaktifkan, menonaktifkan, menghidupkan ulang, menghentikan, atau mengubah properti perangkat.

Pemanggil fungsi ini harus memiliki SeLoadDriverPrivilege. (Hak istimewa dijelaskan dalam dokumentasi Microsoft Windows SDK.)

Untuk informasi tentang menggunakan handel instans perangkat yang terikat ke komputer lokal atau jarak jauh, lihat CM_Get_Child_Ex.

Fungsionalitas untuk mengakses komputer jarak jauh telah dihapus di Windows 8 dan Windows Server 2012 dan sistem operasi yang lebih baru sehingga Anda tidak dapat mengakses komputer jarak jauh saat berjalan pada versi Windows ini.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Tersedia di Microsoft Windows 2000 dan versi Windows yang lebih baru.
Target Platform Desktop
Header cfgmgr32.h (termasuk Cfgmgr32.h)
Pustaka Cfgmgr32.lib

Lihat juga

CM_Get_Child_Ex

CM_Query_And_Remove_SubTree

CM_Reenumerate_DevNode

CM_Request_Device_Eject_Ex

CM_Setup_DevNode

DIF_PROPERTYCHANGE