35 #pragma warning(disable:4355) 42 #ifdef _ATL_DISABLE_NO_VTABLE 45 #define ATL_NO_VTABLE __declspec(novtable) 48 #ifndef ATL_DEPRECATED 49 #define ATL_DEPRECATED __declspec(deprecated) 69 #define _ATL_CATMAP_ENTRY_END 0 70 #define _ATL_CATMAP_ENTRY_IMPLEMENTED 1 71 #define _ATL_CATMAP_ENTRY_REQUIRED 2 139 #define _ATL_SIMPLEMAPENTRY ((ATL::_ATL_CREATORARGFUNC *)1) 196 template<
class TLock>
229 hResult =
m_cs.Lock();
242 hResult =
m_cs.Unlock();
328 ((
unsigned long *)&rguid1)[0] == 0 &&
329 ((
unsigned long *)&rguid1)[1] == 0 &&
330 ((
unsigned long *)&rguid1)[2] == 0x000000C0 &&
331 ((
unsigned long *)&rguid1)[3] == 0x46000000);
391 #if defined(_ATL_FREE_THREADED) 396 #elif defined(_ATL_APARTMENT_THREADED) 401 #elif defined(_ATL_SINGLE_THREADED) 407 #error No threading model 447 hResult =
CommonInitRegistrar(registrar, modulePath,
sizeof(modulePath) /
sizeof(modulePath[0]), pMapEntries);
458 if (bRegister !=
FALSE)
472 hResult =
CommonInitRegistrar(registrar, modulePath,
sizeof(modulePath) /
sizeof(modulePath[0]), pMapEntries);
476 if (bRegister !=
FALSE)
491 hInstance = _AtlBaseModule.GetModuleInstance();
493 if (dwFLen == modulePathCount)
495 else if (dwFLen == 0)
498 if (pMapEntries !=
NULL)
526 __declspec(selectany)
GUID CAtlModule::m_libid = {0x0, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0} };
620 pThis = static_cast<T *>(
this);
621 if (pThis->GetLockCount() == 0)
630 pThis = static_cast<T *>(
this);
631 return pThis->GetClassObject(rclsid,
riid,
ppv);
639 pThis = static_cast<T *>(
this);
640 hResult = pThis->RegisterServer(bRegTypeLib);
649 pThis = static_cast<T *>(
this);
650 hResult = pThis->UnregisterServer(bUnRegTypeLib);
685 T* pThis = static_cast<T*>(
this);
688 if (pThis->ParseCommandLine(lpCommandLine, &
hr))
690 hr = pThis->Run(nShowCmd);
693 T::UninitializeCom();
702 T* pThis = static_cast<T*>(
this);
703 hr = pThis->PreMessageLoop(nShowCmd);
707 pThis->RunMessageLoop();
708 hr = pThis->PostMessageLoop();
737 T* pThis = static_cast<T*>(
this);
753 T* pThis = static_cast<T*>(
this);
754 return pThis->RevokeClassObjects();
805 if (
p != reinterpret_cast<_ATL_OBJMAP_ENTRY *>(-1))
813 objectMapEntry->pfnObjectMain(
true);
830 if (objectMapEntry->
pCF !=
NULL)
833 objectMapEntry->pfnObjectMain(
false);
856 if (objectMapEntry->
pCF ==
NULL)
860 if (objectMapEntry->
pCF ==
NULL)
863 if (objectMapEntry->
pCF !=
NULL)
885 if (objectMapEntry !=
NULL)
891 hResult = objectMapEntry->pfnUpdateRegistry(
TRUE);
910 if (objectMapEntry !=
NULL)
916 hResult = objectMapEntry->pfnUpdateRegistry(
FALSE);
1017 CAtlTransactionManager* m_pTM;
1039 CRegKey(CAtlTransactionManager* pTM)
throw()
1173 CHAR bufA[40] = {0};
1202 ULONG* pnChars)
throw()
1249 CHAR bufA[40] = {0};
1277 dwNotifyFilter,
hEvent, bAsync);
1292 LONG lRet =
key.Create(hKeyParent, lpszKeyName);
1295 lRet =
key.SetStringValue(lpszValueName, lpszValue);
1307 lRet =
key.SetStringValue(lpszValueName, lpszValue);
1382 }
while (*pszz !=
TEXT(
'\0'));
1418 if (pszName ==
NULL)
1426 pszName = szNameBuf;
1454 if (pszName != szNameBuf)
1487 hResult =
container->FindConnectionPoint(iid, &connectionPoint);
1490 return connectionPoint->Advise(
pUnk, pdw);
1504 hResult =
container->FindConnectionPoint(iid, &connectionPoint);
1507 return connectionPoint->Unadvise(
dw);
1517 if (pThis ==
NULL || pEntries ==
NULL)
1525 resultInterface = reinterpret_cast<IUnknown *>(reinterpret_cast<char *>(pThis) + pEntries[0].
dw);
1527 resultInterface->
AddRef();
1532 while (pEntries[
i].pFunc != 0)
1536 if (pEntries[
i].pFunc == reinterpret_cast<_ATL_CREATORARGFUNC *>(1))
1539 resultInterface = reinterpret_cast<IUnknown *>(reinterpret_cast<char *>(pThis) + pEntries[
i].
dw);
1541 resultInterface->
AddRef();
1547 if (hResult ==
S_OK)
1561 if (pWinModule ==
NULL)
1569 if (pWinModule ==
NULL)
1602 while (currentEntry !=
NULL)
1606 *previousLink = currentEntry->
m_pNext;
1610 previousLink = ¤tEntry->
m_pNext;
1611 currentEntry = currentEntry->
m_pNext;
1620 size_t index_len = lpszIndex ?
wcslen(lpszIndex) : 0;
1661 *ppTypeLib =
typelib.Detach();
1713 WCHAR reg_path[256] =
L"CLSID\\";
1735 for (
_ATL_OBJMAP_ENTRY ** iter =
mod->m_ppAutoObjMapFirst; iter < mod->m_ppAutoObjMapLast; iter++)
1743 hResult =
entry->pfnUpdateRegistry(
TRUE);
1769 for (
_ATL_OBJMAP_ENTRY **iter =
mod->m_ppAutoObjMapFirst; iter < mod->m_ppAutoObjMapLast; iter++)
1822 for (iter =
module->m_ppAutoObjMapFirst; iter < module->m_ppAutoObjMapLast; iter++)
1824 if (!(*iter)->pfnGetClassObject)
1827 hr = (*iter)->pfnGetClassObject((
void*)(*iter)->pfnCreateInstance,
IID_IUnknown, (
void**)&unk);
1850 for (iter =
module->m_ppAutoObjMapFirst; iter < module->m_ppAutoObjMapLast; iter++)
1862 #ifndef _ATL_NO_AUTOMATIC_NAMESPACE 1863 using namespace ATL;
HRESULT WINAPI AtlRegisterClassCategoriesHelper(REFCLSID clsid, const _ATL_CATMAP_ENTRY *catmap, BOOL reg)
CComCriticalSection m_csWindowCreate
LONG SetGUIDValue(LPCTSTR pszValueName, REFGUID guidValue)
LONG QueryBinaryValue(LPCTSTR pszValueName, void *pValue, ULONG *pnBytes)
HRESULT DllCanUnloadNow()
DWORD WINAPI GetModuleFileNameW(HINSTANCE hModule, LPWSTR lpFilename, DWORD nSize)
CComMultiThreadModelNoCS ThreadModelNoCS
typedef HRESULT(WINAPI _ATL_CREATORFUNC)(void *pv
CComFakeCriticalSection AutoCriticalSection
static void * Reallocate(_In_opt_ void *ptr, _In_ size_t size)
HRESULT PostMessageLoop()
HRESULT PreMessageLoop(int nShowCmd)
BOOL WINAPI TranslateMessage(_In_ const MSG *)
_AtlCreateWndData * m_pNext
HRESULT RegisterClassReqCategories([in] REFCLSID rclsid, [in] ULONG cCategories, [in, size_is(cCategories)] CATID rgcatid[])
HRESULT DllRegisterServer(BOOL bRegTypeLib=TRUE)
static ULONG WINAPI Decrement(LPLONG p)
#define HRESULT_FROM_WIN32(x)
VOID WINAPI CoTaskMemFree(LPVOID ptr)
static void * Allocate(_In_ size_t size)
HRESULT UnregisterServer(BOOL bUnRegTypeLib, const CLSID *pCLSID=NULL)
#define WideCharToMultiByte
LONG NotifyChangeKeyValue(BOOL bWatchSubtree, DWORD dwNotifyFilter, HANDLE hEvent, BOOL bAsync=TRUE)
HRESULT WINAPI AtlComModuleGetClassObject(_ATL_COM_MODULE *pComModule, REFCLSID rclsid, REFIID riid, LPVOID *ppv)
ULONG WINAPI CoAddRefServerProcess(void)
#define ERROR_NO_MORE_ITEMS
GLsizei const GLchar ** path
CComFakeCriticalSection AutoDeleteCriticalSection
void AddCreateWndData(_AtlCreateWndData *pData, void *pObject)
HRESULT WINAPI AtlComModuleRevokeClassObjects(_ATL_COM_MODULE *module)
_ATL_COM_MODULE70 _ATL_COM_MODULE
CComFakeCriticalSection CriticalSection
HRESULT WINAPI AtlLoadTypeLib(HINSTANCE inst, LPCOLESTR lpszIndex, BSTR *pbstrPath, ITypeLib **ppTypeLib)
_ATL_OBJMAP_ENTRY * m_pObjMap
REFIID LPVOID DWORD_PTR dw
GLuint GLuint GLsizei count
TW_UINT32 TW_UINT16 TW_UINT16 MSG
static void UninitializeCom()
void(WINAPI *pfnObjectMain)(bool bStarting)
LONG SetMultiStringValue(LPCTSTR pszValueName, LPCTSTR pszValue)
LONG WINAPI RegDeleteKeyW(_In_ HKEY hKey, _In_ LPCWSTR lpSubKey)
ULONG WINAPI CoReleaseServerProcess(void)
const GUID IID_IConnectionPointContainer
virtual HRESULT AddCommonRGSReplacements(IRegistrarBase *pRegistrar)
HRESULT RegisterServer(BOOL bRegTypeLib=FALSE, const CLSID *pCLSID=NULL)
static ITypeLib * typelib
LONG SetBinaryValue(LPCTSTR pszValueName, const void *pValue, ULONG nBytes)
_ATL_MODULE70 _ATL_MODULE
HRESULT WINAPI AtlComModuleRegisterServer(_ATL_COM_MODULE *mod, BOOL bRegTypeLib, const CLSID *clsid)
DWORD WINAPI GetLastError(VOID)
HRESULT WINAPI LoadTypeLib(const OLECHAR *szFile, ITypeLib **pptLib)
HRESULT UnRegisterClassImplCategories([in] REFCLSID rclsid, [in] ULONG cCategories, [in, size_is(cCategories)] CATID rgcatid[])
HRESULT WINAPI AtlInternalQueryInterface(void *pThis, const _ATL_INTMAP_ENTRY *pEntries, REFIID iid, void **ppvObject)
static LONG WINAPI SetValue(HKEY hKeyParent, LPCTSTR lpszKeyName, LPCTSTR lpszValue, LPCTSTR lpszValueName=NULL)
HRESULT __stdcall AtlUnadvise(IUnknown *pUnkCP, const IID &iid, DWORD dw)
LONG WINAPI RegFlushKey(HKEY hKey)
CComAutoDeleteCriticalSection AutoDeleteCriticalSection
HRESULT WINAPI RegisterClassObject(DWORD dwClsContext, DWORD dwFlags)
CComSingleThreadModel ThreadModelNoCS
#define CLASS_E_CLASSNOTAVAILABLE
CComCritSecLock(TLock &cs, bool bInitialLock=true)
HRESULT WINAPI AtlWinModuleTerm(_ATL_WIN_MODULE *pWinModule, HINSTANCE hInst)
_ATL_OBJMAP_ENTRY30 _ATL_OBJMAP_ENTRY
_ATL_TERMFUNC_ELEM * pNext
HRESULT AddReplacement([in] LPCOLESTR Key, [in] LPCOLESTR item)
CHandle(_In_ HANDLE handle)
HRESULT DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppv)
void *WINAPI AtlWinModuleExtractCreateWndData(_ATL_WIN_MODULE *pWinModule)
static ULONG WINAPI Increment(LPLONG p)
GLenum GLuint GLenum GLsizei const GLchar * buf
HRESULT Init(_ATL_OBJMAP_ENTRY *p, HINSTANCE, const GUID *plibid)
virtual LONG GetLockCount()
HRESULT CommonInitRegistrar(CRegObject ®istrar, WCHAR *modulePath, DWORD modulePathCount, struct _ATL_REGMAP_ENTRY *pMapEntries)
namespace GUID const ADDRINFOEXW ADDRINFOEXW struct timeval OVERLAPPED LPLOOKUPSERVICE_COMPLETION_ROUTINE HANDLE * handle
LONG DeleteSubKey(LPCTSTR lpszSubKey)
static ICatRegister * catreg
DWORD SECURITY_INFORMATION
HRESULT RegisterServer(BOOL bRegTypeLib=FALSE, const CLSID *pCLSID=NULL)
HRESULT STDMETHODCALLTYPE ResourceRegisterSz(LPCOLESTR resFileName, LPCOLESTR szID, LPCOLESTR szType)
CComFakeCriticalSection CriticalSection
GLenum GLuint GLenum GLsizei length
HRESULT UnregisterServer(BOOL bUnRegTypeLib, const CLSID *pCLSID=NULL)
size_t __cdecl _tcslen(const _TCHAR *str)
HRESULT DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppv)
LONG WINAPI RegSetKeySecurity(HKEY hKey, SECURITY_INFORMATION SecurityInformation, PSECURITY_DESCRIPTOR pSecurityDescriptor)
BSTR WINAPI SysAllocString(LPCOLESTR str)
HRESULT WINAPI RegisterTypeLib(ITypeLib *ptlib, const WCHAR *szFullPath, const WCHAR *szHelpDir)
_ATL_OBJMAP_ENTRY ** m_ppAutoObjMapLast
LONG SetQWORDValue(LPCTSTR pszValueName, ULONGLONG qwValue)
static ULONG WINAPI Decrement(LPLONG p)
HRESULT WINAPI AtlComModuleRegisterClassObjects(_ATL_COM_MODULE *module, DWORD context, DWORD flags)
LONG QueryDWORDValue(LPCTSTR pszValueName, DWORD &dwValue)
DWORD WINAPI GetCurrentThreadId(VOID)
LONG SetKeyValue(LPCTSTR lpszKeyName, LPCTSTR lpszValue, LPCTSTR lpszValueName=NULL)
HRESULT WINAPI DECLSPEC_HOTPATCH CoRevokeClassObject(DWORD dwRegister)
LONG QueryGUIDValue(LPCTSTR pszValueName, GUID &guidValue)
static void Free(_In_opt_ void *ptr)
LONG QueryValue(LPCTSTR pszValueName, DWORD *pdwType, void *pData, ULONG *pnBytes)
#define REG_OPTION_NON_VOLATILE
HRESULT WINAPI UpdateRegistryFromResource(UINT nResID, BOOL bRegister, struct _ATL_REGMAP_ENTRY *pMapEntries=NULL)
LONG SetDWORDValue(LPCTSTR pszValueName, DWORD dwValue)
HRESULT UnregisterServer(BOOL bUnRegTypeLib, const CLSID *pCLSID=NULL)
_AtlCreateWndData * m_pCreateWndList
LONG WINAPI RegGetKeySecurity(HKEY hKey, SECURITY_INFORMATION SecurityInformation, PSECURITY_DESCRIPTOR pSecurityDescriptor, LPDWORD lpcbSecurityDescriptor)
HRESULT WINAPI UpdateRegistryFromResource(LPCTSTR lpszRes, BOOL bRegister, struct _ATL_REGMAP_ENTRY *pMapEntries=NULL)
void Attach(_In_ HANDLE handle)
HRESULT GetLibAttr([out] TLIBATTR **ppTLibAttr)
HRESULT WINAPI AtlWinModuleInit(_ATL_WIN_MODULE *pWinModule)
void WINAPI AtlWinModuleAddCreateWndData(_ATL_WIN_MODULE *pWinModule, _AtlCreateWndData *pData, void *pObject)
CRegKey & operator=(CRegKey &key)
#define PostThreadMessage
INT WINAPI StringFromGUID2(REFGUID id, LPOLESTR str, INT cmax)
_ATL_OBJMAP_ENTRY ** m_ppAutoObjMapFirst
LONG Open(HKEY hKeyParent, LPCTSTR lpszKeyName, REGSAM samDesired=KEY_READ|KEY_WRITE)
HRESULT STDMETHODCALLTYPE ResourceUnregisterSz(LPCOLESTR resFileName, LPCOLESTR szID, LPCOLESTR szType)
BOOL WINAPI InlineIsEqualUnknown(REFGUID rguid1)
LONG QueryStringValue(LPCTSTR pszValueName, LPTSTR pszValue, ULONG *pnChars)
HRESULT DllUnregisterServer(BOOL bUnRegTypeLib=TRUE)
typedef void(__stdcall _ATL_TERMFUNC)(DWORD_PTR dw)
LONG QueryMultiStringValue(LPCTSTR pszValueName, LPTSTR pszValue, ULONG *pnChars)
const struct _ATL_CATMAP_ENTRY *() _ATL_CATMAPFUNC()
HRESULT RegisterClassImplCategories([in] REFCLSID rclsid, [in] ULONG cCategories, [in, size_is(cCategories)] CATID rgcatid[])
_ATL_CREATORFUNC * pfnCreateInstance
CComAutoCriticalSection AutoCriticalSection
LONG EnumKey(DWORD iIndex, LPTSTR pszName, LPDWORD pnNameLength, FILETIME *pftLastWriteTime=NULL)
virtual HRESULT AddCommonRGSReplacements(IRegistrarBase *)=0
_CRTIMP wchar_t *__cdecl wcscpy(_Out_writes_z_(_String_length_(_Source)+1) wchar_t *_Dest, _In_z_ const wchar_t *_Source)
LONG GetKeySecurity(SECURITY_INFORMATION si, PSECURITY_DESCRIPTOR psd, LPDWORD pnBytes)
#define InterlockedDecrement
static LPCOLESTR GetAppId()
bool ParseCommandLine(LPCTSTR lpCmdLine, HRESULT *pnRetCode)
_ATL_CATMAPFUNC * pfnGetCategoryMap
void * ExtractCreateWndData()
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
LONG Create(HKEY hKeyParent, LPCTSTR lpszKeyName, LPTSTR lpszClass=REG_NONE, DWORD dwOptions=REG_OPTION_NON_VOLATILE, REGSAM samDesired=KEY_READ|KEY_WRITE, LPSECURITY_ATTRIBUTES lpSecAttr=NULL, LPDWORD lpdwDisposition=NULL)
_ATL_CREATORFUNC * pfnGetClassObject
REFIID LPVOID * ppvObject
static ULONG _GetMultiStringSize(LPCTSTR pszz)
HRESULT WINAPI UnRegisterTypeLib(REFGUID libid, WORD wVerMajor, WORD wVerMinor, LCID lcid, SYSKIND syskind)
LONG SetKeySecurity(SECURITY_INFORMATION si, PSECURITY_DESCRIPTOR psd)
CComMultiThreadModelNoCS ThreadModelNoCS
HRESULT STDMETHODCALLTYPE ResourceUnregister(LPCOLESTR resFileName, UINT nID, LPCOLESTR szType)
HRESULT WINAPI AtlComModuleUnregisterServer(_ATL_COM_MODULE *mod, BOOL bRegTypeLib, const CLSID *clsid)
#define ERROR_INVALID_DATA
HRESULT WINAPI DECLSPEC_HOTPATCH CoCreateInstance(REFCLSID rclsid, LPUNKNOWN pUnkOuter, DWORD dwClsContext, REFIID iid, LPVOID *ppv)
static ULONG WINAPI Decrement(LPLONG p)
HRESULT STDMETHODCALLTYPE AddReplacement(LPCOLESTR key, LPCOLESTR item)
HRESULT WINAPI AtlRegisterTypeLib(HINSTANCE inst, const WCHAR *index)
static ULONG WINAPI Increment(LPLONG p)
HRESULT WINAPI CoRegisterClassObject(REFCLSID rclsid, LPUNKNOWN pUnk, DWORD dwClsContext, DWORD flags, LPDWORD lpdwRegister)
BOOL WINAPI GetModuleHandleExW(IN DWORD dwFlags, IN LPCWSTR lpwModuleName OPTIONAL, OUT HMODULE *phModule)
LONG WINAPI RegNotifyChangeKeyValue(HKEY hKey, BOOL bWatchSubtree, DWORD dwNotifyFilter, HANDLE hEvent, BOOL fAsynchronous)
#define _ATL_CATMAP_ENTRY_END
#define InterlockedIncrement
typedef LPCTSTR(WINAPI _ATL_DESCRIPTIONFUNC)()
CComCriticalSection m_csStaticDataInitAndTypeInfo
CComCriticalSection CriticalSection
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 _ATL_CATMAP_ENTRY_IMPLEMENTED
static HRESULT InitializeCom()
void WINAPI DECLSPEC_HOTPATCH CoUninitialize(void)
CHandle & operator=(_Inout_ CHandle &handle)
HRESULT WINAPI DECLSPEC_HOTPATCH CoInitializeEx(LPVOID lpReserved, DWORD dwCoInit)
_CRTIMP wchar_t *__cdecl wcscat(_Inout_updates_z_(_String_length_(_Dest)+_String_length_(_Source)+1) wchar_t *_Dest, _In_z_ const wchar_t *_Source)
LONG RecurseDeleteKey(LPCTSTR lpszKey)
BOOL WINAPI IsEqualGUID(REFGUID rguid1, REFGUID rguid2)
HRESULT DllCanUnloadNow()
_CRTIMP size_t __cdecl wcslen(_In_z_ const wchar_t *_Str)
CComFakeCriticalSection AutoDeleteCriticalSection
void ReleaseTLibAttr([in] TLIBATTR *pTLibAttr)
#define MultiByteToWideChar
HRESULT UnRegisterClassReqCategories([in] REFCLSID rclsid, [in] ULONG cCategories, [in, size_is(cCategories)] CATID rgcatid[])
LONG QueryQWORDValue(LPCTSTR pszValueName, ULONGLONG &qwValue)
HRESULT QueryInterface([in] REFIID riid, [out, iid_is(riid)] void **ppvObject)
HRESULT STDMETHODCALLTYPE ResourceRegister(LPCOLESTR resFileName, UINT nID, LPCOLESTR szType)
HRESULT GetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppv)
HRESULT __stdcall AtlAdvise(IUnknown *pUnkCP, IUnknown *pUnk, const IID &iid, LPDWORD pdw)
__declspec(selectany) CAtlModule *_pAtlModule
CComMultiThreadModel CComGlobalsThreadModel
_ATL_CREATORARGFUNC * pFunc
CComMultiThreadModel CComObjectThreadModel
_ATL_WIN_MODULE70 _ATL_WIN_MODULE
int WinMain(int nShowCmd)
HRESULT DllRegisterServer(BOOL bRegTypeLib=TRUE)
HRESULT RegisterServer(BOOL bRegTypeLib=FALSE, const CLSID *pCLSID=NULL)
HRESULT WINAPI CLSIDFromString(LPCOLESTR idstr, LPCLSID id)
HRESULT GetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppv)
static LONG _DoDeleteKeyTree(HKEY hParentKey, LPCTSTR lpszKey)
LPVOID WINAPI CoTaskMemRealloc(LPVOID pvOld, SIZE_T size)
HRESULT Run(int nShowCmd=SW_HIDE)
#define HKEY_CLASSES_ROOT
CHandle(_Inout_ CHandle &handle)
HRESULT DllUnregisterServer(BOOL bUnRegTypeLib=TRUE)
LONG DeleteValue(LPCTSTR lpszValue)
CComFakeCriticalSection AutoCriticalSection
GLuint GLuint GLsizei GLenum type
TW_UINT32 TW_UINT16 TW_UINT16 TW_MEMREF pData
#define IsEqualCLSID(rclsid1, rclsid2)
HRESULT(WINAPI *pfnUpdateRegistry)(BOOL bRegister)
static void *static void *static LPDIRECTPLAY IUnknown * pUnk
static bool m_bInitFailed
LPVOID WINAPI CoTaskMemAlloc(SIZE_T size)
_ATL_DESCRIPTIONFUNC * pfnGetObjectDescription
_ATL_TERMFUNC_ELEM * m_pTermFuncs
#define InlineIsEqualGUID(rguid1, rguid2)
HRESULT RegisterClassObjects(DWORD dwClsContext, DWORD dwFlags)
#define RegCloseKey(hKey)
PSDBQUERYRESULT_VISTA PVOID DWORD * dwSize
LONG SetValue(LPCTSTR pszValueName, DWORD dwType, const void *pValue, ULONG nBytes)
HRESULT RevokeClassObjects()
static ULONG WINAPI Increment(LPLONG p)
HRESULT WINAPI RevokeClassObject()
CComCriticalSection m_csObjMap
LONG SetStringValue(LPCTSTR pszValueName, LPCTSTR pszValue, DWORD dwType=REG_SZ)
#define ERROR_INSUFFICIENT_BUFFER