Sdílet prostřednictvím


Nastavení úrovní zabezpečení u připojení rozhraní WMI

Po načtení ukazatele na IWbemServices proxy musíte nastavit zabezpečení na proxy serveru pro přístup k rozhraní WMI prostřednictvím proxy serveru. Zabezpečení musíte nastavit, protože IWbemServices proxy uděluje přístup k objektu mimo proces. Obecně platí, že zabezpečení modelu COM neumožňuje, aby jeden proces přistupoval k jinému procesu, pokud nenastavíte správné vlastnosti zabezpečení. Další informace naleznete v tématu Nastavení zabezpečení pro služby IWbemServices a další proxy servery. Připojení k různým operačním systémům vyžadují různé úrovně ověřování a zosobnění. Další informace naleznete v tématu Připojení k rozhraní WMI na vzdáleném počítači.

Příklady kódu v tomto tématu vyžadují ke správné kompilaci následující odkazy a příkazy #include.

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

Následující postup popisuje, jak nastavit úrovně zabezpečení připojení rozhraní WMI.

Nastavení úrovní zabezpečení pro připojení rozhraní WMI

  • Nastavte úrovně zabezpečení pro proxy IWbemServices pomocí volání funkce CoSetProxyBlanket.

    Následující příklad kódu popisuje běžný způsob volání 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.
        }
    

Po nastavení úrovní zabezpečení pro ukazatel IWbemServices můžete získat přístup k různým funkcím rozhraní WMI. Po dokončení používání rozhraní WMI je nutné aplikaci vypnout. Další informace naleznete v tématu Čištění a vypnutí aplikace rozhraní WMI.