CM_Request_Device_EjectA (cfgmgr32.h)

Fungsi CM_Request_Device_Eject menyiapkan instans perangkat lokal untuk penghapusan yang aman, jika perangkat dapat dilepas. Jika perangkat dapat dikeluarkan secara fisik, itu akan menjadi.

Sintaks

CMAPI CONFIGRET CM_Request_Device_EjectA(
  [in]            DEVINST        dnDevInst,
  [out, optional] PPNP_VETO_TYPE pVetoType,
  [out, optional] LPSTR          pszVetoName,
  [in]            ULONG          ulNameLength,
  [in]            ULONG          ulFlags
);

Parameter

[in] dnDevInst

Handel instans perangkat yang disediakan penelepon yang terikat ke komputer lokal.

[out, optional] pVetoType

(Opsional.) Jika bukan NULL, ini menunjuk ke lokasi yang, jika permintaan penghapusan gagal, menerima nilai yang ditik PNP_VETO_TYPE yang menunjukkan alasan kegagalan tersebut.

[out, optional] pszVetoName

(Opsional.) Jika bukan NULL, ini adalah penunjuk yang disediakan penelepon ke buffer string yang menerima string teks. 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 buffer string yang disediakan oleh pszVetoName. Ini harus diatur ke MAX_PATH.

[in] ulFlags

Tidak digunakan.

Mengembalikan 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

Jika pszVetoNameadalah NULL, manajer PnP menampilkan pesan kepada pengguna yang menunjukkan perangkat telah dihapus atau, jika permintaan gagal, mengidentifikasi alasan kegagalan tersebut. Jika pszVetoName bukan NULL, manajer PnP tidak menampilkan pesan. (Perhatikan, bagaimanapun, bahwa hanya untuk Microsoft Windows 2000, manajer PnP menampilkan pesan bahkan jika pszVetoName tidak NULL, jika kemampuan CM_DEVCAP_DOCKDEVICE perangkat diatur.)

Pemanggil CM_Request_Device_Eject terkadang memerlukan SeUndockPrivilege atau SeLoadDriverPrivilege, sebagai berikut:

  • Jika kemampuan CM_DEVCAP_DOCKDEVICE perangkat diatur (perangkat adalah perangkat "dock"), pemanggil harus memiliki SeUndockPrivilege. (SeLoadDriverPrivilege tidak diperlukan.)
  • Jika kemampuan CM_DEVCAP_DOCKDEVICE perangkat tidak diatur (perangkat bukan perangkat "dock"), dan jika proses panggilan tidak interaktif atau berjalan di lingkungan multi-pengguna dalam sesi yang tidak terpasang ke konsol fisik (seperti sesi Layanan Terminal jarak jauh), 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, lihat CM_Get_Child.

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
CM_Query_And_Remove_SubTree
CM_Query_And_Remove_SubTree_Ex
CM_Request_Device_Eject_Ex