23 const _bstr_t& DefParam,
24 const _bstr_t& AdvParam) :
48 static const _bstr_t XMLFileTag(
L"MSCONFIGTOOLFILE");
49 static const _bstr_t XMLToolsTag(
L"MSCONFIGTOOLS");
61 pXMLDom->get_documentElement(&pEl);
63 pEl->get_tagName(&tagName.GetBSTR());
65 if (tagName == XMLFileTag)
70 pIterator->get_nodeType(&
type);
75 pEl->get_tagName(&tagName.GetBSTR());
77 if (tagName == XMLToolsTag)
86 pIterator->get_nextSibling(&pTmp);
97 pIterator->get_nextSibling(&pTmp);
102 else if (tagName == XMLToolsTag)
111 pIterator->get_nextSibling(&pTmp);
159 _variant_t varLocID, varName, varPath,
160 varDefOpt, varAdvOpt, varHelp;
173 tool =
new TOOL(_bstr_t(varPath), _bstr_t(varDefOpt), _bstr_t(varAdvOpt));
174 AddItem(bIsStandard, _bstr_t(varName), _bstr_t(varHelp), tool);
206 size_t numOfChars = 0;
209 if (lpszCmdLine && *lpszCmdLine)
215 if (lpszParam && *lpszParam)
223 if (lpszParam && *lpszParam)
225 numOfChars +=
wcslen(lpszParam);
241 item.iItem = iSelectedItem;
246 size_t numOfChars = 0;
247 tool =
reinterpret_cast<TOOL*
>(
item.lParam);
304 bUseAdvParams =
TRUE;
306 bUseAdvParams =
FALSE;
387 delete reinterpret_cast<TOOL*
>(lvitem.lParam);
388 lvitem.lParam =
NULL;
#define IDS_TOOLS_COLUMN_DESCR
#define IDS_TOOLS_COLUMN_NAME
#define IDC_TOOLS_CMDLINE
BOOL ListView_SortEx(HWND hListView, int iSortingColumn, int iSortedColumn)
#define IDS_TOOLS_COLUMN_STANDARD
#define IDC_CBX_TOOLS_ADVOPT
DWORD RunCommand(IN LPCWSTR lpszCommand, IN LPCWSTR lpszParameters, IN INT nShowCmd)
BOOL MemFree(IN PVOID lpMem)
PVOID MemAlloc(IN DWORD dwFlags, IN SIZE_T dwBytes)
#define LoadResourceString(hInst, uID)
#define Button_IsEnabled(hwndCtl)
DWORD WINAPI ExpandEnvironmentStringsW(IN LPCWSTR lpSrc, IN LPWSTR lpDst, IN DWORD nSize)
GLuint GLuint GLsizei GLenum type
_CRTIMP size_t __cdecl wcslen(_In_z_ const wchar_t *_Str)
HRESULT QueryInterface([in] REFIID riid, [out, iid_is(riid)] void **ppvObject)
HRESULT getAttribute([in] BSTR name, [out, retval] VARIANT *value)
#define ListView_Sort(hListView, iSortingColumn)
#define PSN_QUERYINITIALFOCUS
#define PropSheet_UnChanged(d, w)
#define ListView_InsertItem(hwnd, pitem)
#define ListView_SetItemState(hwndLV, i, data, mask)
#define ListView_InsertColumn(hwnd, iCol, pcol)
#define ListView_DeleteColumn(hwnd, iCol)
#define ListView_GetNextItem(hwnd, i, flags)
#define LVS_EX_FULLROWSELECT
#define ListView_SetExtendedListViewStyle(hwndLV, dw)
#define ListView_GetSelectionMark(hwnd)
struct tagNMLISTVIEW * LPNMLISTVIEW
#define ListView_DeleteAllItems(hwnd)
#define ListView_SetItemText(hwndLV, i, iSubItem_, pszText_)
#define ListView_GetItem(hwnd, pitem)
#define ListView_EnsureVisible(hwndLV, i, fPartialOK)
#define ListView_GetExtendedListViewStyle(hwndLV)
_CRTIMP wchar_t *__cdecl _wcsupr(_Inout_z_ wchar_t *_String)
_CRTIMP wchar_t *__cdecl wcscat(_Inout_updates_z_(_String_length_(_Dest)+_String_length_(_Source)+1) wchar_t *_Dest, _In_z_ const wchar_t *_Source)
static void FillListView(void)
static size_t BuildCommandLine(LPWSTR lpszDest, LPCWSTR lpszCmdLine, LPCWSTR lpszParam, size_t bufSize)
static void Update_States(int iSelectedItem)
static HRESULT ParseToolsList(IXMLDOMDocument *pXMLDom, BOOL bIsStandard)
static int iToolsPageSortedColumn
INT_PTR CALLBACK ToolsPageWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
static HWND hToolsListCtrl
static BOOL RunSelectedTool(VOID)
static void AddTool(IXMLDOMElement *, BOOL)
HRESULT WINAPI SetWindowTheme(_In_ HWND hwnd, _In_ LPCWSTR pszSubAppName, _In_ LPCWSTR pszSubIdList)
#define Button_GetCheck(hwndCtl)
#define Button_Enable(hwndCtl, fEnable)
BOOL WINAPI ShowWindow(_In_ HWND, _In_ int)
int WINAPI MessageBoxW(_In_opt_ HWND hWnd, _In_opt_ LPCWSTR lpText, _In_opt_ LPCWSTR lpCaption, _In_ UINT uType)
HWND WINAPI GetDlgItem(_In_opt_ HWND, _In_ int)
HWND WINAPI GetParent(_In_ HWND)
#define MB_ICONINFORMATION
#define SendDlgItemMessage
enum tagDOMNodeType DOMNodeType
HRESULT InitXMLDOMParser(VOID)
BOOL LoadXMLDocumentFromResource(IXMLDOMDocument *pDoc, LPCWSTR lpszXMLResName)
BOOL LoadXMLDocumentFromFile(IXMLDOMDocument *pDoc, LPCWSTR lpszFilename, BOOL bIgnoreErrorsIfNonExistingFile)
HRESULT CreateAndInitXMLDOMDocument(IXMLDOMDocument **ppDoc)
#define IID_PPV_ARG(Itype, ppType)
void UninitXMLDOMParser(void)