Hi there, I am trying to retrieve the current state of the Windows XP firewall in my program. I can do it fine for the local firewall settings, however I don't know how to retrieve it when the PC is in a domain with a GPO setting for it.
Here is a snippet of my code: I can determine when the firewall profile is of type NET_FW_PROFILE_DOMAIN, but how do I retrieve it? in MSDN I can only see a method to retrieve the local one.
Code:HRESULT CFirewall::WindowsFirewallInitialize(OUT INetFwProfile **fwProfile) *fwProfile = NULL; NET_FW_PROFILE_TYPE fwPType; // Create an instance of the firewall settings manager. hr = CoCreateInstance(__uuidof(NetFwMgr), NULL, CLSCTX_INPROC_SERVER, __uuidof(INetFwMgr), (void **)&fwMgr); if(FAILED(hr)) ShowError("CoCreate Instance failed.", hr); hr = fwMgr->get_CurrentProfileType(&fwPType); //if(fwPType == NET_FW_PROFILE_DOMAIN) //domain type get its settings // Retrieve the current firewall policy. Local or Domain hr = fwMgr->get_LocalPolicy(&fwPolicy); //this will retrieve the local policy only, how do I get the Domain based profile instead? if(FAILED(hr)) ShowError("Get local policy failed.", hr); // Retrieve the firewall profile currently in effect. hr = fwPolicy->GetProfileByType(fwPType, fwProfile); if(FAILED(hr)) ShowError("Get current profile failed.", hr);