Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

74 lines
2.5 KiB

#define REGSTR_SHELLFOLDERS TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\User Shell Folders")
#define REGSTR_CURRENTVERSION TEXT("SOFTWARE\\Microsoft\\Windows\\CurrentVersion")
#define RUNKEY TEXT("Run")
#define RUNONCEKEY TEXT("RunOnce")
#define RUNSERVICESKEY TEXT("RunServices")
#define RUNSERVICESONCEKEY TEXT("RunServicesOnce")
#define HELPIDSIZE 10
#define MAXRUNSTR 300
#define MAXENVPATHLEN 300
#define INPTYPE_FOLDER 0x0007
#define INPTYPE_INIFILE 0x0038
#define INPTYPE_REGISTRY 0x03C0
#define RESET_FLAG 0xFFFF
#define FOLDER 101
#define INIFILE 102
#define REGISTRY 103
#define WININISTR "WIN.INI, Run/Load="
#define REGRUNSTR "REGISTRY: Run"
#define REGRUNSERVICESSTR "REGISTRY: RunServices"
#define REGRUNONCESTR "REGISTRY: RunOnce"
#define REGRUNSERVICESONCESTR "REGISTRY: RunServicesOnce"
typedef struct tnode
{
HANDLE hDirHandle;
struct tnode *lpSrchDirNext;
} HSEARCHDIR, *LPHSEARCHDIR;
typedef struct
{
DWORD dwWalkFlags;
DWORD dwCurrentFlag;
LPHSEARCHDIR lpSrchDirListHead;
LPHSEARCHDIR lpSrchDirListTail;
LPTSTR lpszIniString;
LPTSTR lpszNextFile;
LPTSTR lpszFolder;
} WALKHEADER, *LPWALKHEADER;
INT GetFileHandle(LPLINKINFO lpLnkInfo, LPWALKHEADER lpWalk, LPTSTR lpPath, size_t pathBufSize);
ERR GetLnkInfo(LPWALKHEADER lpWalk, LPLINKINFO lpLnkInfo, LPTSTR lpPath);
ERR ResolveLnk(LPCTSTR pszShortcutFile, LPTSTR lpszLnkPath, LPWIN32_FIND_DATA lpwfdExeData, LPTSTR tszArgs);
ERR AddToList(HANDLE hDir, LPWALKHEADER lpWalk);
ERR RemoveFromList(LPWALKHEADER lpWalk);
ERR GetExeVersion(LPLINKINFO lpLnkInfo);
void SetLnkInfo(LPLINKINFO lpLinkInfo);
BOOL CheckFileExists(LPTSTR szFullName, LPVOID ftLAD);
INT GetInputType(LPWALKHEADER lpWalk);
ERR GetFolder(LPTSTR lpszFolder, size_t folderBufSize, LPWALKHEADER lpWalk);
ERR GetIniString(LPWALKHEADER lpWalk, LPLINKINFO lpLnkInfo);
ERR GetRegistryString(LPWALKHEADER lpWalk, LPLINKINFO lpLnkInfo);
ERR GetNextFileFromString(LPWALKHEADER lpWalk, LPLINKINFO lpLnkInfo);
BOOL GetFileLAD(LPLINKINFO lpLnkInfo);
BOOL InSkipList(LPTSTR lpszFileName);
void GetDrivePath(LPTSTR lpszExePath, LPTSTR lpszDrPath, size_t drPathSize);
DWORD ReverseDWord(DWORD dwIn);
#ifdef _DEBUG
#define FAILMEMA TRUE
#define FAILMEMF TRUE
HGLOBAL MyGlobalAlloc(BOOL FAILMEM, DWORD dwBytes);
HGLOBAL MyGlobalFree(HGLOBAL hGlobal, BOOL FAILMEM);
INT g_MemAlloced = 0;
#endif