11const GUID CLSID_RegistryFolder = { 0x1c6d6e08, 0x2332, 0x4a7b, { 0xa9, 0x4d, 0x64, 0x32, 0xdb, 0x2b, 0x5a, 0xe6 } };
64 switch (
entry->entryType)
95 return SHDefExtractIconW(pszFile, nIconIndex, 0, phiconLarge, phiconSmall, nIconSize);
188 TRACE(
"GetDetailsEx\n");
201 if (
info->entryNameLength > 0)
216 if (
info->contentsLength > 0)
261 TRACE(
"GetDetailsOf\n");
275 if (
info->entryNameLength > 0)
293 if (
info->contentsLength > 0)
432 PCWSTR firstContent, secondContent;
449 DbgPrint(
"Unsupported sorting mode.\n");
460 flags |= SFGAO_FOLDER | SFGAO_HASSUBFOLDER | SFGAO_BROWSABLE;
505 *strContents = strValue;
514 *strContents = strValue;
534 int cch = stringChars + (
strings - 1) * sepChars + 1;
544 strData +=
wcslen(strData) + 1;
549 *strContents = strValue;
559 *strContents = strValue;
569 *strContents = strValue;
577 PWSTR strTemp = strValue;
579 for (
DWORD i = 0;
i < contentsLength;
i++)
585 *strContents = strValue;
591 PCWSTR strFormat =
L"<Unimplemented value type %d>";
595 *strContents = strValue;
607 if (
info->contentsLength > 0)
619 PCWSTR strEmpty =
L"(Error reading value)";
623 *strContents = strValue;
642 *strContents = strValue;
650 *strContents = strValue;
int memcmp(void *Buffer1, void *Buffer2, ACPI_SIZE Count)
#define STDMETHODCALLTYPE
STDMETHOD() CompareName(LPARAM lParam, const RegPidlEntry *first, const RegPidlEntry *second)
virtual HRESULT GetInfoFromPidl(LPCITEMIDLIST pcidl, const RegPidlEntry **pentry)
HRESULT FormatValueData(DWORD contentType, PVOID td, DWORD contentsLength, PCWSTR *strContents)
STDMETHOD() CompareIDs(LPARAM lParam, const RegPidlEntry *first, const RegPidlEntry *second)
virtual ~CRegistryFolder()
STDMETHOD() EnumObjects(HWND hwndOwner, SHCONTF grfFlags, IEnumIDList **ppenumIDList) override
STDMETHOD() Initialize(PCIDLIST_ABSOLUTE pidl) override
HRESULT FormatContentsForDisplay(const RegPidlEntry *info, HKEY rootKey, LPCWSTR ntPath, PCWSTR *strContents)
STDMETHOD() GetDetailsOf(LPCITEMIDLIST pidl, UINT iColumn, SHELLDETAILS *psd) override
STDMETHOD() InternalBindToObject(PWSTR path, const RegPidlEntry *info, LPITEMIDLIST first, LPCITEMIDLIST rest, LPITEMIDLIST fullPidl, LPBC pbcReserved, IShellFolder **ppsfChild) override
STDMETHOD() GetDefaultColumnState(UINT iColumn, SHCOLSTATEF *pcsFlags) override
STDMETHOD() GetDetailsEx(LPCITEMIDLIST pidl, const SHCOLUMNID *pscid, VARIANT *pv) override
STDMETHOD() MapColumnToSCID(UINT iColumn, SHCOLUMNID *pscid) override
BOOL ReadRegistryValue(IN DWORD ValueType, IN LPCSTR ValueName, OUT LPBYTE DataBuffer, IN OUT LPDWORD DataBufferSize)
#define IDI_REGISTRYVALUE
HRESULT INLINE MakeVariantString(VARIANT *pv, PCWSTR string)
HRESULT INLINE MakeStrRetFromString(LPCWSTR string, DWORD cbLength, STRRET *str)
static const WCHAR separator[]
#define FAILED_UNEXPECTEDLY(hr)
DWORD WINAPI GetModuleFileNameW(HINSTANCE hModule, LPWSTR lpFilename, DWORD nSize)
int WINAPI lstrcmpW(LPCWSTR str1, LPCWSTR str2)
LPWSTR WINAPI StrCatW(LPWSTR lpszStr, LPCWSTR lpszSrc)
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLsizei const GLchar *const * strings
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
HRESULT WINAPI SHDefExtractIconW(LPCWSTR pszIconFile, int iIndex, UINT uFlags, HICON *phiconLarge, HICON *phiconSmall, UINT nIconSize)
VOID WINAPI CoTaskMemFree(LPVOID ptr)
LPVOID WINAPI CoTaskMemAlloc(SIZE_T size)
_CRTIMP size_t __cdecl wcslen(_In_z_ const wchar_t *_Str)
static DWORD DWORD void LPSTR DWORD cch
HRESULT GetEnumRegistryKey(LPCWSTR path, HKEY root, IEnumIDList **ppil)
const LPCWSTR RegistryTypeNames[]
HRESULT GetEnumRegistryRoot(IEnumIDList **ppil)
#define REGISTRY_PIDL_MAGIC
@ REG_ENTRY_VALUE_WITH_CONTENT
#define PID_STG_STORAGETYPE
interface IBindCtx * LPBC
LPITEMIDLIST WINAPI ILClone(LPCITEMIDLIST pidl)
void WINAPI ILFree(LPITEMIDLIST pidl)
#define IsEqualGUID(rguid1, rguid2)
const GUID CLSID_RegistryFolder
#define MAKE_COMPARE_HRESULT(x)
ITEMIDLIST UNALIGNED * LPITEMIDLIST
const PCUITEMID_CHILD * PCUITEMID_CHILD_ARRAY
const ITEMIDLIST UNALIGNED * LPCITEMIDLIST
STRSAFEAPI StringCbCopyNW(STRSAFE_LPWSTR pszDest, size_t cbDest, STRSAFE_LPCWSTR pszSrc, size_t cbToCopy)
STRSAFEAPI StringCbCopyW(STRSAFE_LPWSTR pszDest, size_t cbDest, STRSAFE_LPCWSTR pszSrc)
STRSAFEAPI StringCbPrintfW(STRSAFE_LPWSTR pszDest, size_t cbDest, STRSAFE_LPCWSTR pszFormat,...)
#define FIELD_OFFSET(t, f)
_In_opt_ PVOID _In_ ULONG bufferLength
#define IID_PPV_ARG(Itype, ppType)