Penyedia::ExecMethod(constCInstance&,constBSTR,CInstance*,CInstance*,long) metode (provider.h)
[Kelas Penyedia adalah bagian dari Kerangka Kerja Penyedia WMI yang sekarang dipertimbangkan dalam status akhir, dan tidak ada pengembangan, peningkatan, atau pembaruan lebih lanjut yang akan tersedia untuk masalah terkait non-keamanan yang memengaruhi pustaka ini. API MI harus digunakan untuk semua pengembangan baru.]
Metode ExecMethod dipanggil oleh WMI untuk memanggil metode pada kelas atau instans.
Sintaks
HRESULT ExecMethod(
[ref] const CInstance & cInstance,
const BSTR bstrMethodName,
CInstance *pInParams,
CInstance *pOutParams,
long lFlags
);
Parameter
[ref] cInstance
Properti utama instans yang dimaksud jika klien memanggil metode instans. Jika klien memanggil metode statis, Instans berisi objek kelas.
bstrMethodName
Nama metode yang dipanggil.
pInParams
Arahkan ke parameter input metode.
pOutParams
Arahkan ke parameter output metode.
lFlags
Bitmask bendera dengan informasi tentang operasi metode eksekusi. Ini adalah nilai yang ditentukan oleh klien dalam metode IWbemServices::ExecMethod . Beberapa klien menggunakan parameter lFlags . Anda dapat mengabaikan lFlags dengan aman di sebagian besar implementasi penyedia.
Bendera berikut ditangani oleh (dan difilter) oleh WMI:
- WBEM_FLAG_RETURN_IMMEDIATELY
Nilai kembali
Implementasi penyedia kerangka kerja default dari metode ini mengembalikan WBEM_E_PROVIDER_NOT_CAPABLE ke metode panggilan. Metode IWbemServices::ExecMethod mencantumkan nilai pengembalian yang paling umum, meskipun Anda dapat memilih untuk mengembalikan kode pengembalian COM apa pun.
Nilai yang dikembalikan untuk metode mungkin salah satu dari dua jenis:
- HRESULT digunakan untuk menunjukkan kesalahan jenis WMI: WBEM_E_OUT_OF_MEMORY, WBEM_E_NOT_FOUND, dan sebagainya.
- Nilai yang dikembalikan dari metode (seperti uint32) mengembalikan hasil dari metode .
Keterangan
WMI memanggil ExecMethod ketika klien memanggil IWbemServices::ExecMethod terhadap kelas Anda. Oleh karena itu, Anda harus menerapkan ExecMethod jika penyedia Anda mendukung satu atau beberapa metode. Daftar berikut menjelaskan implementasi umum ExecMethod:
- Tentukan metode mana yang dipanggil klien dengan memeriksa parameter bstrMethodName .
-
Ambil parameter input dari parameter pInParams , menggunakan metode Get dari kelas CInstance , seperti CInstance::GetCHString.
Metode mungkin memiliki parameter input, parameter output, parameter input dan output, atau tidak ada parameter input atau output.
-
Atur parameter output dalam parameter pOutParams , menggunakan metode Set dari kelas CInstance , seperti CInstance::SetByte atau CInstance::SetStringArray.
Selain mendeklarasikan properti [out] seperti yang ditentukan dalam deklarasi pengembalian, Anda juga harus mendeklarasikan nilai pengembalian untuk metode , seperti yang didefinisikan dalam properti ReturnValue . Anda tidak perlu mendeklarasikan nilai yang dikembalikan jika nilai yang dikembalikan batal.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows Vista |
Server minimum yang didukung | Windows Server 2008 |
Target Platform | Windows |
Header | provider.h (termasuk FwCommon.h) |
Pustaka | FrameDyn.lib |
DLL | FrameDynOS.dll; FrameDyn.dll |
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk