source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/unknown.h@ 1194

Last change on this file since 1194 was 1166, checked in by rossy, 3 years ago

Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File size: 1.4 KB
Line 
1/*
2 * unknown.h
3 *
4 * Contributors:
5 * Created by Magnus Olsen
6 *
7 * THIS SOFTWARE IS NOT COPYRIGHTED
8 *
9 * This source code is offered for use in the public domain. You may
10 * use, modify or distribute it freely.
11 *
12 * This code is distributed in the hope that it will be useful but
13 * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
14 * DISCLAIMED. This includes but is not limited to warranties of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
16 *
17 */
18
19#ifndef _UNKNOWN_H_
20#define _UNKNOWN_H_
21
22#ifdef __cplusplus
23extern "C" {
24#include <wdm.h>
25}
26#else
27#include <wdm.h>
28#endif
29
30#include <windef.h>
31#define COM_NO_WINDOWS_H
32#include <basetyps.h>
33#ifdef PUT_GUIDS_HERE
34#include <initguid.h>
35#endif
36
37DEFINE_GUID(IID_IUnknown, 0x00000000, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46);
38#if defined(__cplusplus) && _MSC_VER >= 1100
39struct __declspec(uuid("00000000-0000-0000-C000-000000000046")) IUnknown;
40#endif
41
42#undef INTERFACE
43#define INTERFACE IUnknown
44DECLARE_INTERFACE(IUnknown)
45{
46 STDMETHOD(QueryInterface)
47 ( THIS_
48 REFIID,
49 PVOID*
50 ) PURE;
51
52 STDMETHOD_(ULONG,AddRef)
53 ( THIS
54 ) PURE;
55
56 STDMETHOD_(ULONG,Release)
57 ( THIS
58 ) PURE;
59};
60#undef INTERFACE
61
62typedef IUnknown *PUNKNOWN;
63typedef
64HRESULT
65(NTAPI *PFNCREATEINSTANCE)
66(
67 PUNKNOWN * Unknown,
68 REFCLSID ClassId,
69 PUNKNOWN OuterUnknown,
70 POOL_TYPE PoolType
71);
72
73#endif /* _UNKNOWN_H_ */
74
Note: See TracBrowser for help on using the repository browser.