ReactOS 0.4.15-dev-7788-g1ad9096
ATL Namespace Reference

Namespaces

namespace  _CSTRING_IMPL_
 

Classes

struct  _ATL_BASE_MODULE70
 
struct  _ATL_CATMAP_ENTRY
 
struct  _ATL_COM_MODULE70
 
struct  _ATL_CONNMAP_ENTRY
 
struct  _ATL_INTMAP_ENTRY
 
struct  _ATL_MODULE70
 
struct  _ATL_MSG
 
struct  _ATL_OBJMAP_ENTRY30
 
struct  _ATL_REGMAP_ENTRY
 
struct  _ATL_TERMFUNC_ELEM
 
struct  _ATL_WIN_MODULE70
 
struct  _ATL_WNDCLASSINFOW
 
struct  _AtlCreateWndData
 
class  _Copy
 
class  _Copy< CONNECTDATA >
 
class  _CopyInterface
 
class  _ICPLocator
 
class  _NoAddRefReleaseOnCComPtr
 
class  _U_MENUorID
 
class  _U_RECT
 
struct  ATLSTRINGRESOURCEIMAGE
 
class  CA2AEX
 
class  CA2CAEX
 
class  CA2WEX
 
class  CAtlArray
 
class  CAtlBaseModule
 
class  CAtlComModule
 
class  CAtlDllModuleT
 
class  CAtlExeModuleT
 
class  CAtlFileMapping
 
class  CAtlFileMappingBase
 
class  CAtlList
 
class  CAtlModule
 
class  CAtlModuleT
 
class  CAtlPlex
 
class  CAtlStringMgr
 
struct  CAtlValidateModuleConfiguration
 
class  CAtlWinModule
 
class  CComAggObject
 
class  CComAllocator
 
class  CComAutoCriticalSection
 
class  CComAutoDeleteCriticalSection
 
class  CComBSTR
 
class  CComClassFactory
 
class  CComClassFactorySingleton
 
class  CComCoClass
 
class  CComContainedObject
 
class  CComCreator
 
class  CComCreator2
 
class  CComCriticalSection
 
class  CComCritSecLock
 
class  CComDynamicUnkArray
 
class  CComEnum
 
class  CComEnumImpl
 
class  CComFailCreator
 
class  CComFakeCriticalSection
 
class  CComHeapPtr
 
class  CComModule
 
class  CComMultiThreadModel
 
class  CComMultiThreadModelNoCS
 
class  CComObject
 
class  CComObjectCached
 
class  CComObjectNoLock
 
class  CComObjectRootBase
 
class  CComObjectRootEx
 
class  CComPolyObject
 
class  CComPtr
 
class  CComQIIDPtr
 
class  CComSafeDeleteCriticalSection
 
class  CComSingleThreadModel
 
class  CComVariant
 
class  CContainedWindowT
 
class  CCriticalSection
 
class  CDefaultCompareTraits
 
class  CDefaultElementTraits
 
class  CDialogImpl
 
class  CDialogImplBaseT
 
class  CElementTraits
 
class  CElementTraitsBase
 
class  CEvent
 
class  CFileTime
 
class  CFileTimeSpan
 
class  CHandle
 
class  CHeapPtrElementTraits
 
class  CHeapPtrList
 
class  ChTraitsBase
 
class  ChTraitsBase< wchar_t >
 
class  ChTraitsCRT
 
class  ChTraitsCRT< char >
 
class  ChTraitsOS
 
class  CImage
 
class  CImageDC
 
class  CMessageMap
 
class  CMutex
 
class  CNilStringData
 
class  CPathT
 
class  CPropertyPageImpl
 
class  CRegKey
 
class  CRegObject
 
class  CSemaphore
 
class  CSimpleArray
 
class  CSimpleArrayEqualHelper
 
class  CSimpleArrayEqualHelperFalse
 
class  CSimpleMap
 
class  CSimpleMapEqualHelper
 
class  CSimpleMapEqualHelperFalse
 
class  CSimpleStringT
 
struct  CStringData
 
class  CStringT
 
class  CTime
 
class  CTimeSpan
 
class  CW2AEX
 
class  CW2CWEX
 
class  CW2WEX
 
class  CWin32Heap
 
class  CWindow
 
class  CWindowImpl
 
class  CWindowImplBaseT
 
class  CWindowImplRoot
 
class  CWinTraits
 
class  CWinTraitsOR
 
class  CWndProcThunk
 
class  IAtlMemMgr
 
class  IAtlStringMgr
 
class  IConnectionPointContainerImpl
 
class  IConnectionPointImpl
 
class  IDispatchImpl
 
class  StrTraitATL
 

Typedefs

typedef REFIID riid
 
typedef REFIID LPVOIDppv
 
typedef const struct _ATL_CATMAP_ENTRY *() _ATL_CATMAPFUNC()
 
typedef _ATL_OBJMAP_ENTRY30 _ATL_OBJMAP_ENTRY
 
typedef _ATL_MODULE70 _ATL_MODULE
 
typedef REFIID LPVOID DWORD_PTR dw
 
typedef _ATL_COM_MODULE70 _ATL_COM_MODULE
 
typedef _ATL_WIN_MODULE70 _ATL_WIN_MODULE
 
typedef CComMultiThreadModel CComObjectThreadModel
 
typedef CComMultiThreadModel CComGlobalsThreadModel
 
typedef CA2AEX CA2A
 
typedef CW2AEX CW2A
 
typedef CA2WEX CA2W
 
typedef CW2WEX CW2W
 
typedef CA2CAEX CA2CA
 
typedef CW2CWEX CW2CW
 
typedef _ATL_BASE_MODULE70 _ATL_BASE_MODULE
 
typedef CPathT< CStringCPath
 
typedef CPathT< CStringACPathA
 
typedef CPathT< CStringWCPathW
 
typedef CSimpleStringT< CHARCSimpleString
 
typedef CStringT< wchar_t, StrTraitATL< wchar_t, ChTraitsCRT< wchar_t > > > CAtlStringW
 
typedef CStringT< char, StrTraitATL< char, ChTraitsCRT< char > > > CAtlStringA
 
typedef CAtlStringW CStringW
 
typedef CAtlStringA CStringA
 
typedef CAtlStringA CAtlString
 
typedef CStringA CString
 
typedef _ATL_WNDCLASSINFOW CWndClassInfo
 
typedef CWinTraits< WS_CHILD|WS_VISIBLE|WS_CLIPCHILDREN|WS_CLIPSIBLINGS, 0 > CControlWinTraits
 
typedef CWinTraits< WS_OVERLAPPEDWINDOW|WS_CLIPCHILDREN|WS_CLIPSIBLINGS, WS_EX_APPWINDOW|WS_EX_WINDOWEDGECFrameWinTraits
 
typedef CWinTraits< WS_OVERLAPPEDWINDOW|WS_CHILD|WS_VISIBLE|WS_CLIPCHILDREN|WS_CLIPSIBLINGS, WS_EX_MDICHILDCMDIChildWinTraits
 
typedef CContainedWindowT< CWindowCContainedWindow
 

Enumerations

enum  CComEnumFlags { AtlFlagNoCopy = 0 , AtlFlagTakeOwnership = 2 , AtlFlagCopy = 3 }
 

Functions

 __declspec (selectany) CAtlModule *_pAtlModule = NULL
 
typedef HRESULT (WINAPI _ATL_CREATORFUNC)(void *pv
 
typedef LPCTSTR (WINAPI _ATL_DESCRIPTIONFUNC)()
 
typedef void (__stdcall _ATL_TERMFUNC)(DWORD_PTR dw)
 
HRESULT WINAPI AtlWinModuleInit (_ATL_WIN_MODULE *pWinModule)
 
HRESULT WINAPI AtlWinModuleTerm (_ATL_WIN_MODULE *pWinModule, HINSTANCE hInst)
 
HRESULT WINAPI AtlInternalQueryInterface (void *pThis, const _ATL_INTMAP_ENTRY *pEntries, REFIID iid, void **ppvObject)
 
void WINAPI AtlWinModuleAddCreateWndData (_ATL_WIN_MODULE *pWinModule, _AtlCreateWndData *pData, void *pObject)
 
void *WINAPI AtlWinModuleExtractCreateWndData (_ATL_WIN_MODULE *pWinModule)
 
HRESULT WINAPI AtlComModuleGetClassObject (_ATL_COM_MODULE *pComModule, REFCLSID rclsid, REFIID riid, LPVOID *ppv)
 
HRESULT WINAPI AtlComModuleRegisterServer (_ATL_COM_MODULE *mod, BOOL bRegTypeLib, const CLSID *clsid)
 
HRESULT WINAPI AtlComModuleUnregisterServer (_ATL_COM_MODULE *mod, BOOL bRegTypeLib, const CLSID *clsid)
 
HRESULT WINAPI AtlComModuleRegisterClassObjects (_ATL_COM_MODULE *module, DWORD context, DWORD flags)
 
HRESULT WINAPI AtlComModuleRevokeClassObjects (_ATL_COM_MODULE *module)
 
BOOL WINAPI InlineIsEqualUnknown (REFGUID rguid1)
 
HRESULT __stdcall AtlAdvise (IUnknown *pUnkCP, IUnknown *pUnk, const IID &iid, LPDWORD pdw)
 
HRESULT __stdcall AtlUnadvise (IUnknown *pUnkCP, const IID &iid, DWORD dw)
 
HRESULT WINAPI AtlLoadTypeLib (HINSTANCE inst, LPCOLESTR lpszIndex, BSTR *pbstrPath, ITypeLib **ppTypeLib)
 
HRESULT WINAPI AtlRegisterTypeLib (HINSTANCE inst, const WCHAR *index)
 
HRESULT WINAPI AtlRegisterClassCategoriesHelper (REFCLSID clsid, const _ATL_CATMAP_ENTRY *catmap, BOOL reg)
 
HRESULT WINAPI AtlComModuleGetClassObject (_ATL_COM_MODULE *pm, REFCLSID rclsid, REFIID riid, void **ppv)
 
HRESULT AtlHresultFromLastError () noexcept
 
const ATLSTRINGRESOURCEIMAGE_AtlGetStringResourceImage (_In_ HINSTANCE hInstance, _In_ HRSRC hResource, _In_ UINT id)
 
const ATLSTRINGRESOURCEIMAGEAtlGetStringResourceImage (_In_ HINSTANCE hInstance, _In_ UINT id) noexcept
 
const ATLSTRINGRESOURCEIMAGEAtlGetStringResourceImage (_In_ HINSTANCE hInstance, _In_ UINT id, _In_ WORD wLanguage)
 
HINSTANCE AtlFindStringResourceInstance (UINT nID, WORD wLanguage=0)
 
void AtlThrowImp (HRESULT hr)
 
UINT WINAPI _AtlGetConversionACP () noexcept
 

Typedef Documentation

◆ _ATL_BASE_MODULE

Definition at line 188 of file atlcore.h.

◆ _ATL_CATMAPFUNC

typedef const struct _ATL_CATMAP_ENTRY *() ATL::_ATL_CATMAPFUNC()

Definition at line 84 of file atlbase.h.

◆ _ATL_COM_MODULE

Definition at line 172 of file atlbase.h.

◆ _ATL_MODULE

Definition at line 144 of file atlbase.h.

◆ _ATL_OBJMAP_ENTRY

Definition at line 126 of file atlbase.h.

◆ _ATL_WIN_MODULE

Definition at line 183 of file atlbase.h.

◆ CA2A

typedef CA2AEX ATL::CA2A

Definition at line 319 of file atlconv.h.

◆ CA2CA

Definition at line 323 of file atlconv.h.

◆ CA2W

typedef CA2WEX ATL::CA2W

Definition at line 321 of file atlconv.h.

◆ CAtlString

Definition at line 138 of file atlstr.h.

◆ CAtlStringA

Definition at line 127 of file atlstr.h.

◆ CAtlStringW

Definition at line 126 of file atlstr.h.

◆ CComGlobalsThreadModel

Definition at line 443 of file atlbase.h.

◆ CComObjectThreadModel

Definition at line 442 of file atlbase.h.

◆ CContainedWindow

Definition at line 1896 of file atlwin.h.

◆ CControlWinTraits

◆ CFrameWinTraits

◆ CMDIChildWinTraits

◆ CPath

Definition at line 393 of file atlpath.h.

◆ CPathA

Definition at line 394 of file atlpath.h.

◆ CPathW

Definition at line 395 of file atlpath.h.

◆ CSimpleString

Definition at line 641 of file atlsimpstr.h.

◆ CString

Definition at line 139 of file atlstr.h.

◆ CStringA

Definition at line 131 of file atlstr.h.

◆ CStringW

Definition at line 130 of file atlstr.h.

◆ CW2A

typedef CW2AEX ATL::CW2A

Definition at line 320 of file atlconv.h.

◆ CW2CW

Definition at line 324 of file atlconv.h.

◆ CW2W

typedef CW2WEX ATL::CW2W

Definition at line 322 of file atlconv.h.

◆ CWndClassInfo

Definition at line 70 of file atlwin.h.

◆ dw

Definition at line 146 of file atlbase.h.

◆ ppv

typedef REFIID LPVOID * ATL::ppv

Definition at line 83 of file atlbase.h.

◆ riid

typedef REFIID ATL::riid

Definition at line 83 of file atlbase.h.

Enumeration Type Documentation

◆ CComEnumFlags

Enumerator
AtlFlagNoCopy 
AtlFlagTakeOwnership 
AtlFlagCopy 

Definition at line 905 of file atlcom.h.

906{
907 AtlFlagNoCopy = 0,
908 AtlFlagTakeOwnership = 2, // BitOwn
909 AtlFlagCopy = 3 // BitOwn | BitCopy
910};
@ AtlFlagTakeOwnership
Definition: atlcom.h:908
@ AtlFlagCopy
Definition: atlcom.h:909
@ AtlFlagNoCopy
Definition: atlcom.h:907

Function Documentation

◆ __declspec()

ATL::__declspec ( selectany  ) = NULL

Definition at line 575 of file atlbase.h.

575{0x0, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0} };

◆ _AtlGetConversionACP()

UINT WINAPI ATL::_AtlGetConversionACP ( )
inlinenoexcept

Definition at line 14 of file cstringt.h.

15{
16#ifdef _CONVERSION_DONT_USE_THREAD_LOCALE
17 return CP_ACP;
18#else
19 return CP_THREAD_ACP;
20#endif
21}
#define CP_ACP
Definition: compat.h:109
#define CP_THREAD_ACP
Definition: winnls.h:233

Referenced by ATL::ChTraitsCRT< char >::ConvertToBaseType(), ATL::ChTraitsCRT< _CharType >::ConvertToBaseType(), ATL::ChTraitsCRT< _CharType >::GetBaseTypeLength(), and ATL::ChTraitsCRT< char >::GetBaseTypeLength().

◆ _AtlGetStringResourceImage()

const ATLSTRINGRESOURCEIMAGE * ATL::_AtlGetStringResourceImage ( _In_ HINSTANCE  hInstance,
_In_ HRSRC  hResource,
_In_ UINT  id 
)
inline

Definition at line 240 of file atlcore.h.

244{
245 const ATLSTRINGRESOURCEIMAGE* pImage;
246 const ATLSTRINGRESOURCEIMAGE* pImageEnd;
247 ULONG nResourceSize;
248 HGLOBAL hGlobal;
249 UINT iIndex;
250
251 hGlobal = ::LoadResource(hInstance, hResource);
252 if (hGlobal == NULL) return NULL;
253
254 pImage = (const ATLSTRINGRESOURCEIMAGE*)::LockResource(hGlobal);
255 if (pImage == NULL) return NULL;
256
257 nResourceSize = ::SizeofResource(hInstance, hResource);
258 pImageEnd = (const ATLSTRINGRESOURCEIMAGE*)(LPBYTE(pImage) + nResourceSize);
259 iIndex = id & 0x000f;
260
261 while ((iIndex > 0) && (pImage < pImageEnd))
262 {
263 pImage = (const ATLSTRINGRESOURCEIMAGE*)(LPBYTE(pImage) + (sizeof(ATLSTRINGRESOURCEIMAGE) + (pImage->nLength * sizeof(WCHAR))));
264 iIndex--;
265 }
266
267 if (pImage >= pImageEnd) return NULL;
268 if (pImage->nLength == 0) return NULL;
269
270 return pImage;
271}
HINSTANCE hInstance
Definition: charmap.c:19
#define NULL
Definition: types.h:112
DWORD WINAPI SizeofResource(HINSTANCE hModule, HRSRC hRsrc)
Definition: res.c:568
LPVOID WINAPI LockResource(HGLOBAL handle)
Definition: res.c:550
HGLOBAL WINAPI LoadResource(HINSTANCE hModule, HRSRC hRsrc)
Definition: res.c:532
unsigned int UINT
Definition: ndis.h:50
unsigned char * LPBYTE
Definition: typedefs.h:53
uint32_t ULONG
Definition: typedefs.h:59
__wchar_t WCHAR
Definition: xmlstorage.h:180

Referenced by AtlGetStringResourceImage().

◆ AtlAdvise()

HRESULT __stdcall ATL::AtlAdvise ( IUnknown pUnkCP,
IUnknown pUnk,
const IID iid,
LPDWORD  pdw 
)
inline

Definition at line 1565 of file atlbase.h.

1566{
1568 CComPtr<IConnectionPoint> connectionPoint;
1569 HRESULT hResult;
1570
1571 if (pUnkCP == NULL)
1572 return E_INVALIDARG;
1573 hResult = pUnkCP->QueryInterface(IID_IConnectionPointContainer, (void **)&container);
1574 if (FAILED(hResult))
1575 return hResult;
1576 hResult = container->FindConnectionPoint(iid, &connectionPoint);
1577 if (FAILED(hResult))
1578 return hResult;
1579 return connectionPoint->Advise(pUnk, pdw);
1580}
#define E_INVALIDARG
Definition: ddrawi.h:101
static void *static void *static LPDIRECTPLAY IUnknown * pUnk
Definition: dplayx.c:30
HRESULT QueryInterface([in] REFIID riid, [out, iid_is(riid)] void **ppvObject)
#define FAILED(hr)
Definition: intsafe.h:51
const GUID IID_IConnectionPointContainer

◆ AtlComModuleGetClassObject() [1/2]

HRESULT WINAPI ATL::AtlComModuleGetClassObject ( _ATL_COM_MODULE pComModule,
REFCLSID  rclsid,
REFIID  riid,
LPVOID ppv 
)

◆ AtlComModuleGetClassObject() [2/2]

HRESULT WINAPI ATL::AtlComModuleGetClassObject ( _ATL_COM_MODULE pm,
REFCLSID  rclsid,
REFIID  riid,
void **  ppv 
)
inline

Definition at line 1959 of file atlbase.h.

1960{
1961 if (!pm)
1962 return E_INVALIDARG;
1963
1964 for (_ATL_OBJMAP_ENTRY **iter = pm->m_ppAutoObjMapFirst; iter < pm->m_ppAutoObjMapLast; iter++)
1965 {
1966 _ATL_OBJMAP_ENTRY *ptr = *iter;
1967 if (!ptr)
1968 continue;
1969
1970 if (IsEqualCLSID(*ptr->pclsid, rclsid) && ptr->pfnGetClassObject)
1971 {
1973
1974 if (!ptr->pCF)
1975 {
1976 CComCritSecLock<CComCriticalSection> lock(_AtlComModule.m_csObjMap, true);
1977 if (!ptr->pCF)
1978 {
1979 hr = ptr->pfnGetClassObject((void *)ptr->pfnCreateInstance, IID_IUnknown, (void **)&ptr->pCF);
1980 }
1981 }
1982 if (ptr->pCF)
1983 hr = ptr->pCF->QueryInterface(riid, ppv);
1984 return hr;
1985 }
1986 }
1987
1989}
const GUID IID_IUnknown
REFIID riid
Definition: atlbase.h:39
REFIID LPVOID * ppv
Definition: atlbase.h:39
nsresult QueryInterface(nsIIDRef riid, void **result)
static LPMONITOREX pm
Definition: localmon.c:45
static PVOID ptr
Definition: dispmode.c:27
#define IsEqualCLSID(rclsid1, rclsid2)
Definition: guiddef.h:96
HRESULT hr
Definition: shlfolder.c:183
rwlock_t lock
Definition: tcpcore.h:0
#define CLASS_E_CLASSNOTAVAILABLE
Definition: winerror.h:2663

◆ AtlComModuleRegisterClassObjects()

HRESULT WINAPI ATL::AtlComModuleRegisterClassObjects ( _ATL_COM_MODULE module,
DWORD  context,
DWORD  flags 
)
inline

Definition at line 1902 of file atlbase.h.

1903{
1904 _ATL_OBJMAP_ENTRY **iter;
1905 IUnknown* unk = NULL;
1906 HRESULT hr;
1907
1908 if (!module)
1909 return E_INVALIDARG;
1910
1911 for (iter = module->m_ppAutoObjMapFirst; iter < module->m_ppAutoObjMapLast; iter++)
1912 {
1913 _ATL_OBJMAP_ENTRY *ptr = *iter;
1914 if (!ptr)
1915 continue;
1916
1917 if (!ptr->pfnGetClassObject)
1918 continue;
1919
1920 hr = ptr->pfnGetClassObject((void*)ptr->pfnCreateInstance, IID_IUnknown, (void**)&unk);
1921 if (FAILED(hr))
1922 return hr;
1923
1924 hr = CoRegisterClassObject(*ptr->pclsid, unk, context, flags, &ptr->dwRegister);
1925 unk->Release();
1926 if (FAILED(hr))
1927 return hr;
1928 }
1929
1930 return S_OK;
1931}
HRESULT WINAPI CoRegisterClassObject(REFCLSID rclsid, LPUNKNOWN pUnk, DWORD dwClsContext, DWORD flags, LPDWORD lpdwRegister)
Definition: compobj.c:2897
GLbitfield flags
Definition: glext.h:7161
nsrefcnt Release()
#define S_OK
Definition: intsafe.h:52
Definition: http.c:7252

Referenced by ATL::CAtlExeModuleT< T >::RegisterClassObjects().

◆ AtlComModuleRegisterServer()

HRESULT __stdcall ATL::AtlComModuleRegisterServer ( _ATL_COM_MODULE mod,
BOOL  bRegTypeLib,
const CLSID clsid 
)
inline

Definition at line 1820 of file atlbase.h.

1821{
1822 HRESULT hResult = S_OK;
1823
1824 for (_ATL_OBJMAP_ENTRY ** iter = mod->m_ppAutoObjMapFirst; iter < mod->m_ppAutoObjMapLast; iter++)
1825 {
1826 if (!*iter)
1827 continue;
1828 _ATL_OBJMAP_ENTRY* entry = *iter;
1829 if (clsid && !IsEqualCLSID(*entry->pclsid, *clsid))
1830 continue;
1831
1832 hResult = entry->pfnUpdateRegistry(TRUE);
1833 if (FAILED(hResult))
1834 return hResult;
1835
1836 const _ATL_CATMAP_ENTRY *catmap = entry->pfnGetCategoryMap();
1837 if (catmap)
1838 {
1839 hResult = AtlRegisterClassCategoriesHelper(*entry->pclsid, catmap, TRUE);
1840 if (FAILED(hResult))
1841 return hResult;
1842 }
1843 }
1844
1845 if (bRegTypeLib)
1846 {
1847 hResult = AtlRegisterTypeLib(mod->m_hInstTypeLib, NULL);
1848 }
1849
1850 return hResult;
1851}
#define TRUE
Definition: types.h:120
HRESULT WINAPI AtlRegisterClassCategoriesHelper(REFCLSID clsid, const struct _ATL_CATMAP_ENTRY *catmap, BOOL reg)
Definition: atl.c:747
HRESULT WINAPI AtlRegisterTypeLib(HINSTANCE inst, const WCHAR *index)
Definition: atl.c:399
static int mod
Definition: i386-dis.c:1288
uint32_t entry
Definition: isohybrid.c:63
REFCLSID clsid
Definition: msctf.c:82
Definition: atlbase.h:73

Referenced by ATL::CAtlComModule::RegisterServer().

◆ AtlComModuleRevokeClassObjects()

HRESULT WINAPI ATL::AtlComModuleRevokeClassObjects ( _ATL_COM_MODULE module)
inline

Definition at line 1935 of file atlbase.h.

1936{
1937 _ATL_OBJMAP_ENTRY **iter;
1938 HRESULT hr;
1939
1940 if (!module)
1941 return E_INVALIDARG;
1942
1943 for (iter = module->m_ppAutoObjMapFirst; iter < module->m_ppAutoObjMapLast; iter++)
1944 {
1945 _ATL_OBJMAP_ENTRY *ptr = *iter;
1946 if (!ptr)
1947 continue;
1948
1949 hr = CoRevokeClassObject(ptr->dwRegister);
1950 if (FAILED(hr))
1951 return hr;
1952 }
1953
1954 return S_OK;
1955}
HRESULT WINAPI DECLSPEC_HOTPATCH CoRevokeClassObject(DWORD dwRegister)
Definition: compobj.c:1086

Referenced by ATL::CAtlExeModuleT< T >::RevokeClassObjects().

◆ AtlComModuleUnregisterServer()

HRESULT WINAPI ATL::AtlComModuleUnregisterServer ( _ATL_COM_MODULE mod,
BOOL  bRegTypeLib,
const CLSID clsid 
)
inline

Definition at line 1854 of file atlbase.h.

1855{
1856 HRESULT hResult = S_OK;
1857
1858 for (_ATL_OBJMAP_ENTRY **iter = mod->m_ppAutoObjMapFirst; iter < mod->m_ppAutoObjMapLast; iter++)
1859 {
1860 if (!*iter)
1861 continue;
1862 _ATL_OBJMAP_ENTRY* entry = *iter;
1863 if (clsid && !IsEqualCLSID(*entry->pclsid, *clsid))
1864 continue;
1865
1866 const _ATL_CATMAP_ENTRY *catmap = entry->pfnGetCategoryMap();
1867 if (catmap)
1868 {
1869 hResult = AtlRegisterClassCategoriesHelper(*entry->pclsid, catmap, FALSE);
1870 if (FAILED(hResult))
1871 return hResult;
1872 }
1873
1874 hResult = entry->pfnUpdateRegistry(FALSE);
1875 if (FAILED(hResult))
1876 return hResult;
1877 }
1878
1879 if (bUnRegTypeLib)
1880 {
1882 TLIBATTR *attr;
1883 CComBSTR path;
1884
1885 hResult = AtlLoadTypeLib(mod->m_hInstTypeLib, NULL, &path, &typelib);
1886 if (FAILED(hResult))
1887 return hResult;
1888
1889 hResult = typelib->GetLibAttr(&attr);
1890 if (SUCCEEDED(hResult))
1891 {
1892 hResult = UnRegisterTypeLib(attr->guid, attr->wMajorVerNum, attr->wMinorVerNum, attr->lcid, attr->syskind);
1894 }
1895 }
1896
1897 return hResult;
1898}
static ITypeLib * typelib
Definition: apps.c:108
#define FALSE
Definition: types.h:117
HRESULT WINAPI AtlLoadTypeLib(HINSTANCE inst, LPCOLESTR lpszIndex, BSTR *pbstrPath, ITypeLib **ppTypeLib)
Definition: atl.c:341
HRESULT WINAPI UnRegisterTypeLib(REFGUID libid, WORD wVerMajor, WORD wVerMinor, LCID lcid, SYSKIND syskind)
Definition: typelib.c:882
HRESULT GetLibAttr([out] TLIBATTR **ppTLibAttr)
void ReleaseTLibAttr([in] TLIBATTR *pTLibAttr)
#define SUCCEEDED(hr)
Definition: intsafe.h:50
Definition: cookie.c:202

Referenced by ATL::CAtlComModule::UnregisterServer().

◆ AtlFindStringResourceInstance()

HINSTANCE ATL::AtlFindStringResourceInstance ( UINT  nID,
WORD  wLanguage = 0 
)
inline

Definition at line 294 of file atlcore.h.

297{
298 const ATLSTRINGRESOURCEIMAGE* strRes = NULL;
299 HINSTANCE hInst = _AtlBaseModule.GetHInstanceAt(0);
300
301 for (int i = 1; hInst != NULL && strRes == NULL; hInst = _AtlBaseModule.GetHInstanceAt(i++))
302 {
303 strRes = AtlGetStringResourceImage(hInst, nID, wLanguage);
304 if (strRes != NULL) return hInst;
305 }
306
307 return NULL;
308}
HINSTANCE hInst
Definition: dxdiag.c:13
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
const ATLSTRINGRESOURCEIMAGE * AtlGetStringResourceImage(_In_ HINSTANCE hInstance, _In_ UINT id) noexcept
Definition: atlcore.h:273

Referenced by ATL::StrTraitATL< _BaseType, StringIterator >::FindStringResourceInstance().

◆ AtlGetStringResourceImage() [1/2]

const ATLSTRINGRESOURCEIMAGE * ATL::AtlGetStringResourceImage ( _In_ HINSTANCE  hInstance,
_In_ UINT  id 
)
inlinenoexcept

Definition at line 273 of file atlcore.h.

276{
277 HRSRC hResource;
278 hResource = ::FindResourceW(hInstance, MAKEINTRESOURCEW((((id >> 4) + 1) & static_cast<WORD>(~0))), (LPWSTR)RT_STRING);
279 if (hResource == NULL) return NULL;
280 return _AtlGetStringResourceImage(hInstance, hResource, id);
281}
HRSRC WINAPI FindResourceW(HINSTANCE hModule, LPCWSTR name, LPCWSTR type)
Definition: res.c:176
unsigned short WORD
Definition: ntddk_ex.h:93
const ATLSTRINGRESOURCEIMAGE * _AtlGetStringResourceImage(_In_ HINSTANCE hInstance, _In_ HRSRC hResource, _In_ UINT id)
Definition: atlcore.h:240
#define RT_STRING
Definition: pedump.c:368
#define MAKEINTRESOURCEW(i)
Definition: winuser.h:582
WCHAR * LPWSTR
Definition: xmlstorage.h:184

Referenced by AtlFindStringResourceInstance(), and ATL::CStringT< BaseType, StringTraits >::LoadString().

◆ AtlGetStringResourceImage() [2/2]

const ATLSTRINGRESOURCEIMAGE * ATL::AtlGetStringResourceImage ( _In_ HINSTANCE  hInstance,
_In_ UINT  id,
_In_ WORD  wLanguage 
)
inline

Definition at line 283 of file atlcore.h.

287{
288 HRSRC hResource;
289 hResource = ::FindResourceExW(hInstance, (LPWSTR)RT_STRING, MAKEINTRESOURCEW((((id >> 4) + 1) & static_cast<WORD>(~0))), wLanguage);
290 if (hResource == NULL) return NULL;
291 return _AtlGetStringResourceImage(hInstance, hResource, id);
292}
HRSRC WINAPI FindResourceExW(HMODULE hModule, LPCWSTR type, LPCWSTR name, WORD lang)
Definition: res.c:164

◆ AtlHresultFromLastError()

HRESULT ATL::AtlHresultFromLastError ( )
inlinenoexcept

Definition at line 56 of file atlcomcli.h.

57{
58 DWORD dwError = ::GetLastError();
59 return HRESULT_FROM_WIN32(dwError);
60}
unsigned long DWORD
Definition: ntddk_ex.h:95
DWORD WINAPI GetLastError(void)
Definition: except.c:1042
#define HRESULT_FROM_WIN32(x)
Definition: winerror.h:92

Referenced by ATL::CAtlFileMappingBase::CopyFrom(), ATL::CAtlFileMappingBase::MapFile(), ATL::CAtlFileMappingBase::MapSharedMem(), ATL::CAtlFileMappingBase::OpenMapping(), and ATL::CAtlFileMappingBase::Unmap().

◆ AtlInternalQueryInterface()

HRESULT __stdcall ATL::AtlInternalQueryInterface ( void pThis,
const _ATL_INTMAP_ENTRY pEntries,
REFIID  iid,
void **  ppvObject 
)
inline

Definition at line 1599 of file atlbase.h.

1600{
1601 int i;
1602 IUnknown *resultInterface;
1603 HRESULT hResult;
1604
1605 ATLASSERT(pThis != NULL && pEntries != NULL);
1606 if (pThis == NULL || pEntries == NULL)
1607 return E_INVALIDARG;
1608
1609 if (ppvObject == NULL)
1610 return E_POINTER;
1611
1612 if (InlineIsEqualUnknown(iid))
1613 {
1614 resultInterface = reinterpret_cast<IUnknown *>(reinterpret_cast<char *>(pThis) + pEntries[0].dw);
1615 *ppvObject = resultInterface;
1616 resultInterface->AddRef();
1617 return S_OK;
1618 }
1619
1620 i = 0;
1621 while (pEntries[i].pFunc != 0)
1622 {
1623 if (pEntries[i].piid == NULL || InlineIsEqualGUID(iid, *pEntries[i].piid))
1624 {
1625 if (pEntries[i].pFunc == reinterpret_cast<_ATL_CREATORARGFUNC *>(1))
1626 {
1627 ATLASSERT(pEntries[i].piid != NULL);
1628 resultInterface = reinterpret_cast<IUnknown *>(reinterpret_cast<char *>(pThis) + pEntries[i].dw);
1629 *ppvObject = resultInterface;
1630 resultInterface->AddRef();
1631 return S_OK;
1632 }
1633 else
1634 {
1635 hResult = pEntries[i].pFunc(pThis, iid, ppvObject, 0);
1636 if (hResult == S_OK)
1637 return hResult;
1638 if (FAILED(hResult) && pEntries[i].piid != NULL)
1639 break;
1640 }
1641 }
1642 i++;
1643 }
1644 *ppvObject = NULL;
1645 return E_NOINTERFACE;
1646}
#define ATLASSERT(x)
Definition: CComVariant.cpp:10
REFIID LPVOID DWORD_PTR dw
Definition: atlbase.h:40
ULONG AddRef()
REFIID LPVOID DWORD_PTR dw
Definition: atlbase.h:146
BOOL WINAPI InlineIsEqualUnknown(REFGUID rguid1)
Definition: atlbase.h:374
#define InlineIsEqualGUID(rguid1, rguid2)
Definition: guiddef.h:142
const IID * piid
Definition: atlbase.h:152
_ATL_CREATORARGFUNC * pFunc
Definition: atlbase.h:154
_In_ void _In_ PCCERT_CONTEXT _In_opt_ LPFILETIME _In_ DWORD _In_ DWORD _Outptr_opt_ void ** ppvObject
Definition: wincrypt.h:6082
#define E_NOINTERFACE
Definition: winerror.h:2364
#define E_POINTER
Definition: winerror.h:2365

Referenced by ATL::CComObjectRootBase::InternalQueryInterface().

◆ AtlLoadTypeLib()

HRESULT WINAPI ATL::AtlLoadTypeLib ( HINSTANCE  inst,
LPCOLESTR  lpszIndex,
BSTR pbstrPath,
ITypeLib **  ppTypeLib 
)
inline

Definition at line 1706 of file atlbase.h.

1708{
1709 size_t index_len = lpszIndex ? wcslen(lpszIndex) : 0;
1711 path.Allocate(MAX_PATH + index_len + wcslen(L".tlb"));
1712
1713 if (!path)
1714 return E_OUTOFMEMORY;
1715
1716 size_t path_len = GetModuleFileNameW(inst, path, MAX_PATH);
1717 if (!path_len)
1719
1720 if (index_len)
1721 wcscat(path, lpszIndex);
1722
1724 HRESULT hResult = LoadTypeLib(path, &typelib);
1725 if (FAILED(hResult))
1726 {
1727 WCHAR *ptr;
1728 for (ptr = path+path_len-1; ptr > path && *ptr != '\\' && *ptr != '.'; ptr--)
1729 ;
1730 if (*ptr != '.')
1731 ptr = (WCHAR*)path + path_len;
1732 wcscpy(ptr, L".tlb");
1733
1734 hResult = LoadTypeLib(path, &typelib);
1735 }
1736
1737 if (SUCCEEDED(hResult))
1738 {
1739 *pbstrPath = SysAllocString(path);
1740 if (!*pbstrPath)
1741 {
1742 typelib.Release();
1743 hResult = E_OUTOFMEMORY;
1744 }
1745 }
1746
1747 if (FAILED(hResult))
1748 return hResult;
1749
1750 *ppTypeLib = typelib.Detach();
1751 return S_OK;
1752}
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
#define MAX_PATH
Definition: compat.h:34
DWORD WINAPI GetModuleFileNameW(HINSTANCE hModule, LPWSTR lpFilename, DWORD nSize)
Definition: loader.c:600
HRESULT WINAPI LoadTypeLib(const OLECHAR *szFile, ITypeLib **pptLib)
Definition: typelib.c:458
_CRTIMP size_t __cdecl wcslen(_In_z_ const wchar_t *_Str)
ULONG Release()
static DWORD path_len
Definition: batch.c:31
#define L(x)
Definition: ntvdm.h:50
BSTR WINAPI SysAllocString(LPCOLESTR str)
Definition: oleaut.c:238
_CRTIMP wchar_t *__cdecl wcscpy(_Out_writes_z_(_String_length_(_Source)+1) wchar_t *_Dest, _In_z_ const wchar_t *_Source)
_CRTIMP wchar_t *__cdecl wcscat(_Inout_updates_z_(_String_length_(_Dest)+_String_length_(_Source)+1) wchar_t *_Dest, _In_z_ const wchar_t *_Source)

Referenced by AtlComModuleUnregisterServer(), and AtlRegisterTypeLib().

◆ AtlRegisterClassCategoriesHelper()

HRESULT WINAPI ATL::AtlRegisterClassCategoriesHelper ( REFCLSID  clsid,
const _ATL_CATMAP_ENTRY catmap,
BOOL  reg 
)
inline

Definition at line 1767 of file atlbase.h.

1768{
1769 if (!catmap)
1770 return S_OK;
1771
1773
1774 HRESULT hResult = CoCreateInstance(CLSID_StdComponentCategoriesMgr, NULL, CLSCTX_INPROC_SERVER, IID_ICatRegister, (void**)&catreg);
1775 if (FAILED(hResult))
1776 return hResult;
1777
1778 for (const _ATL_CATMAP_ENTRY *iter = catmap; iter->iType != _ATL_CATMAP_ENTRY_END; iter++)
1779 {
1780 CATID catid = *iter->pcatid;
1781
1782 if (iter->iType == _ATL_CATMAP_ENTRY_IMPLEMENTED)
1783 {
1784 if (reg)
1786 else
1788 }
1789 else
1790 {
1791 if (reg)
1793 else
1795 }
1796 if (FAILED(hResult))
1797 return hResult;
1798 }
1799
1800 if (!reg)
1801 {
1802 WCHAR reg_path[256] = L"CLSID\\";
1803
1804 StringFromGUID2(clsid, reg_path + wcslen(reg_path), 64);
1805 wcscat(reg_path, L"\\");
1806 WCHAR* ptr = reg_path + wcslen(reg_path);
1807
1808 wcscpy(ptr, L"Implemented Categories");
1810
1811 wcscpy(ptr, L"Required Categories");
1813 }
1814
1815 return hResult;
1816}
LONG WINAPI RegDeleteKeyW(_In_ HKEY hKey, _In_ LPCWSTR lpSubKey)
Definition: reg.c:1239
static ICatRegister * catreg
Definition: atl.c:40
HRESULT WINAPI DECLSPEC_HOTPATCH CoCreateInstance(REFCLSID rclsid, LPUNKNOWN pUnkOuter, DWORD dwClsContext, REFIID iid, LPVOID *ppv)
Definition: compobj.c:3325
INT WINAPI StringFromGUID2(REFGUID id, LPOLESTR str, INT cmax)
Definition: compobj.c:2434
static int reg
Definition: i386-dis.c:1290
HRESULT RegisterClassReqCategories([in] REFCLSID rclsid, [in] ULONG cCategories, [in, size_is(cCategories)] CATID rgcatid[])
HRESULT RegisterClassImplCategories([in] REFCLSID rclsid, [in] ULONG cCategories, [in, size_is(cCategories)] CATID rgcatid[])
HRESULT UnRegisterClassImplCategories([in] REFCLSID rclsid, [in] ULONG cCategories, [in, size_is(cCategories)] CATID rgcatid[])
HRESULT UnRegisterClassReqCategories([in] REFCLSID rclsid, [in] ULONG cCategories, [in, size_is(cCategories)] CATID rgcatid[])
#define _ATL_CATMAP_ENTRY_END
Definition: atlbase.h:78
#define _ATL_CATMAP_ENTRY_IMPLEMENTED
Definition: atlbase.h:79
GUID catid
Definition: msctf.idl:647
int iType
Definition: atlbase.h:74
#define HKEY_CLASSES_ROOT
Definition: winreg.h:10

Referenced by AtlComModuleRegisterServer(), and AtlComModuleUnregisterServer().

◆ AtlRegisterTypeLib()

HRESULT WINAPI ATL::AtlRegisterTypeLib ( HINSTANCE  inst,
const WCHAR index 
)
inline

Definition at line 1755 of file atlbase.h.

1756{
1757 CComBSTR path;
1759 HRESULT hResult = AtlLoadTypeLib(inst, index, &path, &typelib);
1760 if (FAILED(hResult))
1761 return hResult;
1762
1763 return RegisterTypeLib(typelib, path, NULL); /* FIXME: pass help directory */
1764}
HRESULT WINAPI RegisterTypeLib(ITypeLib *ptlib, const WCHAR *szFullPath, const WCHAR *szHelpDir)
Definition: typelib.c:656
GLuint index
Definition: glext.h:6031

Referenced by AtlComModuleRegisterServer().

◆ AtlThrowImp()

void ATL::AtlThrowImp ( HRESULT  hr)
inline

Definition at line 18 of file atlexcept.h.

19{
20#ifdef ATLTRACE
21 ATLTRACE(hr);
22#endif
23
24#ifdef _ATL_NO_EXCEPTIONS
25
26 ATLASSERT(false);
27
31 );
32
33#else
34
35 // FIXME: This is horribly wrong, we should implement CException!
36 throw;
37
38#endif
39
40}
#define ATLTRACE(format,...)
Definition: atltrace.h:269
VOID WINAPI RaiseException(_In_ DWORD dwExceptionCode, _In_ DWORD dwExceptionFlags, _In_ DWORD nNumberOfArguments, _In_opt_ const ULONG_PTR *lpArguments)
Definition: except.c:700
#define STATUS_NO_MEMORY
Definition: ntstatus.h:260
#define EXCEPTION_NONCONTINUABLE
Definition: stubs.h:23
#define EXCEPTION_ILLEGAL_INSTRUCTION
Definition: winbase.h:327

Referenced by ATL::CAtlList< E, ETraits >::GetFreeNode().

◆ AtlUnadvise()

HRESULT __stdcall ATL::AtlUnadvise ( IUnknown pUnkCP,
const IID iid,
DWORD  dw 
)
inline

Definition at line 1582 of file atlbase.h.

1583{
1585 CComPtr<IConnectionPoint> connectionPoint;
1586 HRESULT hResult;
1587
1588 if (pUnkCP == NULL)
1589 return E_INVALIDARG;
1590 hResult = pUnkCP->QueryInterface(IID_IConnectionPointContainer, (void **)&container);
1591 if (FAILED(hResult))
1592 return hResult;
1593 hResult = container->FindConnectionPoint(iid, &connectionPoint);
1594 if (FAILED(hResult))
1595 return hResult;
1596 return connectionPoint->Unadvise(dw);
1597}

◆ AtlWinModuleAddCreateWndData()

void __stdcall ATL::AtlWinModuleAddCreateWndData ( _ATL_WIN_MODULE pWinModule,
_AtlCreateWndData pData,
void pObject 
)
inline

Definition at line 1664 of file atlbase.h.

1665{
1667
1668 ATLASSERT(pWinModule != NULL);
1670
1671 pData->m_pThis = pObject;
1672 pData->m_dwThreadID = ::GetCurrentThreadId();
1673 pData->m_pNext = pWinModule->m_pCreateWndList;
1674 pWinModule->m_pCreateWndList = pData;
1675}
FxObject * pObject
CComCriticalSection m_csWindowCreate
Definition: atlbase.h:177
_AtlCreateWndData * m_pCreateWndList
Definition: atlbase.h:178
TW_UINT32 TW_UINT16 TW_UINT16 TW_MEMREF pData
Definition: twain.h:1830
DWORD WINAPI GetCurrentThreadId(void)
Definition: thread.c:459

Referenced by ATL::CAtlWinModule::AddCreateWndData().

◆ AtlWinModuleExtractCreateWndData()

void *__stdcall ATL::AtlWinModuleExtractCreateWndData ( _ATL_WIN_MODULE pWinModule)
inline

Definition at line 1677 of file atlbase.h.

1678{
1680 void *result;
1681 _AtlCreateWndData *currentEntry;
1682 _AtlCreateWndData **previousLink;
1683 DWORD threadID;
1684
1685 ATLASSERT(pWinModule != NULL);
1686
1687 result = NULL;
1688 threadID = GetCurrentThreadId();
1689 currentEntry = pWinModule->m_pCreateWndList;
1690 previousLink = &pWinModule->m_pCreateWndList;
1691 while (currentEntry != NULL)
1692 {
1693 if (currentEntry->m_dwThreadID == threadID)
1694 {
1695 *previousLink = currentEntry->m_pNext;
1696 result = currentEntry->m_pThis;
1697 break;
1698 }
1699 previousLink = &currentEntry->m_pNext;
1700 currentEntry = currentEntry->m_pNext;
1701 }
1702 return result;
1703}
GLuint64EXT * result
Definition: glext.h:11304
_AtlCreateWndData * m_pNext
Definition: atlbase.h:161

Referenced by ATL::CAtlWinModule::ExtractCreateWndData().

◆ AtlWinModuleInit()

HRESULT __stdcall ATL::AtlWinModuleInit ( _ATL_WIN_MODULE pWinModule)
inline

Definition at line 1648 of file atlbase.h.

1649{
1650 if (pWinModule == NULL)
1651 return E_INVALIDARG;
1652 pWinModule->m_pCreateWndList = NULL;
1653 return pWinModule->m_csWindowCreate.Init();
1654}

Referenced by ATL::CAtlWinModule::CAtlWinModule().

◆ AtlWinModuleTerm()

HRESULT __stdcall ATL::AtlWinModuleTerm ( _ATL_WIN_MODULE pWinModule,
HINSTANCE  hInst 
)
inline

Definition at line 1656 of file atlbase.h.

1657{
1658 if (pWinModule == NULL)
1659 return E_INVALIDARG;
1660 pWinModule->m_csWindowCreate.Term();
1661 return S_OK;
1662}

Referenced by ATL::CAtlWinModule::Term().

◆ HRESULT()

typedef ATL::HRESULT ( WINAPI  _ATL_CREATORFUNC)

◆ InlineIsEqualUnknown()

BOOL WINAPI ATL::InlineIsEqualUnknown ( REFGUID  rguid1)
inline

Definition at line 374 of file atlbase.h.

375{
376 return (
377 ((unsigned long *)&rguid1)[0] == 0 &&
378 ((unsigned long *)&rguid1)[1] == 0 &&
379 ((unsigned long *)&rguid1)[2] == 0x000000C0 &&
380 ((unsigned long *)&rguid1)[3] == 0x46000000);
381}

Referenced by ATL::IConnectionPointImpl< T, piid, CDV >::_LocCPQueryInterface(), AtlInternalQueryInterface(), and ATL::CComClassFactory::CreateInstance().

◆ LPCTSTR()

typedef ATL::LPCTSTR ( WINAPI  _ATL_DESCRIPTIONFUNC)

◆ void()

typedef ATL::void ( __stdcall  _ATL_TERMFUNC)