LPSTR lpBuffer
);
+BOOL
+STDCALL
+NeedCurrentDirectoryForExePathA(
+ LPCSTR ExeName
+ );
+
WINBOOL
STDCALL
GetDiskFreeSpaceA(
#define GetWindowsDirectory GetWindowsDirectoryW
#define SetCurrentDirectory SetCurrentDirectoryW
#define GetCurrentDirectory GetCurrentDirectoryW
+#define NeedCurrentDirectoryForExePath NeedCurrentDirectoryForExePathW
#define GetDiskFreeSpace GetDiskFreeSpaceW
#define GetDiskFreeSpaceEx GetDiskFreeSpaceExW
#define CreateDirectory CreateDirectoryW
#define GetWindowsDirectory GetWindowsDirectoryA
#define SetCurrentDirectory SetCurrentDirectoryA
#define GetCurrentDirectory GetCurrentDirectoryA
+#define NeedCurrentDirectoryForExePath NeedCurrentDirectoryForExePathA
#define GetDiskFreeSpace GetDiskFreeSpaceA
#define GetDiskFreeSpaceEx GetDiskFreeSpaceExA
#define CreateDirectory CreateDirectoryA
LPWSTR lpBuffer
);
+BOOL
+STDCALL
+NeedCurrentDirectoryForExePathW(
+ LPCWSTR ExeName
+ );
+
WINBOOL
STDCALL
GetDiskFreeSpaceW(
return Ret;
}
+
+/*
+ * @unimplemented
+ */
+BOOL STDCALL
+NeedCurrentDirectoryForExePathW(LPCWSTR ExeName)
+{
+ DPRINT1("NeedCurrentDirectoryForExePathW(0x%x) not implemented!\n", ExeName);
+ SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
+ return FALSE;
+}
+
+
+/*
+ * @implemented
+ */
+BOOL STDCALL
+NeedCurrentDirectoryForExePathA(LPCSTR ExeName)
+{
+ ANSI_STRING ExeNameA;
+ UNICODE_STRING ExeNameU;
+ BOOL Ret;
+
+ RtlInitAnsiString(&ExeNameA, ExeName);
+ if(bIsFileApiAnsi)
+ {
+ RtlAnsiStringToUnicodeString(&ExeNameU, &ExeNameA, TRUE);
+ }
+ else
+ {
+ RtlOemStringToUnicodeString(&ExeNameU, &ExeNameA, TRUE);
+ }
+
+ Ret = NeedCurrentDirectoryForExePathW(ExeNameU.Buffer);
+
+ RtlFreeUnicodeString(&ExeNameU);
+
+ return Ret;
+}
+
/* EOF */
MoveFileWithProgressW@20
MulDiv@12
MultiByteToWideChar@24
+NeedCurrentDirectoryForExePathA@4
+NeedCurrentDirectoryForExePathW@4
NlsConvertIntegerToString@20
;NlsGetCacheUpdateCount
;NlsResetProcessLocale