Name Description Size
COM.h ////////////////////////////////// // GUID <--> String Conversions UString GUIDToStringW(REFGUID guid); AString GUIDToStringA(REFGUID guid); #ifdef UNICODE #define GUIDToString GUIDToStringW #else #define GUIDToString GUIDToStringA #endif HRESULT StringToGUIDW(const wchar_t *string, GUID &classID); HRESULT StringToGUIDA(const char *string, GUID &classID); #ifdef UNICODE #define StringToGUID StringToGUIDW #else #define StringToGUID StringToGUIDA #endif 1395
CommonDialog.cpp if (lpstrFilter == NULL && nFilterIndex == 0) MSDN : "the system doesn't show any files", but WinXP-64 shows all files. Why ??? 4511
CommonDialog.h 543
Control
Defs.h 503
DLL.cpp 1833
DLL.h Win32: Don't call CLibrary::Free() and FreeLibrary() from another FreeLibrary() code: detaching code in DLL entry-point or in destructors of global objects in DLL module. 1310
ErrorMsg.cpp 1449
ErrorMsg.h 227
FileDir.cpp if (::CreateHardLink(fs2fas(newFileName), fs2fas(existFileName), NULL)) return true; 16122
FileDir.h Some programs store posix attributes in high 16 bits of windows attributes field. Also some programs use additional flag markers: 0x8000 or 0x4000. SetFileAttrib_PosixHighDetect() tries to detect posix field, and it extracts only attribute bits that are related to current system only. 2953
FileFind.cpp #ifdef UNDER_CE fi.ObjectID = fd.dwOID; #else fi.ReparseTag = fd.dwReserved0; #endif 19034
FileFind.h #ifdef UNDER_CE DWORD ObjectID; #else UINT32 ReparseTag; #endif 4545
FileIO.cpp WinXP-64 CreateFile(): "" - ERROR_PATH_NOT_FOUND :stream - OK .:stream - ERROR_PATH_NOT_FOUND .\:stream - OK folder\:stream - ERROR_INVALID_NAME folder:stream - OK c:\:stream - OK c::stream - ERROR_INVALID_NAME, if current dir is NOT ROOT ( c:\dir1 ) c::stream - OK, if current dir is ROOT ( c:\ ) 12076
FileIO.h 6778
FileLink.cpp Reparse Points (Junctions and Symbolic Links): struct { UInt32 Tag; UInt16 Size; // not including starting 8 bytes UInt16 Reserved; // = 0 UInt16 SubstituteOffset; // offset in bytes from start of namesChars UInt16 SubstituteLen; // size in bytes, it doesn't include tailed NUL UInt16 PrintOffset; // offset in bytes from start of namesChars UInt16 PrintLen; // size in bytes, it doesn't include tailed NUL [UInt32] Flags; // for Symbolic Links only. UInt16 namesChars[] } MOUNT_POINT (Junction point): 1) there is NUL wchar after path 2) Default Order in table: Substitute Path Print Path 3) pathnames can not contain dot directory names SYMLINK: 1) there is no NUL wchar after path 2) Default Order in table: Print Path Substitute Path 10185
FileMapping.cpp 153
FileMapping.h 1592
FileName.cpp // actually we don't know the way to open device file in WinCE. unsigned len = MyStringLen(s); if (len < 5 || len > 5 || !IsString1PrefixedByString2(s, "DSK")) return false; if (s[4] != ':') return false; // for reading use SG_REQ sg; if (DeviceIoControl(dsk, IOCTL_DISK_READ)); 20545
FileName.h name: 3824
FileSystem.cpp 3878
FileSystem.h 595
Handle.h 655
MemoryLock.cpp We suppose that Window 10 works incorrectly with "Large Pages" at: - Windows 10 1703 (15063) - Windows 10 1709 (16299) 2623
MemoryLock.h Probably we do not to set any Privilege for junction points. But we need them for Symbolic links 950
NtCheck.h 961
PropVariant.cpp if (s.IsEmpty()) this = L""; else 7603
PropVariant.h 3409
PropVariantConv.cpp { unsigned val = st.wMilliseconds; s[2] = (char)('0' + val % 10); val /= 10; s[1] = (char)('0' + val % 10); s[0] = (char)('0' + val / 10); s += 3; } s++ = ' '; 4348
PropVariantConv.h 1288
Registry.cpp LONG CKey::SetValue(LPCTSTR name, const CSysString &value) { MYASSERT(value != NULL); MYASSERT(_object != NULL); return RegSetValueEx(_object, name, NULL, REG_SZ, (const BYTE *)(const TCHAR *)value, (value.Len() + 1) * sizeof(TCHAR)); } 10036
Registry.h 2567
ResourceString.cpp 2087
ResourceString.h 346
SecurityUtils.cpp bool MyLookupAccountSid(LPCTSTR systemName, PSID sid, CSysString &accountName, CSysString &domainName, PSID_NAME_USE sidNameUse) { DWORD accountNameSize = 0, domainNameSize = 0; if (!::LookupAccountSid(systemName, sid, accountName.GetBuf(0), &accountNameSize, domainName.GetBuf(0), &domainNameSize, sidNameUse)) { if (::GetLastError() != ERROR_INSUFFICIENT_BUFFER) return false; } DWORD accountNameSize2 = accountNameSize, domainNameSize2 = domainNameSize; bool result = BOOLToBool(::LookupAccountSid(systemName, sid, accountName.GetBuf(accountNameSize), &accountNameSize2, domainName.GetBuf(domainNameSize), &domainNameSize2, sidNameUse)); accountName.ReleaseBuf_CalcLen(accountNameSize); domainName.ReleaseBuf_CalcLen(domainNameSize); return result; } 5077
SecurityUtils.h bool OpenThreadToken(HANDLE threadHandle, DWORD desiredAccess, bool openAsSelf) { Close(); return BOOLToBool(::OpenTreadToken(threadHandle, desiredAccess, BoolToBOOL(anOpenAsSelf), &_handle)); } 5074
Shell.cpp CItemIDList::(LPCITEMIDLIST itemIDList): m_Object(NULL) { *this = itemIDList; } CItemIDList::(const CItemIDList& itemIDList): m_Object(NULL) { *this = itemIDList; } CItemIDList& CItemIDList::operator=(LPCITEMIDLIST object) { Free(); if (object != 0) { UINT32 size = GetSize(object); m_Object = (LPITEMIDLIST)CoTaskMemAlloc(size); if (m_Object != NULL) MoveMemory(m_Object, object, size); } return *this; } CItemIDList& CItemIDList::operator=(const CItemIDList &object) { Free(); if (object.m_Object != NULL) { UINT32 size = GetSize(object.m_Object); m_Object = (LPITEMIDLIST)CoTaskMemAlloc(size); if (m_Object != NULL) MoveMemory(m_Object, object.m_Object, size); } return *this; } 8696
Shell.h 2517
StdAfx.h 98
Synchronization.cpp 147
Synchronization.h 4220
System.cpp 2922
System.h 818
Thread.h 1173
TimeUtils.cpp 5954
TimeUtils.h 1057
Window.cpp bool CWindow::ModifyStyleBase(int styleOffset, DWORD remove, DWORD add, UINT flags) { DWORD style = GetWindowLong(styleOffset); DWORD newStyle = (style & ~remove) | add; if (style == newStyle) return false; // it is not good SetWindowLong(styleOffset, newStyle); if (flags != 0) { ::SetWindowPos(_window, NULL, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE | SWP_NOZORDER | SWP_NOACTIVATE | flags); } return TRUE; } 4581
Window.h 9405