2 ReactOS Kernel-Mode COM
5 This file is in the public domain.
20 #define COM_NO_WINDOWS_H
28 /* ===============================================================
32 #ifndef __IUnknown_INTERFACE_DEFINED__
33 #define __IUnknown_INTERFACE_DEFINED__
36 0x00000000, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46);
39 #define INTERFACE IUnknown
41 DECLARE_INTERFACE(IUnknown
)
43 STDMETHOD_(NTSTATUS
, QueryInterface
)( THIS_
48 STDMETHOD_(ULONG
, AddRef
)( THIS
)
51 STDMETHOD_(ULONG
, Release
)( THIS
)
58 typedef IUnknown
*PUNKNOWN
;
61 /* ===============================================================
63 Boilerplate code macro for use in subclassed interfaces
66 #define DEFINE_ABSTRACT_UNKNOWN() \
67 STDMETHOD_(NTSTATUS, QueryInterface)( THIS_ \
72 STDMETHOD_(ULONG, AddRef)(THIS) \
75 STDMETHOD_(ULONG, Release)(THIS) \
79 /* ===============================================================
80 Constructor callback definition
83 typedef HRESULT (NTAPI
*PFNCREATEINSTANCE
)(
84 OUT PUNKNOWN
* Unknown
,
86 IN PUNKNOWN OuterUnknown
,
87 IN POOL_TYPE PoolType
);