12 const GUID CLSID_RegistryFolder = { 0x1c6d6e08, 0x2332, 0x4a7b, { 0xa9, 0x4d, 0x64, 0x32, 0xdb, 0x2b, 0x5a, 0xe6 } };
65 switch (
entry->entryType)
93 return SHDefExtractIconW(pszFile, nIconIndex, 0, phiconLarge, phiconSmall, nIconSize);
184 TRACE(
"GetDetailsEx\n");
197 if (
info->entryNameLength > 0)
212 if (
info->contentsLength > 0)
257 TRACE(
"GetDetailsOf\n");
270 if (
info->entryNameLength > 0)
286 if (
info->contentsLength > 0)
358 pscid->
fmtid = storage;
362 pscid->
fmtid = storage;
366 pscid->
fmtid = storage;
406 DbgPrint(
"Unsupported sorting mode.\n");
412 ULONG mask = inMask ? *inMask : 0xFFFFFFFF;
417 flags |= SFGAO_FOLDER | SFGAO_HASSUBFOLDER | SFGAO_BROWSABLE;
457 *strContents = strValue;
465 *strContents = strValue;
484 int cch = stringChars + (
strings - 1) * sepChars + 1;
494 strData +=
wcslen(strData) + 1;
499 *strContents = strValue;
508 *strContents = strValue;
517 *strContents = strValue;
524 PWSTR strTemp = strValue;
526 for (
DWORD i = 0;
i < contentsLength;
i++)
532 *strContents = strValue;
537 PCWSTR strFormat =
L"<Unimplemented value type %d>";
541 *strContents = strValue;
553 if (
info->contentsLength > 0)
565 PCWSTR strEmpty =
L"(Error reading value)";
569 *strContents = strValue;
588 *strContents = strValue;
596 *strContents = strValue;
DWORD WINAPI GetModuleFileNameW(HINSTANCE hModule, LPWSTR lpFilename, DWORD nSize)
virtual HRESULT STDMETHODCALLTYPE GetDetailsOf(LPCITEMIDLIST pidl, UINT iColumn, SHELLDETAILS *psd)
LPWSTR WINAPI StrCatW(LPWSTR lpszStr, LPCWSTR lpszSrc)
void WINAPI ILFree(LPITEMIDLIST pidl)
static const WCHAR separator[]
int memcmp(void *Buffer1, void *Buffer2, ACPI_SIZE Count)
VOID WINAPI CoTaskMemFree(LPVOID ptr)
interface IBindCtx * LPBC
STRSAFEAPI StringCbCopyNW(STRSAFE_LPWSTR pszDest, size_t cbDest, STRSAFE_LPCWSTR pszSrc, size_t cbToCopy)
virtual HRESULT STDMETHODCALLTYPE CompareIDs(LPARAM lParam, const RegPidlEntry *first, const RegPidlEntry *second)
const ITEMIDLIST UNALIGNED * LPCITEMIDLIST
HRESULT FormatContentsForDisplay(const RegPidlEntry *info, HKEY rootKey, LPCWSTR ntPath, PCWSTR *strContents)
virtual HRESULT STDMETHODCALLTYPE EnumObjects(HWND hwndOwner, SHCONTF grfFlags, IEnumIDList **ppenumIDList)
#define REGISTRY_PIDL_MAGIC
_In_opt_ PVOID _In_ ULONG bufferLength
HRESULT INLINE MakeVariantString(VARIANT *pv, PCWSTR string)
#define MAKE_COMPARE_HRESULT(x)
#define IID_PPV_ARG(Itype, ppType)
virtual HRESULT GetInfoFromPidl(LPCITEMIDLIST pcidl, const RegPidlEntry **pentry)
virtual ~CRegistryFolder()
const PCUITEMID_CHILD * PCUITEMID_CHILD_ARRAY
virtual HRESULT STDMETHODCALLTYPE GetDetailsEx(LPCITEMIDLIST pidl, const SHCOLUMNID *pscid, VARIANT *pv)
static DWORD DWORD void LPSTR DWORD cch
STRSAFEAPI StringCbPrintfW(STRSAFE_LPWSTR pszDest, size_t cbDest, STRSAFE_LPCWSTR pszFormat,...)
virtual ULONG STDMETHODCALLTYPE ConvertAttributes(const RegPidlEntry *entry, PULONG inMask)
virtual HRESULT STDMETHODCALLTYPE GetDefaultColumnState(UINT iColumn, SHCOLSTATEF *pcsFlags)
const GUID CLSID_RegistryFolder
HRESULT FormatValueData(DWORD contentType, PVOID td, DWORD contentsLength, PCWSTR *strContents)
virtual BOOL STDMETHODCALLTYPE IsFolder(const RegPidlEntry *info)
HRESULT GetEnumRegistryRoot(IEnumIDList **ppil)
virtual HRESULT STDMETHODCALLTYPE Initialize(PCIDLIST_ABSOLUTE pidl)
#define PID_STG_STORAGETYPE
virtual HRESULT STDMETHODCALLTYPE InternalBindToObject(PWSTR path, const RegPidlEntry *info, LPITEMIDLIST first, LPCITEMIDLIST rest, LPITEMIDLIST fullPidl, LPBC pbcReserved, IShellFolder **ppsfChild)
const LPCWSTR RegistryTypeNames[]
virtual HRESULT STDMETHODCALLTYPE CompareName(LPARAM lParam, const RegPidlEntry *first, const RegPidlEntry *second)
#define FAILED_UNEXPECTEDLY(hr)
#define STDMETHODCALLTYPE
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
BOOL ReadRegistryValue(IN DWORD ValueType, IN LPCSTR ValueName, OUT LPBYTE DataBuffer, IN OUT LPDWORD DataBufferSize)
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
#define IDI_REGISTRYVALUE
LPITEMIDLIST WINAPI ILClone(LPCITEMIDLIST pidl)
HRESULT GetEnumRegistryKey(LPCWSTR path, HKEY root, IEnumIDList **ppil)
#define FIELD_OFFSET(t, f)
BOOL WINAPI IsEqualGUID(REFGUID rguid1, REFGUID rguid2)
HRESULT WINAPI SHDefExtractIconW(LPCWSTR pszIconFile, int iIndex, UINT uFlags, HICON *phiconLarge, HICON *phiconSmall, UINT nIconSize)
STRSAFEAPI StringCbCopyW(STRSAFE_LPWSTR pszDest, size_t cbDest, STRSAFE_LPCWSTR pszSrc)
ITEMIDLIST UNALIGNED * LPITEMIDLIST
LPVOID WINAPI CoTaskMemAlloc(SIZE_T size)
size_t __cdecl wcslen(_In_z_ const wchar_t *_Str)
virtual HRESULT STDMETHODCALLTYPE MapColumnToSCID(UINT iColumn, SHCOLUMNID *pscid)
HRESULT INLINE MakeStrRetFromString(LPCWSTR string, DWORD cbLength, STRRET *str)