11 class CLASS_DECL_ACME shell
18 static shell theWindowsShell;
20 static bool Initialize();
98 HANDLE (WINAPI * m_pfnFindFirstFile)(
const wide_character * pcsz, WIN32_FIND_DATAW * lpdata);
99 BOOL (WINAPI * m_pfnFindNextFile)(HANDLE handle, WIN32_FIND_DATAW * lpdata);
100 BOOL (WINAPI * m_pfnMoveFile)(
const wide_character * lpExistingFileName,
const wide_character * lpNewFileName);
101 WCHAR * (__cdecl * m_pfn_fullpath)(WCHAR *UserBuf,
const WCHAR *path,
size_t maxlen);
102 ::u32 (WINAPI * m_pfnGetFullPathName)(
const wide_character * lpFileName, ::u32 nBufferLength, wide_character * lpBuffer, wide_character * * lpFilePart);
103 BOOL (WINAPI * m_pfnGetVolumeInformation)(
104 const wide_character * lpRootPathName,
105 wide_character * lpVolumeNameBuffer,
106 ::u32 nVolumeNameSize,
107 LPDWORD lpVolumeSerialNumber,
108 LPDWORD lpMaximumComponentLength,
109 LPDWORD lpFileSystemFlags,
110 wide_character * lpFileSystemNameBuffer,
111 ::u32 nFileSystemNameSize);
119 BOOL (WINAPI * m_pfnGetStringTypeEx)(
122 const wide_character * lpSrcStr,
125 ::u32 (WINAPI * m_pfnGetTempPath)(
127 wide_character * lpBuffer);
128 ::u32 (WINAPI * m_pfnGetTempFileName)(
129 const wide_character * lpPathName,
130 const wide_character * lpPrefixString,
132 wide_character * lpTempFileName);
133 HANDLE (WINAPI * m_pfnCreateFile)(
134 const wide_character * lpFileName,
135 ::u32 dwDesiredAccess,
137 LPSECURITY_ATTRIBUTES lpSecurityAttributes,
138 ::u32 dwCreationDisposition,
139 ::u32 dwFlagsAndAttributes,
143 ::u32 (WINAPI * m_pfnGetModuleFileName)(
145 wide_character * lpFilename,
157 oswindow (WINAPI * m_pfnCreateWindowEx)(
159 const wide_character * lpClassName,
160 const wide_character * lpWindowName,
180 static HANDLE FindFirstFile(
const wide_character * pcsz, WIN32_FIND_DATAW * lpdata);
181 static bool WINAPI FindNextFile(HANDLE handle, WIN32_FIND_DATAW * lpdata);
182 static bool MoveFile(
const wide_character * lpExistingFileName,
const wide_character * lpNewFileName);
183 static WCHAR * __cdecl _fullpath(WCHAR *UserBuf,
const WCHAR *path,
size_t maxlen);
184 static ::u32 GetFullPathName(
const wide_character * lpFileName, ::u32 nBufferLength, wide_character * lpBuffer, wide_character * * lpFilePart);
185 static bool GetVolumeInformation(
186 const wide_character * lpRootPathName,
187 wide_character * lpVolumeNameBuffer,
188 ::u32 nVolumeNameSize,
189 LPDWORD lpVolumeSerialNumber,
190 LPDWORD lpMaximumComponentLength,
191 LPDWORD lpFileSystemFlags,
192 wide_character * lpFileSystemNameBuffer,
193 ::u32 nFileSystemNameSize);
203 static bool GetStringTypeEx(
206 const_char_pointer lpSrcStr,
210 static ::u32 GetTempPathW(
212 wide_character * lpBuffer);
214 static ::u32 GetTempFileNameW(
215 const wide_character * lpPathName,
216 const wide_character * lpPrefixString,
218 wide_character * lpTempFileName);
220 static HANDLE CreateFile(
221 const wide_character * lpFileName,
222 ::u32 dwDesiredAccess,
224 LPSECURITY_ATTRIBUTES lpSecurityAttributes,
225 ::u32 dwCreationDisposition,
226 ::u32 dwFlagsAndAttributes,
227 HANDLE hTemplateFile);
229 static ::u32 WINAPI GetModuleFileName(
231 wide_character * lpFilename,
246 static oswindow WINAPI CreateWindowEx(
248 const wide_character * lpClassName,
249 const wide_character * lpWindowName,
270 static ::u32 GetTempPath(
string & str);
272 static ::u32 GetTempFileName(
273 const_char_pointer lpPathName,
274 const_char_pointer lpPrefixString,
278 static bool MoveFile(const_char_pointer lpExistingFileName, const_char_pointer lpNewFileName);