Membuat Objek Parameter di C++
Metode IWbemServices::ExecMethod atau ExecMethodAsync memerlukan kelas sistem __PARAMETERS sebagai kontainer di pInParams jika metode yang mereka jalankan memiliki argumen input.
Prosedur berikut menjelaskan cara membuat instans kelas sistem __PARAMETERS untuk menyimpan informasi parameter.
Untuk membuat instans __PARAMETERS
Tentukan jalur kelas untuk kelas yang berisi definisi metode.
Menggunakan jalur kelas dan pointer IWbemServices yang diteruskan dari IWbemProviderInit::Initialize, panggil IWbemClassObject::GetMethod untuk mengambil kelas parameter input dan output.
Metode GetMethod mengembalikan pointer IWbemClassObject untuk mengakses masing-masing kelas ini.
Dengan menggunakan pointer IWbemClassObject untuk kelas output, panggil IWbemClassObject::SpawnInstance untuk membuat instans kelas .
Isi instans kelas dengan mengatur properti yang sesuai dengan nilai output dan, jika ada nilai pengembalian untuk metode , properti ReturnValue .
Teruskan instans __PARAMETERS kembali ke pemanggil melalui metode IWbemObjectSink::Indicate .
Setelah penyedia metode menentukan bahwa parameter input sudah benar, metode yang diarahkan oleh strMethodName mungkin masih lolos atau gagal. Beberapa penyedia metode menghasilkan utas kedua untuk mengimplementasikan metode sehingga keberhasilan atau kegagalan aktual metode akhirnya dilaporkan ke pemanggil melalui IWbemObjectSink::SetStatus. Perhatikan bahwa IWbemObjectSink::SetStatus tidak menerima kode pengembalian metode penyedia. Namun, ia menerima kode pengembalian mekanisme pengembalian panggilan aktual, dan hanya berguna untuk memverifikasi bahwa panggilan terjadi atau gagal karena alasan mekanis.
Topik terkait