ReactOS 0.4.16-dev-125-g798ea90
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 const WCHARa2w (const char *str)
 
static int strcmp_wa (const WCHAR *str1, const char *str2)
 
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 IInternetProtocolread_protocol = NULL
 
static DWORD bindf
 
static const WCHAR blank_url1 []
 
static const WCHAR blank_url2 []
 
static const WCHAR blank_url3 []
 
static const WCHAR blank_url4 []
 
static const WCHAR blank_url5 []
 
static const WCHAR blank_url6 []
 
static const WCHAR blank_url7 []
 
static const WCHAR blank_url8 []
 
static const WCHAR blank_url9 []
 
static enum { ... }  test_protocol
 
static const WCHAR cache_file1 []
 
static const WCHAR cache_file2 []
 
static const WCHAR cache_file3 []
 
static const WCHARcache_file = cache_file1
 
static IInternetProtocolSinkVtbl protocol_sink_vtbl
 
static IInternetProtocolSink protocol_sink
 
static IInternetBindInfoVtbl bind_info_vtbl
 
static IInternetBindInfo bind_info
 
struct {
   const char *   base_url
 
   const char *   rel_url
 
   DWORD   flags
 
   HRESULT   hres
 
   const char *   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:29

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 303 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 91 of file protocol.c.

91 {
static enum @1668 test_protocol
@ ITS_PROTOCOL
Definition: protocol.c:92
@ MK_PROTOCOL
Definition: protocol.c:93

Function Documentation

◆ _protocol_start()

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

Definition at line 304 of file protocol.c.

305{
307
308 SET_EXPECT(GetBindInfo);
310 SET_EXPECT(ReportProgress_DIRECTBIND);
311 SET_EXPECT(ReportProgress_SENDINGREQUEST);
312 if(expect_mime)
313 SET_EXPECT(ReportProgress_MIMETYPEAVAILABLE);
315 SET_EXPECT(ReportProgress_CACHEFILENAMEAVAILABLE);
316 SET_EXPECT(ReportData);
318 SET_EXPECT(ReportProgress_BEGINDOWNLOADDATA);
319 SET_EXPECT(ReportResult);
321
322 hres = IInternetProtocol_Start(protocol, url, &protocol_sink, &bind_info, 0, 0);
323
324 if(FAILED(hres)) {
325 SET_CALLED(GetBindInfo);
327 SET_CALLED(ReportProgress_DIRECTBIND);
328 SET_CALLED(ReportProgress_SENDINGREQUEST);
329 if(expect_mime)
330 SET_CALLED(ReportProgress_MIMETYPEAVAILABLE);
332 SET_EXPECT(ReportProgress_CACHEFILENAMEAVAILABLE);
333 SET_CALLED(ReportData);
335 SET_CALLED(ReportProgress_BEGINDOWNLOADDATA);
336 SET_CALLED(ReportResult);
337 }else {
338 CHECK_CALLED(GetBindInfo);
340 SET_CALLED(ReportProgress_DIRECTBIND);
341 CHECK_CALLED(ReportProgress_SENDINGREQUEST);
342 if(expect_mime)
343 CHECK_CALLED(ReportProgress_MIMETYPEAVAILABLE);
345 SET_EXPECT(ReportProgress_CACHEFILENAMEAVAILABLE);
346 CHECK_CALLED(ReportData);
348 CHECK_CALLED(ReportProgress_BEGINDOWNLOADDATA);
349 CHECK_CALLED(ReportResult);
350 }
351
352 return hres;
353}
#define S_OK
Definition: intsafe.h:52
#define FAILED(hr)
Definition: intsafe.h:51
static const WCHAR url[]
Definition: encode.c:1432
static IInternetProtocolSink protocol_sink
Definition: mimeole.c:1411
static IInternetBindInfo bind_info
Definition: mimeole.c:1273
#define SET_EXPECT(func)
Definition: protocol.c:37
HRESULT hres
Definition: protocol.c:465
static HRESULT expect_hrResult
Definition: protocol.c:68
#define CHECK_CALLED(func)
Definition: protocol.c:50
#define SET_CALLED(func)
Definition: protocol.c:47

◆ a2w()

static const WCHAR * a2w ( const char str)
static

Definition at line 104 of file protocol.c.

105{
106 static WCHAR bufs[8][128];
107 static int i;
108
109 if(!str)
110 return NULL;
111
112 i = (i+1) % 8;
113 MultiByteToWideChar(CP_ACP, 0, str, -1, bufs[i], 128);
114 return bufs[i];
115}
#define NULL
Definition: types.h:112
#define CP_ACP
Definition: compat.h:109
#define MultiByteToWideChar
Definition: compat.h:110
const GLenum * bufs
Definition: glext.h:6026
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
const WCHAR * str
__wchar_t WCHAR
Definition: xmlstorage.h:180

Referenced by strcmp_wa(), and test_its_protocol_info().

◆ BindInfo_AddRef()

static ULONG WINAPI BindInfo_AddRef ( IInternetBindInfo iface)
static

Definition at line 245 of file protocol.c.

246{
247 return 2;
248}

◆ BindInfo_GetBindInfo()

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

Definition at line 255 of file protocol.c.

256{
257 CHECK_EXPECT(GetBindInfo);
258
259 ok(grfBINDF != NULL, "grfBINDF == NULL\n");
260 if(grfBINDF)
261 ok(!*grfBINDF, "*grfBINDF != 0\n");
262 ok(pbindinfo != NULL, "pbindinfo == NULL\n");
263 ok(pbindinfo->cbSize == sizeof(BINDINFO), "wrong size of pbindinfo: %d\n", pbindinfo->cbSize);
264
265 *grfBINDF = bindf;
266 return S_OK;
267}
#define ok(value,...)
Definition: atltest.h:57
#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 269 of file protocol.c.

271{
272 ok(0, "unexpected call\n");
273 return E_NOTIMPL;
274}
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ BindInfo_QueryInterface()

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

Definition at line 236 of file protocol.c.

237{
238 if(IsEqualGUID(&IID_IUnknown, riid) || IsEqualGUID(&IID_IInternetBindInfo, riid)) {
239 *ppv = iface;
240 return S_OK;
241 }
242 return E_NOINTERFACE;
243}
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:2364

◆ BindInfo_Release()

static ULONG WINAPI BindInfo_Release ( IInternetBindInfo iface)
static

Definition at line 250 of file protocol.c.

251{
252 return 1;
253}

◆ create_chm()

static BOOL create_chm ( void  )
static

Definition at line 639 of file protocol.c.

640{
641 HANDLE file;
642 HRSRC src;
643 DWORD size;
644
647 ok(file != INVALID_HANDLE_VALUE, "Could not create test.chm file\n");
649 return FALSE;
650
652
655
656 return TRUE;
657}
#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 LPCVOID lpBuffer, IN DWORD nNumberOfBytesToWrite OPTIONAL, OUT LPDWORD lpNumberOfBytesWritten, IN LPOVERLAPPED lpOverlapped OPTIONAL)
Definition: rw.c:24
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
GLsizeiptr size
Definition: glext.h:5919
GLenum src
Definition: glext.h:6340
#define CREATE_ALWAYS
Definition: disk.h:72
#define GENERIC_WRITE
Definition: nt_native.h:90
Definition: fci.c:127
#define MAKEINTRESOURCEA(i)
Definition: winuser.h:581

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 659 of file protocol.c.

660{
661 BOOL ret;
662
663 ret = DeleteFileA("test.chm");
664 ok(ret, "DeleteFileA failed: %d\n", GetLastError());
665}
BOOL WINAPI DeleteFileA(IN LPCSTR lpFileName)
Definition: delete.c:24
unsigned int BOOL
Definition: ntddk_ex.h:94
int ret
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 680 of file protocol.c.

681{
682 return 2;
683}

◆ outer_QueryInterface()

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

Definition at line 669 of file protocol.c.

670{
672 CHECK_EXPECT(outer_QI_test);
673 *ppv = (IUnknown*)0xdeadbeef;
674 return S_OK;
675 }
676 ok(0, "unexpected call %s\n", wine_dbgstr_guid(riid));
677 return E_NOINTERFACE;
678}
static const IID outer_test_iid
Definition: protocol.c:667
static __inline const char * wine_dbgstr_guid(const GUID *id)
Definition: debug.h:197

◆ outer_Release()

static ULONG WINAPI outer_Release ( IUnknown iface)
static

Definition at line 685 of file protocol.c.

686{
687 return 1;
688}

◆ ProtocolSink_AddRef()

static ULONG WINAPI ProtocolSink_AddRef ( IInternetProtocolSink iface)
static

Definition at line 131 of file protocol.c.

132{
133 return 2;
134}

◆ ProtocolSink_QueryInterface()

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

Definition at line 122 of file protocol.c.

123{
124 if(IsEqualGUID(&IID_IUnknown, riid) || IsEqualGUID(&IID_IInternetProtocolSink, riid)) {
125 *ppv = iface;
126 return S_OK;
127 }
128 return E_NOINTERFACE;
129}

◆ ProtocolSink_Release()

static ULONG WINAPI ProtocolSink_Release ( IInternetProtocolSink iface)
static

Definition at line 136 of file protocol.c.

137{
138 return 1;
139}

◆ ProtocolSink_ReportData()

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

Definition at line 185 of file protocol.c.

187{
188 CHECK_EXPECT(ReportData);
189
190 ok(ulProgress == ulProgressMax, "ulProgress != ulProgressMax\n");
192 ok(grfBSCF == (BSCF_FIRSTDATANOTIFICATION | BSCF_DATAFULLYAVAILABLE), "grcf = %08x\n", grfBSCF);
193 else
194 ok(grfBSCF == (BSCF_FIRSTDATANOTIFICATION | BSCF_LASTDATANOTIFICATION), "grcf = %08x\n", grfBSCF);
195
196 if(read_protocol) {
197 BYTE buf[100];
198 DWORD cb = 0xdeadbeef;
200
201 hres = IInternetProtocol_Read(read_protocol, buf, sizeof(buf), &cb);
202 ok(hres == S_OK, "Read failed: %08x\n", hres);
203 ok(cb == 13, "cb=%u expected 13\n", cb);
204 ok(!memcmp(buf, "<html></html>", 13), "unexpected data\n");
205 }
206
207 return S_OK;
208}
int memcmp(void *Buffer1, void *Buffer2, ACPI_SIZE Count)
Definition: utclib.c:112
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
static IInternetProtocol * read_protocol
Definition: protocol.c:69
static HMODULE MODULEINFO DWORD cb
Definition: module.c:33
unsigned char BYTE
Definition: xxhash.c:193

◆ ProtocolSink_ReportProgress()

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

Definition at line 147 of file protocol.c.

149{
150 static const WCHAR blank_html[] = {'b','l','a','n','k','.','h','t','m','l',0};
151 static const WCHAR text_html[] = {'t','e','x','t','/','h','t','m','l',0};
152
153 switch(ulStatusCode) {
154 case BINDSTATUS_BEGINDOWNLOADDATA:
155 CHECK_EXPECT(ReportProgress_BEGINDOWNLOADDATA);
156 ok(!szStatusText, "szStatusText != NULL\n");
157 break;
158 case BINDSTATUS_SENDINGREQUEST:
159 CHECK_EXPECT(ReportProgress_SENDINGREQUEST);
161 ok(!lstrcmpW(szStatusText, blank_html), "unexpected szStatusText\n");
162 else
163 ok(szStatusText == NULL, "szStatusText != NULL\n");
164 break;
165 case BINDSTATUS_MIMETYPEAVAILABLE:
166 CHECK_EXPECT(ReportProgress_MIMETYPEAVAILABLE);
167 ok(!lstrcmpW(szStatusText, text_html), "unexpected szStatusText\n");
168 break;
169 case BINDSTATUS_CACHEFILENAMEAVAILABLE:
170 CHECK_EXPECT(ReportProgress_CACHEFILENAMEAVAILABLE);
171 ok(!lstrcmpW(szStatusText, cache_file), "unexpected szStatusText\n");
172 break;
173 case BINDSTATUS_DIRECTBIND:
174 CHECK_EXPECT(ReportProgress_DIRECTBIND);
175 ok(!szStatusText, "szStatusText != NULL\n");
176 break;
177 default:
178 ok(0, "unexpected ulStatusCode %d\n", ulStatusCode);
179 break;
180 }
181
182 return S_OK;
183}
int WINAPI lstrcmpW(LPCWSTR str1, LPCWSTR str2)
Definition: locale.c:4242
static const WCHAR * cache_file
Definition: protocol.c:102

◆ ProtocolSink_ReportResult()

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

Definition at line 210 of file protocol.c.

212{
213 CHECK_EXPECT(ReportResult);
214
215 ok(hrResult == expect_hrResult, "expected: %08x got: %08x\n", expect_hrResult, hrResult);
216 ok(dwError == 0, "dwError = %d\n", dwError);
217 ok(!szResult, "szResult != NULL\n");
218
219 return S_OK;
220}

◆ ProtocolSink_Switch()

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

Definition at line 141 of file protocol.c.

142{
143 ok(0, "unexpected call\n");
144 return E_NOTIMPL;
145}

◆ START_TEST()

START_TEST ( protocol  )

Definition at line 729 of file protocol.c.

730{
732
733 if(!create_chm())
734 return;
735
738 test_com_aggregation(&CLSID_ITSProtocol);
739
740 delete_chm();
742}
HRESULT WINAPI DECLSPEC_HOTPATCH OleInitialize(LPVOID reserved)
Definition: ole2.c:169
void WINAPI DECLSPEC_HOTPATCH OleUninitialize(void)
Definition: ole2.c:230
static void delete_chm(void)
Definition: protocol.c:659
static void test_mk_protocol(void)
Definition: protocol.c:614
static void test_com_aggregation(const CLSID *clsid)
Definition: protocol.c:696
static BOOL create_chm(void)
Definition: protocol.c:639
static void test_its_protocol(void)
Definition: protocol.c:540

◆ strcmp_wa()

static int strcmp_wa ( const WCHAR str1,
const char str2 
)
static

Definition at line 117 of file protocol.c.

118{
119 return lstrcmpW(str1, a2w(str2));
120}
static const WCHAR * a2w(const char *str)
Definition: protocol.c:104

Referenced by ProtocolSink_ReportProgress(), ProtocolSink_ReportResult(), and test_its_protocol_info().

◆ test_com_aggregation()

static void test_com_aggregation ( const CLSID clsid)
static

Definition at line 696 of file protocol.c.

697{
698 IUnknown outer = { &outer_vtbl };
700 IUnknown *unk, *unk2, *unk3;
702
703 hres = CoGetClassObject(clsid, CLSCTX_INPROC_SERVER, NULL, &IID_IClassFactory, (void**)&class_factory);
704 ok(hres == S_OK, "CoGetClassObject failed: %08x\n", hres);
705
706 hres = IClassFactory_CreateInstance(class_factory, &outer, &IID_IUnknown, (void**)&unk);
707 ok(hres == S_OK, "CreateInstance returned: %08x\n", hres);
708
709 hres = IUnknown_QueryInterface(unk, &IID_IInternetProtocol, (void**)&unk2);
710 ok(hres == S_OK, "Could not get IInternetProtocol iface: %08x\n", hres);
711
712 SET_EXPECT(outer_QI_test);
713 hres = IUnknown_QueryInterface(unk2, &outer_test_iid, (void**)&unk3);
714 CHECK_CALLED(outer_QI_test);
715 ok(hres == S_OK, "Could not get IInternetProtocol iface: %08x\n", hres);
716 ok(unk3 == (IUnknown*)0xdeadbeef, "unexpected unk2\n");
717
718 IUnknown_Release(unk2);
719 IUnknown_Release(unk);
720
721 unk = (void*)0xdeadbeef;
722 hres = IClassFactory_CreateInstance(class_factory, &outer, &IID_IInternetProtocol, (void**)&unk);
723 ok(hres == CLASS_E_NOAGGREGATION, "CreateInstance returned: %08x\n", hres);
724 ok(!unk, "unk = %p\n", unk);
725
726 IClassFactory_Release(class_factory);
727}
const GUID IID_IClassFactory
HRESULT WINAPI DECLSPEC_HOTPATCH CoGetClassObject(REFCLSID rclsid, DWORD dwClsContext, COSERVERINFO *pServerInfo, REFIID iid, LPVOID *ppv)
Definition: compobj.c:3103
static const IUnknownVtbl outer_vtbl
Definition: protocol.c:690
REFCLSID clsid
Definition: msctf.c:82
#define CLASS_E_NOAGGREGATION
Definition: winerror.h:2662

Referenced by START_TEST().

◆ test_its_protocol()

static void test_its_protocol ( void  )
static

Definition at line 540 of file protocol.c.

541{
544 IUnknown *unk;
545 ULONG ref;
547
548 static const WCHAR wrong_url1[] =
549 {'i','t','s',':','t','e','s','t','.','c','h','m',':',':','/','b','l','a','n','.','h','t','m','l',0};
550 static const WCHAR wrong_url2[] =
551 {'i','t','s',':','t','e','s','.','c','h','m',':',':','b','/','l','a','n','k','.','h','t','m','l',0};
552 static const WCHAR wrong_url3[] =
553 {'i','t','s',':','t','e','s','t','.','c','h','m','/','b','l','a','n','k','.','h','t','m','l',0};
554 static const WCHAR wrong_url4[] = {'m','k',':','@','M','S','I','T','S','t','o','r',':',
555 't','e','s','t','.','c','h','m',':',':','/','b','l','a','n','k','.','h','t','m','l',0};
556 static const WCHAR wrong_url5[] = {'f','i','l','e',':',
557 't','e','s','.','c','h','m',':',':','/','b','l','a','n','k','.','h','t','m','l',0};
558
560
561 hres = CoGetClassObject(&CLSID_ITSProtocol, CLSCTX_INPROC_SERVER, NULL, &IID_IUnknown, (void**)&unk);
562 ok(hres == S_OK ||
563 broken(hres == REGDB_E_CLASSNOTREG), /* Some W95 and NT4 */
564 "CoGetClassObject failed: %08x\n", hres);
565 if(FAILED(hres))
566 return;
567
568 hres = IUnknown_QueryInterface(unk, &IID_IInternetProtocolInfo, (void**)&info);
569 ok(hres == E_NOINTERFACE, "Could not get IInternetProtocolInfo: %08x\n", hres);
570
571 hres = IUnknown_QueryInterface(unk, &IID_IClassFactory, (void**)&factory);
572 ok(hres == S_OK, "Could not get IClassFactory interface\n");
573 if(SUCCEEDED(hres)) {
575
576 hres = IClassFactory_CreateInstance(factory, NULL, &IID_IInternetProtocol, (void**)&protocol);
577 ok(hres == S_OK, "Could not get IInternetProtocol: %08x\n", hres);
578 if(SUCCEEDED(hres)) {
580
584
585 hres = IInternetProtocol_Start(protocol, wrong_url4, &protocol_sink, &bind_info, 0, 0);
586 ok(hres == INET_E_USE_DEFAULT_PROTOCOLHANDLER,
587 "Start failed: %08x, expected INET_E_USE_DEFAULT_PROTOCOLHANDLER\n", hres);
588
589 hres = IInternetProtocol_Start(protocol, wrong_url5, &protocol_sink, &bind_info, 0, 0);
590 ok(hres == INET_E_USE_DEFAULT_PROTOCOLHANDLER,
591 "Start failed: %08x, expected INET_E_USE_DEFAULT_PROTOCOLHANDLER\n", hres);
592
593 ref = IInternetProtocol_Release(protocol);
594 ok(!ref, "protocol ref=%d\n", ref);
595
604 bindf = BINDF_FROMURLMON | BINDF_NEEDFILE;
606 }
607
608 IClassFactory_Release(factory);
609 }
610
611 IUnknown_Release(unk);
612}
#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:76
static const WCHAR blank_url9[]
Definition: protocol.c:88
static const WCHAR blank_url2[]
Definition: protocol.c:74
static void test_its_protocol_info(IInternetProtocol *protocol)
Definition: protocol.c:492
static const WCHAR blank_url8[]
Definition: protocol.c:86
static const WCHAR blank_url5[]
Definition: protocol.c:80
static void test_protocol_url(IClassFactory *factory, LPCWSTR url, BOOL expect_mime)
Definition: protocol.c:355
static void test_protocol_fail(IInternetProtocol *protocol, LPCWSTR url, HRESULT expected_hres)
Definition: protocol.c:288
static const WCHAR blank_url4[]
Definition: protocol.c:78
static const WCHAR blank_url6[]
Definition: protocol.c:82
Definition: main.c:439
Definition: send.c:48
uint32_t ULONG
Definition: typedefs.h:59
#define REGDB_E_CLASSNOTREG
Definition: winerror.h:2696
#define STG_E_FILENOTFOUND
Definition: winerror.h:2565

Referenced by START_TEST().

◆ test_its_protocol_info()

static void test_its_protocol_info ( IInternetProtocol protocol)
static

Definition at line 492 of file protocol.c.

493{
495 WCHAR buf[1024];
496 DWORD size, i;
498
499 hres = IInternetProtocol_QueryInterface(protocol, &IID_IInternetProtocolInfo, (void**)&info);
500 ok(hres == S_OK, "Could not get IInternetProtocolInfo interface: %08x\n", hres);
501 if(FAILED(hres))
502 return;
503
504 for(i = PARSE_CANONICALIZE; i <= PARSE_UNESCAPE; i++) {
505 if(i != PARSE_CANONICALIZE && i != PARSE_SECURITY_URL) {
506 hres = IInternetProtocolInfo_ParseUrl(info, blank_url1, i, 0, buf,
507 ARRAY_SIZE(buf), &size, 0);
508 ok(hres == INET_E_DEFAULT_ACTION,
509 "[%d] failed: %08x, expected INET_E_DEFAULT_ACTION\n", i, hres);
510 }
511 }
512
513 for(i=0; i < ARRAY_SIZE(combine_tests); i++) {
514 size = 0xdeadbeef;
515 memset(buf, 0xfe, sizeof(buf));
516 hres = IInternetProtocolInfo_CombineUrl(info, a2w(combine_tests[i].base_url),
518 ARRAY_SIZE(buf), &size, 0);
519 ok(hres == combine_tests[i].hres, "[%d] CombineUrl returned %08x, expected %08x\n",
522 : 0xdeadbeef), "[%d] unexpected size=%d\n", i, size);
524 ok(!strcmp_wa(buf, combine_tests[i].combined_url), "[%d] unexpected result: %s\n", i, wine_dbgstr_w(buf));
525 else
526 ok(buf[0] == 0xfefe, "buf changed\n");
527 }
528
529 size = 0xdeadbeef;
530 memset(buf, 0xfe, sizeof(buf));
531 hres = IInternetProtocolInfo_CombineUrl(info, a2w("its:test.chm::/blank.html"), a2w("test.html"), 0, buf,
532 1, &size, 0);
533 ok(hres == E_OUTOFMEMORY, "CombineUrl failed: %08x\n", hres);
534 ok(size == 25, "size=%d\n", size);
535 ok(buf[0] == 0xfefe, "buf changed\n");
536
537 IInternetProtocolInfo_Release(info);
538}
ACPI_SIZE strlen(const char *String)
Definition: utclib.c:269
#define ARRAY_SIZE(A)
Definition: main.h:20
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
GLbitfield flags
Definition: glext.h:7161
#define wine_dbgstr_w
Definition: kernel32.h:34
const char * rel_url
Definition: protocol.c:463
static int strcmp_wa(const WCHAR *str1, const char *str2)
Definition: protocol.c:117
static const struct @1669 combine_tests[]
const char * base_url
Definition: protocol.c:462
const char * combined_url
Definition: protocol.c:466
#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 614 of file protocol.c.

615{
618
620
621 hres = CoGetClassObject(&CLSID_MkProtocol, CLSCTX_INPROC_SERVER, NULL, &IID_IClassFactory,
622 (void**)&cf);
623 ok(hres == S_OK ||
624 broken(hres == REGDB_E_CLASSNOTREG), /* Some W95 and NT4 */
625 "CoGetClassObject failed: %08x\n", hres);
626 if(FAILED(hres))
627 return;
628
635
636 IClassFactory_Release(cf);
637}
static const WCHAR blank_url7[]
Definition: protocol.c:84
static const WCHAR cache_file1[]
Definition: protocol.c:96
static const WCHAR cache_file3[]
Definition: protocol.c:100
static const WCHAR cache_file2[]
Definition: protocol.c:98

Referenced by START_TEST().

◆ test_protocol_fail()

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

Definition at line 288 of file protocol.c.

289{
291
292 SET_EXPECT(GetBindInfo);
293 SET_EXPECT(ReportResult);
294
295 expect_hrResult = expected_hres;
296 hres = IInternetProtocol_Start(protocol, url, &protocol_sink, &bind_info, 0, 0);
297 ok(hres == expected_hres, "expected: %08x got: %08x\n", expected_hres, hres);
298
299 CHECK_CALLED(GetBindInfo);
300 CHECK_CALLED(ReportResult);
301}

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 355 of file protocol.c.

356{
358 BYTE buf[512];
359 ULONG cb, ref;
361
362 hres = IClassFactory_CreateInstance(factory, NULL, &IID_IInternetProtocol, (void**)&protocol);
363 ok(hres == S_OK, "Could not get IInternetProtocol: %08x\n", hres);
364 if(FAILED(hres))
365 return;
366
367 hres = protocol_start(protocol, url, expect_mime);
368 if(FAILED(hres)) {
369 IInternetProtocol_Release(protocol);
370 return;
371 }
372
373 hres = IInternetProtocol_Read(protocol, buf, sizeof(buf), &cb);
374 ok(hres == S_OK, "Read failed: %08x\n", hres);
375 ok(cb == 13, "cb=%u expected 13\n", cb);
376 ok(!memcmp(buf, "<html></html>", 13), "unexpected data\n");
377 ref = IInternetProtocol_Release(protocol);
378 ok(!ref, "protocol ref=%d\n", ref);
379
380 hres = IClassFactory_CreateInstance(factory, NULL, &IID_IInternetProtocol, (void**)&protocol);
381 ok(hres == S_OK, "Could not get IInternetProtocol: %08x\n", hres);
382 if(FAILED(hres))
383 return;
384
385 cb = 0xdeadbeef;
386 hres = IInternetProtocol_Read(protocol, buf, sizeof(buf), &cb);
387 ok(hres == (test_protocol == ITS_PROTOCOL ? INET_E_DATA_NOT_AVAILABLE : E_FAIL),
388 "Read returned %08x\n", hres);
389 ok(cb == 0xdeadbeef, "cb=%u expected 0xdeadbeef\n", cb);
390
391 protocol_start(protocol, url, expect_mime);
392 hres = IInternetProtocol_Read(protocol, buf, 2, &cb);
393 ok(hres == S_OK, "Read failed: %08x\n", hres);
394 ok(cb == 2, "cb=%u expected 2\n", cb);
395 hres = IInternetProtocol_Read(protocol, buf, sizeof(buf), &cb);
396 ok(hres == S_OK, "Read failed: %08x\n", hres);
397 ok(cb == 11, "cb=%u, expected 11\n", cb);
398 hres = IInternetProtocol_Read(protocol, buf, sizeof(buf), &cb);
399 ok(hres == S_FALSE, "Read failed: %08x expected S_FALSE\n", hres);
400 ok(cb == 0, "cb=%u expected 0\n", cb);
401 hres = IInternetProtocol_UnlockRequest(protocol);
402 ok(hres == S_OK, "UnlockRequest failed: %08x\n", hres);
403 ref = IInternetProtocol_Release(protocol);
404 ok(!ref, "protocol ref=%d\n", ref);
405
406 hres = IClassFactory_CreateInstance(factory, NULL, &IID_IInternetProtocol, (void**)&protocol);
407 ok(hres == S_OK, "Could not get IInternetProtocol: %08x\n", hres);
408 if(FAILED(hres))
409 return;
410
411 protocol_start(protocol, url, expect_mime);
412 hres = IInternetProtocol_Read(protocol, buf, 2, &cb);
413 ok(hres == S_OK, "Read failed: %08x\n", hres);
414 hres = IInternetProtocol_LockRequest(protocol, 0);
415 ok(hres == S_OK, "LockRequest failed: %08x\n", hres);
416 hres = IInternetProtocol_UnlockRequest(protocol);
417 ok(hres == S_OK, "UnlockRequest failed: %08x\n", hres);
418 hres = IInternetProtocol_Read(protocol, buf, sizeof(buf), &cb);
419 ok(hres == S_OK, "Read failed: %08x\n", hres);
420 ok(cb == 11, "cb=%u, expected 11\n", cb);
421 ref = IInternetProtocol_Release(protocol);
422 ok(!ref, "protocol ref=%d\n", ref);
423
424 hres = IClassFactory_CreateInstance(factory, NULL, &IID_IInternetProtocol, (void**)&protocol);
425 ok(hres == S_OK, "Could not get IInternetProtocol: %08x\n", hres);
426 if(FAILED(hres))
427 return;
428
429 protocol_start(protocol, url, expect_mime);
430 hres = IInternetProtocol_LockRequest(protocol, 0);
431 ok(hres == S_OK, "LockRequest failed: %08x\n", hres);
432 hres = IInternetProtocol_Terminate(protocol, 0);
433 ok(hres == S_OK, "Terminate failed: %08x\n", hres);
434 hres = IInternetProtocol_Read(protocol, buf, 2, &cb);
435 ok(hres == S_OK, "Read failed: %08x\n", hres);
436 ok(cb == 2, "cb=%u, expected 2\n", cb);
437 hres = IInternetProtocol_UnlockRequest(protocol);
438 ok(hres == S_OK, "UnlockRequest failed: %08x\n", hres);
439 hres = IInternetProtocol_Read(protocol, buf, 2, &cb);
440 ok(hres == S_OK, "Read failed: %08x\n", hres);
441 ok(cb == 2, "cb=%u, expected 2\n", cb);
442 hres = IInternetProtocol_Terminate(protocol, 0);
443 ok(hres == S_OK, "Terminate failed: %08x\n", hres);
444 hres = IInternetProtocol_Read(protocol, buf, 2, &cb);
445 ok(hres == S_OK, "Read failed: %08x\n", hres);
446 ok(cb == 2, "cb=%u expected 2\n", cb);
447 ref = IInternetProtocol_Release(protocol);
448 ok(!ref, "protocol ref=%d\n", ref);
449
450 hres = IClassFactory_CreateInstance(factory, NULL, &IID_IInternetProtocol, (void**)&read_protocol);
451 ok(hres == S_OK, "Could not get IInternetProtocol: %08x\n", hres);
452 if(FAILED(hres))
453 return;
454
455 protocol_start(read_protocol, url, expect_mime);
456 ref = IInternetProtocol_Release(read_protocol);
457 ok(!ref, "protocol ref=%d\n", ref);
459}
#define E_FAIL
Definition: ddrawi.h:102
#define protocol_start(p, u, e)
Definition: protocol.c:303
#define S_FALSE
Definition: winerror.h:2357

Referenced by test_its_protocol(), and test_mk_protocol().

Variable Documentation

◆ base_url

const char* base_url

Definition at line 462 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:276

Definition at line 284 of file protocol.c.

◆ bind_info_vtbl

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

Definition at line 276 of file protocol.c.

◆ bindf

◆ blank_url1

const WCHAR blank_url1[]
static
Initial value:
= {'i','t','s',':',
't','e','s','t','.','c','h','m',':',':','/','b','l','a','n','k','.','h','t','m','l',0}

Definition at line 72 of file protocol.c.

Referenced by test_its_protocol(), and test_its_protocol_info().

◆ blank_url2

const WCHAR blank_url2[]
static
Initial value:
= {'m','S','-','i','T','s',':',
't','e','s','t','.','c','h','m',':',':','/','b','l','a','n','k','.','h','t','m','l',0}

Definition at line 74 of file protocol.c.

Referenced by test_its_protocol().

◆ blank_url3

const WCHAR blank_url3[]
static
Initial value:
= {'m','k',':','@','M','S','I','T','S','t','o','r','e',':',
't','e','s','t','.','c','h','m',':',':','/','b','l','a','n','k','.','h','t','m','l',0}

Definition at line 76 of file protocol.c.

Referenced by test_its_protocol(), and test_mk_protocol().

◆ blank_url4

const WCHAR blank_url4[]
static
Initial value:
= {'i','t','s',':',
't','e','s','t','.','c','h','m',':',':','b','l','a','n','k','.','h','t','m','l',0}

Definition at line 78 of file protocol.c.

Referenced by test_its_protocol().

◆ blank_url5

const WCHAR blank_url5[]
static
Initial value:
= {'i','t','s',':',
't','e','s','t','.','c','h','m',':',':','\\','b','l','a','n','k','.','h','t','m','l',0}

Definition at line 80 of file protocol.c.

Referenced by test_its_protocol().

◆ blank_url6

const WCHAR blank_url6[]
static
Initial value:
= {'i','t','s',':',
't','e','s','t','.','c','h','m',':',':','/','%','6','2','l','a','n','k','.','h','t','m','l',0}

Definition at line 82 of file protocol.c.

Referenced by test_its_protocol().

◆ blank_url7

const WCHAR blank_url7[]
static
Initial value:
= {'m','k',':','@','M','S','I','T','S','t','o','r','e',':',
't','e','s','t','.','c','h','m',':',':','\\','b','l','a','n','k','.','h','t','m','l',0}

Definition at line 84 of file protocol.c.

Referenced by test_mk_protocol().

◆ blank_url8

const WCHAR blank_url8[]
static
Initial value:
= {'m','k',':','@','M','S','I','T','S','t','o','r','e',':',
't','e','s','t','.','c','h','m',':',':','/','b','l','a','n','k','.','h','t','m','l','/',0}

Definition at line 86 of file protocol.c.

Referenced by test_its_protocol(), and test_mk_protocol().

◆ blank_url9

const WCHAR blank_url9[]
static
Initial value:
= {'i','t','s',':',
't','e','s','t','.','c','h','m',':',':','/','d','i','r','/','.','.','/','b','l','a','n','k','.','h','t','m','l',0}

Definition at line 88 of file protocol.c.

Referenced by test_its_protocol().

◆ cache_file

◆ cache_file1

const WCHAR cache_file1[]
static
Initial value:
=
{'t','e','s','t','.','c','h','m',':',':','/','b','l','a','n','k','.','h','t','m','l',0}

Definition at line 96 of file protocol.c.

Referenced by test_mk_protocol().

◆ cache_file2

const WCHAR cache_file2[]
static
Initial value:
=
{'t','e','s','t','.','c','h','m',':',':','\\','b','l','a','n','k','.','h','t','m','l',0}

Definition at line 98 of file protocol.c.

Referenced by test_mk_protocol().

◆ cache_file3

const WCHAR cache_file3[]
static
Initial value:
=
{'t','e','s','t','.','c','h','m',':',':','/','b','l','a','n','k','.','h','t','m','l','/',0}

Definition at line 100 of file protocol.c.

Referenced by test_mk_protocol().

◆ 

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

Referenced by test_its_protocol_info().

◆ combined_url

const char* combined_url

Definition at line 466 of file protocol.c.

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

◆ expect_hrResult

◆ flags

Definition at line 464 of file protocol.c.

◆ hres

HRESULT hres

Definition at line 465 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_a(), _parse_script_a(), _protocol_start(), _put_attr_node_value(), _range_duplicate(), _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_eval(), add_func_info(), AddUninstallKey(), advise_prop_notif(), alloc_array(), alloc_bool(), alloc_enumerator(), alloc_error(), alloc_number(), alloc_regexp(), alloc_vbarray(), AMCF_CreateInstance(), Arguments_idx_put(), array_access(), Array_concat(), Array_forEach(), Array_indexOf(), array_join(), Array_join(), Array_map(), Array_pop(), Array_push(), Array_set_length(), Array_shift(), Array_slice(), Array_sort(), Array_splice(), array_to_args(), Array_unshift(), ArrayConstr_value(), assign_ident(), assign_value(), async_open(), AsyncInstallDistributionUnit(), AtlAdvise(), AtlComModuleRegisterServer(), AtlGetObjectSourceInterface(), AtlLoadTypeLib(), AtlModuleGetClassObject(), AtlRegisterClassCategoriesHelper(), AtlRegisterTypeLib(), AtlUnadvise(), AtlUpdateRegistryFromResourceD(), AVICompressor_Run(), AVICompressorIn_CheckMediaType(), AVICompressorIn_Disconnect(), AVICompressorIn_Receive(), AVICompressorIn_ReceiveConnection(), 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(), BindInfo_GetBindInfo(), Binding_Abort(), Binding_Create(), Binding_QueryInterface(), BindProtocol_QueryInterface(), BindProtocol_Start(), BindProtocol_StartEx(), BindStatusCallback_GetBindInfo(), BindStatusCallback_GetBindInfoEx(), BindStatusCallback_OnDataAvailable(), BindStatusCallback_OnStopBinding(), BoolConstr_value(), BrowserService_DisplayParseError(), bsc_from_bctx(), bsc_thread(), bsch_from_bctx(), BSCHttpNegotiate_BeginningTransaction(), BSCHttpNegotiate_GetRootSecurityId(), BSCHttpNegotiate_OnResponse(), BSCInternetBindInfo_GetBindString(), BSCServiceProvider_QueryService(), Builtin_GetIDsOfNames(), 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(), ClOleCommandTarget_Exec(), close_script(), CAddressBand::CloseDW(), ClServiceProvider_QueryService(), cmp_oper(), CoCreateInstance(), CoCreateInstanceEx(), CoGetClassObject(), CoGetInterfaceAndReleaseStream(), CoInternetCombineUrl(), CoInternetCompareUrl(), CoInternetGetSecurityUrl(), CoInternetGetSecurityUrlEx(), CoInternetIsFeatureEnabledForUrl(), CoInternetIsFeatureZoneElevationEnabled(), CoInternetQueryInfo(), CoMarshalInterThreadInterfaceInStream(), 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_expression(), compile_memberid_expression(), compile_new_expression(), compile_object_literal(), compile_procedure(), 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(), CoRegisterMallocSpy(), CoRevokeMallocSpy(), cp_from_charset_string(), create_activex_constr(), create_activex_object(), create_all_list(), create_and_init_script(), create_array(), create_array_constr(), create_ax_site(), create_bind_function(), create_bool(), create_bool_constr(), create_builtin_constructor(), 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_ie_window(), create_internet_session(), create_jscript(), create_jscript_object(), create_json(), create_local_service(), 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_server(), 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(), CreateTypeLib(), CreateTypeLib2(), CreateUriWithFragment(), CreateURLMonikerEx(), CreateURLMonikerEx2(), CustomDoc_SetUIHandler(), DataCache_Draw(), DataCache_GetExtent(), DataCache_IDataObject_SetData(), 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(), DeleteUninstallKey(), DesktopCreateWindow(), detach_arguments_object(), detach_bsc(), detach_plugin_host(), detach_variable_object(), DirectSoundDevice_CreateSoundBuffer(), DirectSoundDevice_DuplicateSoundBuffer(), DirectSoundFullDuplexCreate(), disp_call(), disp_call_value(), disp_cmp(), disp_delete(), disp_delete_name(), disp_get_id(), disp_propget(), disp_propput(), 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(), EditStreamSetNameA(), EditStreamSetNameW(), elem_string_attr_getter(), embed_plugin_object(), 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_refresh(), exec_script(), exec_shldocvw_67(), exec_source(), exit_label(), expect_NumFromStr(), 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_global_prop(), find_mime_from_buffer(), find_mime_from_url(), find_prop_name_prot(), FindContextAlias(), fire_event(), fire_event_obj(), FTMarshalImpl_GetMarshalSizeMax(), FTMarshalImpl_MarshalInterface(), FTMarshalImpl_ReleaseMarshalData(), FTMarshalImpl_UnmarshalInterface(), 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(), 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_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_local_server_stream(), get_location(), get_mime_clsid(), get_mime_filter(), get_moniker_uri(), 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(), CQueryAssociations::GetData(), GetDocumentTitle(), GetHGlobalFromILockBytes(), GetRecordInfoFromGuids(), GetRecordInfoFromTypeInfo(), Global_Abs(), Global_Array(), Global_Asc(), Global_Atn(), Global_CBool(), Global_CByte(), Global_CCur(), Global_CDbl(), Global_Chr(), Global_CInt(), Global_CLng(), Global_Cos(), Global_CreateObject(), Global_CSng(), Global_CStr(), Global_Date(), Global_Day(), Global_Exp(), Global_Fix(), Global_GetObject(), Global_Hex(), Global_Hour(), Global_InStr(), Global_InStrRev(), Global_Int(), Global_InvokeEx(), Global_IsNumeric(), Global_LCase(), Global_Left(), Global_Len(), Global_Log(), Global_LTrim(), Global_Mid(), Global_Minute(), Global_Month(), Global_MonthName(), Global_MsgBox(), Global_Oct(), Global_RGB(), Global_Right(), Global_Round(), Global_RTrim(), Global_Second(), Global_Sgn(), Global_Sin(), Global_Space(), Global_Sqr(), Global_StrComp(), Global_StrReverse(), Global_Tan(), Global_Time(), Global_Trim(), Global_UBound(), Global_UCase(), Global_WeekdayName(), Global_Year(), GlobalOptions_CreateInstance(), GopherProtocol_open_request(), GopherProtocol_Start(), handle_docobj_load(), handle_extern_mime_navigation(), handle_http_error(), handle_link_click_event(), handle_mime_filter(), handle_navigation_error(), handle_redirect(), Handler_DllGetClassObject(), hlink_frame_navigate(), HlinkClone(), HlinkCreateExtensionServices(), HlinkFrame_Navigate(), HlinkParseDisplayName(), HlinkResolveMonikerForData(), HlinkSimpleNavigateToMoniker(), hls_site_Moniker_ComposeWith(), Host_CreateObject(), Host_Echo(), 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_bindctx(), init_constructors(), init_dispex_from_constr(), init_engine(), init_error_constr(), init_function_constr(), init_global(), init_regexp_typeinfo(), init_script_engine(), 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_carray(), interp_carray_set(), interp_case(), interp_cnd_nz(), interp_cnd_z(), interp_concat(), interp_const(), interp_delete(), interp_delete_ident(), 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_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_obj_prop(), interp_or(), interp_pop_except(), interp_postinc(), interp_preinc(), interp_push_acc(), interp_push_scope(), interp_refval(), interp_regexp(), interp_retval(), interp_rshift(), interp_rshift2(), interp_set_ident(), interp_set_member(), interp_step(), interp_sub(), interp_throw_type(), interp_tonum(), interp_typeof(), interp_typeofid(), interp_typeofident(), interp_val(), interp_xor(), InterpretedFunction_call(), 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(), ITextSelection_fnCollapse(), ITSProtocol_Start(), ITSSCF_CreateInstance(), ITypeInfo_fnInvoke(), JScript_AddNamedItem(), JScript_SetScriptSite(), JScriptParse_InitNew(), 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_eval(), JSGlobal_isFinite(), JSGlobal_isNaN(), JSGlobal_parseFloat(), JSGlobal_parseInt(), JSGlobal_unescape(), JSON_parse(), JSON_stringify(), jsval_variant(), 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(), local_server_thread(), LocalServer_QueryService(), lookup_global_members(), lookup_identifier(), lookup_named_item(), map_hres(), map_security_uri_to_zone(), 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(), NativeFunction_call(), 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_toPrecision(), Number_toString(), NumberConstr_value(), object_available(), Object_create(), Object_defineProperties(), Object_defineProperty(), Object_getOwnPropertyDescriptor(), Object_hasOwnProperty(), Object_propertyIsEnumerable(), 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(), CDefView::OnCustomItem(), CDesktopBrowser::OnGetChangeNotifyServer(), 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_htmlscript_a(), parse_json_value(), parse_numeric_literal(), parse_path_from_url(), parse_procedure(), parse_procedure_a(), parse_regexp(), parse_rootdocument(), parse_script(), parse_script_ae(), parse_script_af(), parse_script_ar(), parse_script_expr(), parse_script_with_error(), parse_security_domain(), parse_security_url(), PathIsURLA(), PathIsURLW(), 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_Read(), ProtocolHandler_Continue(), ProtocolHandler_Read(), ProtocolSink_ReportData(), ProtocolSinkHandler_ReportData(), ProtocolStream_Read(), ProvideClassInfo_GetClassInfo(), put_inner_html(), QCAP_createAVICompressor(), 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_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(), RPC_GetLocalClassObject(), 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(), 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_callback(), set_channel_http_header(), set_client_site(), set_ctx_site(), set_current_mon(), set_custom_uihandler(), set_disp(), set_download_state(), set_downloading_proc(), set_elem_style(), set_event_handler(), set_frame_doc(), set_moniker(), set_nsstyle_attr_var(), set_object_site(), set_plugin_readystate(), set_progress_proc(), 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(), SHAddToRecentDocs(), SHCoCreateInstance(), SHELL32_CompareDetails(), SHGetDesktopFolder(), show_msgbox(), SHPackDispParams(), SHPropStgCreate(), SHPropStgReadMultiple(), SHPropStgWriteMultiple(), 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_release_marshal_data(), std_unmarshal_interface(), StdGlobalInterfaceTable_GetInterfaceFromGlobal(), StdGlobalInterfaceTable_RegisterInterfaceInGlobal(), StdMarshalImpl_MarshalInterface(), StdURLMoniker_Construct(), stop_binding(), string_alloc(), String_charAt(), String_charCodeAt(), String_concat(), String_indexOf(), String_lastIndexOf(), String_match(), string_register(), String_replace(), String_search(), String_slice(), String_split(), String_substr(), String_substring(), String_toLowerCase(), String_toUpperCase(), 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_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_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_IActiveScriptError(), 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_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_GetFont(), test_ITextRange_GetPara(), test_ITextRange_GetStart_GetEnd(), test_ITextRange_ScrollIntoView(), test_ITextRange_SetEnd(), test_ITextRange_SetStart(), test_ITextSelection_Collapse(), test_ITextSelection_GetChar(), test_ITextSelection_GetFont(), test_ITextSelection_GetStart_GetEnd(), test_ITextSelection_SetEnd(), test_ITextSelection_SetStart(), 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_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_msgbox(), test_multiframegif(), 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_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_PropVariantToGUID(), test_PropVariantToStringAlloc(), test_protocol(), test_protocol_fail(), test_protocol_terminate(), test_protocol_url(), 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_IUnknown(), 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_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_VarI8Copy(), 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_VarParseNumFromStr(), test_VarPow(), test_VarR4ChangeTypeEx(), test_VarR8ChangeTypeEx(), test_VarR8Round(), test_VarRound(), test_VarSub(), test_VarUI1ChangeTypeEx(), test_VarUI1FromDisp(), test_VarUI2ChangeTypeEx(), test_VarUI4ChangeTypeEx(), test_VarUI8ChangeTypeEx(), test_VarUI8Copy(), 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(), throw_error(), to_double(), to_flat_string(), to_int(), to_int32(), to_integer(), to_number(), to_object(), to_primitive(), to_property_descriptor(), to_string(), to_system_time(), to_uint32(), translate_uri(), translate_url(), try_application_url(), typeinfo_invoke(), UIINSERTOBJECTDLG_OnOpen(), UniformResourceLocatorW_InvokeCommand(), unmarshal_stgmed(), unregister_cp(), unwind_exception(), 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_change_type(), VARIANT_ClearInd(), 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(), 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(), and xmlhttprequest_onreadystatechange().

◆ outer_test_iid

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

Definition at line 667 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:680
static HRESULT WINAPI outer_QueryInterface(IUnknown *iface, REFIID riid, void **ppv)
Definition: protocol.c:669
static ULONG WINAPI outer_Release(IUnknown *iface)
Definition: protocol.c:685

Definition at line 690 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:222

Definition at line 232 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:147
static HRESULT WINAPI ProtocolSink_Switch(IInternetProtocolSink *iface, PROTOCOLDATA *pProtocolData)
Definition: protocol.c:141
static ULONG WINAPI ProtocolSink_Release(IInternetProtocolSink *iface)
Definition: protocol.c:136
static HRESULT WINAPI ProtocolSink_QueryInterface(IInternetProtocolSink *iface, REFIID riid, void **ppv)
Definition: protocol.c:122
static HRESULT WINAPI ProtocolSink_ReportResult(IInternetProtocolSink *iface, HRESULT hrResult, DWORD dwError, LPCWSTR szResult)
Definition: protocol.c:210
static HRESULT WINAPI ProtocolSink_ReportData(IInternetProtocolSink *iface, DWORD grfBSCF, ULONG ulProgress, ULONG ulProgressMax)
Definition: protocol.c:185
static ULONG WINAPI ProtocolSink_AddRef(IInternetProtocolSink *iface)
Definition: protocol.c:131

Definition at line 222 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 char* rel_url

Definition at line 463 of file protocol.c.

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

◆