| /* |
| * unknown.h |
| * |
| * Contributors: |
| * Created by Magnus Olsen |
| * |
| * THIS SOFTWARE IS NOT COPYRIGHTED |
| * |
| * This source code is offered for use in the public domain. You may |
| * use, modify or distribute it freely. |
| * |
| * This code is distributed in the hope that it will be useful but |
| * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY |
| * DISCLAIMED. This includes but is not limited to warranties of |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
| * |
| */ |
| |
| #ifndef _UNKNOWN_H_ |
| #define _UNKNOWN_H_ |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #include <wdm.h> |
| } |
| #else |
| #include <wdm.h> |
| #endif |
| |
| #include <windef.h> |
| #define COM_NO_WINDOWS_H |
| #include <basetyps.h> |
| #ifdef PUT_GUIDS_HERE |
| #include <initguid.h> |
| #endif |
| |
| DEFINE_GUID(IID_IUnknown, 0x00000000, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46); |
| #if defined(__cplusplus) && _MSC_VER >= 1100 |
| struct __declspec(uuid("00000000-0000-0000-C000-000000000046")) IUnknown; |
| #endif |
| |
| #undef INTERFACE |
| #define INTERFACE IUnknown |
| DECLARE_INTERFACE(IUnknown) |
| { |
| STDMETHOD(QueryInterface) |
| ( THIS_ |
| REFIID, |
| PVOID* |
| ) PURE; |
| |
| STDMETHOD_(ULONG,AddRef) |
| ( THIS |
| ) PURE; |
| |
| STDMETHOD_(ULONG,Release) |
| ( THIS |
| ) PURE; |
| }; |
| #undef INTERFACE |
| |
| typedef IUnknown *PUNKNOWN; |
| typedef |
| HRESULT |
| (NTAPI *PFNCREATEINSTANCE) |
| ( |
| PUNKNOWN * Unknown, |
| REFCLSID ClassId, |
| PUNKNOWN OuterUnknown, |
| POOL_TYPE PoolType |
| ); |
| |
| #endif /* _UNKNOWN_H_ */ |
| |