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:

  1. Tentukan metode mana yang dipanggil klien dengan memeriksa parameter bstrMethodName .
  2. 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.

  3. 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.

Untuk informasi selengkapnya, lihat IWbemServices::ExecMethod.

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