ReactOS  0.4.13-dev-698-g77671f0
gopher.c File Reference
#include "urlmon_main.h"
#include "wine/debug.h"
Include dependency graph for gopher.c:

Go to the source code of this file.

Classes

struct  GopherProtocol
 

Functions

 WINE_DEFAULT_DEBUG_CHANNEL (urlmon)
 
static GopherProtocolimpl_from_Protocol (Protocol *prot)
 
static HRESULT GopherProtocol_open_request (Protocol *prot, IUri *uri, DWORD request_flags, HINTERNET internet_session, IInternetBindInfo *bind_info)
 
static HRESULT GopherProtocol_end_request (Protocol *prot)
 
static HRESULT GopherProtocol_start_downloading (Protocol *prot)
 
static void GopherProtocol_close_connection (Protocol *prot)
 
static void GopherProtocol_on_error (Protocol *prot, DWORD error)
 
static GopherProtocolimpl_from_IInternetProtocol (IInternetProtocol *iface)
 
static HRESULT WINAPI GopherProtocol_QueryInterface (IInternetProtocol *iface, REFIID riid, void **ppv)
 
static ULONG WINAPI GopherProtocol_AddRef (IInternetProtocol *iface)
 
static ULONG WINAPI GopherProtocol_Release (IInternetProtocol *iface)
 
static HRESULT WINAPI GopherProtocol_Start (IInternetProtocol *iface, LPCWSTR szUrl, IInternetProtocolSink *pOIProtSink, IInternetBindInfo *pOIBindInfo, DWORD grfPI, HANDLE_PTR dwReserved)
 
static HRESULT WINAPI GopherProtocol_Continue (IInternetProtocol *iface, PROTOCOLDATA *pProtocolData)
 
static HRESULT WINAPI GopherProtocol_Abort (IInternetProtocol *iface, HRESULT hrReason, DWORD dwOptions)
 
static HRESULT WINAPI GopherProtocol_Terminate (IInternetProtocol *iface, DWORD dwOptions)
 
static HRESULT WINAPI GopherProtocol_Suspend (IInternetProtocol *iface)
 
static HRESULT WINAPI GopherProtocol_Resume (IInternetProtocol *iface)
 
static HRESULT WINAPI GopherProtocol_Read (IInternetProtocol *iface, void *pv, ULONG cb, ULONG *pcbRead)
 
static HRESULT WINAPI GopherProtocol_Seek (IInternetProtocol *iface, LARGE_INTEGER dlibMove, DWORD dwOrigin, ULARGE_INTEGER *plibNewPosition)
 
static HRESULT WINAPI GopherProtocol_LockRequest (IInternetProtocol *iface, DWORD dwOptions)
 
static HRESULT WINAPI GopherProtocol_UnlockRequest (IInternetProtocol *iface)
 
static GopherProtocolimpl_from_IInternetPriority (IInternetPriority *iface)
 
static HRESULT WINAPI GopherPriority_QueryInterface (IInternetPriority *iface, REFIID riid, void **ppv)
 
static ULONG WINAPI GopherPriority_AddRef (IInternetPriority *iface)
 
static ULONG WINAPI GopherPriority_Release (IInternetPriority *iface)
 
static HRESULT WINAPI GopherPriority_SetPriority (IInternetPriority *iface, LONG nPriority)
 
static HRESULT WINAPI GopherPriority_GetPriority (IInternetPriority *iface, LONG *pnPriority)
 
HRESULT GopherProtocol_Construct (IUnknown *pUnkOuter, LPVOID *ppobj)
 

Variables

static const ProtocolVtbl AsyncProtocolVtbl
 
static const IInternetProtocolVtbl GopherProtocolVtbl
 
static const IInternetPriorityVtbl GopherPriorityVtbl
 

Function Documentation

◆ GopherPriority_AddRef()

static ULONG WINAPI GopherPriority_AddRef ( IInternetPriority iface)
static

Definition at line 272 of file gopher.c.

273 {
275  return IInternetProtocol_AddRef(&This->IInternetProtocol_iface);
276 }
static GopherProtocol * impl_from_IInternetPriority(IInternetPriority *iface)
Definition: gopher.c:261

◆ GopherPriority_GetPriority()

static HRESULT WINAPI GopherPriority_GetPriority ( IInternetPriority iface,
LONG pnPriority 
)
static

Definition at line 294 of file gopher.c.

295 {
297 
298  TRACE("(%p)->(%p)\n", This, pnPriority);
299 
300  *pnPriority = This->base.priority;
301  return S_OK;
302 }
#define TRACE(s)
Definition: solgame.cpp:4
static GopherProtocol * impl_from_IInternetPriority(IInternetPriority *iface)
Definition: gopher.c:261
#define S_OK
Definition: intsafe.h:59

◆ GopherPriority_QueryInterface()

static HRESULT WINAPI GopherPriority_QueryInterface ( IInternetPriority iface,
REFIID  riid,
void **  ppv 
)
static

Definition at line 266 of file gopher.c.

267 {
269  return IInternetProtocol_QueryInterface(&This->IInternetProtocol_iface, riid, ppv);
270 }
REFIID riid
Definition: precomp.h:44
REFIID LPVOID * ppv
Definition: atlbase.h:39
static GopherProtocol * impl_from_IInternetPriority(IInternetPriority *iface)
Definition: gopher.c:261

◆ GopherPriority_Release()

static ULONG WINAPI GopherPriority_Release ( IInternetPriority iface)
static

Definition at line 278 of file gopher.c.

279 {
281  return IInternetProtocol_Release(&This->IInternetProtocol_iface);
282 }
static GopherProtocol * impl_from_IInternetPriority(IInternetPriority *iface)
Definition: gopher.c:261

◆ GopherPriority_SetPriority()

static HRESULT WINAPI GopherPriority_SetPriority ( IInternetPriority iface,
LONG  nPriority 
)
static

Definition at line 284 of file gopher.c.

285 {
287 
288  TRACE("(%p)->(%d)\n", This, nPriority);
289 
290  This->base.priority = nPriority;
291  return S_OK;
292 }
#define TRACE(s)
Definition: solgame.cpp:4
static GopherProtocol * impl_from_IInternetPriority(IInternetPriority *iface)
Definition: gopher.c:261
#define S_OK
Definition: intsafe.h:59

◆ GopherProtocol_Abort()

static HRESULT WINAPI GopherProtocol_Abort ( IInternetProtocol iface,
HRESULT  hrReason,
DWORD  dwOptions 
)
static

Definition at line 175 of file gopher.c.

177 {
179 
180  TRACE("(%p)->(%08x %08x)\n", This, hrReason, dwOptions);
181 
182  return protocol_abort(&This->base, hrReason);
183 }
DWORD dwOptions
Definition: solitaire.cpp:23
HRESULT protocol_abort(Protocol *protocol, HRESULT reason)
Definition: protocol.c:518
#define TRACE(s)
Definition: solgame.cpp:4
static GopherProtocol * impl_from_IInternetProtocol(IInternetProtocol *iface)
Definition: gopher.c:87

◆ GopherProtocol_AddRef()

static ULONG WINAPI GopherProtocol_AddRef ( IInternetProtocol iface)
static

Definition at line 120 of file gopher.c.

121 {
124  TRACE("(%p) ref=%d\n", This, ref);
125  return ref;
126 }
Definition: send.c:47
long LONG
Definition: pedump.c:60
GLenum GLint ref
Definition: glext.h:6028
#define TRACE(s)
Definition: solgame.cpp:4
static GopherProtocol * impl_from_IInternetProtocol(IInternetProtocol *iface)
Definition: gopher.c:87
#define InterlockedIncrement
Definition: armddk.h:53

◆ GopherProtocol_close_connection()

static void GopherProtocol_close_connection ( Protocol prot)
static

Definition at line 70 of file gopher.c.

71 {
72 }

◆ GopherProtocol_Construct()

HRESULT GopherProtocol_Construct ( IUnknown pUnkOuter,
LPVOID ppobj 
)

Definition at line 312 of file gopher.c.

313 {
315 
316  TRACE("(%p %p)\n", pUnkOuter, ppobj);
317 
319 
320  ret = heap_alloc_zero(sizeof(GopherProtocol));
321 
322  ret->base.vtbl = &AsyncProtocolVtbl;
323  ret->IInternetProtocol_iface.lpVtbl = &GopherProtocolVtbl;
324  ret->IInternetPriority_iface.lpVtbl = &GopherPriorityVtbl;
325  ret->ref = 1;
326 
327  *ppobj = &ret->IInternetProtocol_iface;
328 
329  return S_OK;
330 }
static const IInternetPriorityVtbl GopherPriorityVtbl
Definition: gopher.c:304
static const IInternetProtocolVtbl GopherProtocolVtbl
Definition: gopher.c:245
#define TRACE(s)
Definition: solgame.cpp:4
int ret
static const ProtocolVtbl AsyncProtocolVtbl
Definition: gopher.c:79
#define S_OK
Definition: intsafe.h:59
static void URLMON_LockModule(void)
Definition: urlmon_main.h:67

◆ GopherProtocol_Continue()

static HRESULT WINAPI GopherProtocol_Continue ( IInternetProtocol iface,
PROTOCOLDATA *  pProtocolData 
)
static

Definition at line 166 of file gopher.c.

167 {
169 
170  TRACE("(%p)->(%p)\n", This, pProtocolData);
171 
172  return protocol_continue(&This->base, pProtocolData);
173 }
#define TRACE(s)
Definition: solgame.cpp:4
HRESULT protocol_continue(Protocol *protocol, PROTOCOLDATA *data)
Definition: protocol.c:355
static GopherProtocol * impl_from_IInternetProtocol(IInternetProtocol *iface)
Definition: gopher.c:87

◆ GopherProtocol_end_request()

static HRESULT GopherProtocol_end_request ( Protocol prot)
static

Definition at line 60 of file gopher.c.

61 {
62  return E_NOTIMPL;
63 }
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ GopherProtocol_LockRequest()

static HRESULT WINAPI GopherProtocol_LockRequest ( IInternetProtocol iface,
DWORD  dwOptions 
)
static

Definition at line 227 of file gopher.c.

228 {
230 
231  TRACE("(%p)->(%08x)\n", This, dwOptions);
232 
233  return protocol_lock_request(&This->base);
234 }
DWORD dwOptions
Definition: solitaire.cpp:23
#define TRACE(s)
Definition: solgame.cpp:4
HRESULT protocol_lock_request(Protocol *protocol)
Definition: protocol.c:498
static GopherProtocol * impl_from_IInternetProtocol(IInternetProtocol *iface)
Definition: gopher.c:87

◆ GopherProtocol_on_error()

static void GopherProtocol_on_error ( Protocol prot,
DWORD  error 
)
static

Definition at line 74 of file gopher.c.

75 {
76  FIXME("(%p) %d - stub\n", prot, error);
77 }
#define error(str)
Definition: mkdosfs.c:1605
#define FIXME(fmt,...)
Definition: debug.h:110

◆ GopherProtocol_open_request()

static HRESULT GopherProtocol_open_request ( Protocol prot,
IUri uri,
DWORD  request_flags,
HINTERNET  internet_session,
IInternetBindInfo bind_info 
)
static

Definition at line 38 of file gopher.c.

40 {
42  BSTR url;
43  HRESULT hres;
44 
45  hres = IUri_GetAbsoluteUri(uri, &url);
46  if(FAILED(hres))
47  return hres;
48 
49  This->base.request = InternetOpenUrlW(internet_session, url, NULL, 0,
50  request_flags, (DWORD_PTR)&This->base);
52  if (!This->base.request && GetLastError() != ERROR_IO_PENDING) {
53  WARN("InternetOpenUrl failed: %d\n", GetLastError());
54  return INET_E_RESOURCE_NOT_FOUND;
55  }
56 
57  return S_OK;
58 }
const char * uri
Definition: sec_mgr.c:1594
#define WARN(fmt,...)
Definition: debug.h:111
DWORD WINAPI GetLastError(VOID)
Definition: except.c:1059
static HINTERNET internet_session
Definition: protocol.c:288
OLECHAR * BSTR
Definition: compat.h:1934
static GopherProtocol * impl_from_Protocol(Protocol *prot)
Definition: gopher.c:33
#define ERROR_IO_PENDING
Definition: dderror.h:15
HINTERNET WINAPI InternetOpenUrlW(HINTERNET hInternet, LPCWSTR lpszUrl, LPCWSTR lpszHeaders, DWORD dwHeadersLength, DWORD dwFlags, DWORD_PTR dwContext)
Definition: internet.c:3608
smooth NULL
Definition: ftsmooth.c:416
HRESULT hres
Definition: protocol.c:465
LONG HRESULT
Definition: typedefs.h:77
static const WCHAR url[]
Definition: encode.c:1432
uint32_t DWORD_PTR
Definition: typedefs.h:63
#define S_OK
Definition: intsafe.h:59
void WINAPI DECLSPEC_HOTPATCH SysFreeString(BSTR str)
Definition: oleaut.c:274

◆ GopherProtocol_QueryInterface()

static HRESULT WINAPI GopherProtocol_QueryInterface ( IInternetProtocol iface,
REFIID  riid,
void **  ppv 
)
static

Definition at line 92 of file gopher.c.

93 {
95 
96  *ppv = NULL;
98  TRACE("(%p)->(IID_IUnknown %p)\n", This, ppv);
99  *ppv = &This->IInternetProtocol_iface;
100  }else if(IsEqualGUID(&IID_IInternetProtocolRoot, riid)) {
101  TRACE("(%p)->(IID_IInternetProtocolRoot %p)\n", This, ppv);
102  *ppv = &This->IInternetProtocol_iface;
103  }else if(IsEqualGUID(&IID_IInternetProtocol, riid)) {
104  TRACE("(%p)->(IID_IInternetProtocol %p)\n", This, ppv);
105  *ppv = &This->IInternetProtocol_iface;
106  }else if(IsEqualGUID(&IID_IInternetPriority, riid)) {
107  TRACE("(%p)->(IID_IInternetPriority %p)\n", This, ppv);
108  *ppv = &This->IInternetPriority_iface;
109  }
110 
111  if(*ppv) {
112  IInternetProtocol_AddRef(iface);
113  return S_OK;
114  }
115 
116  WARN("not supported interface %s\n", debugstr_guid(riid));
117  return E_NOINTERFACE;
118 }
#define E_NOINTERFACE
Definition: winerror.h:2364
REFIID riid
Definition: precomp.h:44
#define WARN(fmt,...)
Definition: debug.h:111
REFIID LPVOID * ppv
Definition: atlbase.h:39
smooth NULL
Definition: ftsmooth.c:416
#define debugstr_guid
Definition: kernel32.h:35
#define TRACE(s)
Definition: solgame.cpp:4
const GUID IID_IUnknown
static GopherProtocol * impl_from_IInternetProtocol(IInternetProtocol *iface)
Definition: gopher.c:87
#define S_OK
Definition: intsafe.h:59
BOOL WINAPI IsEqualGUID(REFGUID rguid1, REFGUID rguid2)
Definition: compobj.c:4021

◆ GopherProtocol_Read()

static HRESULT WINAPI GopherProtocol_Read ( IInternetProtocol iface,
void pv,
ULONG  cb,
ULONG pcbRead 
)
static

Definition at line 209 of file gopher.c.

211 {
213 
214  TRACE("(%p)->(%p %u %p)\n", This, pv, cb, pcbRead);
215 
216  return protocol_read(&This->base, pv, cb, pcbRead);
217 }
#define TRACE(s)
Definition: solgame.cpp:4
static DWORD cb
Definition: integrity.c:41
static int protocol_read
Definition: htmldoc.c:205
static GopherProtocol * impl_from_IInternetProtocol(IInternetProtocol *iface)
Definition: gopher.c:87

◆ GopherProtocol_Release()

static ULONG WINAPI GopherProtocol_Release ( IInternetProtocol iface)
static

Definition at line 128 of file gopher.c.

129 {
132 
133  TRACE("(%p) ref=%d\n", This, ref);
134 
135  if(!ref) {
136  heap_free(This);
137 
139  }
140 
141  return ref;
142 }
Definition: send.c:47
long LONG
Definition: pedump.c:60
GLenum GLint ref
Definition: glext.h:6028
static void URLMON_UnlockModule(void)
Definition: urlmon_main.h:68
#define TRACE(s)
Definition: solgame.cpp:4
#define InterlockedDecrement
Definition: armddk.h:52
static GopherProtocol * impl_from_IInternetProtocol(IInternetProtocol *iface)
Definition: gopher.c:87
static BOOL heap_free(void *mem)
Definition: appwiz.h:75

◆ GopherProtocol_Resume()

static HRESULT WINAPI GopherProtocol_Resume ( IInternetProtocol iface)
static

Definition at line 202 of file gopher.c.

203 {
205  FIXME("(%p)\n", This);
206  return E_NOTIMPL;
207 }
#define FIXME(fmt,...)
Definition: debug.h:110
static GopherProtocol * impl_from_IInternetProtocol(IInternetProtocol *iface)
Definition: gopher.c:87
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ GopherProtocol_Seek()

static HRESULT WINAPI GopherProtocol_Seek ( IInternetProtocol iface,
LARGE_INTEGER  dlibMove,
DWORD  dwOrigin,
ULARGE_INTEGER plibNewPosition 
)
static

Definition at line 219 of file gopher.c.

221 {
223  FIXME("(%p)->(%d %d %p)\n", This, dlibMove.u.LowPart, dwOrigin, plibNewPosition);
224  return E_NOTIMPL;
225 }
#define FIXME(fmt,...)
Definition: debug.h:110
struct _LARGE_INTEGER::@2199 u
static GopherProtocol * impl_from_IInternetProtocol(IInternetProtocol *iface)
Definition: gopher.c:87
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ GopherProtocol_Start()

static HRESULT WINAPI GopherProtocol_Start ( IInternetProtocol iface,
LPCWSTR  szUrl,
IInternetProtocolSink pOIProtSink,
IInternetBindInfo pOIBindInfo,
DWORD  grfPI,
HANDLE_PTR  dwReserved 
)
static

Definition at line 144 of file gopher.c.

147 {
149  IUri *uri;
150  HRESULT hres;
151 
152  TRACE("(%p)->(%s %p %p %08x %lx)\n", This, debugstr_w(szUrl), pOIProtSink,
153  pOIBindInfo, grfPI, dwReserved);
154 
155  hres = CreateUri(szUrl, 0, 0, &uri);
156  if(FAILED(hres))
157  return hres;
158 
159  hres = protocol_start(&This->base, &This->IInternetProtocol_iface, uri, pOIProtSink,
160  pOIBindInfo);
161 
162  IUri_Release(uri);
163  return hres;
164 }
const char * uri
Definition: sec_mgr.c:1594
_In_ HANDLE _In_ DWORD _In_ DWORD _Inout_opt_ LPOVERLAPPED _In_opt_ LPTRANSMIT_FILE_BUFFERS _In_ DWORD dwReserved
Definition: mswsock.h:90
#define debugstr_w
Definition: kernel32.h:32
#define protocol_start(p, u, e)
Definition: protocol.c:303
#define TRACE(s)
Definition: solgame.cpp:4
HRESULT hres
Definition: protocol.c:465
LONG HRESULT
Definition: typedefs.h:77
static GopherProtocol * impl_from_IInternetProtocol(IInternetProtocol *iface)
Definition: gopher.c:87
HRESULT WINAPI CreateUri(LPCWSTR pwzURI, DWORD dwFlags, DWORD_PTR dwReserved, IUri **ppURI)
Definition: uri.c:5701

◆ GopherProtocol_start_downloading()

static HRESULT GopherProtocol_start_downloading ( Protocol prot)
static

Definition at line 65 of file gopher.c.

66 {
67  return S_OK;
68 }
#define S_OK
Definition: intsafe.h:59

◆ GopherProtocol_Suspend()

static HRESULT WINAPI GopherProtocol_Suspend ( IInternetProtocol iface)
static

Definition at line 195 of file gopher.c.

196 {
198  FIXME("(%p)\n", This);
199  return E_NOTIMPL;
200 }
#define FIXME(fmt,...)
Definition: debug.h:110
static GopherProtocol * impl_from_IInternetProtocol(IInternetProtocol *iface)
Definition: gopher.c:87
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ GopherProtocol_Terminate()

static HRESULT WINAPI GopherProtocol_Terminate ( IInternetProtocol iface,
DWORD  dwOptions 
)
static

Definition at line 185 of file gopher.c.

186 {
188 
189  TRACE("(%p)->(%08x)\n", This, dwOptions);
190 
192  return S_OK;
193 }
DWORD dwOptions
Definition: solitaire.cpp:23
void protocol_close_connection(Protocol *protocol)
Definition: protocol.c:531
#define TRACE(s)
Definition: solgame.cpp:4
static GopherProtocol * impl_from_IInternetProtocol(IInternetProtocol *iface)
Definition: gopher.c:87
#define S_OK
Definition: intsafe.h:59

◆ GopherProtocol_UnlockRequest()

static HRESULT WINAPI GopherProtocol_UnlockRequest ( IInternetProtocol iface)
static

Definition at line 236 of file gopher.c.

237 {
239 
240  TRACE("(%p)\n", This);
241 
242  return protocol_unlock_request(&This->base);
243 }
HRESULT protocol_unlock_request(Protocol *protocol)
Definition: protocol.c:506
#define TRACE(s)
Definition: solgame.cpp:4
static GopherProtocol * impl_from_IInternetProtocol(IInternetProtocol *iface)
Definition: gopher.c:87

◆ impl_from_IInternetPriority()

static GopherProtocol* impl_from_IInternetPriority ( IInternetPriority iface)
inlinestatic

Definition at line 261 of file gopher.c.

262 {
263  return CONTAINING_RECORD(iface, GopherProtocol, IInternetPriority_iface);
264 }
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
Definition: Messaging.c:560

Referenced by GopherPriority_AddRef(), GopherPriority_GetPriority(), GopherPriority_QueryInterface(), GopherPriority_Release(), and GopherPriority_SetPriority().

◆ impl_from_IInternetProtocol()

static GopherProtocol* impl_from_IInternetProtocol ( IInternetProtocol iface)
inlinestatic

Definition at line 87 of file gopher.c.

88 {
89  return CONTAINING_RECORD(iface, GopherProtocol, IInternetProtocol_iface);
90 }
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
Definition: Messaging.c:560

Referenced by GopherProtocol_Abort(), GopherProtocol_AddRef(), GopherProtocol_Continue(), GopherProtocol_LockRequest(), GopherProtocol_QueryInterface(), GopherProtocol_Read(), GopherProtocol_Release(), GopherProtocol_Resume(), GopherProtocol_Seek(), GopherProtocol_Start(), GopherProtocol_Suspend(), GopherProtocol_Terminate(), and GopherProtocol_UnlockRequest().

◆ impl_from_Protocol()

static GopherProtocol* impl_from_Protocol ( Protocol prot)
inlinestatic

Definition at line 33 of file gopher.c.

34 {
35  return CONTAINING_RECORD(prot, GopherProtocol, base);
36 }
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
Definition: Messaging.c:560

Referenced by GopherProtocol_open_request().

◆ WINE_DEFAULT_DEBUG_CHANNEL()

WINE_DEFAULT_DEBUG_CHANNEL ( urlmon  )

Variable Documentation

◆ AsyncProtocolVtbl

const ProtocolVtbl AsyncProtocolVtbl
static
Initial value:
= {
}
static void GopherProtocol_close_connection(Protocol *prot)
Definition: gopher.c:70
static HRESULT GopherProtocol_start_downloading(Protocol *prot)
Definition: gopher.c:65
static void GopherProtocol_on_error(Protocol *prot, DWORD error)
Definition: gopher.c:74
static HRESULT GopherProtocol_open_request(Protocol *prot, IUri *uri, DWORD request_flags, HINTERNET internet_session, IInternetBindInfo *bind_info)
Definition: gopher.c:38
static HRESULT GopherProtocol_end_request(Protocol *prot)
Definition: gopher.c:60

Definition at line 79 of file gopher.c.

Referenced by GopherProtocol_Construct().

◆ GopherPriorityVtbl

const IInternetPriorityVtbl GopherPriorityVtbl
static
Initial value:
= {
}
static ULONG WINAPI GopherPriority_Release(IInternetPriority *iface)
Definition: gopher.c:278
static HRESULT WINAPI GopherPriority_SetPriority(IInternetPriority *iface, LONG nPriority)
Definition: gopher.c:284
static HRESULT WINAPI GopherPriority_QueryInterface(IInternetPriority *iface, REFIID riid, void **ppv)
Definition: gopher.c:266
static ULONG WINAPI GopherPriority_AddRef(IInternetPriority *iface)
Definition: gopher.c:272
static HRESULT WINAPI GopherPriority_GetPriority(IInternetPriority *iface, LONG *pnPriority)
Definition: gopher.c:294

Definition at line 304 of file gopher.c.

Referenced by GopherProtocol_Construct().

◆ GopherProtocolVtbl

const IInternetProtocolVtbl GopherProtocolVtbl
static
Initial value:
= {
}
static HRESULT WINAPI GopherProtocol_Seek(IInternetProtocol *iface, LARGE_INTEGER dlibMove, DWORD dwOrigin, ULARGE_INTEGER *plibNewPosition)
Definition: gopher.c:219
static HRESULT WINAPI GopherProtocol_Resume(IInternetProtocol *iface)
Definition: gopher.c:202
static HRESULT WINAPI GopherProtocol_QueryInterface(IInternetProtocol *iface, REFIID riid, void **ppv)
Definition: gopher.c:92
static HRESULT WINAPI GopherProtocol_LockRequest(IInternetProtocol *iface, DWORD dwOptions)
Definition: gopher.c:227
static HRESULT WINAPI GopherProtocol_Start(IInternetProtocol *iface, LPCWSTR szUrl, IInternetProtocolSink *pOIProtSink, IInternetBindInfo *pOIBindInfo, DWORD grfPI, HANDLE_PTR dwReserved)
Definition: gopher.c:144
static HRESULT WINAPI GopherProtocol_UnlockRequest(IInternetProtocol *iface)
Definition: gopher.c:236
static HRESULT WINAPI GopherProtocol_Terminate(IInternetProtocol *iface, DWORD dwOptions)
Definition: gopher.c:185
static HRESULT WINAPI GopherProtocol_Continue(IInternetProtocol *iface, PROTOCOLDATA *pProtocolData)
Definition: gopher.c:166
static HRESULT WINAPI GopherProtocol_Suspend(IInternetProtocol *iface)
Definition: gopher.c:195
static HRESULT WINAPI GopherProtocol_Read(IInternetProtocol *iface, void *pv, ULONG cb, ULONG *pcbRead)
Definition: gopher.c:209
static ULONG WINAPI GopherProtocol_Release(IInternetProtocol *iface)
Definition: gopher.c:128
static HRESULT WINAPI GopherProtocol_Abort(IInternetProtocol *iface, HRESULT hrReason, DWORD dwOptions)
Definition: gopher.c:175
static ULONG WINAPI GopherProtocol_AddRef(IInternetProtocol *iface)
Definition: gopher.c:120

Definition at line 245 of file gopher.c.

Referenced by GopherProtocol_Construct().