#include "vshimdb.h" extern CHAR szProcessHistoryVar[]; extern CHAR szCompatLayerVar []; extern CHAR szShimFileLogVar []; extern BOOL CheckAppHelpInfo(PTD pTD,PSZ szFileName,PSZ szModName); // // stuff in wshimdb.c // LPWSTR WOWForgeUnicodeEnvironment( PSZ pEnvironment, // this task's santitized environment PWOWENVDATA pEnvData // parent-made environment data ); NTSTATUS WOWFreeUnicodeEnvironment( LPVOID lpEnvironment ); BOOL CreateWowChildEnvInformation( PSZ pszEnvParent ); BOOL WOWInheritEnvironment( PTD pTD, // this TD PTD pTDParent, // parent TD LPCWSTR pwszLayers, // new layers var LPCSTR pszFileName // exe filename ); NTSTATUS WOWSetEnvironmentVar_Oem( LPVOID* ppEnvironment, PUNICODE_STRING pustrVarName, // pre-made (cheap) PSZ pszVarValue ); NTSTATUS WOWSetEnvironmentVar_U( LPVOID* ppEnvironment, WCHAR* pwszVarName, WCHAR* pwszVarValue ); PTD GetParentTD( HAND16 hTask ); PSZ GetTaskEnvptr( HAND16 hTask ); // // stuff in wkman.c // extern HAND16 ghShellTDB; // WOWEXEC TDB extern PTD gptdTaskHead; // Linked List of TDs extern PWORD16 pCurTDB; // Pointer to KDATA variables DWORD WOWGetEnvironmentSize(PSZ pszEnv, LPDWORD pStrCount); PSZ WOWFindEnvironmentVar(PSZ pszName, PSZ pszEnv, PSZ* ppszVal); PFLAGINFOBITS CheckFlagInfo(DWORD FlagType,DWORD dwFlag); PFLAGINFOBITS InitFlagInfo(PVOID pvFlagInfo,DWORD FlagType,DWORD dwFlag); VOID FreeFlagInfo(PFLAGINFOBITS pFlagInfoBits);