Sign in to follow this  
wind_addict

Windows XP firewall retrieving its policy in C++

Recommended Posts

wind_addict    122
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.
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);


Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this