mirror of
https://github.com/reactos/reactos.git
synced 2024-07-20 03:16:12 +00:00
67 lines
1.6 KiB
C
67 lines
1.6 KiB
C
|
#ifndef ASYNC_INET
|
||
|
#define ASYNC_INET
|
||
|
|
||
|
|
||
|
enum ASYNC_EVENT
|
||
|
{
|
||
|
ASYNCINET_DATA, // wParam is the Data retrieved from the internet, lParam is the length of Data
|
||
|
|
||
|
ASYNCINET_COMPLETE, // wParam and lParam are not used.
|
||
|
// when receiving this, AsyncInet will be free soon and should not used anymore
|
||
|
|
||
|
ASYNCINET_CANCELLED, // wParam and lParam are not used.
|
||
|
// when receiving this, AsyncInet will be free soon and should not used anymore
|
||
|
|
||
|
ASYNCINET_ERROR // wParam is not used. lParam specify the error code (if there is one).
|
||
|
// when receiving this, AsyncInet will be free soon and should not used anymore
|
||
|
};
|
||
|
|
||
|
typedef struct __AsyncInet ASYNCINET, * pASYNCINET;
|
||
|
|
||
|
typedef int
|
||
|
(*ASYNCINET_CALLBACK)(
|
||
|
pASYNCINET AsyncInet,
|
||
|
ASYNC_EVENT Event,
|
||
|
WPARAM wParam,
|
||
|
LPARAM lParam,
|
||
|
VOID* Extension
|
||
|
);
|
||
|
|
||
|
typedef struct __AsyncInet
|
||
|
{
|
||
|
HINTERNET hInternet;
|
||
|
HINTERNET hInetFile;
|
||
|
|
||
|
HANDLE hEventHandleCreated;
|
||
|
|
||
|
UINT ReferenceCnt;
|
||
|
CRITICAL_SECTION CriticalSection;
|
||
|
HANDLE hEventHandleClose;
|
||
|
|
||
|
BOOL bIsOpenUrlComplete;
|
||
|
|
||
|
BOOL bCancelled;
|
||
|
|
||
|
BYTE ReadBuffer[4096];
|
||
|
DWORD BytesRead;
|
||
|
|
||
|
ASYNCINET_CALLBACK Callback;
|
||
|
VOID* Extension;
|
||
|
} ASYNCINET, * pASYNCINET;
|
||
|
|
||
|
pASYNCINET AsyncInetDownload(LPCWSTR lpszAgent,
|
||
|
DWORD dwAccessType,
|
||
|
LPCWSTR lpszProxy,
|
||
|
LPCWSTR lpszProxyBypass,
|
||
|
LPCWSTR lpszUrl,
|
||
|
BOOL bAllowCache,
|
||
|
ASYNCINET_CALLBACK Callback,
|
||
|
VOID* Extension
|
||
|
);
|
||
|
|
||
|
BOOL AsyncInetCancel(pASYNCINET AsyncInet);
|
||
|
|
||
|
VOID AsyncInetRelease(pASYNCINET AsyncInet);
|
||
|
|
||
|
#endif
|