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"
49static const WCHAR progid1W[] = {
'S',
'h',
'e',
'l',
'l',
'.',
'E',
'x',
'p',
'l',
'o',
'r',
'e',
'r',
'.',
'2',
'\0'};
50static 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'};
53static 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'};
56static 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'};
58static 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'};
60static 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'};
62static const WCHAR fileW[] = {
'f',
'i',
'l',
'e',
':',
'/',
'/',
'/',
'\0'};
64static 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");
616 EXCEPINFO *pExcepInfo,
UINT *puArgErr)
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);
709 hwnd =
CreateWindowW(cls_names[
i],
emptyW, 0, 100, 100, 100, 100,
NULL,
NULL,
NULL,
NULL);
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);
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);
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);
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);
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);
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);
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);
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);
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);
1030 ok(
ret,
"GetTempPath failed!\n");
1035 ok(
ret,
"WriteFile failed\n");
1068 ok(
ret,
"DeleteFile failed!\n");
#define RegCloseKey(hKey)
LONG WINAPI RegOpenKeyA(HKEY hKey, LPCSTR lpSubKey, PHKEY phkResult)
LONG WINAPI RegDeleteKeyA(_In_ HKEY hKey, _In_ LPCSTR lpSubKey)
BOOL WINAPI GetTokenInformation(HANDLE TokenHandle, TOKEN_INFORMATION_CLASS TokenInformationClass, LPVOID TokenInformation, DWORD TokenInformationLength, PDWORD ReturnLength)
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)
PVOID WINAPI FreeSid(PSID pSid)
BOOL WINAPI EqualSid(PSID pSid1, PSID pSid2)
HRESULT WINAPI AtlAdvise(IUnknown *pUnkCP, IUnknown *pUnk, const IID *iid, DWORD *pdw)
HRESULT WINAPI AtlUnadvise(IUnknown *pUnkCP, const IID *iid, DWORD dw)
HRESULT WINAPI AtlGetObjectSourceInterface(IUnknown *unk, GUID *libid, IID *iid, unsigned short *major, unsigned short *minor)
HRESULT WINAPI AtlRegisterClassCategoriesHelper(REFCLSID clsid, const struct _ATL_CATMAP_ENTRY *catmap, BOOL reg)
HRESULT WINAPI AtlGetPerUserRegistration(cpp_bool *pbEnabled)
HRESULT WINAPI AtlLoadTypeLib(HINSTANCE inst, LPCOLESTR lpszIndex, BSTR *pbstrPath, ITypeLib **ppTypeLib)
HRESULT WINAPI AtlAxCreateControlEx(const WCHAR *lpTricsData, HWND hwnd, IStream *stream, IUnknown **container, IUnknown **control, REFIID iidSink, IUnknown *punkSink)
HRESULT WINAPI AtlAxAttachControl(IUnknown *control, HWND hWnd, IUnknown **container)
HRESULT WINAPI AtlAxGetControl(HWND hWnd, IUnknown **pUnk)
BOOL WINAPI AtlAxWinInit(void)
#define GetProcAddress(x, y)
#define INVALID_HANDLE_VALUE
#define GetCurrentProcess()
#define HeapFree(x, y, z)
BOOL WINAPI DeleteFileW(IN LPCWSTR lpFileName)
BOOL WINAPI WriteFile(IN HANDLE hFile, IN LPCVOID lpBuffer, IN DWORD nNumberOfBytesToWrite OPTIONAL, OUT LPDWORD lpNumberOfBytesWritten, IN LPOVERLAPPED lpOverlapped OPTIONAL)
HMODULE WINAPI DECLSPEC_HOTPATCH GetModuleHandleA(LPCSTR lpModuleName)
HINSTANCE WINAPI DECLSPEC_HOTPATCH LoadLibraryA(LPCSTR lpLibFileName)
DWORD WINAPI GetTempPathW(IN DWORD count, OUT LPWSTR path)
int WINAPI lstrcmpiW(LPCWSTR str1, LPCWSTR str2)
HRESULT WINAPI DECLSPEC_HOTPATCH CoCreateInstance(REFCLSID rclsid, LPUNKNOWN pUnkOuter, DWORD dwClsContext, REFIID iid, LPVOID *ppv)
HRESULT WINAPI CoInitialize(LPVOID lpReserved)
void WINAPI DECLSPEC_HOTPATCH CoUninitialize(void)
HRESULT WINAPI LoadTypeLib(const OLECHAR *szFile, ITypeLib **pptLib)
GLuint GLuint GLsizei GLenum type
GLboolean GLboolean GLboolean b
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
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
HRESULT WINAPI AtlWinModuleInit(_ATL_WIN_MODULE *)
void WINAPI AtlWinModuleAddCreateWndData(_ATL_WIN_MODULE *, _AtlCreateWndData *, void *)
#define _ATL_CATMAP_ENTRY_END
void *WINAPI AtlWinModuleExtractCreateWndData(_ATL_WIN_MODULE *)
#define _ATL_CATMAP_ENTRY_REQUIRED
#define _ATL_CATMAP_ENTRY_IMPLEMENTED
LPWSTR WINAPI lstrcatW(LPWSTR lpString1, LPCWSTR lpString2)
#define ERROR_FILE_NOT_FOUND
static const WCHAR fileW[]
static HRESULT WINAPI Persist_GetClassID(IPersist *iface, CLSID *pClassID)
static const GUID CLSID_Test
static HRESULT WINAPI Persist_QueryInterface(IPersist *iface, REFIID riid, void **ppv)
static HRESULT WINAPI ConnectionPoint_Advise(IConnectionPoint *iface, IUnknown *pUnkSink, DWORD *pdwCookie)
#define CATID_CATTEST2_STR
static ATOM register_class(void)
static HRESULT WINAPI ConnectionPoint_QueryInterface(IConnectionPoint *iface, REFIID riid, void **ppv)
static const GUID CATID_CatTest1
static void test_regcat(void)
static HRESULT WINAPI Dispatch_GetTypeInfoCount(IDispatch *iface, UINT *pctinfo)
static const char html_str[]
static BOOL support_classinfo2
static CLSID persist_clsid
static void test_AtlAxAttachControl(void)
static HRESULT WINAPI ConnectionPointContainer_FindConnectionPoint(IConnectionPointContainer *iface, REFIID riid, IConnectionPoint **ppCP)
#define CATID_CATTEST1_STR
static ULONG WINAPI Dispatch_Release(IDispatch *iface)
static void _test_key_not_exists(unsigned line, HKEY root, const char *key_name)
static HRESULT WINAPI ConnectionPoint_GetConnectionInterface(IConnectionPoint *iface, IID *pIID)
static HRESULT WINAPI ConnectionPointContainer_QueryInterface(IConnectionPointContainer *iface, REFIID riid, void **ppv)
static HRESULT WINAPI ConnectionPointContainer_EnumConnectionPoints(IConnectionPointContainer *iface, IEnumConnectionPoints **ppEnum)
#define test_key_exists(a, b)
static ULONG WINAPI ProvideClassInfo2_AddRef(IProvideClassInfo2 *iface)
static const IProvideClassInfo2Vtbl ProvideClassInfo2Vtbl
static ULONG WINAPI Persist_AddRef(IPersist *iface)
static BOOL is_token_admin(HANDLE token)
static HRESULT WINAPI Dispatch_Invoke(IDispatch *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
static const IConnectionPointVtbl ConnectionPointVtbl
static HRESULT WINAPI ProvideClassInfo2_GetGUID(IProvideClassInfo2 *iface, DWORD dwGuidKind, GUID *pGUID)
static HRESULT WINAPI ProvideClassInfo2_QueryInterface(IProvideClassInfo2 *iface, REFIID riid, void **ppv)
static const WCHAR mshtml2W[]
static const IPersistVtbl PersistVtbl
static void test_ax_win(void)
static void test_winmodule(void)
static void test_AtlAxCreateControl(void)
static BOOL is_process_limited(void)
static HRESULT WINAPI ProvideClassInfo2_GetClassInfo(IProvideClassInfo2 *iface, ITypeInfo **ppTI)
static HRESULT WINAPI Dispatch_GetTypeInfo(IDispatch *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
static IProvideClassInfo2 ProvideClassInfo2
static ULONG WINAPI Persist_Release(IPersist *iface)
static HRESULT WINAPI ConnectionPoint_Unadvise(IConnectionPoint *iface, DWORD dwCookie)
static ULONG WINAPI Dispatch_AddRef(IDispatch *iface)
static const GUID CATID_CatTest2
static const WCHAR emptyW[]
static const WCHAR progid1W[]
static const WCHAR html_fileW[]
static const WCHAR url1W[]
static const WCHAR mshtml1W[]
static const IDispatchVtbl DispatchVtbl
static const IConnectionPointContainerVtbl ConnectionPointContainerVtbl
static const WCHAR mshtml3W[]
static ULONG WINAPI ConnectionPointContainer_AddRef(IConnectionPointContainer *iface)
static const WCHAR randomW[]
static const WCHAR clsid1W[]
static IConnectionPoint ConnectionPoint
static HRESULT WINAPI Dispatch_QueryInterface(IDispatch *iface, REFIID riid, void **ppv)
static void test_typelib(void)
static ULONG WINAPI ProvideClassInfo2_Release(IProvideClassInfo2 *iface)
static HRESULT WINAPI Dispatch_GetIDsOfNames(IDispatch *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
static HRESULT WINAPI ConnectionPoint_GetConnectionPointContainer(IConnectionPoint *iface, IConnectionPointContainer **ppCPC)
static HRESULT WINAPI ConnectionPoint_EnumConnections(IConnectionPoint *iface, IEnumConnections **ppEnum)
static ULONG WINAPI ConnectionPoint_AddRef(IConnectionPoint *iface)
static HWND create_container_window(void)
static void test_cp(void)
static void _test_key_exists(unsigned line, HKEY root, const char *key_name)
static ULONG WINAPI ConnectionPointContainer_Release(IConnectionPointContainer *iface)
static ULONG WINAPI ConnectionPoint_Release(IConnectionPoint *iface)
#define test_key_not_exists(a, b)
static void test_source_iface(void)
static VARIANTARG static DISPID
UINT WINAPI SysStringLen(BSTR str)
void WINAPI DECLSPEC_HOTPATCH SysFreeString(BSTR str)
const GUID IID_IConnectionPointContainer
const GUID IID_IConnectionPoint
const GUID IID_IProvideClassInfo2
const GUID IID_IOleObject
#define IsEqualGUID(rguid1, rguid2)
static __inline const char * wine_dbgstr_guid(const GUID *id)
CSimpleArray m_rgWindowClassAtoms
CComCriticalSection m_csWindowCreate
_AtlCreateWndData * m_pCreateWndList
VOID WINAPI InitializeCriticalSection(OUT LPCRITICAL_SECTION lpCriticalSection)
DWORD WINAPI GetCurrentThreadId(void)
_In_ DWORD _Out_ _In_ WORD wFlags
enum _TOKEN_ELEVATION_TYPE TOKEN_ELEVATION_TYPE
@ TokenElevationTypeLimited
@ TokenElevationTypeDefault
#define HKEY_CLASSES_ROOT
LRESULT WINAPI DefWindowProcA(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
#define CreateWindowA(a, b, c, d, e, f, g, h, i, j, k)
LONG WINAPI SetWindowLongW(_In_ HWND, _In_ int, _In_ LONG)
LONG WINAPI GetWindowLongW(_In_ HWND, _In_ int)
BOOL WINAPI GetClassInfoExW(_In_opt_ HINSTANCE, _In_ LPCWSTR, _Out_ LPWNDCLASSEXW)
ATOM WINAPI RegisterClassA(_In_ CONST WNDCLASSA *)
#define CreateWindowW(a, b, c, d, e, f, g, h, i, j, k)
LRESULT(CALLBACK * WNDPROC)(HWND, UINT, WPARAM, LPARAM)
BOOL WINAPI DestroyWindow(_In_ HWND)
HCURSOR WINAPI LoadCursorA(_In_opt_ HINSTANCE, _In_ LPCSTR)
_In_ USHORT _In_ ULONG _In_ PSOCKADDR _In_ PSOCKADDR _Reserved_ ULONG _In_opt_ PVOID _In_opt_ const WSK_CLIENT_CONNECTION_DISPATCH * Dispatch
#define SECURITY_BUILTIN_DOMAIN_RID
#define SECURITY_NT_AUTHORITY
#define DOMAIN_ALIAS_RID_ADMINS