Bagikan melalui


Mengatur Tingkat Keamanan pada Koneksi WMI

Setelah Anda mengambil pointer ke proksi IWbemServices , Anda harus mengatur keamanan pada proksi untuk mengakses WMI melalui proksi. Anda harus mengatur keamanan karena proksi IWbemServices memberikan akses ke objek di luar proses. Secara umum, keamanan COM tidak mengizinkan satu proses untuk mengakses proses lain jika Anda tidak mengatur properti keamanan yang tepat. Untuk informasi selengkapnya, lihat Mengatur Keamanan di IWbemServices dan Proksi Lainnya. Koneksi ke sistem operasi yang berbeda memerlukan berbagai tingkat autentikasi dan peniruan identitas. Untuk informasi selengkapnya, lihat Menyambungkan ke WMI di Komputer Jarak Jauh.

Contoh kode dalam topik ini memerlukan referensi berikut dan pernyataan #include untuk dikompilasi dengan benar.

#define _WIN32_DCOM
#include <iostream>
using namespace std;
#include <wbemidl.h>
#pragma comment(lib, "wbemuuid.lib")

Prosedur berikut menjelaskan cara mengatur tingkat keamanan pada koneksi WMI.

Untuk mengatur tingkat keamanan pada koneksi WMI

  • Atur tingkat keamanan pada proksi IWbemServices dengan panggilan ke CoSetProxyBlanket.

    Contoh kode berikut menjelaskan cara umum untuk memanggil CoSetProxyBlanket.

        HRESULT hres;
        IWbemServices *pSvc = 0;
        IWbemLocator *pLoc = 0;
    
        // Set the proxy so that impersonation of the client occurs.
        hres = CoSetProxyBlanket(pSvc,
           RPC_C_AUTHN_WINNT,
           RPC_C_AUTHZ_NONE,
           NULL,
           RPC_C_AUTHN_LEVEL_CALL,
           RPC_C_IMP_LEVEL_IMPERSONATE,
           NULL,
           EOAC_NONE
        );
    
        if (FAILED(hres))
        {
            cout << "Could not set proxy blanket. Error code = 0x" 
                 << hex << hres << endl;
           pSvc->Release();
          pLoc->Release();     
            CoUninitialize();
            return hres;      // Program has failed.
        }
    

Setelah Anda mengatur tingkat keamanan untuk penunjuk IWbemServices Anda, Anda dapat mengakses berbagai kemampuan WMI. Setelah selesai menggunakan WMI, Anda harus mematikan aplikasi Anda. Untuk informasi selengkapnya, lihat Membersihkan dan Mematikan Aplikasi WMI.