36 {0x178fc163,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x46}};
37 #define CLSID_TEST_STR "178fc163-0000-0000-0000-000000000046" 40 {0x178fc163,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x46}};
41 #define CATID_CATTEST1_STR "178fc163-0000-0000-0000-000000000146" 44 {0x178fc163,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x46}};
45 #define CATID_CATTEST2_STR "178fc163-0000-0000-0000-000000000246" 49 static const WCHAR progid1W[] = {
'S',
'h',
'e',
'l',
'l',
'.',
'E',
'x',
'p',
'l',
'o',
'r',
'e',
'r',
'.',
'2',
'\0'};
50 static const WCHAR clsid1W[] = {
'{',
'8',
'8',
'5',
'6',
'f',
'9',
'6',
'1',
'-',
'3',
'4',
'0',
'a',
'-',
51 '1',
'1',
'd',
'0',
'-',
'a',
'9',
'6',
'b',
'-',
52 '0',
'0',
'c',
'0',
'4',
'f',
'd',
'7',
'0',
'5',
'a',
'2',
'}',
'\0'};
53 static const WCHAR url1W[] = {
'h',
't',
't',
'p',
':',
'/',
'/',
't',
'e',
's',
't',
'.',
'w',
'i',
'n',
'e',
'h',
'q',
54 '.',
'o',
'r',
'g',
'/',
't',
'e',
's',
't',
's',
'/',
'w',
'i',
'n',
'e',
'h',
'q',
'_',
55 's',
'n',
'a',
'p',
's',
'h',
'o',
't',
'/',
'\0'};
56 static const WCHAR mshtml1W[] = {
'm',
's',
'h',
't',
'm',
'l',
':',
'<',
'h',
't',
'm',
'l',
'>',
'<',
'b',
'o',
'd',
'y',
'>',
57 't',
'e',
's',
't',
'<',
'/',
'b',
'o',
'd',
'y',
'>',
'<',
'/',
'h',
't',
'm',
'l',
'>',
'\0'};
58 static const WCHAR mshtml2W[] = {
'M',
'S',
'H',
'T',
'M',
'L',
':',
'<',
'h',
't',
'm',
'l',
'>',
'<',
'b',
'o',
'd',
'y',
'>',
59 't',
'e',
's',
't',
'<',
'/',
'b',
'o',
'd',
'y',
'>',
'<',
'/',
'h',
't',
'm',
'l',
'>',
'\0'};
60 static const WCHAR mshtml3W[] = {
'<',
'h',
't',
'm',
'l',
'>',
'<',
'b',
'o',
'd',
'y',
'>',
't',
'e',
's',
't',
61 '<',
'/',
'b',
'o',
'd',
'y',
'>',
'<',
'/',
'h',
't',
'm',
'l',
'>',
'\0'};
62 static const WCHAR fileW[] = {
'f',
'i',
'l',
'e',
':',
'/',
'/',
'/',
'\0'};
64 static const char html_str[] =
"<html><body>test</body><html>";
97 for (group_index = 0; group_index <
groups->GroupCount; group_index++)
119 if (!pOpenProcessToken)
122 pOpenProcessToken = (
void*)
GetProcAddress(hadvapi32,
"OpenProcessToken");
123 if (!pOpenProcessToken)
156 winmod.
cbSize = 0xdeadbeef;
160 winmod.
cbSize =
sizeof(winmod);
181 ok(winmod.
m_pCreateWndList == create_data,
"winmod.m_pCreateWndList != create_data\n");
182 ok(create_data[0].m_pThis == (
void*)0xdead0001,
"unexpected create_data[0].m_pThis %p\n", create_data[0].m_pThis);
183 ok(create_data[0].m_dwThreadID ==
GetCurrentThreadId(),
"unexpected create_data[0].m_dwThreadID %x\n",
184 create_data[0].m_dwThreadID);
185 ok(!create_data[0].m_pNext,
"unexpected create_data[0].m_pNext %p\n", create_data[0].m_pNext);
188 ok(winmod.
m_pCreateWndList == create_data+1,
"winmod.m_pCreateWndList != create_data\n");
189 ok(create_data[1].m_pThis == (
void*)0xdead0002,
"unexpected create_data[1].m_pThis %p\n", create_data[1].m_pThis);
190 ok(create_data[1].m_dwThreadID ==
GetCurrentThreadId(),
"unexpected create_data[1].m_dwThreadID %x\n",
191 create_data[1].m_dwThreadID);
192 ok(create_data[1].m_pNext == create_data,
"unexpected create_data[1].m_pNext %p\n", create_data[1].m_pNext);
195 ok(winmod.
m_pCreateWndList == create_data+2,
"winmod.m_pCreateWndList != create_data\n");
196 ok(create_data[2].m_pThis == (
void*)0xdead0003,
"unexpected create_data[2].m_pThis %p\n", create_data[2].m_pThis);
197 ok(create_data[2].m_dwThreadID ==
GetCurrentThreadId(),
"unexpected create_data[2].m_dwThreadID %x\n",
198 create_data[2].m_dwThreadID);
199 ok(create_data[2].m_pNext == create_data+1,
"unexpected create_data[2].m_pNext %p\n", create_data[2].m_pNext);
202 ok(
p == (
void*)0xdead0003,
"unexpected AtlWinModuleExtractCreateWndData result %p\n",
p);
203 ok(winmod.
m_pCreateWndList == create_data+1,
"winmod.m_pCreateWndList != create_data\n");
204 ok(create_data[2].m_pNext == create_data+1,
"unexpected create_data[2].m_pNext %p\n", create_data[2].m_pNext);
209 ok(
p == (
void*)0xdead0001,
"unexpected AtlWinModuleExtractCreateWndData result %p\n",
p);
210 ok(winmod.
m_pCreateWndList == create_data+1,
"winmod.m_pCreateWndList != create_data\n");
211 ok(!create_data[0].m_pNext,
"unexpected create_data[0].m_pNext %p\n", create_data[0].m_pNext);
212 ok(!create_data[1].m_pNext,
"unexpected create_data[1].m_pNext %p\n", create_data[1].m_pNext);
215 ok(!
p,
"unexpected AtlWinModuleExtractCreateWndData result %p\n",
p);
216 ok(winmod.
m_pCreateWndList == create_data+1,
"winmod.m_pCreateWndList != create_data\n");
219 #define test_key_exists(a,b) _test_key_exists(__LINE__,a,b) 231 #define test_key_not_exists(a,b) _test_key_not_exists(__LINE__,a,b) 256 skip(
"process is limited\n");
261 ok(
hres ==
S_OK,
"AtlRegisterClassCategoriesHelper failed: %08x\n",
hres);
268 ok(
hres ==
S_OK,
"AtlRegisterClassCategoriesHelper failed: %08x\n",
hres);
277 ok(
hres ==
S_OK,
"AtlRegisterClassCategoriesHelper failed: %08x\n",
hres);
283 ok(
hres ==
S_OK,
"AtlGetPerUserRegistration failed: %08x\n",
hres);
284 ok(!
b,
"AtlGetPerUserRegistration returned %x\n",
b);
295 static const WCHAR scrrun_dll_suffixW[] = {
'\\',
's',
'c',
'r',
'r',
'u',
'n',
'.',
'd',
'l',
'l',0};
296 static const WCHAR mshtml_tlb_suffixW[] = {
'\\',
'm',
's',
'h',
't',
'm',
'l',
'.',
't',
'l',
'b',0};
299 ok(inst !=
NULL,
"Could not load scrrun.dll\n");
315 ok(inst !=
NULL,
"Could not load mshtml.dll\n");
338 ok(0,
"unexpected call\n");
354 ok(0,
"unexpected call\n");
361 ok(0,
"unexpected call\n");
370 ok(pUnkSink == (
IUnknown*)0xdead0000,
"pUnkSink = %p\n", pUnkSink);
371 *pdwCookie = 0xdeadbeef;
378 ok(dwCookie == 0xdeadbeef,
"dwCookie = %x\n", dwCookie);
386 ok(0,
"unexpected call\n");
412 ok(0,
"unexpected call\n");
429 ok(0,
"unexpected call\n");
476 ok(0,
"unexpected call\n");
507 ok(0,
"unexpected call\n");
523 ok(0,
"unexpected call\n");
529 ok(dwGuidKind == GUIDKIND_DEFAULT_SOURCE_DISP_IID,
"unexpected dwGuidKind %x\n", dwGuidKind);
530 *pGUID = DIID_DispHTMLBody;
582 ok(0,
"unexpected call\n");
592 static const WCHAR mshtml_tlbW[] = {
'm',
's',
'h',
't',
'm',
'l',
'.',
't',
'l',
'b',0};
594 ok(!iTInfo,
"iTInfo = %d\n", iTInfo);
595 ok(!lcid,
"lcid = %x\n", lcid);
600 hres = ITypeLib_GetTypeInfoOfGuid(
typelib, &IID_IHTMLElement, ppTInfo);
610 ok(0,
"unexpected call\n");
618 ok(0,
"unexpected call\n");
636 unsigned short maj_ver,
min_ver;
644 ok(
hres ==
S_OK,
"AtlGetObjectSourceInterface failed: %08x\n",
hres);
654 ok(
hres ==
S_OK,
"AtlGetObjectSourceInterface failed: %08x\n",
hres);
663 ok(
hres ==
S_OK,
"AtlGetObjectSourceInterface failed: %08x\n",
hres);
680 static const WCHAR cls_names[][16] =
682 {
'A',
't',
'l',
'A',
'x',
'W',
'i',
'n',
'1',
'0',
'0',0},
683 {
'A',
't',
'l',
'A',
'x',
'W',
'i',
'n',
'L',
'i',
'c',
'1',
'0',
'0',0}
687 ok(
ret,
"AtlAxWinInit failed\n");
691 for (
i = 0;
i < 2;
i++)
693 memset(&wcex, 0,
sizeof(wcex));
694 wcex.
cbSize =
sizeof(wcex);
700 hwnd =
CreateWindowW(cls_names[
i],
NULL, 0, 100, 100, 100, 100,
NULL,
NULL,
NULL,
NULL);
705 ok(!control,
"returned %p\n", control);
706 if (control) IUnknown_Release(control);
709 hwnd =
CreateWindowW(cls_names[
i],
emptyW, 0, 100, 100, 100, 100,
NULL,
NULL,
NULL,
NULL);
714 ok(!control,
"returned %p\n", control);
715 if (control) IUnknown_Release(control);
718 hwnd =
CreateWindowW(cls_names[
i],
randomW, 0, 100, 100, 100, 100,
NULL,
NULL,
NULL,
NULL);
722 hwnd =
CreateWindowW(cls_names[
i],
progid1W, 0, 100, 100, 100, 100,
NULL,
NULL,
NULL,
NULL);
726 ok(
res ==
S_OK,
"AtlAxGetControl failed with res %08x\n",
res);
727 ok(control !=
NULL,
"AtlAxGetControl failed!\n");
728 IUnknown_Release(control);
731 hwnd =
CreateWindowW(cls_names[
i],
clsid1W, 0, 100, 100, 100, 100,
NULL,
NULL,
NULL,
NULL);
735 ok(
res ==
S_OK,
"AtlAxGetControl failed with res %08x\n",
res);
736 ok(control !=
NULL,
"AtlAxGetControl failed!\n");
737 IUnknown_Release(control);
740 hwnd =
CreateWindowW(cls_names[
i],
url1W, 0, 100, 100, 100, 100,
NULL,
NULL,
NULL,
NULL);
744 ok(
res ==
S_OK,
"AtlAxGetControl failed with res %08x\n",
res);
745 ok(control !=
NULL,
"AtlAxGetControl failed!\n");
746 IUnknown_Release(control);
750 hwnd =
CreateWindowW(cls_names[
i],
mshtml1W, 0, 100, 100, 100, 100,
NULL,
NULL,
NULL,
NULL);
754 ok(
res ==
S_OK,
"AtlAxGetControl failed with res %08x\n",
res);
755 ok(control !=
NULL,
"AtlAxGetControl failed!\n");
756 IUnknown_Release(control);
759 hwnd =
CreateWindowW(cls_names[
i],
mshtml2W, 0, 100, 100, 100, 100,
NULL,
NULL,
NULL,
NULL);
763 ok(
res ==
S_OK,
"AtlAxGetControl failed with res %08x\n",
res);
764 ok(control !=
NULL,
"AtlAxGetControl failed!\n");
765 IUnknown_Release(control);
769 hwnd =
CreateWindowW(cls_names[
i],
mshtml3W, 0, 100, 100, 100, 100,
NULL,
NULL,
NULL,
NULL);
774 ok(
ret,
"GetTempPath failed!\n");
779 ok(
ret,
"WriteFile failed\n");
783 hwnd =
CreateWindowW(cls_names[
i], pathW, 0, 100, 100, 100, 100,
NULL,
NULL,
NULL,
NULL);
787 ok(
res ==
S_OK,
"AtlAxGetControl failed with res %08x\n",
res);
788 ok(control !=
NULL,
"AtlAxGetControl failed!\n");
789 IUnknown_Release(control);
795 hwnd =
CreateWindowW(cls_names[
i], file_uri1W, 0, 100, 100, 100, 100,
NULL,
NULL,
NULL,
NULL);
799 ok(
res ==
S_OK,
"AtlAxGetControl failed with res %08x\n",
res);
800 ok(control !=
NULL,
"AtlAxGetControl failed!\n");
801 IUnknown_Release(control);
806 ok(
ret,
"DeleteFile failed!\n");
807 hwnd =
CreateWindowW(cls_names[
i], file_uri1W, 0, 100, 100, 100, 100,
NULL,
NULL,
NULL,
NULL);
811 ok(
res ==
S_OK,
"AtlAxGetControl failed with res %08x\n",
res);
812 ok(control !=
NULL,
"AtlAxGetControl failed!\n");
813 IUnknown_Release(control);
816 todo_wine ok(wndproc[0] != wndproc[1],
"expected different proc!\n");
839 return CreateWindowA(
"WineAtlTestClass",
"Wine ATL Test Window", 0,
852 ok(
hr ==
E_INVALIDARG,
"Expected AtlAxAttachControl to return E_INVALIDARG, got 0x%08x\n",
hr);
856 ok(
hr ==
E_INVALIDARG,
"Expected AtlAxAttachControl to return E_INVALIDARG, got 0x%08x\n",
hr);
858 "Expected the output container pointer to be untouched, got %p\n",
container);
862 ok(
hr ==
E_INVALIDARG,
"Expected AtlAxAttachControl to return E_INVALIDARG, got 0x%08x\n",
hr);
868 ok(
hr ==
E_INVALIDARG,
"Expected AtlAxAttachControl to return E_INVALIDARG, got 0x%08x\n",
hr);
874 ok(
hr ==
S_OK,
"Expected CoCreateInstance to return S_OK, got 0x%08x\n",
hr);
878 skip(
"Couldn't obtain a test IOleObject instance\n");
883 ok(
hr ==
S_FALSE,
"Expected AtlAxAttachControl to return S_FALSE, got 0x%08x\n",
hr);
887 ok(
hr ==
S_FALSE,
"Expected AtlAxAttachControl to return S_FALSE, got 0x%08x\n",
hr);
894 ok(
hr ==
S_OK,
"Expected AtlAxAttachControl to return S_OK, got 0x%08x\n",
hr);
896 ok(
val == 0xdeadbeef,
"returned %08x\n",
val);
903 ok(
hr ==
S_OK,
"Expected AtlAxAttachControl to return S_OK, got 0x%08x\n",
hr);
907 ok(
val == 0xdeadbeef,
"Expected unchanged, returned %08x\n",
val);
910 IUnknown_Release(control);
927 ok(!control,
"returned %p\n", control);
936 ok(!control,
"returned %p\n", control);
946 ok(!control,
"returned %p\n", control);
956 ok(!control,
"returned %p\n", control);
966 ok(control !=
NULL,
"returned %p\n", control);
968 IUnknown_Release(control);
978 ok(control !=
NULL,
"returned %p\n", control);
980 IUnknown_Release(control);
990 ok(control !=
NULL,
"returned %p\n", control);
992 IUnknown_Release(control);
1002 ok(control !=
NULL,
"returned %p\n", control);
1004 IUnknown_Release(control);
1014 ok(control !=
NULL,
"returned %p\n", control);
1016 IUnknown_Release(control);
1026 ok(!control,
"returned %p\n", control);
1030 ok(
ret,
"GetTempPath failed!\n");
1035 ok(
ret,
"WriteFile failed\n");
1046 ok(control !=
NULL,
"returned %p\n", control);
1048 IUnknown_Release(control);
1061 ok(control !=
NULL,
"returned %p\n", control);
1063 IUnknown_Release(control);
1068 ok(
ret,
"DeleteFile failed!\n");
1076 ok(control !=
NULL,
"returned %p\n", control);
1078 IUnknown_Release(control);
#define test_key_not_exists(a, b)
static const WCHAR progid1W[]
LONG WINAPI RegOpenKeyA(HKEY hKey, LPCSTR lpSubKey, PHKEY phkResult)
BOOL WINAPI WriteFile(IN HANDLE hFile, IN LPCVOID lpBuffer, IN DWORD nNumberOfBytesToWrite OPTIONAL, OUT LPDWORD lpNumberOfBytesWritten, IN LPOVERLAPPED lpOverlapped OPTIONAL)
enum _TOKEN_ELEVATION_TYPE TOKEN_ELEVATION_TYPE
BOOL WINAPI GetClassInfoExW(_In_opt_ HINSTANCE, _In_ LPCWSTR, _Out_ LPWNDCLASSEXW)
static void test_typelib(void)
#define test_key_exists(a, b)
BOOL WINAPI AtlAxWinInit(void)
static void test_cp(void)
static HRESULT WINAPI ProvideClassInfo2_GetClassInfo(IProvideClassInfo2 *iface, ITypeInfo **ppTI)
static void test_regcat(void)
HRESULT WINAPI AtlAdvise(IUnknown *pUnkCP, IUnknown *pUnk, const IID *iid, DWORD *pdw)
GLsizei const GLchar ** path
char * wine_dbgstr_w(const wchar_t *wstr)
static const GUID CLSID_Test
BOOL WINAPI EqualSid(PSID pSid1, PSID pSid2)
const GUID IID_IConnectionPointContainer
static HRESULT WINAPI ProvideClassInfo2_GetGUID(IProvideClassInfo2 *iface, DWORD dwGuidKind, GUID *pGUID)
static HRESULT WINAPI Dispatch_GetTypeInfoCount(IDispatch *iface, UINT *pctinfo)
static ITypeLib * typelib
static HRESULT WINAPI Dispatch_QueryInterface(IDispatch *iface, REFIID riid, void **ppv)
const char * wine_dbgstr_guid(const GUID *guid)
static HRESULT WINAPI ConnectionPointContainer_QueryInterface(IConnectionPointContainer *iface, REFIID riid, void **ppv)
#define INVALID_HANDLE_VALUE
static ULONG WINAPI ConnectionPointContainer_AddRef(IConnectionPointContainer *iface)
static ATOM register_class(void)
HRESULT WINAPI LoadTypeLib(const OLECHAR *szFile, ITypeLib **pptLib)
CComCriticalSection m_csWindowCreate
void WINAPI AtlWinModuleAddCreateWndData(_ATL_WIN_MODULE *, _AtlCreateWndData *, void *)
static HRESULT WINAPI Dispatch_GetTypeInfo(IDispatch *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
BOOL WINAPI DestroyWindow(_In_ HWND)
#define CreateWindowW(a, b, c, d, e, f, g, h, i, j, k)
static void test_source_iface(void)
CSimpleArray m_rgWindowClassAtoms
static HRESULT WINAPI ConnectionPointContainer_EnumConnectionPoints(IConnectionPointContainer *iface, IEnumConnectionPoints **ppEnum)
static const WCHAR emptyW[]
static void test_ax_win(void)
static const WCHAR html_fileW[]
int WINAPI lstrcmpiW(LPCWSTR lpString1, LPCWSTR lpString2)
static ULONG WINAPI Persist_AddRef(IPersist *iface)
static HRESULT WINAPI ProvideClassInfo2_QueryInterface(IProvideClassInfo2 *iface, REFIID riid, void **ppv)
static const IPersistVtbl PersistVtbl
DWORD WINAPI GetTempPathW(IN DWORD count, OUT LPWSTR path)
static const IProvideClassInfo2Vtbl ProvideClassInfo2Vtbl
LONG WINAPI SetWindowLongW(_In_ HWND, _In_ int, _In_ LONG)
PVOID WINAPI FreeSid(PSID pSid)
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 token
static HRESULT WINAPI Persist_QueryInterface(IPersist *iface, REFIID riid, void **ppv)
HINSTANCE WINAPI DECLSPEC_HOTPATCH LoadLibraryA(LPCSTR lpLibFileName)
static const WCHAR mshtml2W[]
BOOL WINAPI DeleteFileW(IN LPCWSTR lpFileName)
#define CreateWindowA(a, b, c, d, e, f, g, h, i, j, k)
#define CATID_CATTEST2_STR
LONG WINAPI GetWindowLongW(_In_ HWND, _In_ int)
VOID WINAPI InitializeCriticalSection(OUT LPCRITICAL_SECTION lpCriticalSection)
#define CATID_CATTEST1_STR
const GUID IID_IProvideClassInfo2
static HRESULT WINAPI ConnectionPoint_EnumConnections(IConnectionPoint *iface, IEnumConnections **ppEnum)
static HRESULT WINAPI ConnectionPoint_Unadvise(IConnectionPoint *iface, DWORD dwCookie)
static const IConnectionPointContainerVtbl ConnectionPointContainerVtbl
static HRESULT WINAPI ConnectionPoint_QueryInterface(IConnectionPoint *iface, REFIID riid, void **ppv)
static const WCHAR fileW[]
#define ERROR_FILE_NOT_FOUND
#define SECURITY_NT_AUTHORITY
DWORD WINAPI GetCurrentThreadId(VOID)
static ULONG WINAPI ConnectionPointContainer_Release(IConnectionPointContainer *iface)
const GUID IID_IOleObject
static void test_AtlAxCreateControl(void)
HRESULT WINAPI AtlAxGetControl(HWND hWnd, IUnknown **pUnk)
GLboolean GLboolean GLboolean b
HRESULT WINAPI AtlUnadvise(IUnknown *pUnkCP, const IID *iid, DWORD dw)
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
#define SECURITY_BUILTIN_DOMAIN_RID
static ULONG WINAPI ProvideClassInfo2_AddRef(IProvideClassInfo2 *iface)
static void test_AtlAxAttachControl(void)
static HRESULT WINAPI ConnectionPoint_Advise(IConnectionPoint *iface, IUnknown *pUnkSink, DWORD *pdwCookie)
static HRESULT WINAPI Dispatch_GetIDsOfNames(IDispatch *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
static ULONG WINAPI Dispatch_Release(IDispatch *iface)
static ULONG WINAPI ProvideClassInfo2_Release(IProvideClassInfo2 *iface)
static BOOL support_classinfo2
static IConnectionPoint ConnectionPoint
static const WCHAR url1W[]
static void _test_key_exists(unsigned line, HKEY root, const char *key_name)
HRESULT WINAPI AtlAxAttachControl(IUnknown *control, HWND hWnd, IUnknown **container)
HRESULT WINAPI AtlWinModuleInit(_ATL_WIN_MODULE *)
_AtlCreateWndData * m_pCreateWndList
static const IConnectionPointVtbl ConnectionPointVtbl
HRESULT WINAPI AtlGetPerUserRegistration(cpp_bool *pbEnabled)
static HRESULT WINAPI Dispatch_Invoke(IDispatch *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
static ULONG WINAPI Dispatch_AddRef(IDispatch *iface)
HMODULE WINAPI DECLSPEC_HOTPATCH GetModuleHandleA(LPCSTR lpModuleName)
HRESULT WINAPI AtlLoadTypeLib(HINSTANCE inst, LPCOLESTR lpszIndex, BSTR *pbstrPath, ITypeLib **ppTypeLib)
#define GetCurrentProcess()
UINT WINAPI SysStringLen(BSTR str)
LRESULT WINAPI DefWindowProcA(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
static HRESULT WINAPI ConnectionPoint_GetConnectionPointContainer(IConnectionPoint *iface, IConnectionPointContainer **ppCPC)
HCURSOR WINAPI LoadCursorA(_In_opt_ HINSTANCE, _In_ LPCSTR)
#define _ATL_CATMAP_ENTRY_REQUIRED
HRESULT WINAPI DECLSPEC_HOTPATCH CoCreateInstance(REFCLSID rclsid, LPUNKNOWN pUnkOuter, DWORD dwClsContext, REFIID iid, LPVOID *ppv)
LRESULT(CALLBACK * WNDPROC)(HWND, UINT, WPARAM, LPARAM)
_In_ DWORD _Out_ _In_ WORD wFlags
LONG WINAPI RegDeleteKeyA(_In_ HKEY hKey, _In_ LPCSTR lpSubKey)
static const GUID CATID_CatTest2
const GUID IID_IConnectionPoint
static const char html_str[]
struct stdole::EXCEPINFO EXCEPINFO
_In_ USHORT _In_ ULONG _In_ PSOCKADDR _In_ PSOCKADDR _Reserved_ ULONG _In_opt_ PVOID _In_opt_ const WSK_CLIENT_CONNECTION_DISPATCH * Dispatch
static CLSID persist_clsid
static VARIANTARG static DISPID
static void _test_key_not_exists(unsigned line, HKEY root, const char *key_name)
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
static const WCHAR randomW[]
void WINAPI DECLSPEC_HOTPATCH CoUninitialize(void)
static HRESULT WINAPI ConnectionPoint_GetConnectionInterface(IConnectionPoint *iface, IID *pIID)
static const WCHAR clsid1W[]
static const GUID CATID_CatTest1
static ULONG WINAPI Persist_Release(IPersist *iface)
#define _ATL_CATMAP_ENTRY_IMPLEMENTED
void WINAPI DECLSPEC_HOTPATCH SysFreeString(BSTR str)
BOOL WINAPI IsEqualGUID(REFGUID rguid1, REFGUID rguid2)
static const IDispatchVtbl DispatchVtbl
HRESULT WINAPI CoInitialize(LPVOID lpReserved)
HRESULT WINAPI AtlRegisterClassCategoriesHelper(REFCLSID clsid, const struct _ATL_CATMAP_ENTRY *catmap, BOOL reg)
static HRESULT WINAPI Persist_GetClassID(IPersist *iface, CLSID *pClassID)
struct stdole::DISPPARAMS DISPPARAMS
HRESULT WINAPI AtlGetObjectSourceInterface(IUnknown *unk, GUID *libid, IID *iid, unsigned short *major, unsigned short *minor)
static ULONG WINAPI ConnectionPoint_Release(IConnectionPoint *iface)
static const WCHAR mshtml1W[]
static void test_winmodule(void)
BOOL WINAPI GetTokenInformation(HANDLE TokenHandle, TOKEN_INFORMATION_CLASS TokenInformationClass, LPVOID TokenInformation, DWORD TokenInformationLength, PDWORD ReturnLength)
void *WINAPI AtlWinModuleExtractCreateWndData(_ATL_WIN_MODULE *)
#define GetProcAddress(x, y)
#define HKEY_CLASSES_ROOT
LPWSTR WINAPI lstrcatW(LPWSTR lpString1, LPCWSTR lpString2)
static const WCHAR mshtml3W[]
GLuint GLuint GLsizei GLenum type
static BOOL is_process_limited(void)
static HWND create_container_window(void)
#define _ATL_CATMAP_ENTRY_END
static HRESULT WINAPI ConnectionPointContainer_FindConnectionPoint(IConnectionPointContainer *iface, REFIID riid, IConnectionPoint **ppCP)
HRESULT WINAPI AtlAxCreateControlEx(const WCHAR *lpTricsData, HWND hwnd, IStream *stream, IUnknown **container, IUnknown **control, REFIID iidSink, IUnknown *punkSink)
#define DOMAIN_ALIAS_RID_ADMINS
#define HeapFree(x, y, z)
ATOM WINAPI RegisterClassA(_In_ CONST WNDCLASSA *)
#define RegCloseKey(hKey)
BOOL WINAPI AllocateAndInitializeSid(PSID_IDENTIFIER_AUTHORITY pIdentifierAuthority, BYTE nSubAuthorityCount, DWORD nSubAuthority0, DWORD nSubAuthority1, DWORD nSubAuthority2, DWORD nSubAuthority3, DWORD nSubAuthority4, DWORD nSubAuthority5, DWORD nSubAuthority6, DWORD nSubAuthority7, PSID *pSid)
static BOOL is_token_admin(HANDLE token)
static ULONG WINAPI ConnectionPoint_AddRef(IConnectionPoint *iface)
static IProvideClassInfo2 ProvideClassInfo2