[8/9] winhttp: Implement IWinHttpRequest::Abort.
Hans Leidekker
hans at codeweavers.com
Thu Jul 21 04:52:30 CDT 2011
---
dlls/winhttp/request.c | 24 ++++++++++++++++++++++--
1 files changed, 22 insertions(+), 2 deletions(-)
diff --git a/dlls/winhttp/request.c b/dlls/winhttp/request.c
index 446127a..b2ae81d 100644
--- a/dlls/winhttp/request.c
+++ b/dlls/winhttp/request.c
@@ -2770,8 +2770,28 @@ static HRESULT WINAPI winhttp_request_WaitForResponse(
static HRESULT WINAPI winhttp_request_Abort(
IWinHttpRequest *iface )
{
- FIXME("\n");
- return E_NOTIMPL;
+ struct winhttp_request *request = impl_from_IWinHttpRequest( iface );
+
+ TRACE("%p\n", request);
+
+ SetEvent( request->cancel );
+ WinHttpCloseHandle( request->hrequest );
+ WinHttpCloseHandle( request->hconnect );
+ WinHttpCloseHandle( request->hsession );
+ CloseHandle( request->wait );
+ CloseHandle( request->cancel );
+ heap_free( request->buffer );
+ request->state = REQUEST_STATE_INVALID;
+ request->hrequest = NULL;
+ request->hconnect = NULL;
+ request->hsession = NULL;
+ request->wait = NULL;
+ request->cancel = NULL;
+ request->buffer = NULL;
+ request->ptr = NULL;
+ request->bytes_available = 0;
+ request->bytes_read = 0;
+ return S_OK;
}
static HRESULT WINAPI winhttp_request_SetTimeouts(
--
1.7.4.1
More information about the wine-patches
mailing list