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"
47static const WCHAR clsid1W[] =
L"{8856f961-340a-11d0-a96b-00c04fd705a2}";
48static const WCHAR url1W[] =
L"http://test.winehq.org/tests/winehq_snapshot/";
52static const char html_str[] =
"<html><body>test</body><html>";
85 for (group_index = 0; group_index <
groups->GroupCount; group_index++)
107 if (!pOpenProcessToken)
110 pOpenProcessToken = (
void*)
GetProcAddress(hadvapi32,
"OpenProcessToken");
111 if (!pOpenProcessToken)
144 winmod.
cbSize = 0xdeadbeef;
148 winmod.
cbSize =
sizeof(winmod);
169 ok(winmod.
m_pCreateWndList == create_data,
"winmod.m_pCreateWndList != create_data\n");
170 ok(create_data[0].m_pThis == (
void*)0xdead0001,
"unexpected create_data[0].m_pThis %p\n", create_data[0].m_pThis);
171 ok(create_data[0].m_dwThreadID ==
GetCurrentThreadId(),
"unexpected create_data[0].m_dwThreadID %lx\n",
172 create_data[0].m_dwThreadID);
173 ok(!create_data[0].m_pNext,
"unexpected create_data[0].m_pNext %p\n", create_data[0].m_pNext);
176 ok(winmod.
m_pCreateWndList == create_data+1,
"winmod.m_pCreateWndList != create_data\n");
177 ok(create_data[1].m_pThis == (
void*)0xdead0002,
"unexpected create_data[1].m_pThis %p\n", create_data[1].m_pThis);
178 ok(create_data[1].m_dwThreadID ==
GetCurrentThreadId(),
"unexpected create_data[1].m_dwThreadID %lx\n",
179 create_data[1].m_dwThreadID);
180 ok(create_data[1].m_pNext == create_data,
"unexpected create_data[1].m_pNext %p\n", create_data[1].m_pNext);
183 ok(winmod.
m_pCreateWndList == create_data+2,
"winmod.m_pCreateWndList != create_data\n");
184 ok(create_data[2].m_pThis == (
void*)0xdead0003,
"unexpected create_data[2].m_pThis %p\n", create_data[2].m_pThis);
185 ok(create_data[2].m_dwThreadID ==
GetCurrentThreadId(),
"unexpected create_data[2].m_dwThreadID %lx\n",
186 create_data[2].m_dwThreadID);
187 ok(create_data[2].m_pNext == create_data+1,
"unexpected create_data[2].m_pNext %p\n", create_data[2].m_pNext);
190 ok(
p == (
void*)0xdead0003,
"unexpected AtlWinModuleExtractCreateWndData result %p\n",
p);
191 ok(winmod.
m_pCreateWndList == create_data+1,
"winmod.m_pCreateWndList != create_data\n");
192 ok(create_data[2].m_pNext == create_data+1,
"unexpected create_data[2].m_pNext %p\n", create_data[2].m_pNext);
197 ok(
p == (
void*)0xdead0001,
"unexpected AtlWinModuleExtractCreateWndData result %p\n",
p);
198 ok(winmod.
m_pCreateWndList == create_data+1,
"winmod.m_pCreateWndList != create_data\n");
199 ok(!create_data[0].m_pNext,
"unexpected create_data[0].m_pNext %p\n", create_data[0].m_pNext);
200 ok(!create_data[1].m_pNext,
"unexpected create_data[1].m_pNext %p\n", create_data[1].m_pNext);
203 ok(!
p,
"unexpected AtlWinModuleExtractCreateWndData result %p\n",
p);
204 ok(winmod.
m_pCreateWndList == create_data+1,
"winmod.m_pCreateWndList != create_data\n");
207#define test_key_exists(a,b) _test_key_exists(__LINE__,a,b)
219#define test_key_not_exists(a,b) _test_key_not_exists(__LINE__,a,b)
244 skip(
"process is limited\n");
249 ok(
hres ==
S_OK,
"AtlRegisterClassCategoriesHelper failed: %08lx\n",
hres);
256 ok(
hres ==
S_OK,
"AtlRegisterClassCategoriesHelper failed: %08lx\n",
hres);
265 ok(
hres ==
S_OK,
"AtlRegisterClassCategoriesHelper failed: %08lx\n",
hres);
271 ok(
hres ==
S_OK,
"AtlGetPerUserRegistration failed: %08lx\n",
hres);
272 ok(!
b,
"AtlGetPerUserRegistration returned %x\n",
b);
284 ok(inst !=
NULL,
"Could not load scrrun.dll\n");
300 ok(inst !=
NULL,
"Could not load mshtml.dll\n");
323 ok(0,
"unexpected call\n");
339 ok(0,
"unexpected call\n");
346 ok(0,
"unexpected call\n");
355 ok(pUnkSink == (
IUnknown*)0xdead0000,
"pUnkSink = %p\n", pUnkSink);
356 *pdwCookie = 0xdeadbeef;
363 ok(dwCookie == 0xdeadbeef,
"dwCookie = %lx\n", dwCookie);
371 ok(0,
"unexpected call\n");
397 ok(0,
"unexpected call\n");
414 ok(0,
"unexpected call\n");
461 ok(0,
"unexpected call\n");
492 ok(0,
"unexpected call\n");
508 ok(0,
"unexpected call\n");
514 ok(dwGuidKind == GUIDKIND_DEFAULT_SOURCE_DISP_IID,
"unexpected dwGuidKind %lx\n", dwGuidKind);
515 *pGUID = DIID_DispHTMLBody;
567 ok(0,
"unexpected call\n");
577 ok(!iTInfo,
"iTInfo = %d\n", iTInfo);
583 hres = ITypeLib_GetTypeInfoOfGuid(
typelib, &IID_IHTMLElement, ppTInfo);
593 ok(0,
"unexpected call\n");
599 EXCEPINFO *pExcepInfo,
UINT *puArgErr)
601 ok(0,
"unexpected call\n");
619 unsigned short maj_ver,
min_ver;
627 ok(
hres ==
S_OK,
"AtlGetObjectSourceInterface failed: %08lx\n",
hres);
637 ok(
hres ==
S_OK,
"AtlGetObjectSourceInterface failed: %08lx\n",
hres);
646 ok(
hres ==
S_OK,
"AtlGetObjectSourceInterface failed: %08lx\n",
hres);
663 static const WCHAR cls_names[][16] =
670 ok(
ret,
"AtlAxWinInit failed\n");
674 for (
i = 0;
i < 2;
i++)
676 memset(&wcex, 0,
sizeof(wcex));
677 wcex.
cbSize =
sizeof(wcex);
683 hwnd =
CreateWindowW(cls_names[
i],
NULL, 0, 100, 100, 100, 100,
NULL,
NULL,
NULL,
NULL);
692 hwnd =
CreateWindowW(cls_names[
i],
L"", 0, 100, 100, 100, 100,
NULL,
NULL,
NULL,
NULL);
701 hwnd =
CreateWindowW(cls_names[
i],
L"random", 0, 100, 100, 100, 100,
NULL,
NULL,
NULL,
NULL);
705 hwnd =
CreateWindowW(cls_names[
i],
progid1W, 0, 100, 100, 100, 100,
NULL,
NULL,
NULL,
NULL);
709 ok(
res ==
S_OK,
"AtlAxGetControl failed with res %08lx\n",
res);
714 hwnd =
CreateWindowW(cls_names[
i],
clsid1W, 0, 100, 100, 100, 100,
NULL,
NULL,
NULL,
NULL);
718 ok(
res ==
S_OK,
"AtlAxGetControl failed with res %08lx\n",
res);
723 hwnd =
CreateWindowW(cls_names[
i],
url1W, 0, 100, 100, 100, 100,
NULL,
NULL,
NULL,
NULL);
727 ok(
res ==
S_OK,
"AtlAxGetControl failed with res %08lx\n",
res);
733 hwnd =
CreateWindowW(cls_names[
i],
mshtml1W, 0, 100, 100, 100, 100,
NULL,
NULL,
NULL,
NULL);
737 ok(
res ==
S_OK,
"AtlAxGetControl failed with res %08lx\n",
res);
742 hwnd =
CreateWindowW(cls_names[
i],
mshtml2W, 0, 100, 100, 100, 100,
NULL,
NULL,
NULL,
NULL);
746 ok(
res ==
S_OK,
"AtlAxGetControl failed with res %08lx\n",
res);
752 hwnd =
CreateWindowW(cls_names[
i],
mshtml3W, 0, 100, 100, 100, 100,
NULL,
NULL,
NULL,
NULL);
757 ok(
ret,
"GetTempPath failed!\n");
762 ok(
ret,
"WriteFile failed\n");
766 hwnd =
CreateWindowW(cls_names[
i],
pathW, 0, 100, 100, 100, 100,
NULL,
NULL,
NULL,
NULL);
770 ok(
res ==
S_OK,
"AtlAxGetControl failed with res %08lx\n",
res);
778 hwnd =
CreateWindowW(cls_names[
i], file_uri1W, 0, 100, 100, 100, 100,
NULL,
NULL,
NULL,
NULL);
782 ok(
res ==
S_OK,
"AtlAxGetControl failed with res %08lx\n",
res);
790 hwnd =
CreateWindowW(cls_names[
i], file_uri1W, 0, 100, 100, 100, 100,
NULL,
NULL,
NULL,
NULL);
794 ok(
res ==
S_OK,
"AtlAxGetControl failed with res %08lx\n",
res);
799 todo_wine ok(wndproc[0] != wndproc[1],
"expected different proc!\n");
822 return CreateWindowA(
"WineAtlTestClass",
"Wine ATL Test Window", 0,
835 ok(
hr ==
E_INVALIDARG,
"Expected AtlAxAttachControl to return E_INVALIDARG, got 0x%08lx\n",
hr);
839 ok(
hr ==
E_INVALIDARG,
"Expected AtlAxAttachControl to return E_INVALIDARG, got 0x%08lx\n",
hr);
841 "Expected the output container pointer to be untouched, got %p\n",
container);
845 ok(
hr ==
E_INVALIDARG,
"Expected AtlAxAttachControl to return E_INVALIDARG, got 0x%08lx\n",
hr);
851 ok(
hr ==
E_INVALIDARG,
"Expected AtlAxAttachControl to return E_INVALIDARG, got 0x%08lx\n",
hr);
857 ok(
hr ==
S_OK,
"Expected CoCreateInstance to return S_OK, got 0x%08lx\n",
hr);
861 skip(
"Couldn't obtain a test IOleObject instance\n");
866 ok(
hr ==
S_FALSE,
"Expected AtlAxAttachControl to return S_FALSE, got 0x%08lx\n",
hr);
870 ok(
hr ==
S_FALSE,
"Expected AtlAxAttachControl to return S_FALSE, got 0x%08lx\n",
hr);
877 ok(
hr ==
S_OK,
"Expected AtlAxAttachControl to return S_OK, got 0x%08lx\n",
hr);
879 ok(
val == 0xdeadbeef,
"returned %08lx\n",
val);
886 ok(
hr ==
S_OK,
"Expected AtlAxAttachControl to return S_OK, got 0x%08lx\n",
hr);
890 ok(
val == 0xdeadbeef,
"Expected unchanged, returned %08lx\n",
val);
1013 ok(
ret,
"GetTempPath failed!\n");
1018 ok(
ret,
"WriteFile failed\n");
1085 module.m_ppAutoObjMapFirst = &null_entry;
1086 module.m_ppAutoObjMapLast = &null_entry;
1111 module.m_ppAutoObjMapFirst = &null_entry;
1112 module.m_ppAutoObjMapLast = &null_entry;
1137 module.m_ppAutoObjMapFirst = &null_entry;
1138 module.m_ppAutoObjMapLast = &null_entry;
#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)
void WINAPI DECLSPEC_HOTPATCH CoUninitialize(void)
HRESULT WINAPI DECLSPEC_HOTPATCH CoCreateInstance(REFCLSID rclsid, IUnknown *outer, DWORD cls_context, REFIID riid, void **obj)
#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_reads_bytes_opt_(nNumberOfBytesToWrite) LPCVOID lpBuffer, _In_ DWORD nNumberOfBytesToWrite, _Out_opt_ LPDWORD lpNumberOfBytesWritten, _Inout_opt_ LPOVERLAPPED lpOverlapped)
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 CoInitialize(LPVOID lpReserved)
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 AtlComModuleRegisterClassObjects(_ATL_COM_MODULE *, DWORD, DWORD)
HRESULT WINAPI AtlWinModuleInit(_ATL_WIN_MODULE *)
void WINAPI AtlWinModuleAddCreateWndData(_ATL_WIN_MODULE *, _AtlCreateWndData *, void *)
HRESULT WINAPI AtlComModuleRevokeClassObjects(_ATL_COM_MODULE *)
#define _ATL_CATMAP_ENTRY_END
void *WINAPI AtlWinModuleExtractCreateWndData(_ATL_WIN_MODULE *)
#define _ATL_CATMAP_ENTRY_REQUIRED
HRESULT WINAPI AtlComModuleGetClassObject(_ATL_COM_MODULE *, REFCLSID, REFIID, void **)
#define _ATL_CATMAP_ENTRY_IMPLEMENTED
LPWSTR WINAPI lstrcatW(LPWSTR lpString1, LPCWSTR lpString2)
#define todo_wine_if(is_todo)
#define ERROR_FILE_NOT_FOUND
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 void test_AtlComModuleRegisterClassObjects(void)
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_AtlComModuleGetClassObject(void)
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)
static void test_AtlComModuleRevokeClassObjects(void)
#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 progid1W[]
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 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 const WCHAR pathW[]
static void ULONG ULONG * ret_size
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 GetLastError(void)
DWORD WINAPI GetCurrentThreadId(void)
WINBASEAPI _In_ DWORD _Out_ _In_ WORD wFlags
#define CLASS_E_CLASSNOTAVAILABLE
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