ReactOS  0.4.15-dev-2776-g4130f0b
unknown.h
Go to the documentation of this file.
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
23 extern "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 
37 DEFINE_GUID(IID_IUnknown, 0x00000000, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46);
38 #if defined(__cplusplus) && _MSC_VER >= 1100
39  struct __declspec(uuid("00000000-0000-0000-C000-000000000046")) IUnknown;
40 #endif
41 
42 #undef INTERFACE
43 #define INTERFACE IUnknown
45 {
47  ( THIS_
48  IN REFIID,
49  OUT PVOID *
50  ) PURE;
51 
53  ( THIS
54  ) PURE;
55 
57  ( THIS
58  ) PURE;
59 };
60 #undef INTERFACE
61 
62 typedef IUnknown *PUNKNOWN;
63 typedef
64 HRESULT
66 (
68  IN REFCLSID ClassId,
69  IN PUNKNOWN OuterUnknown,
71 );
72 
73 #endif /* _UNKNOWN_H_ */
74 
#define HRESULT
Definition: msvc.h:7
#define IN
Definition: typedefs.h:39
#define REFIID
Definition: guiddef.h:118
#define THIS_
Definition: basetyps.h:65
#define THIS
Definition: basetyps.h:66
#define REFCLSID
Definition: guiddef.h:117
static HRESULT QueryInterface(REFIID, void **)
Definition: events.c:2587
struct _EXCEPTION_POINTERS *_CRTIMP __declspec(noreturn) void __cdecl terminate(void)
Definition: eh.h:27
IUnknown * PUNKNOWN
Definition: unknown.h:59
#define STDMETHOD(m)
Definition: basetyps.h:62
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
Definition: IoEaTest.cpp:117
DECLARE_INTERFACE(IUnknown)
Definition: unknown.h:44
INT POOL_TYPE
Definition: typedefs.h:78
const GUID IID_IUnknown
HRESULT(NTAPI * PFNCREATEINSTANCE)(OUT PUNKNOWN *Unknown, IN REFCLSID ClassId, IN PUNKNOWN OuterUnknown, IN POOL_TYPE PoolType)
Definition: unknown.h:66
DEFINE_GUID(IID_IUnknown, 0x00000000, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)
_In_ BOOLEAN Release
Definition: cdrom.h:920
#define PURE
Definition: basetyps.h:64
static ULONG WINAPI AddRef(IStream *iface)
Definition: clist.c:90
#define OUT
Definition: typedefs.h:40
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ _Strict_type_match_ POOL_TYPE PoolType
Definition: wdfdevice.h:3810
Definition: msctf.idl:510
unsigned int ULONG
Definition: retypes.h:1
#define STDMETHOD_(t, m)
Definition: basetyps.h:63