178 lines
6.2 KiB
C
178 lines
6.2 KiB
C
//+----------------------------------------------------------------------------
|
|
//
|
|
// File: profwiz.h
|
|
//
|
|
// Module: CMAK.EXE
|
|
//
|
|
// Synopsis: Main include file for CMAK
|
|
//
|
|
// Copyright (c) 1996-1999 Microsoft Corporation
|
|
//
|
|
// Author: quintinb Created 08/06/98
|
|
//
|
|
//+----------------------------------------------------------------------------
|
|
#ifndef _CMAK_H
|
|
#define _CMAK_H
|
|
|
|
//
|
|
// System Includes
|
|
//
|
|
#include <windows.h> // includes basic windows functionality
|
|
#include <commdlg.h>
|
|
#include "commctrl.h"
|
|
#include <cderr.h>
|
|
#include <shellapi.h>
|
|
#include <objbase.h>
|
|
#include <string.h> // includes the string functions
|
|
#include <prsht.h> // includes the property sheet functionality
|
|
#include <stdio.h>
|
|
#include <mbstring.h>
|
|
#include <tchar.h>
|
|
#include <htmlhelp.h>
|
|
|
|
#include <ras.h>
|
|
#include <raseapif.h>
|
|
|
|
//
|
|
// Constants for CMAK return Codes
|
|
//
|
|
const int CMAK_RETURN_ERROR = -1;
|
|
const int CMAK_RETURN_SUCCESS = 1;
|
|
const int CMAK_RETURN_CANCEL = 0;
|
|
const DWORD MAX_LONG_SERVICE_NAME_LENGTH = 63;
|
|
const DWORD MAX_SHORT_SERVICE_NAME_LENGTH = 8;
|
|
const TCHAR* const c_pszCmakOpsChm = TEXT("cmak_ops.chm");
|
|
|
|
//
|
|
// Types
|
|
//
|
|
|
|
typedef struct IconMenuStruct {
|
|
TCHAR szName[MAX_PATH+1];
|
|
TCHAR szProgram[MAX_PATH+1];
|
|
TCHAR szParams[MAX_PATH+1];
|
|
struct IconMenuStruct * next;
|
|
BOOL bDoCopy;
|
|
}IconMenu;
|
|
|
|
typedef struct ExtraDataStruct {
|
|
TCHAR szName[MAX_PATH+1];
|
|
TCHAR szPathname[MAX_PATH+1];
|
|
}ExtraData;
|
|
|
|
typedef struct RenameDataStruct {
|
|
TCHAR szShortName[MAX_PATH+1];
|
|
TCHAR szLongName[MAX_PATH+1];
|
|
}RenameData;
|
|
|
|
typedef struct ListBxStruct {
|
|
TCHAR szName[MAX_PATH+1];
|
|
void * ListBxData;
|
|
struct ListBxStruct * next;
|
|
}ListBxList;
|
|
|
|
//
|
|
// Our includes
|
|
//
|
|
#include "util.h"
|
|
#include "customaction.h" // Custom action List class
|
|
#include "netsettings.h" // network (DUN) settings functions
|
|
#include "listview.h" // code to help with the custom action list view control
|
|
#include "resource.h" // includes the definitions for the resources
|
|
|
|
#include "base_str.h"
|
|
#include "dl_str.h"
|
|
#include "mgr_str.h"
|
|
#include "pbk_str.h"
|
|
#include "mon_str.h"
|
|
#include "stp_str.h"
|
|
#include "inf_str.h"
|
|
#include "tunl_str.h"
|
|
#include "profile_str.h"
|
|
#include "conact_str.h"
|
|
#include "dun_str.h"
|
|
#include "reg_str.h"
|
|
#include "ver_str.h"
|
|
#include "wiz_str.h"
|
|
#include "pwd_str.h"
|
|
|
|
#include "cmdebug.h"
|
|
#include "cmsetup.h"
|
|
#include "cmakui.h" // HELP context IDs for the HTML help topics.
|
|
#include "bmpimage.h"
|
|
#include "cmakreg.h"
|
|
|
|
//
|
|
// Function Headers
|
|
//
|
|
DWORD RegisterBitmapClass(HINSTANCE hInst);
|
|
void QS_WritePrivateProfileString(LPCTSTR pszSection, LPCTSTR pszItem, LPTSTR entry, LPCTSTR inifile);
|
|
BOOL ReferencedDownLoad(void); // function to tell if referenced profiles contain download info
|
|
void CopyNonLocalProfile(LPCTSTR pszName, LPCTSTR pszExistingProfileDir);
|
|
void GetFileName(LPCTSTR lpPath,LPTSTR lpFileName);
|
|
LPTSTR GetName(LPCTSTR lpPath); // get filename and return in static string
|
|
BOOL GetShortFileName(LPTSTR lpFile,LPTSTR lpShortName);
|
|
BOOL WriteCopy(HANDLE hInf, LPTSTR lpFile, BOOL bWriteShortName);
|
|
BOOL WriteInfLine(HANDLE hInf,LPTSTR lpFile);
|
|
BOOL WriteSrcInfLine(HANDLE hInf,LPTSTR lpFile);
|
|
BOOL WriteSED(HWND hDlg, LPTSTR szFullFilePath, LPINT pFileNum, LPCTSTR szSed);
|
|
BOOL createListBxRecord(ListBxList ** HeadPtrListBx,ListBxList ** TailPtrListBx,void * pDnsData, DWORD dwSize, LPCTSTR lpName);
|
|
void DeleteListBxRecord(ListBxList ** HeadPtrListBx,ListBxList ** TailPtrListBx, LPTSTR lpName);
|
|
|
|
BOOL IsFile8dot3(LPTSTR pszFileName);
|
|
LRESULT GetTextFromControl(IN HWND hDlg, IN int nCtrlId, OUT LPTSTR pszCharBuffer, IN DWORD dwCharInBuffer, BOOL bDisplayError);
|
|
BOOL VerifyFile(HWND hDlg, DWORD ctrlID, LPTSTR lpFile, BOOL ShowErr);
|
|
|
|
void RefreshComboList(HWND hwndDlg, ListBxList * HeadPtr);
|
|
int DoBrowse(HWND hDlg, UINT* pFilterArray, LPTSTR* pMaskArray, UINT uNumFilters, int IDC_EDIT, LPCTSTR lpDefExt, LPTSTR lpFile);
|
|
BOOL GetLangFromInfTemplate(LPCTSTR szFullInfPath, OUT LPTSTR pszLanguageDisplayName, IN int iCharsInBuffer);
|
|
BOOL CreateMergedProfile(void);
|
|
void FreeList(ListBxList ** pHeadPtr, ListBxList ** pTailPtr);
|
|
void CheckNameChange(LPTSTR lpold, LPTSTR lpnew);
|
|
BOOL FindListItemByName(LPTSTR lpName, ListBxList * pHeadOfList, ListBxList** pFoundItem);
|
|
void RefreshList(HWND hwndDlg, UINT uCrtlId, ListBxList * HeadPtr);
|
|
BOOL WriteInf(HANDLE hInf,LPCTSTR str);
|
|
void FreeIconMenu();
|
|
BOOL ReadIconMenu(LPCTSTR pszCmsFile, LPCTSTR pszProfilesDir);
|
|
|
|
BOOL SetWindowLongWrapper(HWND hWnd, int nIndex, LONG dwNewLong);
|
|
BOOL CopyFileWrapper(LPCTSTR lpExistingFileName, LPCTSTR lpNewFileName, BOOL bFailIfExists);
|
|
BOOL CheckDiskSpaceForCompression (LPCTSTR szSedFile);
|
|
int GetFilePath(LPCTSTR lpFullPath, LPTSTR lpPath);
|
|
|
|
BOOL GetIconMenuItem(LPTSTR lpName,IconMenu * EditItem);
|
|
void ClearCmakGlobals(void);
|
|
BOOL RenameSection(LPCTSTR szCurrentSectionName, LPCTSTR szNewSectionName, LPCTSTR szFile);
|
|
BOOL WriteRegStringValue(HKEY hBaseKey, LPCTSTR pszKeyName, LPCTSTR pszValueName, LPCTSTR pszValueToWrite);
|
|
int ShowMessage(HWND hDlg, UINT strID, UINT mbtype);
|
|
INT_PTR APIENTRY ProcessCustomActionPopup(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
|
|
INT_PTR CreateWizard(HWND);
|
|
void FillInPropertyPage(PROPSHEETPAGE* , int, DLGPROC);
|
|
INT_PTR APIENTRY ProcessHelp(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam, DWORD_PTR dwHelpId);
|
|
void SetDefaultGUIFont(HWND hDlg, UINT message, int ctlID);
|
|
BOOL FindSwitchInString(LPCTSTR pszStringToSearch, LPCTSTR pszSwitchToFind, BOOL bReturnNextToken, LPTSTR pszToken);
|
|
HRESULT BuildCustomActionParamString(LPTSTR* aArrayOfStrings, UINT uCountOfStrings, LPTSTR* ppszParamsOutput);
|
|
LPTSTR GetPrivateProfileStringWithAlloc(LPCTSTR pszSection, LPCTSTR pszKey, LPCTSTR pszDefault, LPCTSTR pszFile);
|
|
int GetCurrentEditControlTextAlloc(HWND hEditText, LPTSTR* ppszText);
|
|
BOOL BuildProfileExecutable(HWND hDlg);
|
|
BOOL RemoveBracketsFromSectionString(LPTSTR *ppszSection);
|
|
|
|
//
|
|
// Routines written to upgrade an inf. Called from CopyToTempDir
|
|
//
|
|
|
|
int GetInfVersion(LPTSTR szFullPathToInfFile);
|
|
BOOL UpgradeInf(LPCTSTR szRenamedInfFile, LPCTSTR szFullPathToInfFile);
|
|
BOOL WriteInfVersion(LPTSTR szFullPathToInfFile, int iVersion = PROFILEVERSION);
|
|
|
|
//
|
|
// externs
|
|
//
|
|
extern CustomActionList* g_pCustomActionList;
|
|
extern HINSTANCE g_hInstance;
|
|
extern TCHAR g_szAppTitle[MAX_PATH+1];
|
|
extern TCHAR g_szOsdir[MAX_PATH+1];
|
|
|
|
#endif //_CMAK_H
|
|
|