//---------------------------------------------------------------------------- // // Microsoft Windows // Copyright (C) Microsoft Corporation, 2001. // // File: stdafx.h // // Contents: WiF Policy Snapin // // // History: TaroonM // 10/30/01 // //---------------------------------------------------------------------------- // stdafx.h : include file for standard system include files, // or project specific include files that are used frequently, // but are changed infrequently #include #include #include #include #include #include #include //#include // We depend on this pretty heavily for cross module communication #include #include #include //You may derive a class from CComModule and use it if you want to override //something, but do not change the name of _Module extern CComModule _Module; #include #pragma comment(lib, "mmc") #include #include "afxtempl.h" /* * Define/include the stuff we need for WTL::CImageList. We need prototypes * for IsolationAwareImageList_Read and IsolationAwareImageList_Write here * because commctrl.h only declares them if __IStream_INTERFACE_DEFINED__ * is defined. __IStream_INTERFACE_DEFINED__ is defined by objidl.h, which * we can't include before including afx.h because it ends up including * windows.h, which afx.h expects to include itself. Ugh. */ HIMAGELIST WINAPI IsolationAwareImageList_Read(LPSTREAM pstm); BOOL WINAPI IsolationAwareImageList_Write(HIMAGELIST himl,LPSTREAM pstm); #define _WTL_NO_AUTOMATIC_NAMESPACE #include #include "atlapp.h" #include "atlctrls.h" #include #include "resource.h" #include "winsock2.h" #include "helpids.h" #include "helparr.h" extern "C" { #include "wlstore2.h" }; #include #include "gpedit.h" // gpe interface for extending GPO //for wmi stuff begin #include #include #include #include #include #include #include #include //for wmi stuff end #define SECURITY_WIN32 #include #include "policycf.h" #include "snputils.h" ///////////////////////////////////////////////////////////////////////////// // Helper functions template inline void SAFE_RELEASE(TYPE*& pObj) { if (pObj != NULL) { pObj->Release(); pObj = NULL; } else { TRACE(_T("Release called on NULL interface ptr\n")); } } // TODO: remove CLSID_Extension code -- as we are not an extenstion extern const CLSID CLSID_Snapin; // In-Proc server GUID extern const wchar_t* cszSnapin; extern const CLSID CLSID_Extension; // In-Proc server GUID extern const wchar_t* cszSnapin_ext; extern const CLSID CLSID_WIRELESSClientEx; extern const CLSID CLSID_About; extern const wchar_t *cszAbout; // OBJECT TYPE for Scope Nodes. // "IP Security Management" static folder NodeType GUID in numeric & string formats. extern const GUID cNodeTypeWirelessMan; extern const wchar_t* cszNodeTypeWirelessMan; // OBJECT TYPE for result items. // "Negotiation Policy" result NodeType GUID in numeric & string formats. extern const GUID cObjectTypeSecPolRes; extern const wchar_t* cszObjectTypeSecPolRes; // GPT guid extern const GUID cGPEguid; // Published context information for extensions to extend extern const wchar_t* SNAPIN_WORKSTATION; // the default folder images location in IDB_16x16 and IDB_32x32 #define FOLDER_IMAGE_IDX 0 #define OPEN_FOLDER_IMAGE_IDX 1 #define SECPOLICY_IMAGE_IDX 7 #define ENABLEDSECPOLICY_IMAGE_IDX 9 #define OPENSECPOLICY_IMAGE_IDX 8 #define NEGOTIATION_IMAGE_IDX 4 #define NEGOTIATIONLINK_IMAGE_IDX 5 #define NEGOTIATIONLINKOPEN_IMAGE_IDX 6 #define FILTER_IMAGE_IDX 2 #define FILTERLINK_IMAGE_IDX 3 // some helper defines #define SAFE_ENABLEWINDOW(dlgID, bEnable) \ { \ CWnd* pWnd = 0; \ pWnd = GetDlgItem (dlgID); \ ASSERT (pWnd); \ if (pWnd) \ { \ pWnd->EnableWindow (bEnable); \ } \ } #define SAFE_SHOWWINDOW(dlgID, nCmdShow ) \ { \ CWnd* pWnd = 0; \ pWnd = GetDlgItem (dlgID); \ ASSERT (pWnd); \ if (pWnd) \ { \ pWnd->ShowWindow (nCmdShow ); \ } \ } inline CString ResourcedString (UINT nStringID) { CString strTemp; strTemp.LoadString (nStringID); return strTemp; } // helper functions and macros shared between directories wlsnp. #include "ipsutil.h" #define CONFIGUREITEM(TmItem, TstrName, TstrStatusBarText, TlCommandID, TlInsertionPointID, TfFlags, TfSpecialFlags) \ { \ TmItem.strName = TstrName.GetBuffer(20); \ TmItem.strStatusBarText = TstrStatusBarText.GetBuffer(20); \ TmItem.lCommandID = TlCommandID; \ TmItem.lInsertionPointID = TlInsertionPointID; \ TmItem.fFlags = TfFlags; \ TmItem.fSpecialFlags = TfSpecialFlags; \ } // Debug instance counter #ifdef _DEBUG inline void DbgInstanceRemaining(char * pszClassName, int cInstRem) { char buf[100]; wsprintfA(buf, "%s has %d instances left over.", pszClassName, cInstRem); ::MessageBoxA(NULL, buf, "WIRELESS: Memory Leak!!!", MB_OK); } #define DEBUG_DECLARE_INSTANCE_COUNTER(cls) extern int s_cInst_##cls = 0; #define DEBUG_INCREMENT_INSTANCE_COUNTER(cls) ++(s_cInst_##cls); #define DEBUG_DECREMENT_INSTANCE_COUNTER(cls) --(s_cInst_##cls); #define DEBUG_VERIFY_INSTANCE_COUNT(cls) \ extern int s_cInst_##cls; \ if (s_cInst_##cls) DbgInstanceRemaining(#cls, s_cInst_##cls); #ifdef DO_TRACE #define OPT_TRACE TRACE // optional trace on #else #define OPT_TRACE #endif //#ifdef DO_TRACE #else #define DEBUG_DECLARE_INSTANCE_COUNTER(cls) #define DEBUG_INCREMENT_INSTANCE_COUNTER(cls) #define DEBUG_DECREMENT_INSTANCE_COUNTER(cls) #define DEBUG_VERIFY_INSTANCE_COUNT(cls) #define OPT_TRACE #endif #include "ccompdta.h" #include "ccomp.h" #include "DataObj.h" #include "snapin.h" #include "snpobj.h" #include "snpdata.h" #include "spolitem.h" #include "mngrfldr.h" #include "snppage.h" #include "wiz97pg.h" #include "nfabpage.h" //#include "warnDlg.h" #define BAIL_ON_WIN32_ERROR(dwError) \ if (dwError) {\ goto error; \ } #define BAIL_ON_FAILURE(hr) \ if (FAILED(hr)) {\ goto error; \ } #define DELETE_OBJECT(pObject) \ if (pObject) \ { \ delete(pObject); \ pObject=NULL; \ }