ReactOS 0.4.16-dev-178-g8ba6102
CRegFolderInfo Struct Reference
Inheritance diagram for CRegFolderInfo:
Collaboration diagram for CRegFolderInfo:

Public Member Functions

void InitializeFolderInfo (const REGFOLDERINFO *pInfo)
 
const CLSIDIsRegItem (LPCITEMIDLIST pidl) const
 
LPITEMIDLIST CreateItem (size_t i) const
 
LPCWSTR GetParsingPath () const
 
UINT GetCLSIDOffset () const
 
PIDLTYPE GetPidlType () const
 
UINT GetRequiredItemsCount () const
 
const REQUIREDREGITEMGetAt (size_t i) const
 

Public Attributes

const REGFOLDERINFOm_pInfo
 

Detailed Description

Definition at line 89 of file CRegFolder.cpp.

Member Function Documentation

◆ CreateItem()

LPITEMIDLIST CRegFolderInfo::CreateItem ( size_t  i) const
inline

Definition at line 115 of file CRegFolder.cpp.

116 {
117 const REQUIREDREGITEM &item = GetAt(i);
118 return CreateRegItem(GetPidlType(), item.clsid, item.Order);
119 }
static LPITEMIDLIST CreateRegItem(PIDLTYPE type, REFCLSID clsid, BYTE order=0)
Definition: CRegFolder.cpp:38
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
Definition: glfuncs.h:248
static ATOM item
Definition: dde.c:856
const REQUIREDREGITEM & GetAt(size_t i) const
Definition: CRegFolder.cpp:125
PIDLTYPE GetPidlType() const
Definition: CRegFolder.cpp:123

Referenced by CRegFolderEnum::Initialize().

◆ GetAt()

const REQUIREDREGITEM & CRegFolderInfo::GetAt ( size_t  i) const
inline

Definition at line 125 of file CRegFolder.cpp.

125{ return m_pInfo->Items[i]; }
const REGFOLDERINFO * m_pInfo
Definition: CRegFolder.cpp:91
const REQUIREDREGITEM * Items
Definition: shfldr.h:61

Referenced by CreateItem(), and CRegFolder::IsRequiredItem().

◆ GetCLSIDOffset()

UINT CRegFolderInfo::GetCLSIDOffset ( ) const
inline

Definition at line 122 of file CRegFolder.cpp.

static UINT GetRegItemCLSIDOffset(PIDLTYPE type)
Definition: CRegFolder.cpp:33
PIDLTYPE PidlType
Definition: shfldr.h:59

Referenced by IsRegItem().

◆ GetParsingPath()

LPCWSTR CRegFolderInfo::GetParsingPath ( ) const
inline

Definition at line 121 of file CRegFolder.cpp.

121{ return m_pInfo->pszParsingPath; }
LPCWSTR pszParsingPath
Definition: shfldr.h:63

Referenced by CRegFolder::GetDisplayNameOf().

◆ GetPidlType()

PIDLTYPE CRegFolderInfo::GetPidlType ( ) const
inline

◆ GetRequiredItemsCount()

UINT CRegFolderInfo::GetRequiredItemsCount ( ) const
inline

Definition at line 124 of file CRegFolder.cpp.

124{ return m_pInfo->Count; }
BYTE Count
Definition: shfldr.h:60

Referenced by CRegFolderEnum::Initialize(), and CRegFolder::IsRequiredItem().

◆ InitializeFolderInfo()

void CRegFolderInfo::InitializeFolderInfo ( const REGFOLDERINFO pInfo)
inline

Definition at line 93 of file CRegFolder.cpp.

94 {
95 m_pInfo = pInfo;
96 }

Referenced by CRegFolderEnum::Initialize(), and CRegFolder::Initialize().

◆ IsRegItem()

const CLSID * CRegFolderInfo::IsRegItem ( LPCITEMIDLIST  pidl) const
inline

Definition at line 98 of file CRegFolder.cpp.

99 {
100 if (pidl && pidl->mkid.cb >= sizeof(WORD) + 1 + 1 + sizeof(GUID))
101 {
102 if (pidl->mkid.abID[0] == m_pInfo->PidlType)
103 return (CLSID*)(SIZE_T(pidl) + GetCLSIDOffset());
104 if (pidl->mkid.abID[0] == PT_CONTROLS_OLDREGITEM)
105 return (CLSID*)(SIZE_T(pidl) + GetRegItemCLSIDOffset(PT_CONTROLS_OLDREGITEM));
106 }
107 if (const IID* pIID = _ILGetGUIDPointer(pidl))
108 {
109 FIXME("Unexpected GUID PIDL type %#x\n", pidl->mkid.abID[0]);
110 return pIID; // FIXME: Remove this when all folders have been fixed
111 }
112 return NULL;
113 }
#define FIXME(fmt,...)
Definition: precomp.h:53
#define NULL
Definition: types.h:112
unsigned short WORD
Definition: ntddk_ex.h:93
IID * _ILGetGUIDPointer(LPCITEMIDLIST pidl)
Definition: pidl.c:2298
UINT GetCLSIDOffset() const
Definition: CRegFolder.cpp:122
ULONG_PTR SIZE_T
Definition: typedefs.h:80

Referenced by CRegFolderEnum::GetPidlClsid(), and CRegFolder::IsRequiredItem().

Member Data Documentation

◆ m_pInfo


The documentation for this struct was generated from the following file: