Membuat Koneksi ke Namespace WMI
Setelah Anda mengatur panggilan standar ke COM, Anda kemudian harus terhubung ke WMI melalui panggilan ke metode IWbemLocator::ConnectServer . Metode ConnectServer mengembalikan proksi antarmuka IWbemServices . Melalui IWbemServices, Anda dapat mengakses berbagai kemampuan WMI.
Contoh kode dalam topik ini memerlukan referensi berikut dan pernyataan #include untuk dikompilasi dengan benar.
#define _WIN32_DCOM
#include <iostream>
using namespace std;
#include <windows.h>
#include <wbemidl.h>
#pragma comment(lib, "wbemuuid.lib")
Prosedur berikut menjelaskan cara membuat koneksi ke namespace WMI.
Untuk membuat koneksi ke namespace WMI
Inisialisasi antarmuka IWbemLocator melalui panggilan ke CoCreateInstance.
WMI tidak mengharuskan Anda melakukan prosedur tambahan saat memanggil CoCreateInstance di IWbemLocator.
Contoh kode berikut menjelaskan cara menginisialisasi IWbemLocator.
IWbemLocator *pLoc = 0; HRESULT hr; hr = CoCreateInstance(CLSID_WbemLocator, 0, CLSCTX_INPROC_SERVER, IID_IWbemLocator, (LPVOID *) &pLoc); if (FAILED(hr)) { cout << "Failed to create IWbemLocator object. Err code = 0x" << hex << hr << endl; CoUninitialize(); return hr; // Program has failed. }
Sambungkan ke WMI melalui panggilan ke metode IWbemLocator::ConnectServer .
Metode ConnectServer mengembalikan proksi ke antarmuka IWbemServices yang menggunakan untuk mengakses namespace WMI lokal atau jarak jauh yang ditentukan dalam panggilan Anda ke ConnectServer.
Contoh kode berikut menjelaskan cara memanggil ConnectServer.
IWbemServices *pSvc = 0; // Connect to the root\default namespace with the current user. hr = pLoc->ConnectServer( BSTR(L"ROOT\\DEFAULT"), //namespace NULL, // User name NULL, // User password 0, // Locale NULL, // Security flags 0, // Authority 0, // Context object &pSvc); // IWbemServices proxy if (FAILED(hr)) { cout << "Could not connect. Error code = 0x" << hex << hr << endl; pLoc->Release(); CoUninitialize(); return hr; // Program has failed. } cout << "Connected to WMI" << endl;
Setelah Anda menerima pointer ke proksi IWbemServices , Anda harus mengatur keamanan pada proksi untuk mengakses WMI. Untuk informasi selengkapnya, lihat Mengatur Tingkat Keamanan pada Koneksi WMI.
Topik terkait
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