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.
|
|
struct PER_USER_PATH { LPWSTR wszFile; LPWSTR wszPerUserFile; LPSTR szFile; LPSTR szPerUserFile; DWORD cFileLen; // Length of the file name in symbols
BOOL bInitANSIFailed; // Indicates that path name is not
// translatable to ANSI
BOOL bWildCardUsed; // TRUE if file name has * in it.
LPSTR szPerUserDir; // Per-user directory for a file
LPWSTR wszPerUserDir; // Per-user directory for a file
DWORD cPerUserDirLen;
PER_USER_PATH(): wszFile(NULL), wszPerUserDir(NULL), szFile(NULL), szPerUserDir(NULL), cFileLen(0), bInitANSIFailed(FALSE), bWildCardUsed(FALSE), wszPerUserFile(NULL), szPerUserFile(NULL), cPerUserDirLen(0) { } ~PER_USER_PATH() { if (wszFile) { LocalFree(wszFile); } if (wszPerUserDir) { LocalFree(wszPerUserDir); } if (szFile) { LocalFree(szFile); } if (szPerUserDir) { LocalFree(szPerUserDir); } if (szPerUserFile) { LocalFree(szPerUserFile); }
if (wszPerUserFile) { LocalFree(wszPerUserFile); }
}
DWORD Init(IN HKEY hKey, IN DWORD dwIndex); LPCSTR PathForFileA(IN LPCSTR szInFile, IN DWORD dwInLen); LPCWSTR PathForFileW(IN LPCWSTR wszInFile, IN DWORD dwInLen); private: BOOL InitANSI(); };
class CPerUserPaths { private: PER_USER_PATH* m_pPaths; DWORD m_cPaths; public: CPerUserPaths(); ~CPerUserPaths(); BOOL Init(); LPCSTR GetPerUserPathA(IN LPCSTR lpFileName); LPCWSTR GetPerUserPathW(IN LPCWSTR lpFileName); private: BOOL IsAppCompatOn(); };
|