Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers...
[reactos.git] / reactos / sdk / include / ddk / stdunk.h
diff --git a/reactos/sdk/include/ddk/stdunk.h b/reactos/sdk/include/ddk/stdunk.h
deleted file mode 100644 (file)
index 67ce3d8..0000000
+++ /dev/null
@@ -1,222 +0,0 @@
-/*
-    ReactOS Kernel-Mode COM
-    IUnknown implementations
-
-    This file is in the public domain.
-
-    AUTHORS
-        Andrew Greenwood
-*/
-
-#ifndef STDUNK_H
-#define STDUNK_H
-
-#include <punknown.h>
-
-/* ===============================================================
-    INonDelegatingUnknown interface
-*/
-
-DECLARE_INTERFACE(INonDelegatingUnknown)
-{
-    STDMETHOD_(NTSTATUS, NonDelegatingQueryInterface)( THIS_
-        IN  REFIID,
-        OUT PVOID*) PURE;
-
-    STDMETHOD_(ULONG, NonDelegatingAddRef)( THIS ) PURE;
-    STDMETHOD_(ULONG, NonDelegatingRelease)( THIS ) PURE;
-};
-
-typedef INonDelegatingUnknown *PNONDELEGATINGUNKNOWN;
-
-
-/* ===============================================================
-    CUnknown declaration / definition
-
-    There are 2 variants for this, and I'm not sure if the C
-    version is correct.
-*/
-
-#ifdef __cplusplus
-
-class CUnknown : public INonDelegatingUnknown
-{
-    private :
-        LONG m_ref_count;
-        PUNKNOWN m_outer_unknown;
-
-    public :
-        /* CUnknown */
-        CUnknown(PUNKNOWN pUnknownOuter);
-        virtual ~CUnknown();
-
-        PUNKNOWN GetOuterUnknown()
-        { return m_outer_unknown; }
-
-        /* INonDelegatingUnknown */
-        STDMETHODIMP_(ULONG) NonDelegatingAddRef();
-        STDMETHODIMP_(ULONG) NonDelegatingRelease();
-
-        STDMETHODIMP_(NTSTATUS) NonDelegatingQueryInterface(
-            REFIID  rIID,
-            PVOID* ppVoid);
-};
-
-#define DECLARE_STD_UNKNOWN() \
-    STDMETHODIMP_(NTSTATUS) NonDelegatingQueryInterface( \
-        REFIID iid, \
-        PVOID* ppvObject); \
-\
-    STDMETHODIMP_(NTSTATUS) QueryInterface( \
-        REFIID riid, \
-        void** ppv) \
-    { \
-        return GetOuterUnknown()->QueryInterface(riid, ppv); \
-    } \
-\
-    STDMETHODIMP_(ULONG) AddRef() \
-    { \
-        return GetOuterUnknown()->AddRef(); \
-    } \
-\
-    STDMETHODIMP_(ULONG) Release() \
-    { \
-        return GetOuterUnknown()->Release(); \
-    }
-
-#define DEFINE_STD_CONSTRUCTOR(classname) \
-    classname(PUNKNOWN outer_unknown) \
-    : CUnknown(outer_unknown) \
-    { }
-
-#else   /* Not C++ - this is probably very buggy... */
-
-NTSTATUS
-STDMETHODCALLTYPE
-Unknown_QueryInterface(
-    IUnknown* this,
-    IN  REFIID refiid,
-    OUT PVOID* output);
-
-ULONG
-STDMETHODCALLTYPE
-Unknown_AddRef(
-    IUnknown* unknown_this);
-
-ULONG
-STDMETHODCALLTYPE
-Unknown_Release(
-    IUnknown* unknown_this);
-
-typedef struct CUnknown
-{
-    __GNU_EXTENSION union
-    {
-        IUnknown IUnknown;
-        INonDelegatingUnknown INonDelegatingUnknown;
-    };
-
-    LONG m_ref_count;
-    PUNKNOWN m_outer_unknown;
-} CUnknown;
-
-#endif  /* __cplusplus */
-
-
-
-#ifdef __cplusplus
-
-
-/* ===============================================================
-    Construction helpers
-*/
-
-#define QICAST(typename) \
-    PVOID( (typename) (this) )
-
-#define QICASTUNKNOWN(typename) \
-    PVOID( PUNKNOWN( (typename) (this) ) )
-
-#define STD_CREATE_BODY_WITH_TAG_(classname, unknown, outer_unknown, pool_type, tag, base) \
-    classname *new_ptr = new(pool_type, tag) classname(outer_unknown); \
-\
-    if ( ! new_ptr ) \
-        return STATUS_INSUFFICIENT_RESOURCES; \
-\
-    *unknown = PUNKNOWN((base)(new_ptr)); \
-    (*unknown)->AddRef(); \
-    return STATUS_SUCCESS
-
-#define STD_CREATE_BODY_WITH_TAG(classname, unknown, outer_unknown, pool_type, tag, base) \
-    STD_CREATE_BODY_WITH_TAG_(classname, unknown, outer_unknown, pool_type, tag, PUNKNOWN)
-
-#define STD_CREATE_BODY_(classname, unknown, outer_unknown, pool_type, base) \
-    STD_CREATE_BODY_WITH_TAG_(classname, unknown, outer_unknown, pool_type, 'rCcP', base)
-
-#define STD_CREATE_BODY(classname, unknown, outer_unknown, pool_type) \
-    STD_CREATE_BODY_(classname, unknown, outer_unknown, pool_type, PUNKNOWN)
-
-
-/* ===============================================================
-    Custom "new" and "delete" C++ operators
-*/
-
-#ifndef _NEW_DELETE_OPERATORS_
-#define _NEW_DELETE_OPERATORS_
-
-inline PVOID
-KCOM_New(
-    size_t size,
-    POOL_TYPE pool_type,
-    ULONG tag)
-{
-    PVOID result;
-
-    result = ExAllocatePoolWithTag(pool_type, size, tag);
-
-    if ( result )
-        RtlZeroMemory(result, size);
-
-    return result;
-}
-
-inline PVOID
-operator new (
-    size_t  size,
-    POOL_TYPE pool_type)
-{
-    return KCOM_New(size, pool_type, 'wNcP');
-}
-
-inline PVOID
-operator new (
-    size_t size,
-    POOL_TYPE pool_type,
-    ULONG tag)
-{
-    return KCOM_New(size, pool_type, tag);
-}
-
-inline void __cdecl
-operator delete(
-    PVOID ptr)
-{
-    ExFreePool(ptr);
-}
-
-inline void __cdecl
-operator delete(
-    PVOID ptr, UINT_PTR)
-{
-    ExFreePool(ptr);
-}
-
-#endif  /* ALLOCATION_OPERATORS_DEFINED */
-
-
-#else   /* Being compiled with C */
-
-
-#endif  /* __cplusplus */
-
-#endif  /* include guard */