ReactOS 0.4.17-dev-573-g8315b8c
file.c File Reference
#include "urlmon_main.h"
#include "winreg.h"
#include "shlwapi.h"
#include "wine/debug.h"
Include dependency graph for file.c:

Go to the source code of this file.

Classes

class  FileProtocol
 

Functions

 WINE_DEFAULT_DEBUG_CHANNEL (urlmon)
 
static FileProtocolimpl_from_IUnknown (IUnknown *iface)
 
static FileProtocolimpl_from_IInternetProtocolEx (IInternetProtocolEx *iface)
 
static FileProtocolimpl_from_IInternetPriority (IInternetPriority *iface)
 
static HRESULT WINAPI FileProtocolUnk_QueryInterface (IUnknown *iface, REFIID riid, void **ppv)
 
static ULONG WINAPI FileProtocolUnk_AddRef (IUnknown *iface)
 
static ULONG WINAPI FileProtocolUnk_Release (IUnknown *iface)
 
static HRESULT WINAPI FileProtocol_QueryInterface (IInternetProtocolEx *iface, REFIID riid, void **ppv)
 
static ULONG WINAPI FileProtocol_AddRef (IInternetProtocolEx *iface)
 
static ULONG WINAPI FileProtocol_Release (IInternetProtocolEx *iface)
 
static HRESULT WINAPI FileProtocol_Start (IInternetProtocolEx *iface, LPCWSTR szUrl, IInternetProtocolSink *pOIProtSink, IInternetBindInfo *pOIBindInfo, DWORD grfPI, HANDLE_PTR dwReserved)
 
static HRESULT WINAPI FileProtocol_Continue (IInternetProtocolEx *iface, PROTOCOLDATA *pProtocolData)
 
static HRESULT WINAPI FileProtocol_Abort (IInternetProtocolEx *iface, HRESULT hrReason, DWORD dwOptions)
 
static HRESULT WINAPI FileProtocol_Terminate (IInternetProtocolEx *iface, DWORD dwOptions)
 
static HRESULT WINAPI FileProtocol_Suspend (IInternetProtocolEx *iface)
 
static HRESULT WINAPI FileProtocol_Resume (IInternetProtocolEx *iface)
 
static HRESULT WINAPI FileProtocol_Read (IInternetProtocolEx *iface, void *pv, ULONG cb, ULONG *pcbRead)
 
static HRESULT WINAPI FileProtocol_Seek (IInternetProtocolEx *iface, LARGE_INTEGER dlibMove, DWORD dwOrigin, ULARGE_INTEGER *plibNewPosition)
 
static HRESULT WINAPI FileProtocol_LockRequest (IInternetProtocolEx *iface, DWORD dwOptions)
 
static HRESULT WINAPI FileProtocol_UnlockRequest (IInternetProtocolEx *iface)
 
static HRESULT report_result (IInternetProtocolSink *protocol_sink, HRESULT hres, DWORD res)
 
static HRESULT WINAPI FileProtocol_StartEx (IInternetProtocolEx *iface, IUri *pUri, IInternetProtocolSink *pOIProtSink, IInternetBindInfo *pOIBindInfo, DWORD grfPI, HANDLE *dwReserved)
 
static HRESULT WINAPI FilePriority_QueryInterface (IInternetPriority *iface, REFIID riid, void **ppv)
 
static ULONG WINAPI FilePriority_AddRef (IInternetPriority *iface)
 
static ULONG WINAPI FilePriority_Release (IInternetPriority *iface)
 
static HRESULT WINAPI FilePriority_SetPriority (IInternetPriority *iface, LONG nPriority)
 
static HRESULT WINAPI FilePriority_GetPriority (IInternetPriority *iface, LONG *pnPriority)
 
HRESULT FileProtocol_Construct (IUnknown *outer, LPVOID *ppobj)
 

Variables

static const IUnknownVtbl FileProtocolUnkVtbl
 
static const IInternetProtocolExVtbl FileProtocolExVtbl
 
static const IInternetPriorityVtbl FilePriorityVtbl
 

Function Documentation

◆ FilePriority_AddRef()

static ULONG WINAPI FilePriority_AddRef ( IInternetPriority iface)
static

Definition at line 380 of file file.c.

381{
383 return IInternetProtocolEx_AddRef(&This->IInternetProtocolEx_iface);
384}
static FileProtocol * impl_from_IInternetPriority(IInternetPriority *iface)
Definition: file.c:51

◆ FilePriority_GetPriority()

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

Definition at line 402 of file file.c.

403{
405
406 TRACE("(%p)->(%p)\n", This, pnPriority);
407
408 *pnPriority = This->priority;
409 return S_OK;
410}
#define S_OK
Definition: intsafe.h:52
#define TRACE(s)
Definition: solgame.cpp:4

◆ FilePriority_QueryInterface()

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

Definition at line 373 of file file.c.

375{
377 return IInternetProtocolEx_QueryInterface(&This->IInternetProtocolEx_iface, riid, ppv);
378}
REFIID riid
Definition: atlbase.h:39
REFIID LPVOID * ppv
Definition: atlbase.h:39

◆ FilePriority_Release()

static ULONG WINAPI FilePriority_Release ( IInternetPriority iface)
static

Definition at line 386 of file file.c.

387{
389 return IInternetProtocolEx_Release(&This->IInternetProtocolEx_iface);
390}

◆ FilePriority_SetPriority()

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

Definition at line 392 of file file.c.

393{
395
396 TRACE("(%p)->(%ld)\n", This, nPriority);
397
398 This->priority = nPriority;
399 return S_OK;
400}

◆ FileProtocol_Abort()

static HRESULT WINAPI FileProtocol_Abort ( IInternetProtocolEx iface,
HRESULT  hrReason,
DWORD  dwOptions 
)
static

Definition at line 169 of file file.c.

171{
173 FIXME("(%p)->(%08lx %08lx)\n", This, hrReason, dwOptions);
174 return E_NOTIMPL;
175}
#define FIXME(fmt,...)
Definition: precomp.h:53
#define E_NOTIMPL
Definition: ddrawi.h:99
static FileProtocol * impl_from_IInternetProtocolEx(IInternetProtocolEx *iface)
Definition: file.c:46
DWORD dwOptions
Definition: solitaire.cpp:25

◆ FileProtocol_AddRef()

static ULONG WINAPI FileProtocol_AddRef ( IInternetProtocolEx iface)
static

Definition at line 126 of file file.c.

127{
129 TRACE("(%p)\n", This);
130 return IUnknown_AddRef(This->outer);
131}

◆ FileProtocol_Construct()

HRESULT FileProtocol_Construct ( IUnknown outer,
LPVOID ppobj 
)

Definition at line 420 of file file.c.

421{
423
424 TRACE("(%p %p)\n", outer, ppobj);
425
427
428 ret = malloc(sizeof(FileProtocol));
429
430 ret->IUnknown_inner.lpVtbl = &FileProtocolUnkVtbl;
431 ret->IInternetProtocolEx_iface.lpVtbl = &FileProtocolExVtbl;
432 ret->IInternetPriority_iface.lpVtbl = &FilePriorityVtbl;
434 ret->priority = 0;
435 ret->ref = 1;
436 ret->outer = outer ? outer : &ret->IUnknown_inner;
437
438 *ppobj = &ret->IUnknown_inner;
439 return S_OK;
440}
#define malloc
Definition: debug_ros.c:4
#define INVALID_HANDLE_VALUE
Definition: compat.h:731
static const IUnknownVtbl FileProtocolUnkVtbl
Definition: file.c:113
static const IInternetPriorityVtbl FilePriorityVtbl
Definition: file.c:412
static const IInternetProtocolExVtbl FileProtocolExVtbl
Definition: file.c:356
return ret
Definition: mutex.c:146
static IUnknown * outer
Definition: compobj.c:82
static void URLMON_LockModule(void)
Definition: urlmon_main.h:64

◆ FileProtocol_Continue()

static HRESULT WINAPI FileProtocol_Continue ( IInternetProtocolEx iface,
PROTOCOLDATA *  pProtocolData 
)
static

Definition at line 162 of file file.c.

163{
165 FIXME("(%p)->(%p)\n", This, pProtocolData);
166 return E_NOTIMPL;
167}

◆ FileProtocol_LockRequest()

static HRESULT WINAPI FileProtocol_LockRequest ( IInternetProtocolEx iface,
DWORD  dwOptions 
)
static

Definition at line 231 of file file.c.

232{
234
235 TRACE("(%p)->(%08lx)\n", This, dwOptions);
236
237 return S_OK;
238}

◆ FileProtocol_QueryInterface()

static HRESULT WINAPI FileProtocol_QueryInterface ( IInternetProtocolEx iface,
REFIID  riid,
void **  ppv 
)
static

Definition at line 119 of file file.c.

120{
122 TRACE("(%p)->(%s %p)\n", This, debugstr_guid(riid), ppv);
123 return IUnknown_QueryInterface(This->outer, riid, ppv);
124}
#define debugstr_guid
Definition: kernel32.h:35

◆ FileProtocol_Read()

static HRESULT WINAPI FileProtocol_Read ( IInternetProtocolEx iface,
void pv,
ULONG  cb,
ULONG pcbRead 
)
static

Definition at line 200 of file file.c.

202{
204 DWORD read = 0;
205
206 TRACE("(%p)->(%p %lu %p)\n", This, pv, cb, pcbRead);
207
208 if (pcbRead)
209 *pcbRead = 0;
210
211 if(This->file == INVALID_HANDLE_VALUE)
213
214 if (!ReadFile(This->file, pv, cb, &read, NULL))
216
217 if(pcbRead)
218 *pcbRead = read;
219
220 return cb == read ? S_OK : S_FALSE;
221}
#define read
Definition: acwin.h:97
#define NULL
Definition: types.h:112
#define ReadFile(a, b, c, d, e)
Definition: compat.h:742
static MonoProfilerRuntimeShutdownBeginCallback cb
Definition: metahost.c:118
unsigned long DWORD
Definition: ntddk_ex.h:95
#define INET_E_DATA_NOT_AVAILABLE
Definition: winerror.h:4657
#define S_FALSE
Definition: winerror.h:3451
#define INET_E_DOWNLOAD_FAILURE
Definition: winerror.h:4658

◆ FileProtocol_Release()

static ULONG WINAPI FileProtocol_Release ( IInternetProtocolEx iface)
static

Definition at line 133 of file file.c.

134{
136 TRACE("(%p)\n", This);
137 return IUnknown_Release(This->outer);
138}

◆ FileProtocol_Resume()

static HRESULT WINAPI FileProtocol_Resume ( IInternetProtocolEx iface)
static

Definition at line 193 of file file.c.

194{
196 FIXME("(%p)\n", This);
197 return E_NOTIMPL;
198}

◆ FileProtocol_Seek()

static HRESULT WINAPI FileProtocol_Seek ( IInternetProtocolEx iface,
LARGE_INTEGER  dlibMove,
DWORD  dwOrigin,
ULARGE_INTEGER plibNewPosition 
)
static

Definition at line 223 of file file.c.

225{
227 FIXME("(%p)->(%ld %ld %p)\n", This, dlibMove.u.LowPart, dwOrigin, plibNewPosition);
228 return E_NOTIMPL;
229}
struct _LARGE_INTEGER::@2527 u

◆ FileProtocol_Start()

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

Definition at line 140 of file file.c.

143{
145 IUri *uri;
147
148 TRACE("(%p)->(%s %p %p %08lx %Ix)\n", This, debugstr_w(szUrl), pOIProtSink,
149 pOIBindInfo, grfPI, dwReserved);
150
151 hres = CreateUri(szUrl, Uri_CREATE_FILE_USE_DOS_PATH, 0, &uri);
152 if(FAILED(hres))
153 return hres;
154
155 hres = IInternetProtocolEx_StartEx(&This->IInternetProtocolEx_iface, uri, pOIProtSink,
156 pOIBindInfo, grfPI, (HANDLE*)dwReserved);
157
158 IUri_Release(uri);
159 return hres;
160}
HRESULT WINAPI CreateUri(LPCWSTR pwzURI, DWORD dwFlags, DWORD_PTR dwReserved, IUri **ppURI)
Definition: uri.c:5382
#define FAILED(hr)
Definition: intsafe.h:51
#define debugstr_w
Definition: kernel32.h:32
HRESULT hres
Definition: protocol.c:465
const WCHAR * uri
Definition: sec_mgr.c:1564
_In_ HANDLE _In_ DWORD _In_ DWORD _Inout_opt_ LPOVERLAPPED _In_opt_ LPTRANSMIT_FILE_BUFFERS _In_ DWORD dwReserved
Definition: mswsock.h:95

◆ FileProtocol_StartEx()

static HRESULT WINAPI FileProtocol_StartEx ( IInternetProtocolEx iface,
IUri pUri,
IInternetProtocolSink pOIProtSink,
IInternetBindInfo pOIBindInfo,
DWORD  grfPI,
HANDLE dwReserved 
)
static

Definition at line 255 of file file.c.

258{
263 BINDINFO bindinfo;
264 DWORD grfBINDF = 0;
266 LPWSTR mime = NULL;
267 BSTR ext;
269
270 TRACE("(%p)->(%p %p %p %08lx %p)\n", This, pUri, pOIProtSink,
271 pOIBindInfo, grfPI, dwReserved);
272
273 if(!pUri)
274 return E_INVALIDARG;
275
276 scheme = 0;
277 hres = IUri_GetScheme(pUri, &scheme);
278 if(FAILED(hres))
279 return hres;
281 return E_INVALIDARG;
282
283 memset(&bindinfo, 0, sizeof(bindinfo));
284 bindinfo.cbSize = sizeof(BINDINFO);
285 hres = IInternetBindInfo_GetBindInfo(pOIBindInfo, &grfBINDF, &bindinfo);
286 if(FAILED(hres)) {
287 WARN("GetBindInfo failed: %08lx\n", hres);
288 return hres;
289 }
290
291 ReleaseBindInfo(&bindinfo);
292
293 if(!(grfBINDF & BINDF_FROMURLMON))
294 IInternetProtocolSink_ReportProgress(pOIProtSink, BINDSTATUS_DIRECTBIND, NULL);
295
296 if(This->file != INVALID_HANDLE_VALUE) {
297 IInternetProtocolSink_ReportData(pOIProtSink,
298 BSCF_FIRSTDATANOTIFICATION|BSCF_LASTDATANOTIFICATION,
299 This->size, This->size);
300 return S_OK;
301 }
302
303 IInternetProtocolSink_ReportProgress(pOIProtSink, BINDSTATUS_SENDINGREQUEST, L"");
304
305 size = 0;
306 hres = CoInternetParseIUri(pUri, PARSE_PATH_FROM_URL, 0, path, ARRAY_SIZE(path), &size, 0);
307 if(FAILED(hres)) {
308 WARN("CoInternetParseIUri failed: %08lx\n", hres);
309 return report_result(pOIProtSink, hres, 0);
310 }
311
314 if(file_handle == INVALID_HANDLE_VALUE && (ptr = wcsrchr(path, '#'))) {
315 /* If path contains fragment part, try without it. */
316 *ptr = 0;
319 }
322
326 }
327
328 This->file = file_handle;
329 This->size = file_size.u.LowPart;
330 IInternetProtocolSink_ReportProgress(pOIProtSink, BINDSTATUS_CACHEFILENAMEAVAILABLE, path);
331
332 hres = IUri_GetExtension(pUri, &ext);
333 if(SUCCEEDED(hres)) {
334 if(hres == S_OK && *ext) {
335 if((ptr = wcschr(ext, '#')))
336 *ptr = 0;
338 if(SUCCEEDED(hres)) {
339 IInternetProtocolSink_ReportProgress(pOIProtSink,
340 (grfBINDF & BINDF_FROMURLMON) ?
341 BINDSTATUS_VERIFIEDMIMETYPEAVAILABLE : BINDSTATUS_MIMETYPEAVAILABLE,
342 mime);
344 }
345 }
347 }
348
349 IInternetProtocolSink_ReportData(pOIProtSink,
350 BSCF_FIRSTDATANOTIFICATION|BSCF_LASTDATANOTIFICATION,
351 This->size, This->size);
352
353 return report_result(pOIProtSink, S_OK, 0);
354}
#define ARRAY_SIZE(A)
Definition: main.h:20
#define WARN(fmt,...)
Definition: precomp.h:61
#define E_INVALIDARG
Definition: ddrawi.h:101
void WINAPI CoTaskMemFree(void *ptr)
Definition: malloc.c:389
#define CloseHandle
Definition: compat.h:739
#define wcschr
Definition: compat.h:17
#define wcsrchr
Definition: compat.h:16
#define OPEN_EXISTING
Definition: compat.h:775
OLECHAR * BSTR
Definition: compat.h:2293
#define GENERIC_READ
Definition: compat.h:135
#define MAX_PATH
Definition: compat.h:34
#define CreateFileW
Definition: compat.h:741
#define GetFileSizeEx
Definition: compat.h:757
#define FILE_ATTRIBUTE_NORMAL
Definition: compat.h:137
#define FILE_SHARE_READ
Definition: compat.h:136
static const WCHAR *const ext[]
Definition: module.c:53
static HRESULT report_result(IInternetProtocolSink *protocol_sink, HRESULT hres, DWORD res)
Definition: file.c:249
HRESULT WINAPI CoInternetParseIUri(IUri *pIUri, PARSEACTION ParseAction, DWORD dwFlags, LPWSTR pwzResult, DWORD cchResult, DWORD *pcchResult, DWORD_PTR dwReserved)
Definition: uri.c:6927
#define L(x)
Definition: resources.c:13
GLsizeiptr size
Definition: glext.h:5919
#define SUCCEEDED(hr)
Definition: intsafe.h:50
HRESULT find_mime_from_ext(const WCHAR *ext, WCHAR **ret)
Definition: mimefilter.c:425
const WCHAR * mime
Definition: mimefilter.c:487
static PVOID ptr
Definition: dispmode.c:27
void WINAPI DECLSPEC_HOTPATCH SysFreeString(BSTR str)
Definition: oleaut.c:273
short WCHAR
Definition: pedump.c:58
@ URL_SCHEME_FILE
Definition: shlwapi.h:553
static unsigned int file_size
Definition: regtests2xml.c:47
static FILE * file_handle
Definition: regtests2xml.c:45
DWORD scheme
#define memset(x, y, z)
Definition: compat.h:39
uint16_t * LPWSTR
Definition: typedefs.h:56
void WINAPI ReleaseBindInfo(BINDINFO *pbindinfo)
Definition: urlmon_main.c:561
DWORD WINAPI GetLastError(void)
Definition: except.c:1042
#define INET_E_RESOURCE_NOT_FOUND
Definition: winerror.h:4655

◆ FileProtocol_Suspend()

static HRESULT WINAPI FileProtocol_Suspend ( IInternetProtocolEx iface)
static

Definition at line 186 of file file.c.

187{
189 FIXME("(%p)\n", This);
190 return E_NOTIMPL;
191}

◆ FileProtocol_Terminate()

static HRESULT WINAPI FileProtocol_Terminate ( IInternetProtocolEx iface,
DWORD  dwOptions 
)
static

Definition at line 177 of file file.c.

178{
180
181 TRACE("(%p)->(%08lx)\n", This, dwOptions);
182
183 return S_OK;
184}

◆ FileProtocol_UnlockRequest()

static HRESULT WINAPI FileProtocol_UnlockRequest ( IInternetProtocolEx iface)
static

Definition at line 240 of file file.c.

241{
243
244 TRACE("(%p)\n", This);
245
246 return S_OK;
247}

◆ FileProtocolUnk_AddRef()

static ULONG WINAPI FileProtocolUnk_AddRef ( IUnknown iface)
static

Definition at line 87 of file file.c.

88{
91 TRACE("(%p) ref=%ld\n", This, ref);
92 return ref;
93}
#define InterlockedIncrement
Definition: armddk.h:53
static FileProtocol * impl_from_IUnknown(IUnknown *iface)
Definition: file.c:41
long LONG
Definition: pedump.c:60
Definition: send.c:48

◆ FileProtocolUnk_QueryInterface()

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

Definition at line 56 of file file.c.

57{
59
60 *ppv = NULL;
62 TRACE("(%p)->(IID_IUnknown %p)\n", This, ppv);
63 *ppv = &This->IUnknown_inner;
64 }else if(IsEqualGUID(&IID_IInternetProtocolRoot, riid)) {
65 TRACE("(%p)->(IID_IInternetProtocolRoot %p)\n", This, ppv);
66 *ppv = &This->IInternetProtocolEx_iface;
67 }else if(IsEqualGUID(&IID_IInternetProtocol, riid)) {
68 TRACE("(%p)->(IID_IInternetProtocol %p)\n", This, ppv);
69 *ppv = &This->IInternetProtocolEx_iface;
70 }else if(IsEqualGUID(&IID_IInternetProtocolEx, riid)) {
71 TRACE("(%p)->(IID_IInternetProtocolEx %p)\n", This, ppv);
72 *ppv = &This->IInternetProtocolEx_iface;
73 }else if(IsEqualGUID(&IID_IInternetPriority, riid)) {
74 TRACE("(%p)->(IID_IInternetPriority %p)\n", This, ppv);
75 *ppv = &This->IInternetPriority_iface;
76 }
77
78 if(*ppv) {
79 IUnknown_AddRef((IUnknown*)*ppv);
80 return S_OK;
81 }
82
83 WARN("not supported interface %s\n", debugstr_guid(riid));
84 return E_NOINTERFACE;
85}
const GUID IID_IUnknown
#define IsEqualGUID(rguid1, rguid2)
Definition: guiddef.h:147
#define E_NOINTERFACE
Definition: winerror.h:3479

◆ FileProtocolUnk_Release()

static ULONG WINAPI FileProtocolUnk_Release ( IUnknown iface)
static

Definition at line 95 of file file.c.

96{
99
100 TRACE("(%p) ref=%ld\n", This, ref);
101
102 if(!ref) {
103 if(This->file != INVALID_HANDLE_VALUE)
104 CloseHandle(This->file);
105 free(This);
106
108 }
109
110 return ref;
111}
#define InterlockedDecrement
Definition: armddk.h:52
#define free
Definition: debug_ros.c:5
static void URLMON_UnlockModule(void)
Definition: urlmon_main.h:65

◆ impl_from_IInternetPriority()

static FileProtocol * impl_from_IInternetPriority ( IInternetPriority iface)
inlinestatic

Definition at line 51 of file file.c.

52{
53 return CONTAINING_RECORD(iface, FileProtocol, IInternetPriority_iface);
54}
#define CONTAINING_RECORD(address, type, field)
Definition: typedefs.h:260

Referenced by FilePriority_AddRef(), FilePriority_GetPriority(), FilePriority_QueryInterface(), FilePriority_Release(), and FilePriority_SetPriority().

◆ impl_from_IInternetProtocolEx()

◆ impl_from_IUnknown()

static FileProtocol * impl_from_IUnknown ( IUnknown iface)
inlinestatic

Definition at line 41 of file file.c.

42{
43 return CONTAINING_RECORD(iface, FileProtocol, IUnknown_inner);
44}

Referenced by FileProtocolUnk_AddRef(), FileProtocolUnk_QueryInterface(), and FileProtocolUnk_Release().

◆ report_result()

static HRESULT report_result ( IInternetProtocolSink protocol_sink,
HRESULT  hres,
DWORD  res 
)
inlinestatic

Definition at line 249 of file file.c.

250{
251 IInternetProtocolSink_ReportResult(protocol_sink, hres, res, NULL);
252 return hres;
253}
GLuint res
Definition: glext.h:9613
static IInternetProtocolSink protocol_sink
Definition: mimeole.c:1384

Referenced by FileProtocol_StartEx().

◆ WINE_DEFAULT_DEBUG_CHANNEL()

WINE_DEFAULT_DEBUG_CHANNEL ( urlmon  )

Variable Documentation

◆ FilePriorityVtbl

const IInternetPriorityVtbl FilePriorityVtbl
static
Initial value:
= {
}
static HRESULT WINAPI FilePriority_QueryInterface(IInternetPriority *iface, REFIID riid, void **ppv)
Definition: file.c:373
static ULONG WINAPI FilePriority_AddRef(IInternetPriority *iface)
Definition: file.c:380
static HRESULT WINAPI FilePriority_SetPriority(IInternetPriority *iface, LONG nPriority)
Definition: file.c:392
static HRESULT WINAPI FilePriority_GetPriority(IInternetPriority *iface, LONG *pnPriority)
Definition: file.c:402
static ULONG WINAPI FilePriority_Release(IInternetPriority *iface)
Definition: file.c:386

Definition at line 412 of file file.c.

Referenced by FileProtocol_Construct().

◆ FileProtocolExVtbl

const IInternetProtocolExVtbl FileProtocolExVtbl
static
Initial value:
= {
}
static HRESULT WINAPI FileProtocol_Resume(IInternetProtocolEx *iface)
Definition: file.c:193
static HRESULT WINAPI FileProtocol_Suspend(IInternetProtocolEx *iface)
Definition: file.c:186
static HRESULT WINAPI FileProtocol_Start(IInternetProtocolEx *iface, LPCWSTR szUrl, IInternetProtocolSink *pOIProtSink, IInternetBindInfo *pOIBindInfo, DWORD grfPI, HANDLE_PTR dwReserved)
Definition: file.c:140
static HRESULT WINAPI FileProtocol_Continue(IInternetProtocolEx *iface, PROTOCOLDATA *pProtocolData)
Definition: file.c:162
static HRESULT WINAPI FileProtocol_Read(IInternetProtocolEx *iface, void *pv, ULONG cb, ULONG *pcbRead)
Definition: file.c:200
static HRESULT WINAPI FileProtocol_LockRequest(IInternetProtocolEx *iface, DWORD dwOptions)
Definition: file.c:231
static HRESULT WINAPI FileProtocol_QueryInterface(IInternetProtocolEx *iface, REFIID riid, void **ppv)
Definition: file.c:119
static HRESULT WINAPI FileProtocol_Terminate(IInternetProtocolEx *iface, DWORD dwOptions)
Definition: file.c:177
static HRESULT WINAPI FileProtocol_Abort(IInternetProtocolEx *iface, HRESULT hrReason, DWORD dwOptions)
Definition: file.c:169
static ULONG WINAPI FileProtocol_AddRef(IInternetProtocolEx *iface)
Definition: file.c:126
static HRESULT WINAPI FileProtocol_Seek(IInternetProtocolEx *iface, LARGE_INTEGER dlibMove, DWORD dwOrigin, ULARGE_INTEGER *plibNewPosition)
Definition: file.c:223
static ULONG WINAPI FileProtocol_Release(IInternetProtocolEx *iface)
Definition: file.c:133
static HRESULT WINAPI FileProtocol_StartEx(IInternetProtocolEx *iface, IUri *pUri, IInternetProtocolSink *pOIProtSink, IInternetBindInfo *pOIBindInfo, DWORD grfPI, HANDLE *dwReserved)
Definition: file.c:255
static HRESULT WINAPI FileProtocol_UnlockRequest(IInternetProtocolEx *iface)
Definition: file.c:240

Definition at line 356 of file file.c.

Referenced by FileProtocol_Construct().

◆ FileProtocolUnkVtbl

const IUnknownVtbl FileProtocolUnkVtbl
static
Initial value:
= {
}
static ULONG WINAPI FileProtocolUnk_AddRef(IUnknown *iface)
Definition: file.c:87
static ULONG WINAPI FileProtocolUnk_Release(IUnknown *iface)
Definition: file.c:95
static HRESULT WINAPI FileProtocolUnk_QueryInterface(IUnknown *iface, REFIID riid, void **ppv)
Definition: file.c:56

Definition at line 113 of file file.c.

Referenced by FileProtocol_Construct().