ReactOS 0.4.17-dev-966-gf06eace
protocol.c File Reference
#include <wine/test.h>
#include <stdarg.h>
#include "windef.h"
#include "winbase.h"
#include "initguid.h"
#include "ole2.h"
#include "urlmon.h"
#include "shlwapi.h"
Include dependency graph for protocol.c:

Go to the source code of this file.

Macros

#define COBJMACROS
 
#define DEFINE_EXPECT(func)    static BOOL expect_ ## func = FALSE, called_ ## func = FALSE
 
#define SET_EXPECT(func)    expect_ ## func = TRUE
 
#define CHECK_EXPECT(func)
 
#define SET_CALLED(func)    expect_ ## func = called_ ## func = FALSE
 
#define CHECK_CALLED(func)
 
#define protocol_start(p, u, e)   _protocol_start(__LINE__,p,u,e)
 

Enumerations

enum  { ITS_PROTOCOL , MK_PROTOCOL }
 

Functions

 DEFINE_GUID (CLSID_ITSProtocol, 0x9d148291, 0xb9c8, 0x11d0, 0xa4, 0xcc, 0x00, 0x00, 0xf8, 0x01, 0x49, 0xf6)
 
 DEFINE_EXPECT (GetBindInfo)
 
 DEFINE_EXPECT (ReportProgress_BEGINDOWNLOADDATA)
 
 DEFINE_EXPECT (ReportProgress_SENDINGREQUEST)
 
 DEFINE_EXPECT (ReportProgress_MIMETYPEAVAILABLE)
 
 DEFINE_EXPECT (ReportProgress_CACHEFILENAMEAVAILABLE)
 
 DEFINE_EXPECT (ReportProgress_DIRECTBIND)
 
 DEFINE_EXPECT (ReportData)
 
 DEFINE_EXPECT (ReportResult)
 
 DEFINE_EXPECT (outer_QI_test)
 
static HRESULT WINAPI ProtocolSink_QueryInterface (IInternetProtocolSink *iface, REFIID riid, void **ppv)
 
static ULONG WINAPI ProtocolSink_AddRef (IInternetProtocolSink *iface)
 
static ULONG WINAPI ProtocolSink_Release (IInternetProtocolSink *iface)
 
static HRESULT WINAPI ProtocolSink_Switch (IInternetProtocolSink *iface, PROTOCOLDATA *pProtocolData)
 
static HRESULT WINAPI ProtocolSink_ReportProgress (IInternetProtocolSink *iface, ULONG ulStatusCode, LPCWSTR szStatusText)
 
static HRESULT WINAPI ProtocolSink_ReportData (IInternetProtocolSink *iface, DWORD grfBSCF, ULONG ulProgress, ULONG ulProgressMax)
 
static HRESULT WINAPI ProtocolSink_ReportResult (IInternetProtocolSink *iface, HRESULT hrResult, DWORD dwError, LPCWSTR szResult)
 
static HRESULT WINAPI BindInfo_QueryInterface (IInternetBindInfo *iface, REFIID riid, void **ppv)
 
static ULONG WINAPI BindInfo_AddRef (IInternetBindInfo *iface)
 
static ULONG WINAPI BindInfo_Release (IInternetBindInfo *iface)
 
static HRESULT WINAPI BindInfo_GetBindInfo (IInternetBindInfo *iface, DWORD *grfBINDF, BINDINFO *pbindinfo)
 
static HRESULT WINAPI BindInfo_GetBindString (IInternetBindInfo *iface, ULONG ulStringType, LPOLESTR *ppwzStr, ULONG cEl, ULONG *pcElFetched)
 
static void test_protocol_fail (IInternetProtocol *protocol, LPCWSTR url, HRESULT expected_hres)
 
static HRESULT _protocol_start (unsigned line, IInternetProtocol *protocol, LPCWSTR url, BOOL expect_mime)
 
static void test_protocol_url (IClassFactory *factory, LPCWSTR url, BOOL expect_mime)
 
static void test_its_protocol_info (IInternetProtocol *protocol)
 
static void test_its_protocol (void)
 
static void test_mk_protocol (void)
 
static BOOL create_chm (void)
 
static void delete_chm (void)
 
static HRESULT WINAPI outer_QueryInterface (IUnknown *iface, REFIID riid, void **ppv)
 
static ULONG WINAPI outer_AddRef (IUnknown *iface)
 
static ULONG WINAPI outer_Release (IUnknown *iface)
 
static void test_com_aggregation (const CLSID *clsid)
 
 START_TEST (protocol)
 

Variables

static HRESULT expect_hrResult
 
static IInternetProtocol * read_protocol = NULL
 
static DWORD bindf
 
static const WCHAR blank_url1 [] = L"its:test.chm::/blank.html"
 
static const WCHAR blank_url2 [] = L"mS-iTs:test.chm::/blank.html"
 
static const WCHAR blank_url3 [] = L"mk:@MSITStore:test.chm::/blank.html"
 
static const WCHAR blank_url4 [] = L"its:test.chm::blank.html"
 
static const WCHAR blank_url5 [] = L"its:test.chm::\\blank.html"
 
static const WCHAR blank_url6 [] = L"its:test.chm::/%62lank.html"
 
static const WCHAR blank_url7 [] = L"mk:@MSITStore:test.chm::\\blank.html"
 
static const WCHAR blank_url8 [] = L"mk:@MSITStore:test.chm::/blank.html/"
 
static const WCHAR blank_url9 [] = L"its:test.chm::/dir/../blank.html"
 
static enum { ... }  test_protocol
 
static const WCHAR cache_file1 [] = L"test.chm::/blank.html"
 
static const WCHAR cache_file2 [] = L"test.chm::\\blank.html"
 
static const WCHAR cache_file3 [] = L"test.chm::/blank.html/"
 
static const WCHAR * cache_file = cache_file1
 
static IInternetProtocolSinkVtbl protocol_sink_vtbl
 
static IInternetProtocolSink protocol_sink
 
static IInternetBindInfoVtbl bind_info_vtbl
 
static IInternetBindInfo bind_info
 
struct {
   const WCHAR *   base_url
 
   const WCHAR *   rel_url
 
   DWORD   flags
 
   HRESULT   hres
 
   const WCHAR *   combined_url
 
} combine_tests []
 
static const IID outer_test_iid = {0xabcabc00,0,0,{0,0,0,0,0,0,0,0x66}}
 
static const IUnknownVtbl outer_vtbl
 

Macro Definition Documentation

◆ CHECK_CALLED

#define CHECK_CALLED (   func)
Value:
do { \
ok(called_ ## func, "expected " #func "\n"); \
SET_CALLED(func); \
}while(0)
GLenum func
Definition: glext.h:6028

Definition at line 50 of file protocol.c.

◆ CHECK_EXPECT

#define CHECK_EXPECT (   func)
Value:
do { \
ok(expect_ ##func, "unexpected call " #func "\n"); \
expect_ ## func = FALSE; \
called_ ## func = TRUE; \
}while(0)
#define TRUE
Definition: types.h:120
#define FALSE
Definition: types.h:117
#define expect_(expected, got, precision)
Definition: font.c:34

Definition at line 40 of file protocol.c.

◆ COBJMACROS

#define COBJMACROS

Definition at line 19 of file protocol.c.

◆ DEFINE_EXPECT

#define DEFINE_EXPECT (   func)     static BOOL expect_ ## func = FALSE, called_ ## func = FALSE

Definition at line 34 of file protocol.c.

◆ protocol_start

#define protocol_start (   p,
  u,
  e 
)    _protocol_start(__LINE__,p,u,e)

Definition at line 270 of file protocol.c.

◆ SET_CALLED

#define SET_CALLED (   func)     expect_ ## func = called_ ## func = FALSE

Definition at line 47 of file protocol.c.

◆ SET_EXPECT

#define SET_EXPECT (   func)     expect_ ## func = TRUE

Definition at line 37 of file protocol.c.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
ITS_PROTOCOL 
MK_PROTOCOL 

Definition at line 82 of file protocol.c.

82 {
@ ITS_PROTOCOL
Definition: protocol.c:83
@ MK_PROTOCOL
Definition: protocol.c:84
static enum @1927 test_protocol

Function Documentation

◆ _protocol_start()

static HRESULT _protocol_start ( unsigned  line,
IInternetProtocol *  protocol,
LPCWSTR  url,
BOOL  expect_mime 
)
static

Definition at line 271 of file protocol.c.

272{
274
275 SET_EXPECT(GetBindInfo);
277 SET_EXPECT(ReportProgress_DIRECTBIND);
278 SET_EXPECT(ReportProgress_SENDINGREQUEST);
279 if(expect_mime)
280 SET_EXPECT(ReportProgress_MIMETYPEAVAILABLE);
282 SET_EXPECT(ReportProgress_CACHEFILENAMEAVAILABLE);
283 SET_EXPECT(ReportData);
285 SET_EXPECT(ReportProgress_BEGINDOWNLOADDATA);
286 SET_EXPECT(ReportResult);
288
289 hres = IInternetProtocol_Start(protocol, url, &protocol_sink, &bind_info, 0, 0);
290
291 if(FAILED(hres)) {
292 SET_CALLED(GetBindInfo);
294 SET_CALLED(ReportProgress_DIRECTBIND);
295 SET_CALLED(ReportProgress_SENDINGREQUEST);
296 if(expect_mime)
297 SET_CALLED(ReportProgress_MIMETYPEAVAILABLE);
299 SET_EXPECT(ReportProgress_CACHEFILENAMEAVAILABLE);
300 SET_CALLED(ReportData);
302 SET_CALLED(ReportProgress_BEGINDOWNLOADDATA);
303 SET_CALLED(ReportResult);
304 }else {
305 CHECK_CALLED(GetBindInfo);
307 SET_CALLED(ReportProgress_DIRECTBIND);
308 CHECK_CALLED(ReportProgress_SENDINGREQUEST);
309 if(expect_mime)
310 CHECK_CALLED(ReportProgress_MIMETYPEAVAILABLE);
312 SET_EXPECT(ReportProgress_CACHEFILENAMEAVAILABLE);
313 CHECK_CALLED(ReportData);
315 CHECK_CALLED(ReportProgress_BEGINDOWNLOADDATA);
316 CHECK_CALLED(ReportResult);
317 }
318
319 return hres;
320}
#define S_OK
Definition: intsafe.h:52
#define FAILED(hr)
Definition: intsafe.h:51
static const WCHAR url[]
Definition: encode.c:1384
static IInternetProtocolSink protocol_sink
Definition: mimeole.c:1384
static IInternetBindInfo bind_info
Definition: mimeole.c:1246
#define SET_EXPECT(func)
Definition: protocol.c:37
HRESULT hres
Definition: protocol.c:432
static HRESULT expect_hrResult
Definition: protocol.c:68
#define CHECK_CALLED(func)
Definition: protocol.c:50
#define SET_CALLED(func)
Definition: protocol.c:47

◆ BindInfo_AddRef()

static ULONG WINAPI BindInfo_AddRef ( IInternetBindInfo *  iface)
static

Definition at line 212 of file protocol.c.

213{
214 return 2;
215}

◆ BindInfo_GetBindInfo()

static HRESULT WINAPI BindInfo_GetBindInfo ( IInternetBindInfo *  iface,
DWORD *  grfBINDF,
BINDINFO *  pbindinfo 
)
static

Definition at line 222 of file protocol.c.

223{
224 CHECK_EXPECT(GetBindInfo);
225
226 ok(grfBINDF != NULL, "grfBINDF == NULL\n");
227 if(grfBINDF)
228 ok(!*grfBINDF, "*grfBINDF != 0\n");
229 ok(pbindinfo != NULL, "pbindinfo == NULL\n");
230 ok(pbindinfo->cbSize == sizeof(BINDINFO), "wrong size of pbindinfo: %ld\n", pbindinfo->cbSize);
231
232 *grfBINDF = bindf;
233 return S_OK;
234}
#define ok(value,...)
Definition: atltest.h:57
#define NULL
Definition: types.h:112
#define CHECK_EXPECT(func)
Definition: protocol.c:40
static DWORD bindf
Definition: protocol.c:70

◆ BindInfo_GetBindString()

static HRESULT WINAPI BindInfo_GetBindString ( IInternetBindInfo *  iface,
ULONG  ulStringType,
LPOLESTR *  ppwzStr,
ULONG  cEl,
ULONG *  pcElFetched 
)
static

Definition at line 236 of file protocol.c.

238{
239 ok(0, "unexpected call\n");
240 return E_NOTIMPL;
241}
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ BindInfo_QueryInterface()

static HRESULT WINAPI BindInfo_QueryInterface ( IInternetBindInfo *  iface,
REFIID  riid,
void **  ppv 
)
static

Definition at line 203 of file protocol.c.

204{
205 if(IsEqualGUID(&IID_IUnknown, riid) || IsEqualGUID(&IID_IInternetBindInfo, riid)) {
206 *ppv = iface;
207 return S_OK;
208 }
209 return E_NOINTERFACE;
210}
const GUID IID_IUnknown
REFIID riid
Definition: atlbase.h:39
REFIID LPVOID * ppv
Definition: atlbase.h:39
#define IsEqualGUID(rguid1, rguid2)
Definition: guiddef.h:147
#define E_NOINTERFACE
Definition: winerror.h:3479

◆ BindInfo_Release()

static ULONG WINAPI BindInfo_Release ( IInternetBindInfo *  iface)
static

Definition at line 217 of file protocol.c.

218{
219 return 1;
220}

◆ create_chm()

static BOOL create_chm ( void  )
static

Definition at line 600 of file protocol.c.

601{
602 HANDLE file;
603 HRSRC src;
604 DWORD size;
605
608 ok(file != INVALID_HANDLE_VALUE, "Could not create test.chm file\n");
610 return FALSE;
611
613
616
617 return TRUE;
618}
#define CloseHandle
Definition: compat.h:739
#define INVALID_HANDLE_VALUE
Definition: compat.h:731
#define CreateFileA(a, b, c, d, e, f, g)
Definition: compat.h:740
#define FILE_ATTRIBUTE_NORMAL
Definition: compat.h:137
BOOL WINAPI WriteFile(_In_ HANDLE hFile, _In_reads_bytes_opt_(nNumberOfBytesToWrite) LPCVOID lpBuffer, _In_ DWORD nNumberOfBytesToWrite, _Out_opt_ LPDWORD lpNumberOfBytesWritten, _Inout_opt_ LPOVERLAPPED lpOverlapped)
Definition: rw.c:25
HRSRC WINAPI FindResourceA(HMODULE hModule, LPCSTR name, LPCSTR type)
Definition: res.c:155
DWORD WINAPI SizeofResource(HINSTANCE hModule, HRSRC hRsrc)
Definition: res.c:568
HGLOBAL WINAPI LoadResource(HINSTANCE hModule, HRSRC hRsrc)
Definition: res.c:532
unsigned long DWORD
Definition: ntddk_ex.h:95
GLenum src
Definition: glext.h:6340
GLsizeiptr size
Definition: glext.h:5919
#define CREATE_ALWAYS
Definition: disk.h:72
#define GENERIC_WRITE
Definition: nt_native.h:90
#define MAKEINTRESOURCEA(i)
Definition: winuser.h:581
Definition: fci.c:123

Referenced by START_TEST().

◆ DEFINE_EXPECT() [1/9]

DEFINE_EXPECT ( GetBindInfo  )

◆ DEFINE_EXPECT() [2/9]

DEFINE_EXPECT ( outer_QI_test  )

◆ DEFINE_EXPECT() [3/9]

DEFINE_EXPECT ( ReportData  )

◆ DEFINE_EXPECT() [4/9]

DEFINE_EXPECT ( ReportProgress_BEGINDOWNLOADDATA  )

◆ DEFINE_EXPECT() [5/9]

DEFINE_EXPECT ( ReportProgress_CACHEFILENAMEAVAILABLE  )

◆ DEFINE_EXPECT() [6/9]

DEFINE_EXPECT ( ReportProgress_DIRECTBIND  )

◆ DEFINE_EXPECT() [7/9]

DEFINE_EXPECT ( ReportProgress_MIMETYPEAVAILABLE  )

◆ DEFINE_EXPECT() [8/9]

DEFINE_EXPECT ( ReportProgress_SENDINGREQUEST  )

◆ DEFINE_EXPECT() [9/9]

DEFINE_EXPECT ( ReportResult  )

◆ DEFINE_GUID()

DEFINE_GUID ( CLSID_ITSProtocol  ,
0x9d148291  ,
0xb9c8  ,
0x11d0  ,
0xa4  ,
0xcc  ,
0x00  ,
0x00  ,
0xf8  ,
0x01  ,
0x49  ,
0xf6   
)

◆ delete_chm()

static void delete_chm ( void  )
static

Definition at line 620 of file protocol.c.

621{
622 BOOL ret;
623
624 ret = DeleteFileA("test.chm");
625 ok(ret, "DeleteFileA failed: %ld\n", GetLastError());
626}
BOOL WINAPI DeleteFileA(IN LPCSTR lpFileName)
Definition: delete.c:24
return ret
Definition: mutex.c:147
unsigned int BOOL
Definition: ntddk_ex.h:94
DWORD WINAPI GetLastError(void)
Definition: except.c:1042

Referenced by START_TEST().

◆ outer_AddRef()

static ULONG WINAPI outer_AddRef ( IUnknown *  iface)
static

Definition at line 641 of file protocol.c.

642{
643 return 2;
644}

◆ outer_QueryInterface()

static HRESULT WINAPI outer_QueryInterface ( IUnknown *  iface,
REFIID  riid,
void **  ppv 
)
static

Definition at line 630 of file protocol.c.

631{
633 CHECK_EXPECT(outer_QI_test);
634 *ppv = (IUnknown*)0xdeadbeef;
635 return S_OK;
636 }
637 ok(0, "unexpected call %s\n", wine_dbgstr_guid(riid));
638 return E_NOINTERFACE;
639}
static const IID outer_test_iid
Definition: protocol.c:628
static __inline const char * wine_dbgstr_guid(const GUID *id)
Definition: debug.h:181

◆ outer_Release()

static ULONG WINAPI outer_Release ( IUnknown *  iface)
static

Definition at line 646 of file protocol.c.

647{
648 return 1;
649}

◆ ProtocolSink_AddRef()

static ULONG WINAPI ProtocolSink_AddRef ( IInternetProtocolSink *  iface)
static

Definition at line 101 of file protocol.c.

102{
103 return 2;
104}

◆ ProtocolSink_QueryInterface()

static HRESULT WINAPI ProtocolSink_QueryInterface ( IInternetProtocolSink *  iface,
REFIID  riid,
void **  ppv 
)
static

Definition at line 92 of file protocol.c.

93{
94 if(IsEqualGUID(&IID_IUnknown, riid) || IsEqualGUID(&IID_IInternetProtocolSink, riid)) {
95 *ppv = iface;
96 return S_OK;
97 }
98 return E_NOINTERFACE;
99}

◆ ProtocolSink_Release()

static ULONG WINAPI ProtocolSink_Release ( IInternetProtocolSink *  iface)
static

Definition at line 106 of file protocol.c.

107{
108 return 1;
109}

◆ ProtocolSink_ReportData()

static HRESULT WINAPI ProtocolSink_ReportData ( IInternetProtocolSink *  iface,
DWORD  grfBSCF,
ULONG  ulProgress,
ULONG  ulProgressMax 
)
static

Definition at line 152 of file protocol.c.

154{
155 CHECK_EXPECT(ReportData);
156
157 ok(ulProgress == ulProgressMax, "ulProgress != ulProgressMax\n");
159 ok(grfBSCF == (BSCF_FIRSTDATANOTIFICATION | BSCF_DATAFULLYAVAILABLE), "grcf = %08lx\n", grfBSCF);
160 else
161 ok(grfBSCF == (BSCF_FIRSTDATANOTIFICATION | BSCF_LASTDATANOTIFICATION), "grcf = %08lx\n", grfBSCF);
162
163 if(read_protocol) {
164 BYTE buf[100];
165 DWORD cb = 0xdeadbeef;
167
168 hres = IInternetProtocol_Read(read_protocol, buf, sizeof(buf), &cb);
169 ok(hres == S_OK, "Read failed: %08lx\n", hres);
170 ok(cb == 13, "cb=%lu expected 13\n", cb);
171 ok(!memcmp(buf, "<html></html>", 13), "unexpected data\n");
172 }
173
174 return S_OK;
175}
static MonoProfilerRuntimeShutdownBeginCallback cb
Definition: metahost.c:118
_ACRTIMP int __cdecl memcmp(const void *, const void *, size_t)
Definition: string.c:2807
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
static IInternetProtocol * read_protocol
Definition: protocol.c:69
unsigned char BYTE
Definition: xxhash.c:193

◆ ProtocolSink_ReportProgress()

static HRESULT WINAPI ProtocolSink_ReportProgress ( IInternetProtocolSink *  iface,
ULONG  ulStatusCode,
LPCWSTR  szStatusText 
)
static

Definition at line 117 of file protocol.c.

119{
120 switch(ulStatusCode) {
121 case BINDSTATUS_BEGINDOWNLOADDATA:
122 CHECK_EXPECT(ReportProgress_BEGINDOWNLOADDATA);
123 ok(!szStatusText, "szStatusText != NULL\n");
124 break;
125 case BINDSTATUS_SENDINGREQUEST:
126 CHECK_EXPECT(ReportProgress_SENDINGREQUEST);
128 ok(!lstrcmpW(szStatusText, L"blank.html"), "unexpected szStatusText\n");
129 else
130 ok(szStatusText == NULL, "szStatusText != NULL\n");
131 break;
132 case BINDSTATUS_MIMETYPEAVAILABLE:
133 CHECK_EXPECT(ReportProgress_MIMETYPEAVAILABLE);
134 ok(!lstrcmpW(szStatusText, L"text/html"), "unexpected szStatusText\n");
135 break;
136 case BINDSTATUS_CACHEFILENAMEAVAILABLE:
137 CHECK_EXPECT(ReportProgress_CACHEFILENAMEAVAILABLE);
138 ok(!lstrcmpW(szStatusText, cache_file), "unexpected szStatusText\n");
139 break;
140 case BINDSTATUS_DIRECTBIND:
141 CHECK_EXPECT(ReportProgress_DIRECTBIND);
142 ok(!szStatusText, "szStatusText != NULL\n");
143 break;
144 default:
145 ok(0, "unexpected ulStatusCode %ld\n", ulStatusCode);
146 break;
147 }
148
149 return S_OK;
150}
int WINAPI lstrcmpW(LPCWSTR str1, LPCWSTR str2)
Definition: locale.c:4152
#define L(x)
Definition: resources.c:13
static const WCHAR * cache_file
Definition: protocol.c:90

◆ ProtocolSink_ReportResult()

static HRESULT WINAPI ProtocolSink_ReportResult ( IInternetProtocolSink *  iface,
HRESULT  hrResult,
DWORD  dwError,
LPCWSTR  szResult 
)
static

Definition at line 177 of file protocol.c.

179{
180 CHECK_EXPECT(ReportResult);
181
182 ok(hrResult == expect_hrResult, "expected: %08lx got: %08lx\n", expect_hrResult, hrResult);
183 ok(dwError == 0, "dwError = %ld\n", dwError);
184 ok(!szResult, "szResult != NULL\n");
185
186 return S_OK;
187}

◆ ProtocolSink_Switch()

static HRESULT WINAPI ProtocolSink_Switch ( IInternetProtocolSink *  iface,
PROTOCOLDATA *  pProtocolData 
)
static

Definition at line 111 of file protocol.c.

112{
113 ok(0, "unexpected call\n");
114 return E_NOTIMPL;
115}

◆ START_TEST()

START_TEST ( protocol  )

Definition at line 690 of file protocol.c.

691{
693
694 if(!create_chm())
695 return;
696
699 test_com_aggregation(&CLSID_ITSProtocol);
700
701 delete_chm();
703}
HRESULT WINAPI DECLSPEC_HOTPATCH OleInitialize(LPVOID reserved)
Definition: ole2.c:162
void WINAPI DECLSPEC_HOTPATCH OleUninitialize(void)
Definition: ole2.c:218
static void delete_chm(void)
Definition: protocol.c:620
static void test_mk_protocol(void)
Definition: protocol.c:575
static void test_com_aggregation(const CLSID *clsid)
Definition: protocol.c:657
static BOOL create_chm(void)
Definition: protocol.c:600
static void test_its_protocol(void)
Definition: protocol.c:506

◆ test_com_aggregation()

static void test_com_aggregation ( const CLSID *  clsid)
static

Definition at line 657 of file protocol.c.

658{
661 IUnknown *unk, *unk2, *unk3;
663
664 hres = CoGetClassObject(clsid, CLSCTX_INPROC_SERVER, NULL, &IID_IClassFactory, (void**)&class_factory);
665 ok(hres == S_OK, "CoGetClassObject failed: %08lx\n", hres);
666
667 hres = IClassFactory_CreateInstance(class_factory, &outer, &IID_IUnknown, (void**)&unk);
668 ok(hres == S_OK, "CreateInstance returned: %08lx\n", hres);
669
670 hres = IUnknown_QueryInterface(unk, &IID_IInternetProtocol, (void**)&unk2);
671 ok(hres == S_OK, "Could not get IInternetProtocol iface: %08lx\n", hres);
672
673 SET_EXPECT(outer_QI_test);
674 hres = IUnknown_QueryInterface(unk2, &outer_test_iid, (void**)&unk3);
675 CHECK_CALLED(outer_QI_test);
676 ok(hres == S_OK, "Could not get IInternetProtocol iface: %08lx\n", hres);
677 ok(unk3 == (IUnknown*)0xdeadbeef, "unexpected unk2\n");
678
679 IUnknown_Release(unk2);
680 IUnknown_Release(unk);
681
682 unk = (void*)0xdeadbeef;
683 hres = IClassFactory_CreateInstance(class_factory, &outer, &IID_IInternetProtocol, (void**)&unk);
684 ok(hres == CLASS_E_NOAGGREGATION, "CreateInstance returned: %08lx\n", hres);
685 ok(!unk, "unk = %p\n", unk);
686
687 IClassFactory_Release(class_factory);
688}
const GUID IID_IClassFactory
HRESULT WINAPI DECLSPEC_HOTPATCH CoGetClassObject(REFCLSID rclsid, DWORD clscontext, COSERVERINFO *server_info, REFIID riid, void **obj)
Definition: combase.c:1925
static const IUnknownVtbl outer_vtbl
Definition: protocol.c:651
static IUnknown * outer
Definition: compobj.c:82
const CLSID * clsid
Definition: msctf.cpp:50
#define CLASS_E_NOAGGREGATION
Definition: winerror.h:3771

Referenced by START_TEST().

◆ test_its_protocol()

static void test_its_protocol ( void  )
static

Definition at line 506 of file protocol.c.

507{
510 IUnknown *unk;
511 ULONG ref;
513
514 static const WCHAR wrong_url1[] = L"its:test.chm::/blan.html";
515 static const WCHAR wrong_url2[] = L"its:tes.chm::b/lank.html";
516 static const WCHAR wrong_url3[] = L"its:test.chm/blank.html";
517 static const WCHAR wrong_url4[] = L"mk:@MSITStor:test.chm::/blank.html";
518 static const WCHAR wrong_url5[] = L"file:tes.chm::/blank.html";
519
521
522 hres = CoGetClassObject(&CLSID_ITSProtocol, CLSCTX_INPROC_SERVER, NULL, &IID_IUnknown, (void**)&unk);
523 ok(hres == S_OK ||
524 broken(hres == REGDB_E_CLASSNOTREG), /* Some W95 and NT4 */
525 "CoGetClassObject failed: %08lx\n", hres);
526 if(FAILED(hres))
527 return;
528
529 hres = IUnknown_QueryInterface(unk, &IID_IInternetProtocolInfo, (void**)&info);
530 ok(hres == E_NOINTERFACE, "Could not get IInternetProtocolInfo: %08lx\n", hres);
531
532 hres = IUnknown_QueryInterface(unk, &IID_IClassFactory, (void**)&factory);
533 ok(hres == S_OK, "Could not get IClassFactory interface\n");
534 if(SUCCEEDED(hres)) {
536
537 hres = IClassFactory_CreateInstance(factory, NULL, &IID_IInternetProtocol, (void**)&protocol);
538 ok(hres == S_OK, "Could not get IInternetProtocol: %08lx\n", hres);
539 if(SUCCEEDED(hres)) {
541
545
546 hres = IInternetProtocol_Start(protocol, wrong_url4, &protocol_sink, &bind_info, 0, 0);
547 ok(hres == INET_E_USE_DEFAULT_PROTOCOLHANDLER,
548 "Start failed: %08lx, expected INET_E_USE_DEFAULT_PROTOCOLHANDLER\n", hres);
549
550 hres = IInternetProtocol_Start(protocol, wrong_url5, &protocol_sink, &bind_info, 0, 0);
551 ok(hres == INET_E_USE_DEFAULT_PROTOCOLHANDLER,
552 "Start failed: %08lx, expected INET_E_USE_DEFAULT_PROTOCOLHANDLER\n", hres);
553
554 ref = IInternetProtocol_Release(protocol);
555 ok(!ref, "protocol ref=%ld\n", ref);
556
565 bindf = BINDF_FROMURLMON | BINDF_NEEDFILE;
567 }
568
569 IClassFactory_Release(factory);
570 }
571
572 IUnknown_Release(unk);
573}
#define broken(x)
Definition: atltest.h:178
#define SUCCEEDED(hr)
Definition: intsafe.h:50
static const WCHAR blank_url1[]
Definition: protocol.c:72
static const WCHAR blank_url3[]
Definition: protocol.c:74
static const WCHAR blank_url9[]
Definition: protocol.c:80
static const WCHAR blank_url2[]
Definition: protocol.c:73
static void test_its_protocol_info(IInternetProtocol *protocol)
Definition: protocol.c:459
static const WCHAR blank_url8[]
Definition: protocol.c:79
static const WCHAR blank_url5[]
Definition: protocol.c:76
static void test_protocol_url(IClassFactory *factory, LPCWSTR url, BOOL expect_mime)
Definition: protocol.c:322
static void test_protocol_fail(IInternetProtocol *protocol, LPCWSTR url, HRESULT expected_hres)
Definition: protocol.c:255
static const WCHAR blank_url4[]
Definition: protocol.c:75
static const WCHAR blank_url6[]
Definition: protocol.c:77
short WCHAR
Definition: pedump.c:58
Definition: main.c:439
Definition: send.c:48
uint32_t ULONG
Definition: typedefs.h:59
#define REGDB_E_CLASSNOTREG
Definition: winerror.h:3801
#define STG_E_FILENOTFOUND
Definition: winerror.h:3660

Referenced by START_TEST().

◆ test_its_protocol_info()

static void test_its_protocol_info ( IInternetProtocol *  protocol)
static

Definition at line 459 of file protocol.c.

460{
462 WCHAR buf[1024];
463 DWORD size, i;
465
466 hres = IInternetProtocol_QueryInterface(protocol, &IID_IInternetProtocolInfo, (void**)&info);
467 ok(hres == S_OK, "Could not get IInternetProtocolInfo interface: %08lx\n", hres);
468 if(FAILED(hres))
469 return;
470
471 for(i = PARSE_CANONICALIZE; i <= PARSE_UNESCAPE; i++) {
472 if(i != PARSE_CANONICALIZE && i != PARSE_SECURITY_URL) {
473 hres = IInternetProtocolInfo_ParseUrl(info, blank_url1, i, 0, buf,
474 ARRAY_SIZE(buf), &size, 0);
475 ok(hres == INET_E_DEFAULT_ACTION,
476 "[%ld] failed: %08lx, expected INET_E_DEFAULT_ACTION\n", i, hres);
477 }
478 }
479
480 for(i=0; i < ARRAY_SIZE(combine_tests); i++) {
481 size = 0xdeadbeef;
482 memset(buf, 0xfe, sizeof(buf));
483 hres = IInternetProtocolInfo_CombineUrl(info, combine_tests[i].base_url,
485 ok(hres == combine_tests[i].hres, "[%ld] CombineUrl returned %08lx, expected %08lx\n",
488 : 0xdeadbeef), "[%ld] unexpected size=%ld\n", i, size);
490 ok(!lstrcmpW(buf, combine_tests[i].combined_url), "[%ld] unexpected result: %s\n", i, wine_dbgstr_w(buf));
491 else
492 ok(buf[0] == 0xfefe, "buf changed\n");
493 }
494
495 size = 0xdeadbeef;
496 memset(buf, 0xfe, sizeof(buf));
497 hres = IInternetProtocolInfo_CombineUrl(info, L"its:test.chm::/blank.html", L"test.html", 0, buf,
498 1, &size, 0);
499 ok(hres == E_OUTOFMEMORY, "CombineUrl failed: %08lx\n", hres);
500 ok(size == 25, "size=%ld\n", size);
501 ok(buf[0] == 0xfefe, "buf changed\n");
502
503 IInternetProtocolInfo_Release(info);
504}
#define ARRAY_SIZE(A)
Definition: main.h:20
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
#define lstrlenW
Definition: compat.h:750
GLbitfield flags
Definition: glext.h:7161
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
#define wine_dbgstr_w
Definition: kernel32.h:34
static const struct @1928 combine_tests[]
const WCHAR * base_url
Definition: protocol.c:429
const WCHAR * rel_url
Definition: protocol.c:430
const WCHAR * combined_url
Definition: protocol.c:433
#define memset(x, y, z)
Definition: compat.h:39

Referenced by test_its_protocol().

◆ test_mk_protocol()

static void test_mk_protocol ( void  )
static

Definition at line 575 of file protocol.c.

576{
579
581
582 hres = CoGetClassObject(&CLSID_MkProtocol, CLSCTX_INPROC_SERVER, NULL, &IID_IClassFactory,
583 (void**)&cf);
584 ok(hres == S_OK ||
585 broken(hres == REGDB_E_CLASSNOTREG), /* Some W95 and NT4 */
586 "CoGetClassObject failed: %08lx\n", hres);
587 if(FAILED(hres))
588 return;
589
596
597 IClassFactory_Release(cf);
598}
static const WCHAR blank_url7[]
Definition: protocol.c:78
static const WCHAR cache_file1[]
Definition: protocol.c:87
static const WCHAR cache_file3[]
Definition: protocol.c:89
static const WCHAR cache_file2[]
Definition: protocol.c:88

Referenced by START_TEST().

◆ test_protocol_fail()

static void test_protocol_fail ( IInternetProtocol *  protocol,
LPCWSTR  url,
HRESULT  expected_hres 
)
static

Definition at line 255 of file protocol.c.

256{
258
259 SET_EXPECT(GetBindInfo);
260 SET_EXPECT(ReportResult);
261
262 expect_hrResult = expected_hres;
263 hres = IInternetProtocol_Start(protocol, url, &protocol_sink, &bind_info, 0, 0);
264 ok(hres == expected_hres, "expected: %08lx got: %08lx\n", expected_hres, hres);
265
266 CHECK_CALLED(GetBindInfo);
267 CHECK_CALLED(ReportResult);
268}

Referenced by test_its_protocol(), and test_res_protocol().

◆ test_protocol_url()

static void test_protocol_url ( IClassFactory *  factory,
LPCWSTR  url,
BOOL  expect_mime 
)
static

Definition at line 322 of file protocol.c.

323{
325 BYTE buf[512];
326 ULONG cb, ref;
328
329 hres = IClassFactory_CreateInstance(factory, NULL, &IID_IInternetProtocol, (void**)&protocol);
330 ok(hres == S_OK, "Could not get IInternetProtocol: %08lx\n", hres);
331 if(FAILED(hres))
332 return;
333
334 hres = protocol_start(protocol, url, expect_mime);
335 if(FAILED(hres)) {
336 IInternetProtocol_Release(protocol);
337 return;
338 }
339
340 hres = IInternetProtocol_Read(protocol, buf, sizeof(buf), &cb);
341 ok(hres == S_OK, "Read failed: %08lx\n", hres);
342 ok(cb == 13, "cb=%lu expected 13\n", cb);
343 ok(!memcmp(buf, "<html></html>", 13), "unexpected data\n");
344 ref = IInternetProtocol_Release(protocol);
345 ok(!ref, "protocol ref=%ld\n", ref);
346
347 hres = IClassFactory_CreateInstance(factory, NULL, &IID_IInternetProtocol, (void**)&protocol);
348 ok(hres == S_OK, "Could not get IInternetProtocol: %08lx\n", hres);
349 if(FAILED(hres))
350 return;
351
352 cb = 0xdeadbeef;
353 hres = IInternetProtocol_Read(protocol, buf, sizeof(buf), &cb);
355 "Read returned %08lx\n", hres);
356 ok(cb == 0xdeadbeef, "cb=%lu expected 0xdeadbeef\n", cb);
357
358 protocol_start(protocol, url, expect_mime);
359 hres = IInternetProtocol_Read(protocol, buf, 2, &cb);
360 ok(hres == S_OK, "Read failed: %08lx\n", hres);
361 ok(cb == 2, "cb=%lu expected 2\n", cb);
362 hres = IInternetProtocol_Read(protocol, buf, sizeof(buf), &cb);
363 ok(hres == S_OK, "Read failed: %08lx\n", hres);
364 ok(cb == 11, "cb=%lu, expected 11\n", cb);
365 hres = IInternetProtocol_Read(protocol, buf, sizeof(buf), &cb);
366 ok(hres == S_FALSE, "Read failed: %08lx expected S_FALSE\n", hres);
367 ok(cb == 0, "cb=%lu expected 0\n", cb);
368 hres = IInternetProtocol_UnlockRequest(protocol);
369 ok(hres == S_OK, "UnlockRequest failed: %08lx\n", hres);
370 ref = IInternetProtocol_Release(protocol);
371 ok(!ref, "protocol ref=%ld\n", ref);
372
373 hres = IClassFactory_CreateInstance(factory, NULL, &IID_IInternetProtocol, (void**)&protocol);
374 ok(hres == S_OK, "Could not get IInternetProtocol: %08lx\n", hres);
375 if(FAILED(hres))
376 return;
377
378 protocol_start(protocol, url, expect_mime);
379 hres = IInternetProtocol_Read(protocol, buf, 2, &cb);
380 ok(hres == S_OK, "Read failed: %08lx\n", hres);
381 hres = IInternetProtocol_LockRequest(protocol, 0);
382 ok(hres == S_OK, "LockRequest failed: %08lx\n", hres);
383 hres = IInternetProtocol_UnlockRequest(protocol);
384 ok(hres == S_OK, "UnlockRequest failed: %08lx\n", hres);
385 hres = IInternetProtocol_Read(protocol, buf, sizeof(buf), &cb);
386 ok(hres == S_OK, "Read failed: %08lx\n", hres);
387 ok(cb == 11, "cb=%lu, expected 11\n", cb);
388 ref = IInternetProtocol_Release(protocol);
389 ok(!ref, "protocol ref=%ld\n", ref);
390
391 hres = IClassFactory_CreateInstance(factory, NULL, &IID_IInternetProtocol, (void**)&protocol);
392 ok(hres == S_OK, "Could not get IInternetProtocol: %08lx\n", hres);
393 if(FAILED(hres))
394 return;
395
396 protocol_start(protocol, url, expect_mime);
397 hres = IInternetProtocol_LockRequest(protocol, 0);
398 ok(hres == S_OK, "LockRequest failed: %08lx\n", hres);
399 hres = IInternetProtocol_Terminate(protocol, 0);
400 ok(hres == S_OK, "Terminate failed: %08lx\n", hres);
401 hres = IInternetProtocol_Read(protocol, buf, 2, &cb);
402 ok(hres == S_OK, "Read failed: %08lx\n", hres);
403 ok(cb == 2, "cb=%lu, expected 2\n", cb);
404 hres = IInternetProtocol_UnlockRequest(protocol);
405 ok(hres == S_OK, "UnlockRequest failed: %08lx\n", hres);
406 hres = IInternetProtocol_Read(protocol, buf, 2, &cb);
407 ok(hres == S_OK, "Read failed: %08lx\n", hres);
408 ok(cb == 2, "cb=%lu, expected 2\n", cb);
409 hres = IInternetProtocol_Terminate(protocol, 0);
410 ok(hres == S_OK, "Terminate failed: %08lx\n", hres);
411 hres = IInternetProtocol_Read(protocol, buf, 2, &cb);
412 ok(hres == S_OK, "Read failed: %08lx\n", hres);
413 ok(cb == 2, "cb=%lu expected 2\n", cb);
414 ref = IInternetProtocol_Release(protocol);
415 ok(!ref, "protocol ref=%ld\n", ref);
416
417 hres = IClassFactory_CreateInstance(factory, NULL, &IID_IInternetProtocol, (void**)&read_protocol);
418 ok(hres == S_OK, "Could not get IInternetProtocol: %08lx\n", hres);
419 if(FAILED(hres))
420 return;
421
422 protocol_start(read_protocol, url, expect_mime);
423 ref = IInternetProtocol_Release(read_protocol);
424 ok(!ref, "protocol ref=%ld\n", ref);
426}
#define E_FAIL
Definition: ddrawi.h:102
#define protocol_start(p, u, e)
Definition: protocol.c:270
#define INET_E_DATA_NOT_AVAILABLE
Definition: winerror.h:4657
#define S_FALSE
Definition: winerror.h:3451

Referenced by test_its_protocol(), and test_mk_protocol().

Variable Documentation

◆ base_url

const WCHAR* base_url

Definition at line 429 of file protocol.c.

Referenced by test_its_protocol_info().

◆ bind_info

IInternetBindInfo bind_info
static
Initial value:
= {
}
static IInternetBindInfoVtbl bind_info_vtbl
Definition: protocol.c:243

Definition at line 251 of file protocol.c.

◆ bind_info_vtbl

IInternetBindInfoVtbl bind_info_vtbl
static
Initial value:
= {
}
static ULONG WINAPI BindInfo_Release(IInternetBindInfo *iface)
Definition: protocol.c:217
static HRESULT WINAPI BindInfo_QueryInterface(IInternetBindInfo *iface, REFIID riid, void **ppv)
Definition: protocol.c:203
static HRESULT WINAPI BindInfo_GetBindInfo(IInternetBindInfo *iface, DWORD *grfBINDF, BINDINFO *pbindinfo)
Definition: protocol.c:222
static HRESULT WINAPI BindInfo_GetBindString(IInternetBindInfo *iface, ULONG ulStringType, LPOLESTR *ppwzStr, ULONG cEl, ULONG *pcElFetched)
Definition: protocol.c:236
static ULONG WINAPI BindInfo_AddRef(IInternetBindInfo *iface)
Definition: protocol.c:212

Definition at line 243 of file protocol.c.

◆ bindf

◆ blank_url1

const WCHAR blank_url1[] = L"its:test.chm::/blank.html"
static

Definition at line 72 of file protocol.c.

Referenced by test_its_protocol(), and test_its_protocol_info().

◆ blank_url2

const WCHAR blank_url2[] = L"mS-iTs:test.chm::/blank.html"
static

Definition at line 73 of file protocol.c.

Referenced by test_its_protocol().

◆ blank_url3

const WCHAR blank_url3[] = L"mk:@MSITStore:test.chm::/blank.html"
static

Definition at line 74 of file protocol.c.

Referenced by test_its_protocol(), and test_mk_protocol().

◆ blank_url4

const WCHAR blank_url4[] = L"its:test.chm::blank.html"
static

Definition at line 75 of file protocol.c.

Referenced by test_its_protocol().

◆ blank_url5

const WCHAR blank_url5[] = L"its:test.chm::\\blank.html"
static

Definition at line 76 of file protocol.c.

Referenced by test_its_protocol().

◆ blank_url6

const WCHAR blank_url6[] = L"its:test.chm::/%62lank.html"
static

Definition at line 77 of file protocol.c.

Referenced by test_its_protocol().

◆ blank_url7

const WCHAR blank_url7[] = L"mk:@MSITStore:test.chm::\\blank.html"
static

Definition at line 78 of file protocol.c.

Referenced by test_mk_protocol().

◆ blank_url8

const WCHAR blank_url8[] = L"mk:@MSITStore:test.chm::/blank.html/"
static

Definition at line 79 of file protocol.c.

Referenced by test_its_protocol(), and test_mk_protocol().

◆ blank_url9

const WCHAR blank_url9[] = L"its:test.chm::/dir/../blank.html"
static

Definition at line 80 of file protocol.c.

Referenced by test_its_protocol().

◆ cache_file

◆ cache_file1

const WCHAR cache_file1[] = L"test.chm::/blank.html"
static

Definition at line 87 of file protocol.c.

Referenced by test_mk_protocol().

◆ cache_file2

const WCHAR cache_file2[] = L"test.chm::\\blank.html"
static

Definition at line 88 of file protocol.c.

Referenced by test_mk_protocol().

◆ cache_file3

const WCHAR cache_file3[] = L"test.chm::/blank.html/"
static

Definition at line 89 of file protocol.c.

Referenced by test_mk_protocol().

◆ 

const struct { ... } combine_tests[]
Initial value:
= {
{L"its:test.chm::/blank.html", L"its:test.chm::/blank.html", 0, STG_E_INVALIDNAME, NULL},
{L"mS-iTs:test.chm::/blank.html", L"mS-iTs:test.chm::/blank.html", 0, STG_E_INVALIDNAME, NULL},
{L"its:test.chm::/blank.html", L"test.html", 0, S_OK, L"its:test.chm::/test.html"},
{L"its:test.chm::/blank.html", L"test.chm::/test.html", 0, STG_E_INVALIDNAME, NULL},
{L"its:test.chm::/blank.html", L"/test.html", 0, S_OK, L"its:test.chm::/test.html"},
{L"its:test.chm::/blank.html", L"te:t.html", 0, STG_E_INVALIDNAME, NULL},
{L"its:test.chm::/blank.html", L"/test.html", URL_ESCAPE_SPACES_ONLY|URL_DONT_ESCAPE_EXTRA_INFO, S_OK, L"its:test.chm::/test.html"},
{L"its:test.chm::/blank.html", L"dir/test.html", 0, S_OK, L"its:test.chm::/dir/test.html"},
{L"test.html", L"test.chm::/test.html", 0, 0x80041001, NULL},
{L"its:test:.chm::/blank.html", L"test.html", 0, S_OK, L"its:test:.chm::/test.html"},
{L"its:test.chm::/dir/blank.html", L"test.html", 0, S_OK, L"its:test.chm::/dir/test.html"},
{L"its:test.chm::blank.html", L"test.html", 0, S_OK, L"its:test.chm::blank.htmltest.html"},
{L"ms-its:test.chm::/dir/blank.html", L"test.html", 0, S_OK, L"ms-its:test.chm::/dir/test.html"},
{L"mk:@MSITStore:test.chm::/dir/blank.html", L"test.html", 0, S_OK, L"mk:@MSITStore:test.chm::/dir/test.html"},
{L"xxx:test.chm::/dir/blank.html", L"test.html", 0, INET_E_USE_DEFAULT_PROTOCOLHANDLER, NULL},
{L"its:test.chm::/dir/blank.html", L"/test.html", 0, S_OK, L"its:test.chm::/test.html"},
{L"its:test.chm::/blank.html", L"#frag", 0, S_OK, L"its:test.chm::/blank.html#frag"},
{L"its:test.chm::/blank.html#hash", L"#frag", 0, S_OK, L"its:test.chm::/blank.html#hash#frag"},
{L"its:test.chm::/blank.html", L"test.html#frag", 0, S_OK, L"its:test.chm::/test.html#frag"},
{L"its:test.chm::/blank.html", L"/test.html#frag", 0, S_OK, L"its:test.chm::/test.html#frag"},
{L"its:test.chm::/blank.html", L"?query", 0, S_OK, L"its:test.chm::/?query"},
{L"its:test.chm::/blank.html#frag/blank", L"test.html", 0, S_OK, L"its:test.chm::/blank.html#frag/test.html"},
}
#define URL_DONT_ESCAPE_EXTRA_INFO
Definition: shlwapi.h:529
#define URL_ESCAPE_SPACES_ONLY
Definition: shlwapi.h:530
#define STG_E_INVALIDNAME
Definition: winerror.h:3680

Referenced by test_its_protocol_info().

◆ combined_url

const WCHAR* combined_url

Definition at line 433 of file protocol.c.

Referenced by get_redirect_url(), test_its_protocol_info(), and test_mhtml_protocol_info().

◆ expect_hrResult

◆ flags

Definition at line 431 of file protocol.c.

◆ hres

HRESULT hres

Definition at line 432 of file protocol.c.

Referenced by __GetMoniker(), _BSTR_DATE(), _call_change_type(), _call_procedure(), _change_type_fail(), _check_custom_policy(), _clone_node(), _create_img_elem(), _create_option_elem(), _doc_attach_event(), _doc_detach_event(), _doc_get_body(), _doc_get_elems_by_name(), _elem_attach_event(), _elem_detach_event(), _elem_fire_event(), _elem_get_scroll_height(), _elem_get_scroll_left(), _elem_get_scroll_top(), _elem_get_scroll_width(), _get_anchor_iface(), _get_attr2_iface(), _get_attr_node_value(), _get_button_iface(), _get_child_item(), _get_child_nodes(), _get_comment_iface(), _get_current_style(), _get_current_style2_iface(), _get_disp_id(), _get_dispex_iface(), _get_doc3_iface(), _get_doc_elem(), _get_doc_node(), _get_doc_window(), _get_elem2_iface(), _get_elem3_iface(), _get_elem4_iface(), _get_elem_attr_node(), _get_elem_col_item_idx(), _get_elem_doc(), _get_elem_id(), _get_elem_iface(), _get_event_obj(), _get_event_src(), _get_first_child(), _get_form_iface(), _get_frame_content_window(), _get_htmldoc5_iface(), _get_iframe2_iface(), _get_iframe_iface(), _get_img_iface(), _get_label_iface(), _get_link_iface(), _get_metaelem_iface(), _get_node2_iface(), _get_node_iface(), _get_node_type(), _get_object_iface(), _get_option_iface(), _get_owner_doc(), _get_select_iface(), _get_style_iface(), _get_text2_iface(), _get_text_iface(), _get_textarea_form(), _get_textarea_iface(), _get_window_doc(), _insert_adjacent_elem(), _link_put_disabled(), _link_put_href(), _link_put_rel(), _link_put_rev(), _link_put_type(), _node_get_next(), _node_get_prev(), _parse_htmlscript(), _parse_script(), _protocol_start(), _put_attr_node_value(), _range_duplicate(), _run_script(), _set_body_scroll(), _set_button_name(), _set_dispex_value(), _set_elem_dir(), _set_elem_language(), _set_framebase_marginheight(), _set_framebase_marginwidth(), _set_iframe_height(), _set_iframe_width(), _set_meta_charset(), _set_object_name(), _set_style_filter(), _set_stylesheet_csstext(), _set_text_data(), _set_text_decoration(), _set_window_name(), _set_window_status(), _test_anchor_get_target(), _test_anchor_hash(), _test_anchor_hostname(), _test_anchor_href(), _test_anchor_name(), _test_anchor_put_href(), _test_anchor_put_name(), _test_anchor_put_rel(), _test_anchor_put_search(), _test_anchor_put_target(), _test_anchor_rel(), _test_anchor_search(), _test_attr_expando(), _test_attr_node_name(), _test_attr_specified(), _test_attr_value(), _test_body_scroll(), _test_border_styles(), _test_button_get_disabled(), _test_button_name(), _test_button_set_disabled(), _test_class_info(), _test_comment_attrs(), _test_comment_text(), _test_compatmode(), _test_create_elem(), _test_create_text(), _test_current_encoding(), _test_current_style_filter(), _test_current_url(), _test_disp(), _test_disp_value(), _test_display_uri(), _test_doc_all(), _test_doc_set_title(), _test_doc_title(), _test_elem3_get_disabled(), _test_elem3_set_disabled(), _test_elem_all(), _test_elem_attr(), _test_elem_class(), _test_elem_client_rect(), _test_elem_client_size(), _test_elem_collection(), _test_elem_contains(), _test_elem_dir(), _test_elem_disabled(), _test_elem_filters(), _test_elem_get_parent(), _test_elem_getelembytag(), _test_elem_id(), _test_elem_innerhtml(), _test_elem_innertext(), _test_elem_istextedit(), _test_elem_language(), _test_elem_offset(), _test_elem_outerhtml(), _test_elem_put_id(), _test_elem_set_class(), _test_elem_set_innerhtml(), _test_elem_set_innertext(), _test_elem_set_outerhtml(), _test_elem_set_tabindex(), _test_elem_set_title(), _test_elem_source_index(), _test_elem_tabindex(), _test_elem_tag(), _test_elem_title(), _test_event_altkey(), _test_event_button(), _test_event_cancelbubble(), _test_event_clientx(), _test_event_clienty(), _test_event_ctrlkey(), _test_event_fromelem(), _test_event_keycode(), _test_event_obj(), _test_event_offsetx(), _test_event_offsety(), _test_event_qualifier(), _test_event_reason(), _test_event_screenx(), _test_event_screeny(), _test_event_shiftkey(), _test_event_srcfilter(), _test_event_toelem(), _test_event_type(), _test_event_x(), _test_event_y(), _test_form_action(), _test_form_elements(), _test_form_encoding(), _test_form_length(), _test_form_method(), _test_form_name(), _test_form_put_action(), _test_form_put_encoding(), _test_form_put_method(), _test_form_put_name(), _test_form_reset(), _test_framebase_marginheight(), _test_framebase_marginwidth(), _test_framebase_name(), _test_framebase_put_name(), _test_framebase_src(), _test_get_dispid(), _test_GetCurMoniker(), _test_ifaces(), _test_iframe_height(), _test_iframe_width(), _test_img_align(), _test_img_alt(), _test_img_complete(), _test_img_height(), _test_img_isMap(), _test_img_name(), _test_img_put_height(), _test_img_put_width(), _test_img_set_alt(), _test_img_set_src(), _test_img_src(), _test_img_width(), _test_input_defaultValue(), _test_input_get_checked(), _test_input_get_defaultchecked(), _test_input_get_disabled(), _test_input_get_form(), _test_input_get_size(), _test_input_maxlength(), _test_input_name(), _test_input_put_defaultValue(), _test_input_put_value(), _test_input_readOnly(), _test_input_set_checked(), _test_input_set_defaultchecked(), _test_input_set_disabled(), _test_input_set_maxlength(), _test_input_set_name(), _test_input_set_size(), _test_input_set_src(), _test_input_src(), _test_input_type(), _test_input_value(), _test_link_disabled(), _test_link_href(), _test_link_media(), _test_link_rel(), _test_link_rev(), _test_link_type(), _test_meta_charset(), _test_meta_content(), _test_meta_httpequiv(), _test_meta_name(), _test_no_iface(), _test_node_append_child(), _test_node_get_parent(), _test_node_get_value_str(), _test_node_has_child(), _test_node_insertbefore(), _test_node_name(), _test_node_put_value_str(), _test_node_remove_child(), _test_object_name(), _test_object_vspace(), _test_option_defaultSelected(), _test_option_get_index(), _test_option_put_defaultSelected(), _test_option_put_selected(), _test_option_put_text(), _test_option_put_value(), _test_option_selected(), _test_option_text(), _test_option_value(), _test_QueryStatus(), _test_range_collapse(), _test_range_expand(), _test_range_inrange(), _test_range_isequal(), _test_range_move(), _test_range_moveend(), _test_range_movestart(), _test_range_parent(), _test_range_paste_html(), _test_range_put_text(), _test_range_set_end_point(), _test_range_text(), _test_readyState(), _test_script_text(), _test_select_get_disabled(), _test_select_length(), _test_select_multiple(), _test_select_name(), _test_select_put_length(), _test_select_put_selidx(), _test_select_selidx(), _test_select_set_disabled(), _test_select_set_multiple(), _test_select_set_name(), _test_select_set_size(), _test_select_set_value(), _test_select_size(), _test_select_type(), _test_select_value(), _test_state(), _test_stream_read(), _test_style_csstext(), _test_style_filter(), _test_style_media(), _test_style_put_media(), _test_style_put_type(), _test_style_remove_attribute(), _test_style_set_csstext(), _test_style_type(), _test_stylesheet_csstext(), _test_table_cell_padding(), _test_table_cell_spacing(), _test_table_length(), _test_text_data(), _test_text_decoration(), _test_text_length(), _test_textarea_defaultvalue(), _test_textarea_put_defaultvalue(), _test_textarea_put_readonly(), _test_textarea_put_value(), _test_textarea_readonly(), _test_textarea_type(), _test_textarea_value(), _test_tr_possess(), _test_urlmon_display_name(), _test_window_length(), _test_window_name(), _test_window_status(), _text_append_data(), AboutProtocol_Start(), AboutProtocolFactory_CreateInstance(), activate_inplace(), activate_ui(), activate_window(), ActiveScript_AddNamedItem(), ActiveScript_SetScriptSite(), ActiveScript_SetScriptState(), ActiveScriptSite_OnScriptError(), ActiveXObject_value(), add_func_info(), AddUninstallKey(), advise_prop_notif(), alloc_array(), alloc_bool(), alloc_enumerator(), alloc_error(), alloc_number(), alloc_regexp(), alloc_vbarray(), AMCF_CreateInstance(), Arguments_gc_traverse(), Arguments_get_caller(), Arguments_prop_put(), array_access(), array_bounds_from_stack(), Array_concat(), Array_every(), Array_filter(), Array_forEach(), Array_indexOf(), array_join(), Array_join(), Array_lastIndexOf(), Array_map(), Array_pop(), Array_push(), Array_reduce(), Array_set_length(), Array_shift(), Array_slice(), Array_some(), Array_sort(), Array_splice(), array_to_args(), Array_toLocaleString(), Array_unshift(), ArrayBuffer_slice(), ArrayBufferConstr_value(), ArrayConstr_value(), assign_ident(), assign_value(), async_open(), AsyncInstallDistributionUnit(), AtlAdvise(), AtlComModuleRegisterServer(), AtlGetObjectSourceInterface(), AtlLoadTypeLib(), AtlModuleGetClassObject(), AtlRegisterClassCategoriesHelper(), AtlRegisterTypeLib(), AtlUnadvise(), AtlUpdateRegistryFromResourceD(), AVICompressorIn_Receive(), AVICompressorPropertyBag_Load(), AVIFileInfoA(), AVISaveVW(), AVIStreamInfoA(), AXObjectSafety_SetInterfaceSafetyOptions(), BackgroundCopyManager_CreateJob(), basic_style_test(), before_async_open(), bind_activex_event(), bind_event_scripts(), bind_event_target(), bind_script_to_text(), bind_to_object(), bind_to_storage(), BindFunction_call(), BindFunction_gc_traverse(), BindInfo_GetBindInfo(), Binding_Abort(), Binding_Create(), Binding_QueryInterface(), BindProtocol_QueryInterface(), BindProtocol_Start(), BindProtocol_StartEx(), BindStatusCallback_GetBindInfo(), BindStatusCallback_GetBindInfoEx(), BindStatusCallback_OnDataAvailable(), BindStatusCallback_OnStopBinding(), Bool_toString(), Bool_valueOf(), BoolConstr_value(), BrowserService_DisplayParseError(), bsc_from_bctx(), bsc_thread(), bsch_from_bctx(), BSCHttpNegotiate_BeginningTransaction(), BSCHttpNegotiate_GetRootSecurityId(), BSCHttpNegotiate_OnResponse(), BSCInternetBindInfo_GetBindString(), BSCServiceProvider_QueryService(), builtin_eval(), Builtin_GetIDsOfNames(), Builtin_Invoke(), builtin_propget(), builtin_propput(), call_continue(), call_disp_func(), call_docview_84(), call_event_handlers(), call_explorer_69(), call_fire_event(), call_timer_disp(), CF_CreateInstance(), change_command(), change_type(), channelbsc_load_stream(), channelbsc_set_channel(), check_bits20(), check_bits25(), check_codebase(), check_event_attr(), check_for_VT_INT_PTR(), check_ie(), check_jscript(), check_load_safety(), check_range(), check_script_safety(), check_vbscript(), ClassFactory_Create(), classfactory_CreateInstance(), ClOleCommandTarget_Exec(), close_script(), CAddressBand::CloseDW(), ClServiceProvider_QueryService(), cmp_oper(), CoInternetCombineUrl(), CoInternetCompareUrl(), CoInternetGetSecurityUrl(), CoInternetGetSecurityUrlEx(), CoInternetIsFeatureEnabledForUrl(), CoInternetIsFeatureZoneElevationEnabled(), CoInternetQueryInfo(), combine_url(), compare_uris(), CDrivesFolder::CompareIDs(), compile_args(), compile_arguments(), compile_array_literal(), compile_assign_expression(), compile_assignment(), compile_binary_expression(), compile_block_statement(), compile_break_statement(), compile_call_expression(), compile_call_statement(), compile_class(), compile_comma_expression(), compile_conditional_expression(), compile_const_statement(), compile_continue_statement(), compile_delete_expression(), compile_dim_statement(), compile_dowhile_statement(), compile_exitdo_statement(), compile_exitfor_statement(), compile_expression(), compile_expression_statement(), compile_for_statement(), compile_foreach_statement(), compile_forin_statement(), compile_forto_statement(), compile_func(), compile_function(), compile_if_statement(), compile_increment_expression(), compile_labelled_statement(), compile_logical_expression(), compile_member_call_expression(), compile_member_expression(), compile_memberid_expression(), compile_new_expression(), compile_object_literal(), compile_procedure(), compile_redim_statement(), compile_return_statement(), compile_retval_statement(), compile_script(), compile_select_statement(), compile_statement(), compile_switch_statement(), compile_throw_statement(), compile_try_statement(), compile_typeof_expression(), compile_unary_expression(), compile_variable_list(), compile_while_statement(), compile_with_statement(), concat_array(), concat_obj(), confirm_safety(), confirm_safety_load(), ConnectionPoint_Advise(), construct_function(), continue_binding(), convert_params(), copy_from_variant(), CopyBindInfo(), cp_from_charset_string(), create_activex_constr(), create_activex_object(), create_all_list(), create_and_init_script(), create_array(), create_array_constr(), create_arraybuf(), create_ax_site(), create_bind_function(), create_bool(), create_bool_constr(), create_builtin_constructor(), create_builtin_error(), create_builtin_function(), create_class_funcprop(), create_client_object(), create_collection_from_htmlcol(), create_collection_from_nodelist(), create_command(), create_date(), create_date_constr(), create_default_callback(), create_dispex(), create_doc_from_url(), create_docfrag(), create_document(), create_element(), create_engine(), create_enumerator(), create_enumerator_constr(), create_error(), create_event_sink(), create_function(), create_host_function(), create_ie_window(), create_internet_session(), create_jscript(), create_jscript_object(), create_json(), create_match2(), create_match_array(), create_match_collection2(), create_math(), create_mime_object(), create_moniker(), create_node(), create_nscontainer(), create_nsuri(), create_number(), create_number_constr(), create_object(), create_param_prop_bag(), create_pending_window(), create_profile_directory(), create_redirect_nschannel(), create_regexp(), create_regexp_constr(), create_regexp_var(), create_safearray_iter(), create_script(), create_script_host(), create_shell_embedding_hwnd(), create_source_function(), create_string(), create_string_constr(), create_sub_matches(), create_vbarray(), create_vbarray_constr(), create_vbdisp(), create_vbscript(), create_webbrowser(), create_window_object(), create_xmlhttprequest(), CreateAsyncBindCtx(), CreateAsyncBindCtxEx(), CreateShortcut(), CreateTypeLib2(), CreateUriWithFragment(), CreateURLMonikerEx(), CreateURLMonikerEx2(), CustomDoc_SetUIHandler(), DataCache_Draw(), DataCache_GetExtent(), DataCache_IDataObject_SetData(), DataView_getFloat32(), DataView_getFloat64(), DataView_getInt16(), DataView_getInt32(), DataView_getInt8(), DataView_getUint16(), DataView_getUint32(), DataView_getUint8(), DataView_setFloat32(), DataView_setFloat64(), DataView_setInt16(), DataView_setInt32(), DataView_setInt8(), DataViewConstr_value(), Date_setDate(), Date_setFullYear(), Date_setHours(), Date_setMilliseconds(), Date_setMinutes(), Date_setMonth(), Date_setSeconds(), Date_setTime(), Date_setUTCDate(), Date_setUTCFullYear(), Date_setUTCHours(), Date_setUTCMilliseconds(), Date_setUTCMinutes(), Date_setUTCMonth(), Date_setUTCSeconds(), Date_setYear(), date_utc(), DateConstr_parse(), DateConstr_UTC(), DateConstr_value(), deactivate_document(), decode_base64(), decode_qp(), DefaultHandler_Advise(), DefaultHandler_DAdvise(), DefaultHandler_GetData(), DefaultHandler_GetExtent(), DefaultHandler_GetMiscStatus(), DefaultHandler_QueryGetData(), DefaultHandler_SetData(), delete_command(), delete_prop(), DeleteUninstallKey(), DesktopCreateWindow(), detach_bsc(), detach_plugin_host(), detach_scope(), detach_scope_chain(), detach_variable_object(), DirectSoundDevice_CreateSoundBuffer(), DirectSoundDevice_DuplicateSoundBuffer(), DirectSoundFullDuplexCreate(), disp_call(), disp_call_name(), disp_call_value_with_caller(), disp_cmp(), disp_delete(), disp_delete_name(), disp_get_id(), disp_invoke(), disp_propget(), disp_propput(), disp_propput_name(), dispatch_event(), Dispatch_GetTypeInfo(), DispatchEx_DeleteMemberByName(), DispatchEx_GetDispID(), DispatchEx_GetIDsOfNames(), DispatchEx_GetMemberName(), DispatchEx_GetNextDispID(), DispatchEx_GetTypeInfo(), DispatchEx_InvokeEx(), dispex_get_dprop_ref(), dispex_get_dynid(), DllGetClassObject(), DllRegisterServer(), DllUnregisterServer(), DMORegister(), do_advise(), do_attribute_tag_format(), do_attributeless_tag_format(), do_child(), do_icall(), do_mcall(), do_process_key(), ATL::CRegObject::do_process_key(), do_process_root_key(), do_query_service(), do_regexp_match_next(), do_test_about_protocol(), doc_complex_write(), doc_init_events(), doc_navigate_proc(), doc_write(), DocDispatchEx_GetDispID(), dochost_object_available(), DocHostUIHandler_GetExternal(), DocHostUIHandler_GetHostInfo(), DocHostUIHandler_GetOverrideKeyPath(), DocHostUIHandler_ShowContextMenu(), DocObjectService_FireDocumentComplete(), DocObjectService_FireNavigateComplete2(), document_write(), DocumentSite_ActivateMe(), DOMClassFactory_Create(), DoSync(), double_to_string(), download_proc(), download_to_cache(), DownloadBSC_GetBindInfo(), DownloadBSC_OnProgress(), DownloadBSC_OnStartBinding(), DownloadBSC_OnStopBinding(), DrawNCPreview(), DrawThemePreview(), DSCF_CreateInstance(), DSOUND_ReopenDevice(), DwlServiceProvider_QueryService(), edit_get_state(), EditStreamSetNameA(), EditStreamSetNameW(), elem_string_attr_getter(), embed_plugin_object(), emit_member_expression(), ensure_prop_name(), ensure_uri(), ensure_uri_builder(), enter_bytecode(), Enumerator_moveFirst(), Enumerator_moveNext(), EnumeratorConstr_value(), enumvar_get_next_item(), equal_values(), Err_Number(), Err_Raise(), err_string_prop(), error_constr(), Error_toString(), EventDispatch_Invoke(), exec_global_code(), exec_hyperlink(), exec_queued_code(), exec_refresh(), exec_script(), exec_shldocvw_67(), exec_source(), exit_label(), expect_NumFromStr(), exprval_call(), exprval_set_exception(), exprval_to_value(), extract_cab_file(), ExtractFilesW(), failure_msgbox(), file_protocol_start(), file_register(), FileProtocol_Start(), FileProtocol_StartEx(), fill_displaycontrollerconfig(), fill_format_info(), fill_props(), fill_protrefs(), fill_videocontroller(), find_element_by_id(), find_event_target(), find_external_prop(), find_global_prop(), find_mime_from_buffer(), find_mime_from_url(), find_prop_name(), find_prop_name_prot(), FindContextAlias(), fire_event(), fire_event_obj(), folder_CreateTextFile(), FtpProtocol_open_request(), FtpProtocol_Start(), FtpProtocol_StartEx(), Function_apply(), Function_bind(), Function_call(), Function_get_arguments(), Function_get_value(), function_invoke(), Function_toString(), function_value(), FunctionConstr_value(), gc_run(), generate_security_id(), get_action_policy(), get_attr_dispid_by_idx(), get_attr_dispid_by_name(), get_bctx_binding(), get_bitsperpixel(), get_builtin_id(), get_callback(), get_callback_iface(), get_client_disp_property(), get_cp(), get_data(), get_default_source(), get_dispids(), get_doc_elem_by_id(), get_doc_ready_state(), get_doc_string(), get_domattr(), get_elem(), get_elem_attr_value_by_dispid(), get_elem_by_id(), get_elem_source_index(), get_elem_style(), get_element_by_id(), get_engine_clsid(), get_event_handler(), get_eventiface_info(), get_feature_from_process(), get_frame_by_name(), get_guid_from_language(), get_htmldoc_classinfo(), get_http_status_code(), get_iface_guid(), get_iframe_doc(), get_internet_feature(), get_length(), get_location(), get_mime_clsid(), get_mime_filter(), get_moniker_uri(), get_node_obj(), get_node_text(), get_nsstyle_attr(), get_nsstyle_attr_var(), get_nsstyle_pixel_val(), get_nsstyle_pos(), get_plugin_dispid(), get_propput_arg(), get_protocol_cf(), get_protocol_handler(), get_protocol_info(), get_registered_task(), get_script_disp(), get_script_dispatch(), get_sec_mgr(), get_security_id_for_uri(), get_security_id_for_url(), get_stream_size(), get_string_flat_val(), get_stub_manager_from_object(), get_target_window(), get_tasks_root_folder(), get_travellog_stream(), get_typeinfo(), get_typeinfo_of_guid(), get_typelib(), get_uri_nofrag(), get_uri_obj(), get_uri_path(), get_uri_string(), get_url_components(), get_zone_from_domains(), GetChmStream(), GetChmString(), GetCLSIDForFileTypeFromExtension(), GetDocumentTitle(), GetHGlobalFromILockBytes(), GetRecordInfoFromGuids(), GetRecordInfoFromTypeInfo(), Global_Abs(), Global_Array(), Global_Asc(), Global_Atn(), Global_CBool(), Global_CByte(), Global_CCur(), Global_CDate(), Global_CDbl(), Global_Chr(), Global_CInt(), Global_CLng(), Global_Cos(), Global_CreateObject(), Global_CSng(), Global_CStr(), Global_Date(), Global_DateAdd(), Global_DateSerial(), Global_Day(), Global_Exp(), Global_Fix(), Global_FormatCurrency(), Global_FormatDateTime(), Global_FormatNumber(), Global_FormatPercent(), Global_GetObject(), Global_Hex(), Global_Hour(), Global_InStr(), Global_InStrRev(), Global_Int(), Global_InvokeEx(), Global_IsNumeric(), Global_LBound(), Global_LCase(), Global_Left(), Global_Len(), Global_Log(), Global_LTrim(), Global_Mid(), Global_Minute(), Global_Month(), Global_MonthName(), Global_MsgBox(), Global_Oct(), Global_Randomize(), Global_Replace(), Global_RGB(), Global_Right(), Global_Rnd(), Global_Round(), Global_RTrim(), Global_Second(), Global_Sgn(), Global_Sin(), Global_Space(), Global_Split(), Global_Sqr(), Global_StrComp(), Global_String(), Global_StrReverse(), Global_Tan(), Global_Time(), Global_TimeSerial(), Global_Trim(), Global_TypeName(), Global_UBound(), Global_UCase(), Global_Weekday(), Global_WeekdayName(), Global_Year(), GopherProtocol_open_request(), GopherProtocol_Start(), handle_docobj_load(), handle_extern_mime_navigation(), handle_http_error(), handle_job_err(), handle_link_click_event(), handle_mime_filter(), handle_navigation_error(), handle_redirect(), handle_xml_load(), Handler_DllGetClassObject(), hlink_frame_navigate(), HlinkClone(), HlinkCreateExtensionServices(), HlinkFrame_Navigate(), HlinkParseDisplayName(), HlinkResolveMonikerForData(), HlinkSimpleNavigateToMoniker(), hls_site_Moniker_ComposeWith(), Host_CreateObject(), Host_Echo(), HostConstructor_call(), HostConstructor_lookup_prop(), HostFunction_call(), HostObject_prop_get(), HostObject_prop_put(), HostObject_to_string(), html_window_navigate(), HTMLAnchorElement_get_href(), HTMLAttributeCollection2_getNamedItem(), HTMLAttributeCollection3_item(), HTMLAttributeCollection_get_dispid(), HTMLAttributeCollection_get_length(), HTMLAttributeCollection_item(), HTMLBodyElement_createTextRange(), HTMLBodyElement_get_bgColor(), HTMLBodyElement_get_scroll(), HTMLBodyElement_get_text(), HTMLDocument3_createDocumentFragment(), HTMLDocument3_createTextNode(), HTMLDocument3_get_documentElement(), HTMLDocument3_getElementById(), HTMLDocument5_createAttribute(), HTMLDocument5_createComment(), HTMLDocument5_get_implementation(), HTMLDocument_Create(), HTMLDocument_createElement(), HTMLDocument_createStyleSheet(), HTMLDocument_elementFromPoint(), HTMLDocument_execCommand(), HTMLDocument_get_activeElement(), HTMLDocument_get_all(), HTMLDocument_get_body(), HTMLDocument_get_domain(), HTMLDocument_LockContainer(), HTMLDocument_put_designMode(), HTMLDocumentFragment_clone(), HTMLDocumentNode_invoke(), HTMLDOMAttribute2_get_value(), HTMLDOMAttribute_Create(), HTMLDOMAttribute_get_specified(), HTMLDOMChildrenCollection_invoke(), HTMLDOMChildrenCollection_item(), HTMLDOMChildrenCollectionEnum_Next(), HTMLDOMNode_appendChild(), HTMLDOMNode_cloneNode(), HTMLDOMNode_get_attributes(), HTMLDOMNode_get_firstChild(), HTMLDOMNode_get_lastChild(), HTMLDOMNode_get_nextSibling(), HTMLDOMNode_get_parentNode(), HTMLDOMNode_get_previousSibling(), HTMLDOMNode_insertBefore(), HTMLDOMNode_removeChild(), HTMLDOMNode_replaceChild(), HTMLDOMTextNode_splitText(), HTMLElement2_get_readyState(), HTMLElement2_get_runtimeStyle(), HTMLElement2_getBoundingClientRect(), HTMLElement2_insertAdjacentElement(), HTMLElement3_get_disabled(), HTMLElement3_put_disabled(), HTMLElement4_getAttributeNode(), HTMLElement_clone(), HTMLElement_Create(), HTMLElement_get_offsetParent(), HTMLElement_get_outerHTML(), HTMLElement_get_parentElement(), HTMLElement_get_style(), HTMLElement_get_title(), HTMLElement_getAttribute(), HTMLElement_populate_props(), HTMLElement_put_title(), HTMLElement_removeAttribute(), HTMLElement_setAttribute(), HTMLElementCollection_item(), htmlform_item(), HTMLFormElement_get_action(), HTMLFormElement_get_dispid(), HTMLFormElement_invoke(), HTMLFormElement_submit(), HTMLFrameBase_get_marginHeight(), HTMLFrameBase_get_marginWidth(), HTMLFrameElement3_get_contentDocument(), HTMLFrameElement_bind_to_tree(), HTMLIFrame_bind_to_tree(), HTMLIFrameElement3_get_contentDocument(), HTMLImageElementFactory_create(), HTMLImageElementFactory_value(), HTMLImgElement_get_src(), HTMLInputElement_get_form(), HTMLInputElement_get_src(), HTMLLoadOptions_Create(), HTMLLocation_get_hash(), HTMLLocation_get_host(), HTMLLocation_get_hostname(), HTMLLocation_get_href(), HTMLLocation_get_pathname(), HTMLLocation_get_port(), HTMLLocation_get_protocol(), HTMLLocation_get_search(), HTMLObjectElement2_put_classid(), HTMLObjectElement_get_height(), HTMLObjectElement_get_width(), HTMLObjectElement_QI(), HTMLOptionElement_get_form(), HTMLOptionElementFactory_create(), HTMLOuterWindow_Create(), HTMLPrivateWindow_SuperNavigate(), htmlselect_item(), HTMLSelectElement_get_form(), HTMLSelectElement_invoke(), HTMLSelectionObject_createRange(), HTMLStyle3_get_zoom(), HTMLStyle3_put_zoom(), HTMLStyle_Create(), HTMLStyle_get_backgroundPositionX(), HTMLStyle_get_backgroundPositionY(), HTMLStyle_getAttribute(), HTMLStyle_put_backgroundPositionX(), HTMLStyle_put_backgroundPositionY(), HTMLStyle_put_borderStyle(), HTMLStyle_removeAttribute(), HTMLStyle_setAttribute(), HTMLTable_get_bgColor(), HTMLTable_get_width(), HTMLTable_insertRow(), HTMLTable_put_cellPadding(), HTMLTable_put_width(), HTMLTableCell_get_bgColor(), HTMLTableRow_get_bgColor(), HTMLTableRow_insertCell(), HTMLTextAreaElement_get_form(), HTMLTxtRange_duplicate(), HTMLTxtRange_parentElement(), HTMLWindow2_get_history(), HTMLWindow2_get_Image(), HTMLWindow2_get_location(), HTMLWindow2_get_Option(), HTMLWindow2_get_screen(), HTMLWindow2_item(), HTMLWindow2_open(), HTMLWindow5_get_XMLHttpRequest(), HTMLWindow6_get_sessionStorage(), HTMLWindow_invoke(), HTMLXMLHttpRequest_get_statusText(), HTMLXMLHttpRequest_getAllResponseHeaders(), HTMLXMLHttpRequest_getResponseHeader(), HTMLXMLHttpRequest_open(), http_protocol_start(), HttpNegotiate_BeginningTransaction(), HttpProtocol_on_error(), HttpProtocol_open_request(), HttpProtocol_Start(), HttpProtocol_start_downloading(), HttpProtocol_StartEx(), IBindStatusCallback_GetBindInfo_Proxy(), IBindStatusCallback_GetBindInfo_Stub(), IBindStatusCallback_OnDataAvailable_Proxy(), IBindStatusCallback_OnDataAvailable_Stub(), IBindStatusCallbackEx_GetBindInfoEx_Proxy(), IBindStatusCallbackEx_GetBindInfoEx_Stub(), ICreateTypeInfo2_fnAddFuncDesc(), ICreateTypeInfo2_fnAddImplType(), ICreateTypeInfo2_fnAddRefTypeInfo(), ICreateTypeInfo2_fnLayOut(), ICreateTypeInfo2_fnSetTypeFlags(), ICreateTypeLib2_fnCreateTypeInfo(), ICreateTypeLib2_fnSaveAllChanges(), identifier_eval(), identifier_value(), IDirectSoundBufferImpl_Duplicate(), IDirectSoundBufferImpl_GetCurrentPosition(), IDirectSoundBufferImpl_Lock(), IDirectSoundBufferImpl_Play(), IDirectSoundBufferImpl_SetCurrentPosition(), IDirectSoundBufferImpl_SetPan(), IDirectSoundBufferImpl_SetVolume(), IDirectSoundBufferImpl_Stop(), IDirectSoundBufferImpl_Unlock(), IDirectSoundCaptureBufferImpl_GetCurrentPosition(), IDirectSoundCaptureBufferImpl_GetFormat(), IDirectSoundCaptureBufferImpl_Lock(), IDirectSoundCaptureBufferImpl_QueryInterface(), IDirectSoundCaptureBufferImpl_Start(), IDirectSoundCaptureBufferImpl_Stop(), IDirectSoundCaptureBufferImpl_Unlock(), IDirectSoundCaptureNotifyImpl_SetNotificationPositions(), IDirectSoundNotifyImpl_SetNotificationPositions(), IEnumDMO_fnNext(), IEWinMain(), iframe_onreadystatechange(), iframedoc_onreadystatechange(), IHlink_fnGetFriendlyName(), IHlink_fnGetMonikerReference(), IHlink_fnGetStringReference(), IKsBufferPropertySetImpl_Get(), IKsBufferPropertySetImpl_QuerySupport(), IKsBufferPropertySetImpl_Set(), index_from_val(), init_arraybuf_constructors(), init_bindctx(), init_constructors(), init_dispex_from_constr(), init_engine(), init_error_constr(), init_function_constr(), init_global(), init_host_constructor(), init_host_object(), init_object_prototype_accessors(), init_regexp_typeinfo(), init_script_engine(), init_set_constructor(), init_warning_dialog(), initialize_plugin_object(), InitVariantFromBuffer(), InPlaceSiteWindowless_GetWindow(), insert_adjacent_node(), install_cab_file(), install_codebase(), install_file(), install_inf_file(), install_warning(), InstallEngineCF_CreateInstance(), InternetBindInfo_GetBindString(), InternetExplorer_Create(), InternetExplorer_GetIDsOfNames(), InternetExplorer_GetTypeInfo(), InternetExplorer_Invoke(), InternetHostSecurityManager_QueryCustomPolicy(), InternetSession_CreateBinding(), InternetShortcut_Create(), interp_add(), interp_and(), interp_array(), interp_assign(), interp_assign_call(), interp_assign_ident(), interp_assign_member(), interp_bneg(), interp_call_eval(), interp_carray(), interp_carray_set(), interp_case(), interp_cnd_nz(), interp_cnd_z(), interp_concat(), interp_const(), interp_delete(), interp_delete_ident(), interp_deref(), interp_dim(), interp_div(), interp_enter_catch(), interp_enumnext(), interp_eq(), interp_eq2(), interp_equal(), interp_eqv(), interp_exp(), interp_forin(), interp_func(), interp_gt(), interp_gteq(), interp_icall(), interp_ident(), interp_identifier_ref(), interp_idiv(), interp_imp(), interp_in(), interp_incc(), interp_instanceof(), interp_is(), interp_jmp_false(), interp_jmp_true(), interp_jmp_z(), interp_local(), interp_lshift(), interp_lt(), interp_lteq(), interp_mcall(), interp_member(), interp_memberid(), interp_minus(), interp_mod(), interp_mul(), interp_neg(), interp_neq(), interp_neq2(), interp_nequal(), interp_new(), interp_new_obj(), interp_newenum(), interp_not(), interp_numval(), interp_obj_prop(), interp_or(), interp_pop_except(), interp_pop_scope(), interp_postinc(), interp_preinc(), interp_push_acc(), interp_push_block_scope(), interp_push_with_scope(), interp_redim(), interp_redim_preserve(), interp_refval(), interp_regexp(), interp_retval(), interp_rshift(), interp_rshift2(), interp_set_ident(), interp_set_member(), interp_stack(), interp_step(), interp_sub(), interp_throw_type(), interp_to_string(), interp_tonum(), interp_typeof(), interp_typeofid(), interp_typeofident(), interp_val(), interp_vcall(), interp_vcallv(), interp_xor(), InterpretedFunction_call(), InterpretedFunction_get_prototype(), invoke_builtin_function(), invoke_builtin_prop(), invoke_disp_value(), invoke_procedure(), invoke_prop_func(), invoke_variant_prop(), invoke_vbdisp(), IRecordInfoImpl_RecordDestroy(), is_cp_event(), is_elem_id(), is_jscript_available(), is_jscript_error(), is_registered_protocol(), is_urlmon_protocol(), iterate_map(), ITextSelection_fnCollapse(), ITSProtocol_Start(), ITSSCF_CreateInstance(), ITypeInfo_fnInvoke(), JScript_AddNamedItem(), JScript_SetScriptSite(), JScriptParse_ParseScriptText(), JScriptParseProcedure_ParseProcedureText(), jsdisp_call_name(), jsdisp_call_value(), jsdisp_define_properties(), jsdisp_define_property(), jsdisp_delete_idx(), jsdisp_get_id(), jsdisp_get_idx(), jsdisp_get_own_property(), jsdisp_next_prop(), jsdisp_propget_name(), jsdisp_propput(), JSGlobal_decodeURI(), JSGlobal_decodeURIComponent(), JSGlobal_encodeURI(), JSGlobal_encodeURIComponent(), JSGlobal_escape(), JSGlobal_isFinite(), JSGlobal_isNaN(), JSGlobal_parseFloat(), JSGlobal_parseInt(), JSGlobal_unescape(), JSON_parse(), JSON_stringify(), jsval_variant(), leave_script(), less_eval(), lex_error(), CDefView::ListViewCompareItems(), load_doc(), load_doc_mon(), load_mime_message(), load_plugin(), load_process_feature(), load_prop_bag(), load_typelib(), load_uri(), lookup_global_members(), lookup_identifier(), lookup_named_item(), Map_clear(), Map_constructor(), Map_delete(), Map_forEach(), Map_gc_traverse(), Map_get(), Map_has(), map_security_uri_to_zone(), Map_set(), map_uri_to_zone(), map_url_to_zone(), Marshal_GetMarshalSizeMax(), Marshal_MarshalInterface(), Marshal_ReleaseMarshalData(), marshal_stgmed(), Marshal_UnmarshalInterface(), MatchCollectionEnum_Next(), Math_abs(), Math_acos(), Math_asin(), Math_atan(), Math_atan2(), Math_ceil(), Math_cos(), Math_exp(), Math_floor(), Math_log(), Math_max(), Math_min(), Math_pow(), Math_round(), Math_sin(), Math_sqrt(), Math_tan(), maybe_to_primitive(), mime_available(), MimeBody_GetData(), MimeHtmlProtocol_Read(), MimeHtmlProtocol_Start(), MimeHtmlProtocolInfo_CombineUrl(), MimeOleObjectFromMoniker(), MimeProtocol_LockRequest(), MimeProtocol_Read(), MimeProtocol_Start(), MimeProtocol_Terminate(), MimeProtocol_UnlockRequest(), MimeProtocolSink_ReportData(), MimeProtocolSink_ReportResult(), MimeProtocolSink_Switch(), MkParseDisplayNameEx(), MkProtocol_Start(), MkProtocol_StartEx(), MLANGCF_CreateInstance(), Moniker_BindToStorage(), MsiLoadStringW(), navigate_bsc(), navigate_fragment(), navigate_history(), navigate_hlink(), navigate_href(), navigate_href_new_window(), navigate_javascript_proc(), navigate_new_window(), navigate_proc(), navigate_uri(), navigate_url(), NavigateToUrl(), new_stub_manager(), next_token(), notif_container_change(), notif_enabled(), notif_focus(), notify_on_focus(), notify_travellog_update(), notify_webbrowser_close(), NPP_New(), nsChannel_AsyncOpen(), nsChannelBSC_init_bindinfo(), nsChannelBSC_on_progress(), nsChannelBSC_on_response(), nsContextMenuListener_OnShowContextMenu(), nsDocumentObserver_BindToDocument(), nsFileURL_GetFile(), nsIOService_NewURI(), nsnode_to_nsstring(), nsURI_Equals(), nsURI_GetHasRef(), nsURI_GetHostPort(), nsURI_GetPort(), nsURI_GetPrePath(), nsURI_GetScheme(), nsURI_GetUserPass(), nsURI_Resolve(), nsURI_SchemeIs(), nsURI_SetHost(), nsURI_SetPassword(), nsURI_SetPath(), nsURI_SetPort(), nsURI_SetScheme(), nsURI_SetSpec(), nsURI_SetUsername(), nsURI_SetUserPass(), nsURL_GetQuery(), nsURL_GetRef(), nsURL_SetQuery(), nsURL_SetRef(), Number_toExponential(), Number_toFixed(), Number_toLocaleString(), Number_toPrecision(), Number_toString(), Number_valueOf(), NumberConstr_value(), object_available(), Object_create(), Object_defineGetter(), Object_defineProperties(), Object_defineProperty(), Object_defineSetter(), Object_get_proto_(), Object_getOwnPropertyDescriptor(), Object_hasOwnProperty(), Object_isPrototypeOf(), object_keys(), Object_propertyIsEnumerable(), Object_set_proto_(), Object_toLocaleString(), Object_toString(), Object_valueOf(), ObjectConstr_value(), ObjectIdentity_IsEqualObject(), ObjectWithSite_SetSite(), ObtainUserAgentString(), OLEClipbrd_IEnumFORMATETC_Next(), OleCommandTarget_Exec(), OleCommandTarget_QueryStatus(), OleControl_OnAmbientPropertyChange(), OleCreate(), OleDocument_CreateView(), OleDocumentSite_ActivateMe(), OleDocumentView_Show(), OleDocumentView_UIActivate(), OleDraw(), OLEFont_SendNotify(), OLEFontImpl_GetIDsOfNames(), OLEFontImpl_GetTypeInfo(), OleInPlaceObject_InPlaceDeactivate(), OleInPlaceObjectWindowless_InPlaceDeactivate(), OleLoad(), OleLockRunning(), OleObject_Close(), OleObject_DoVerb(), OleObject_SetClientSite(), OLEPictureImpl_GetIDsOfNames(), OLEPictureImpl_GetTypeInfo(), OleRegGetUserType(), OleRun(), OleSave(), OleSetContainedObject(), OmNavigator_get_appVersion(), OmNavigator_get_mimeTypes(), OmNavigator_get_plugins(), OmNavigator_get_userAgent(), on_change_dlcontrol(), on_mime_message_available(), on_progress(), on_timer(), CDesktopBrowser::OnGetChangeNotifyServer(), CDefView::OnMenuMessage(), open_dde_url(), OpenCHM(), parse_canonicalize_url(), parse_classid(), parse_domain(), parse_elem_text(), parse_encode(), parse_event_elem(), parse_extern_script(), parse_headers(), parse_htmlscript(), parse_json_value(), parse_numeric_literal(), parse_path_from_url(), parse_procedure(), parse_rootdocument(), parse_script(), parse_script_e(), parse_script_expr(), parse_script_wf(), parse_script_wr(), parse_security_domain(), parse_security_url(), perform_test(), PersistFile_Save(), PersistHistory_LoadHistory(), PersistHistory_SaveHistory(), PersistMoniker_Load(), PersistPropertyBag_Load(), PersistStream_Save(), PersistStreamInit_InitNew(), PersistStreamInit_Load(), PersistStreamInit_Save(), PHEventSink_Invoke(), PHInPlaceSite_GetWindowContext(), PHInPlaceSiteEx_OnInPlaceActivateEx(), pop_call_frame(), pop_to_stat(), prepare_for_binding(), preprocess_dispex_data(), PrimaryBufferImpl_GetCurrentPosition(), PrimaryBufferImpl_Lock(), PrimaryBufferImpl_SetPan(), PrimaryBufferImpl_SetVolume(), PrimaryBufferImpl_Unlock(), process_hook_section(), process_response_headers(), prop_get(), prop_put(), PropertyBag_Read(), PropertyNotifySink_OnChanged(), Protocol_Abort(), Protocol_Continue(), protocol_continue(), Protocol_Read(), protocol_read(), Protocol_Start(), protocol_start(), protocol_syncbinding(), ProtocolEmul_Continue(), ProtocolEmul_LockRequest(), ProtocolEmul_Read(), ProtocolHandler_Continue(), ProtocolHandler_Read(), ProtocolSink_ReportData(), ProtocolSinkHandler_ReportData(), ProtocolStream_Read(), ProvideClassInfo_GetClassInfo(), put_inner_html(), QueryPathOfRegTypeLib(), r_getMonikerRef(), r_getStringRef(), r_setMonikerRef(), r_setStringRef(), read_post_data_stream(), read_protocol_data(), read_stream(), read_stream_data(), ReadChmSystem(), refresh_document(), RegExp2_Execute(), RegExp2_Replace(), RegExp2_Test(), RegExp_exec(), regexp_execute(), regexp_match(), regexp_match_next(), RegExp_set_lastIndex(), regexp_string_match(), RegExp_test(), RegExpConstr_value(), register_activex(), register_cp(), register_filter(), register_iexplore(), register_protocol(), register_protocols(), register_script_engine(), register_server(), RegisterBindStatusCallback(), RegisterSdbEntry(), RegistrarCF_CreateInstance(), release_document(), ReleaseWebBrowser(), remove_attribute(), remove_event_handler(), rep_call(), replace_node_by_html(), report_data(), report_result(), report_script_error(), reset_document(), resource_register(), ResProtocol_Start(), ResProtocolFactory_CreateInstance(), retrieve_named_item_disp(), run_benchmark(), run_bind_to_tree(), run_bom_tests(), run_encoded_tests(), run_exec(), run_from_file(), run_from_res(), run_insert_comment(), run_insert_script(), run_js_script(), run_script(), run_scripts(), run_test(), run_tests(), runtimestyle_test(), safearray_iter_IEnumVARIANT_Next(), scope_gc_traverse(), scope_init_locals(), scope_prop_put(), scope_push(), script_elem_from_nsscript(), script_parse_event(), ScriptBSC_read_data(), ScriptDisp_GetIDsOfNames(), ScriptDisp_InvokeEx(), SdbInstall(), SdbUninstall(), search_for_domain_mapping(), SearchCHM_File(), SearchCHM_Folder(), SearchCHM_Storage(), SecManagerImpl_GetSecurityId(), SecManagerImpl_GetZoneMappings(), SecManagerImpl_MapUrlToZone(), SecManagerImpl_MapUrlToZoneEx2(), SecManagerImpl_ProcessUrlAction(), SecManagerImpl_QueryCustomPolicy(), SecManagerImpl_SetSecuritySite(), SecManagerImpl_SetZoneMapping(), ServiceProvider_QueryService(), Set_add(), set_callback(), set_channel_http_header(), Set_clear(), set_client_site(), Set_constructor(), set_current_mon(), set_custom_uihandler(), set_data(), Set_delete(), set_download_state(), set_downloading_proc(), set_elem_style(), set_error_value(), set_event_handler(), Set_forEach(), set_frame_doc(), Set_has(), set_map_entry(), set_moniker(), set_nsstyle_attr_var(), set_object_site(), set_plugin_readystate(), set_progress_proc(), set_prop_flags(), set_ready_state(), set_safety_options(), set_script_elem_readystate(), set_script_prop(), setup(), setup_arguments_object(), setup_dll(), setup_edit_mode(), setup_scope(), setup_task(), setup_trigger(), SH32_CoCreateInstance(), SHAddToRecentDocs(), SHELL32_CompareDetails(), SHGetDesktopFolder(), show_msgbox(), SHPackDispParams(), SHPropStgCreate(), SHPropStgReadMultiple(), SHPropStgWriteMultiple(), sink_query_accept(), sort_cmp(), stack_assume_val(), stack_pop_bool(), stack_pop_number(), stack_pop_object(), stack_pop_val(), stack_push_exprval(), stack_topn_exprval(), start_binding(), start_downloading(), START_TEST(), statusclb_OnDataAvailable(), statusclb_OnProgress(), statusclb_OnStartBinding(), statusclb_OnStopBinding(), std_unmarshal_interface(), StdGlobalInterfaceTable_GetInterfaceFromGlobal(), StdGlobalInterfaceTable_RegisterInterfaceInGlobal(), StdURLMoniker_Construct(), stop_binding(), string_alloc(), String_charAt(), String_charCodeAt(), String_concat(), String_indexOf(), String_lastIndexOf(), String_match(), string_register(), string_replace(), String_replace(), String_search(), String_slice(), String_split(), String_substr(), String_substring(), String_trim(), StringConstr_fromCharCode(), StringConstr_value(), stringify(), stringify_array(), stringify_object(), submit_form(), submit_onclick_attached_check_cancel(), submit_onclick_cancel(), submit_onclick_setret(), super_navigate(), TargetFramePriv2_AggregatedNavigation2(), test_about_protocol(), test_Activate(), test_activex(), test_AddFile(), test_AddFileSet(), test_AddRefHfont(), test_Advise(), test_aggregation(), test_arg_conv(), test_async_xhr(), test_async_xhr_abort(), test_attr_collection(), test_attr_collection_disp(), test_automagic(), test_AVISaveOptions(), test_binding(), test_binding_ui(), test_BindToObject(), test_BindToStorage(), test_BindToStorage_fail(), test_body_funs(), test_body_style(), test_BrowseWindowInfo(), test_bsc_marshaling(), test_bscholder(), test_BstrCopy(), test_bufferrawformat(), test_CAccPropServices(), test_callbacks(), test_caller(), test_change_types(), test_ChangeType_keep_dst(), test_child_col_disp(), test_clear(), test_ClientSite(), test_Close(), test_CloseView(), test_CLSIDFromProgIDWrap(), test_cmp(), test_CoInternetCompareUrl(), test_CoInternetIsFeatureEnabled(), test_CoInternetIsFeatureZoneElevationEnabled(), test_CoInternetParseUrl(), test_CoInternetQueryInfo(), test_CoInternetSetFeatureEnabled(), test_com_aggregation(), test_CompleteLocal(), test_CompleteLocalURL(), test_cond_comment(), test_ConnectionPoint(), test_ConnectionPointContainer(), test_container(), test_contenteditable(), test_cookies(), test_CopyBindInfo(), test_CopyStgMedium(), test_cp(), test_create_body_range(), test_create_elems(), test_create_manager(), test_create_stylesheet(), test_CreateAsyncBindCtx(), test_CreateAsyncBindCtxEx(), test_CreateBinding(), test_CreateFormatEnum(), test_CreateJob(), test_CreateObject(), test_CreateTrigger(), test_CreateTypeLib(), test_CreateURLMoniker(), test_current_style(), test_DataObject(), test_default_arg_conv(), test_default_body(), test_default_handler_run(), test_default_selection(), test_default_value(), test_defaults(), test_destructors(), test_disp(), test_doc_elem(), test_docfrag(), test_dom_implementation(), test_doscroll(), test_DoVerb(), test_dynamic_properties(), test_early_abort(), test_edit_uiactivate(), test_editing_mode(), test_EditStreamSetInfo(), test_elem_bounding_client_rect(), test_elem_col_item(), test_elem_dispex(), test_elem_from_point(), test_elem_names(), test_elems(), test_empty_document(), test_empty_image(), test_empty_image_2(), test_EmptyChangeTypeEx(), test_enum_children(), test_enum_objects(), test_EnumFiles(), test_EnumJobs(), test_error_reports(), test_ErrorChangeTypeEx(), test_eval(), test_event_call(), test_exec(), test_exec_editmode(), test_exec_fontname(), test_exec_noargs(), test_exec_onunload(), test_exec_optical_zoom(), test_exec_script(), test_external(), test_external_connection(), test_file_protocol_fail(), test_file_protocol_url(), test_FindMimeFromData(), test_focus(), test_form_item(), test_form_target(), test_frame(), test_frame_doc(), test_framebase(), test_frames_collection(), test_frameset(), test_ftp_protocol(), test_func(), test_gc(), test_get_Attributes(), test_get_Handle(), test_get_set_attr(), test_get_Type(), test_GetBindInfoEx(), test_GetClientSite(), test_GetCount(), test_GetId(), test_GetLocalName(), test_GetName(), test_GetObject(), test_GetProgress_PreTransfer(), test_GetProgress_preTransfer(), test_GetRemoteName(), test_GetState(), test_GetTargetComputer(), test_GetText(), test_GetType(), test_GetZoneActionPolicy(), test_global_id(), test_global_vars_ref(), test_globalness(), test_GlobalOptions(), test_gopher_protocol(), test_hash(), test_HashLink(), test_header(), test_Hide(), test_history(), test_Hlink_Navigate(), test_HlinkClone(), test_HlinkCreateExtensionServices(), test_HlinkGetSetMonikerReference(), test_HlinkGetSetStringReference(), test_HlinkIsShortcut(), test_HlinkMoniker(), test_HlinkParseDisplayName(), test_HlinkResolveMonikerForData(), test_HlinkSite(), test_host(), test_hostname(), test_href(), test_HTMLDoc_ISupportErrorInfo(), test_HTMLDocument_http(), test_HTMLDocument_StreamInitNew(), test_HTMLDocument_StreamLoad(), test_HTMLLoadOptions(), test_http_info(), test_http_protocol_url(), test_IDispatchChangeTypeEx(), test_IDispatchClear(), test_IDispatchCopy(), test_iface_wrapping(), test_ifont_size(), test_iframe_connections(), test_iframe_elem(), test_imgload(), test_indent(), test_InitPropVariantFromBuffer(), test_InitPropVariantFromGUIDAsString(), test_InPlaceDeactivate(), test_Interfaces(), test_internet_feature_defaults(), test_internet_features_registry(), test_InternetGetSecurityUrl(), test_InternetSecurityMarshalling(), test_invoke_func(), test_invoke_versioning(), Test_InvokeEx(), test_invokeex(), test_IOleInPlaceSite_GetWindow(), test_IOleWindow_GetWindow(), test_IsDirty(), test_IsEqual(), test_isexpression(), test_isvisible(), test_ITextDocument_Open(), test_ITextDocument_Range(), test_ITextRange_Collapse(), test_ITextRange_GetChar(), test_ITextRange_GetDuplicate(), test_ITextRange_GetStart_GetEnd(), test_ITextRange_ScrollIntoView(), test_ITextSelection_Collapse(), test_ITextSelection_GetChar(), test_ITextSelection_GetStart_GetEnd(), test_its_protocol(), test_its_protocol_info(), test_IUnknownChangeTypeEx(), test_IUnknownClear(), test_IUnknownCopy(), test_IUri_IsEqual(), test_javascript_protocol(), test_jscript(), test_jscript2(), test_jscript_uninitializing(), test_label_elem(), test_Load(), test_load_history(), test_LoadImage(), test_LoadTypeLib(), test_loadwmf(), test_location(), test_LockUnlock(), test_LresultFromObject(), test_MapBrowserEmulationModeToUserAgent(), test_members(), test_mhtml_message(), test_mhtml_protocol(), test_mhtml_protocol_binding(), test_mhtml_protocol_info(), test_mime_types_col(), test_MimeFilter(), test_MimeOleObjectFromMoniker(), test_mk_protocol(), test_MkParseDisplayNameEx(), test_Mod(), test_mon_displayname(), test_MonikerComposeWith(), test_msgbox(), test_multiframegif(), test_multiple_parse(), test_named_items(), test_names_ids(), test_NameSpace(), test_Navigate(), test_navigator(), test_NewWorkItem(), test_Next_errors(), test_Next_walkList_1(), test_Next_walkList_2(), test_Next_walkListNull(), test_nextdispid(), test_no_script_dispatch(), test_noscript(), test_null_write(), test_NullChangeTypeEx(), test_number_localization(), test_object_elem(), test_OleCommandTarget(), test_OleCommandTarget_fail(), test_OleLoadPicturePath(), test_OmHistory(), test_OnAmbientPropertyChange(), test_OnAmbientPropertyChange2(), test_onclick(), test_OnFrameWindowActivate(), test_onreadystatechange(), test_open_window(), test_option_form(), test_parse_context(), test_parse_errors(), test_ParseDisplayNamePBC(), test_ParseURL(), test_pathname(), test_Persist(), test_pic(), test_pic_with_stream(), test_plugins_col(), test_polices(), test_port(), test_priority(), test_procedures(), test_profile_mgr(), test_propputref(), test_PropVariantToGUID(), test_PropVariantToStringAlloc(), test_protocol(), test_protocol_fail(), test_protocol_terminate(), test_protocol_url(), test_pseudo_console(), test_put_hash(), test_put_href(), test_QueryInterface(), test_QueryService(), test_quirks_mode_offsetHeight(), test_refresh(), test_regcat(), test_RegExp(), test_RegisterBindStatusCallback(), test_RegisterFormatEnumerator(), test_ReleaseHfont(), test_Render(), test_replacechild_elems(), test_ReportResult(), test_res_protocol(), test_res_url(), test_Reset(), test_ResumeEmpty(), test_retval(), test_Round(), test_safearray(), test_SafeArrayAllocDestroyDescriptor(), test_SafeArrayChangeTypeEx(), test_SafeArrayClear(), test_SafeArrayCopy(), test_SafeArrayCopyData(), test_SafeArrayCreateEx(), test_SafeArrayCreateLockDestroy(), test_SafeArrayDestroyData(), test_SafeArrayGetPutElement(), test_SafeArrayGetPutElement_BSTR(), test_SafeArrayGetPutElement_IUnknown(), test_SafeArrayGetPutElement_VARIANT(), test_SafeArrayRedim(), test_safety(), test_save_history(), test_screen(), test_script_dispatch(), test_script_exprs(), test_script_run(), test_scriptdisp(), test_search(), test_security(), test_security_reg(), test_SecurityManager(), test_SecurityManagerEx2(), test_select_elem(), test_select_form(), test_select_form_notfound(), test_select_remove(), test_ServiceProvider(), test_set_csstext(), test_SetAccountInformation_GetAccountInformation(), test_SetApplicationName_GetApplicationName(), test_SetComment_GetComment(), test_SetInitialHlink(), test_SetMaxRunTime_GetMaxRunTime(), test_SetParameters_GetParameters(), test_SetTargetComputer(), test_SetTrigger_GetTrigger(), test_SHGetIDListFromObject(), test_SHGetItemFromDataObject(), test_SHGetItemFromObject(), test_SHGetNameFromIDList(), test_SHGetShellKey(), test_SHIShellFolder_EnumObjects(), test_shlmenu(), test_SHPackDispParams(), test_SHPropStg_functions(), test_Skip_offEnd(), test_Skip_walkList(), test_source_iface(), test_sp(), test_special_reference(), test_special_url_action(), test_start(), test_StdHlink(), test_StdURLMoniker(), test_stream_seek(), test_StreamInitNew(), test_StreamLoad(), test_StructSize(), test_StrXXX_overflows(), test_style2(), test_style3(), test_style4(), test_style5(), test_style6(), test_style_filters(), test_stylesheet(), test_stylesheets(), test_submit(), test_switch_fail(), test_sync_xhr(), test_table_elem(), test_table_modify(), test_target_container(), test_td_elem(), test_term(), test_timeout(), test_tr_elem(), test_tr_modify(), test_travellog(), test_TxGetText(), test_TxSetText(), test_txtrange(), test_type_info(), test_typelib(), test_ui(), test_ui_activate(), test_UIActivate(), test_UIDeactivate(), test_UintChangeTypeEx(), test_url_action(), test_URLDownloadToFile(), test_URLDownloadToFile_abort(), test_UrlMkGetSessionOption(), test_user_agent(), test_var_call1(), test_var_call2(), test_VarAbs(), test_VarAdd(), test_VarAnd(), test_VarBoolChangeTypeEx(), test_VarBoolFromStr(), test_VarBstrCmp(), test_VarBstrFromI4(), test_VarBstrFromR4(), test_VarBstrFromR8(), test_VarCat(), test_VarCmp(), test_VarCyCmp(), test_VarCyCmpR8(), test_VarDateChangeTypeEx(), test_VarDateFromI4(), test_VarDateFromStr(), test_VarDateFromUI4(), test_VarDecAdd(), test_VarDecCmpR8(), test_VarDecDiv(), test_VarDecMul(), test_VarDecRound(), test_VarDiv(), test_VarEqv(), test_VarFix(), test_VarFormat(), test_VarFormatFromTokens(), test_VarFormatNumber(), test_VarI1ChangeTypeEx(), test_VarI2ChangeTypeEx(), test_VarI4ChangeTypeEx(), test_VarI8ChangeTypeEx(), test_VariantClear(), test_VariantCopy(), test_VariantCopyInd(), test_VarIdiv(), test_VarImp(), test_VarInt(), test_VarMod(), test_VarMul(), test_VarNeg(), test_VarNot(), test_VarNumFromParseNum(), test_VarOr(), test_VarParseNumFromStrEn(), test_VarParseNumFromStrFr(), test_VarParseNumFromStrMisc(), test_VarPow(), test_VarR4ChangeTypeEx(), test_VarR8ChangeTypeEx(), test_VarR8Round(), test_VarRound(), test_VarSub(), test_VarUI1ChangeTypeEx(), test_VarUI1FromDisp(), test_VarUI2ChangeTypeEx(), test_VarUI4ChangeTypeEx(), test_VarUI8ChangeTypeEx(), test_VarWeekdayName(), test_VarXor(), test_vbscript(), test_vbscript_initializing(), test_vbscript_release(), test_vbscript_simplecreate(), test_vbscript_uninitializing(), test_VectorCreateLockDestroy(), test_ViewAdviseSink(), test_winclassinfo(), test_window(), test_Window(), test_window_close(), test_WinInetHttpInfo(), test_winmodule(), test_xmlhttprequest(), test_zone_domain_cache(), test_zone_domain_mappings(), thread_proc(), to_double(), to_flat_string(), to_float(), to_int(), to_int32(), to_integer(), to_locale_string(), to_lower_case(), to_number(), to_object(), to_primitive(), to_property_descriptor(), to_string(), to_system_time(), to_uint32(), to_upper_case(), translate_uri(), translate_url(), try_application_url(), typeinfo_invoke(), UIINSERTOBJECTDLG_OnOpen(), UniformResourceLocatorW_InvokeCommand(), unmarshal_stgmed(), unregister_cp(), unwind_exception(), update_external_prop(), update_readystate(), update_title(), update_window_doc(), Uri_GetPropertyBSTR(), Uri_GetPropertyDWORD(), Uri_GetPropertyLength(), URLDownloadToCacheFileA(), URLDownloadToFileA(), URLDownloadToFileW(), UrlMkGetSessionOption(), URLMoniker_BindToObject(), URLMoniker_Load(), use_gecko_script(), var2str(), var_to_size(), VarAdd(), VarAnd(), VarBstrCmp(), VarCat(), VarDecFromR4(), VarDecFromR8(), VarDiv(), VarFormat(), VarFormatFromTokens(), variant_call(), variant_change_type(), VARIANT_ClearInd(), variant_date_to_number(), variant_date_to_string(), VARIANT_DI_FromR4(), VARIANT_DI_FromR8(), VARIANT_DI_normalize(), VARIANT_FetchDispatchValue(), variant_to_jsval(), VariantChangeType_ChangeType(), VariantClear(), VariantCopy(), VariantCopyInd(), VariantToGUID(), VarIdiv(), VarImp(), VarMul(), VarSub(), VBArray_getItem(), VBArray_lbound(), VBArray_toArray(), VBArray_ubound(), VBArrayConstr_value(), VBScript_AddNamedItem(), VBScript_SetScriptSite(), VBScriptFactory_CreateInstance(), VBScriptParse_ParseScriptText(), VBScriptParseProcedure_ParseProcedureText(), VBScriptRegExpFactory_CreateInstance(), visit_block_statement(), visit_expression(), visit_statement(), visit_variable_list(), WBOleCommandTarget_QueryStatus(), WeakMap_clear(), WeakMap_constructor(), WeakMap_delete(), WeakMap_gc_traverse(), WeakMap_get(), WeakMap_has(), WeakMap_set(), WebBrowser_ExecWB(), WebBrowser_get_Document(), WebBrowser_GetIDsOfNames(), WebBrowser_GetTypeInfo(), WebBrowser_Invoke(), WebBrowser_QueryStatusWB(), WebBrowserPriv2IE8_NavigateWithBindCtx2(), WebBrowserPriv2IE9_NavigateWithBindCtx2(), window_set_timer(), WindowDispEx_GetDispID(), WindowDispEx_GetIDsOfNames(), WindowDispEx_InvokeEx(), WindowFromAccessibleObject(), WinInetHttpInfo_QueryInfo(), WinInetHttpInfo_QueryOption(), WMSFT_encode_variant(), write_post_stream(), XFCF_CreateInstance(), xmlhttprequest_onreadystatechange(), XMLView_BindStatusCallback_OnDataAvailable(), XMLView_BindStatusCallback_OnStartBinding(), XMLView_create(), and XMLView_PersistMoniker_Load().

◆ outer_test_iid

const IID outer_test_iid = {0xabcabc00,0,0,{0,0,0,0,0,0,0,0x66}}
static

Definition at line 628 of file protocol.c.

Referenced by outer_QueryInterface(), and test_com_aggregation().

◆ outer_vtbl

const IUnknownVtbl outer_vtbl
static
Initial value:
= {
}
static ULONG WINAPI outer_AddRef(IUnknown *iface)
Definition: protocol.c:641
static HRESULT WINAPI outer_QueryInterface(IUnknown *iface, REFIID riid, void **ppv)
Definition: protocol.c:630
static ULONG WINAPI outer_Release(IUnknown *iface)
Definition: protocol.c:646

Definition at line 651 of file protocol.c.

Referenced by test_com_aggregation().

◆ protocol_sink

IInternetProtocolSink protocol_sink
static
Initial value:
= {
}
static IInternetProtocolSinkVtbl protocol_sink_vtbl
Definition: protocol.c:189

Definition at line 199 of file protocol.c.

◆ protocol_sink_vtbl

IInternetProtocolSinkVtbl protocol_sink_vtbl
static
Initial value:
= {
}
static HRESULT WINAPI ProtocolSink_ReportProgress(IInternetProtocolSink *iface, ULONG ulStatusCode, LPCWSTR szStatusText)
Definition: protocol.c:117
static HRESULT WINAPI ProtocolSink_Switch(IInternetProtocolSink *iface, PROTOCOLDATA *pProtocolData)
Definition: protocol.c:111
static ULONG WINAPI ProtocolSink_Release(IInternetProtocolSink *iface)
Definition: protocol.c:106
static HRESULT WINAPI ProtocolSink_QueryInterface(IInternetProtocolSink *iface, REFIID riid, void **ppv)
Definition: protocol.c:92
static HRESULT WINAPI ProtocolSink_ReportResult(IInternetProtocolSink *iface, HRESULT hrResult, DWORD dwError, LPCWSTR szResult)
Definition: protocol.c:177
static HRESULT WINAPI ProtocolSink_ReportData(IInternetProtocolSink *iface, DWORD grfBSCF, ULONG ulProgress, ULONG ulProgressMax)
Definition: protocol.c:152
static ULONG WINAPI ProtocolSink_AddRef(IInternetProtocolSink *iface)
Definition: protocol.c:101

Definition at line 189 of file protocol.c.

◆ read_protocol

IInternetProtocol* read_protocol = NULL
static

Definition at line 69 of file protocol.c.

Referenced by ProtocolSink_ReportData(), and test_protocol_url().

◆ rel_url

const WCHAR* rel_url

Definition at line 430 of file protocol.c.

Referenced by combine_url(), test_its_protocol_info(), and test_persist().

◆