From 7fa607574984b24d2ea6d4e81119cb771978da0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B3zef=20Kucia?= Date: Wed, 21 Sep 2016 12:57:24 +0200 Subject: [PATCH] include: Define IUnknown. --- include/unknown.idl | 56 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 include/unknown.idl diff --git a/include/unknown.idl b/include/unknown.idl new file mode 100644 index 00000000..13a8ec2b --- /dev/null +++ b/include/unknown.idl @@ -0,0 +1,56 @@ +/* + * Copyright 2016 Józef Kucia for CodeWeavers + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + */ + +cpp_quote("#ifndef __VKD3D_UNKNOWN_H") +cpp_quote("#define __VKD3D_UNKNOWN_H") + +/* For IDL only. */ +cpp_quote("#if 0") +typedef IID *REFIID; +typedef IID *REFGUID; +cpp_quote("#endif") + +cpp_quote("#if !defined(_WIN32)") +typedef struct LUID +{ + DWORD LowPart; + LONG HighPart; +} LUID; + +typedef struct _RECT +{ + LONG left; + LONG top; + LONG right; + LONG bottom; +} RECT; +cpp_quote("#endif") + +[uuid(00000000-0000-0000-C000-000000000046), object, local, pointer_default(unique)] +interface IUnknown +{ + HRESULT QueryInterface(REFIID riid, void **object); + ULONG AddRef(); + ULONG Release(); +}; + +cpp_quote("#endif /* __VKD3D_UNKNOWN_H */")