Fungsi IoWMIExecuteMethod (wdm.h)
Rutinitas IoWMIExecuteMethod menjalankan metode kelas WMI pada instans blok data WMI yang ditentukan.
Sintaks
NTSTATUS IoWMIExecuteMethod(
[in] PVOID DataBlockObject,
[in] PUNICODE_STRING InstanceName,
[in] ULONG MethodId,
[in] ULONG InBufferSize,
[in, out] PULONG OutBufferSize,
[in, out] PUCHAR InOutBuffer
);
Parameter
[in] DataBlockObject
Penunjuk ke objek blok data WMI. Pemanggil membuka objek blok data untuk kelas WMI dengan IoWMIOpenBlock. Objek harus dibuka dengan hak akses WMIGUID_EXECUTE.
[in] InstanceName
Menentukan nama instans blok data. Nilai ini sesuai dengan nilai properti InstanceName untuk blok.
[in] MethodId
Menentukan ID item metode untuk metode yang akan ditetapkan. Nilai parameter ini sesuai dengan nilai yang dideklarasikan dalam kualifikasi WmiMethodId untuk metode .
[in] InBufferSize
Menentukan ukuran, dalam byte, data input untuk metode . Data input aktual diteruskan dalam buffer yang diarahkan oleh parameter InOutBuffer .
[in, out] OutBufferSize
Penunjuk ke ULONG yang menentukan ukuran yang diharapkan, byte, dari output data dengan metode . Data output aktual dikembalikan dalam buffer yang diacu oleh parameter InOutBuffer . Jika rutinitas berhasil, ia memperbarui lokasi memori untuk menentukan jumlah byte yang benar-benar disimpan di InOutBuffer. Jika rutinitas gagal dengan STATUS_BUFFER_TOO_SMALL, itu mengembalikan jumlah byte yang diperlukan untuk mengembalikan data.
[in, out] InOutBuffer
Arahkan ke buffer tempat pemanggil meneruskan data input metode WMI, dan menerima data output metode WMI.
Nilai kembali
Rutinitas mengembalikan kode NTSTATUS. Kemungkinan nilai yang dikembalikan meliputi:
Menampilkan kode | Deskripsi |
---|---|
|
Operasi berhasil. Rutinitas mengembalikan data WMI dalam buffer yang diacu oleh parameter InOutBuffer . Rutinitas juga mengembalikan ukuran, dalam byte, dari data yang dikembalikan di lokasi memori yang ditujukkan oleh parameter OutBufferSize . |
|
Tidak ada driver yang mengimplementasikan kelas WMI. |
|
Tidak ada driver yang mengimplementasikan instans kelas WMI dengan properti InstanceName yang sama dengan nilai yang ditentukan dalam parameter InstanceName . |
|
Kelas WMI tidak berisi metode dengan ID metode yang sama dengan nilai MethodId. |
|
Buffer yang diteruskan oleh pemanggil di parameter OutBuffer terlalu kecil. Rutinitas mengembalikan ukuran buffer yang diperlukan di lokasi memori yang ditunjukkan oleh parameter InOutBufferSize . |
|
GUID WMI tidak lagi tersedia atau tidak pernah tersedia. |
Keterangan
IoWMIExecuteMethod menentukan driver mana yang mungkin mendukung kelas WMI dan nama instans yang ditentukan. Ini mengeluarkan permintaan IRP_MN_EXECUTE_METHOD untuk setiap driver tersebut. Driver yang mengekspor instans blok data dengan properti InstanceName yang cocok kemudian menjalankan metode WMI yang ditentukan.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Tersedia di Windows XP dan versi yang lebih baru dari sistem operasi Windows. |
Target Platform | Universal |
Header | wdm.h (termasuk Wdm.h, Ntddk.h, Ntifs.h) |
Pustaka | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |
Lihat juga
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