[PATCH 4/4] httpapi: Implement HttpCreateHttpHandle().
Zebediah Figura
z.figura12 at gmail.com
Wed Aug 21 22:53:26 CDT 2019
Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
---
dlls/httpapi/httpapi_main.c | 18 +++++++++++++++---
dlls/httpapi/tests/httpapi.c | 2 +-
2 files changed, 16 insertions(+), 4 deletions(-)
diff --git a/dlls/httpapi/httpapi_main.c b/dlls/httpapi/httpapi_main.c
index 429ae1a1af..7a796f3d16 100644
--- a/dlls/httpapi/httpapi_main.c
+++ b/dlls/httpapi/httpapi_main.c
@@ -22,6 +22,7 @@
#include "windef.h"
#include "winbase.h"
+#include "winternl.h"
#include "http.h"
#include "wine/debug.h"
@@ -167,10 +168,21 @@ ULONG WINAPI HttpSetServiceConfiguration( HANDLE handle, HTTP_SERVICE_CONFIG_ID
* NO_ERROR if function succeeds, or error code if function fails
*
*/
-ULONG WINAPI HttpCreateHttpHandle( PHANDLE handle, ULONG reserved )
+ULONG WINAPI HttpCreateHttpHandle(HANDLE *handle, ULONG reserved)
{
- FIXME( "(%p, %d): stub!\n", handle, reserved);
- return ERROR_CALL_NOT_IMPLEMENTED;
+ OBJECT_ATTRIBUTES attr = {sizeof(attr)};
+ UNICODE_STRING string;
+ IO_STATUS_BLOCK iosb;
+
+ TRACE("handle %p, reserved %#x.\n", handle, reserved);
+
+ if (!handle)
+ return ERROR_INVALID_PARAMETER;
+
+ RtlInitUnicodeString(&string, L"\\Device\\Http\\ReqQueue");
+ attr.ObjectName = &string;
+ return RtlNtStatusToDosError(NtCreateFile(handle, 0, &attr, &iosb, NULL,
+ FILE_ATTRIBUTE_NORMAL, 0, FILE_OPEN, FILE_NON_DIRECTORY_FILE, NULL, 0));
}
/***********************************************************************
diff --git a/dlls/httpapi/tests/httpapi.c b/dlls/httpapi/tests/httpapi.c
index 6646e8e219..c30c380899 100644
--- a/dlls/httpapi/tests/httpapi.c
+++ b/dlls/httpapi/tests/httpapi.c
@@ -117,7 +117,7 @@ static void test_v1_server(void)
memset(req_buffer, 0xcc, sizeof(req_buffer));
ret = HttpCreateHttpHandle(NULL, 0);
- todo_wine ok(ret == ERROR_INVALID_PARAMETER, "Unexpected error %u.\n", ret);
+ ok(ret == ERROR_INVALID_PARAMETER, "Unexpected error %u.\n", ret);
/* Non-zero reserved parameter is accepted on XP/2k3. */
queue = NULL;
--
2.22.0
More information about the wine-devel
mailing list