mirror of
https://github.com/reactos/reactos.git
synced 2024-07-30 16:18:43 +00:00
[DDK]
- Move kcom.h to PSDK and apply a consistent formatting. svn path=/branches/header-work/; revision=46890
This commit is contained in:
parent
3ba7cea0e7
commit
2b0248408a
|
@ -18,10 +18,14 @@ DEFINE_GUIDSTRUCT("72CF721C-525A-11D1-9AA1-00A0C9223196", KoCreateObject);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !defined(__cplusplus) || _MSC_VER < 1100
|
#if !defined(__cplusplus) || _MSC_VER < 1100
|
||||||
|
|
||||||
#define STATIC_IID_IKoInitializeParentDeviceObject 0x21B36996, 0x8DE3, 0x11D1, 0x8A, 0xE0, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96
|
#define STATIC_IID_IKoInitializeParentDeviceObject 0x21B36996, 0x8DE3, 0x11D1, 0x8A, 0xE0, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96
|
||||||
DEFINE_GUIDEX(IID_IKoInitializeParentDeviceObject);
|
DEFINE_GUIDEX(IID_IKoInitializeParentDeviceObject);
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
interface __declspec(uuid("21B36996-8DE3-11D1-8AE0-00A0C9223196")) IKoInitializeParentDeviceObject;
|
interface __declspec(uuid("21B36996-8DE3-11D1-8AE0-00A0C9223196")) IKoInitializeParentDeviceObject;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef COMDDKMETHOD
|
#ifndef COMDDKMETHOD
|
||||||
|
@ -40,101 +44,84 @@ interface __declspec(uuid("21B36996-8DE3-11D1-8AE0-00A0C9223196")) IKoInitialize
|
||||||
|
|
||||||
typedef
|
typedef
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
(*KoCreateObjectHandler)( IN REFCLSID ClassId,
|
(*KoCreateObjectHandler)(
|
||||||
IN IUnknown* UnkOuter OPTIONAL,
|
IN REFCLSID ClassId,
|
||||||
IN REFIID InterfaceId,
|
IN IUnknown* UnkOuter OPTIONAL,
|
||||||
OUT PVOID* Interface);
|
IN REFIID InterfaceId,
|
||||||
|
OUT PVOID* Interface);
|
||||||
|
|
||||||
#undef INTERFACE
|
#undef INTERFACE
|
||||||
#define INTERFACE INonDelegatedUnknown
|
#define INTERFACE INonDelegatedUnknown
|
||||||
DECLARE_INTERFACE(INonDelegatedUnknown)
|
DECLARE_INTERFACE(INonDelegatedUnknown) {
|
||||||
{
|
STDMETHOD(NonDelegatedQueryInterface)(
|
||||||
STDMETHOD(NonDelegatedQueryInterface)
|
|
||||||
(
|
|
||||||
THIS_
|
THIS_
|
||||||
IN REFIID InterfaceId,
|
IN REFIID InterfaceId,
|
||||||
OUT PVOID* Interface
|
OUT PVOID* Interface
|
||||||
) PURE;
|
) PURE;
|
||||||
|
|
||||||
STDMETHOD_(ULONG,NonDelegatedAddRef)
|
STDMETHOD_(ULONG,NonDelegatedAddRef)(
|
||||||
(
|
|
||||||
THIS
|
THIS
|
||||||
) PURE;
|
) PURE;
|
||||||
|
|
||||||
STDMETHOD_(ULONG,NonDelegatedRelease)
|
STDMETHOD_(ULONG,NonDelegatedRelease)(
|
||||||
(
|
|
||||||
THIS
|
THIS
|
||||||
) PURE;
|
) PURE;
|
||||||
};
|
};
|
||||||
|
|
||||||
#undef INTERFACE
|
#undef INTERFACE
|
||||||
#define INTERFACE IIndirectedUnknown
|
#define INTERFACE IIndirectedUnknown
|
||||||
DECLARE_INTERFACE(IIndirectedUnknown)
|
DECLARE_INTERFACE(IIndirectedUnknown) {
|
||||||
{
|
STDMETHOD(IndirectedQueryInterface)(
|
||||||
STDMETHOD(IndirectedQueryInterface)
|
|
||||||
(
|
|
||||||
THIS_
|
THIS_
|
||||||
IN REFIID InterfaceId,
|
IN REFIID InterfaceId,
|
||||||
OUT PVOID* Interface
|
OUT PVOID* Interface
|
||||||
) PURE;
|
) PURE;
|
||||||
|
|
||||||
STDMETHOD_(ULONG,IndirectedAddRef)
|
STDMETHOD_(ULONG,IndirectedAddRef)(
|
||||||
(
|
|
||||||
THIS
|
THIS
|
||||||
) PURE;
|
) PURE;
|
||||||
|
|
||||||
STDMETHOD_(ULONG,IndirectedRelease)
|
STDMETHOD_(ULONG,IndirectedRelease)(
|
||||||
(
|
|
||||||
THIS
|
THIS
|
||||||
) PURE;
|
) PURE;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
#undef INTERFACE
|
#undef INTERFACE
|
||||||
#define INTERFACE IKoInitializeParentDeviceObject
|
#define INTERFACE IKoInitializeParentDeviceObject
|
||||||
DECLARE_INTERFACE_(IKoInitializeParentDeviceObject, IUnknown)
|
DECLARE_INTERFACE_(IKoInitializeParentDeviceObject, IUnknown) {
|
||||||
{
|
STDMETHOD(SetParentDeviceObject)(
|
||||||
STDMETHOD(SetParentDeviceObject)
|
|
||||||
(
|
|
||||||
THIS_
|
THIS_
|
||||||
IN PDEVICE_OBJECT ParentDeviceObject
|
IN PDEVICE_OBJECT ParentDeviceObject
|
||||||
) PURE;
|
) PURE;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#if defined(__cplusplus)
|
#if defined(__cplusplus)
|
||||||
|
|
||||||
|
class CBaseUnknown : public INonDelegatedUnknown, public IIndirectedUnknown {
|
||||||
class CBaseUnknown : public INonDelegatedUnknown, public IIndirectedUnknown
|
protected:
|
||||||
{
|
LONG m_RefCount;
|
||||||
protected:
|
private:
|
||||||
LONG m_RefCount;
|
BOOLEAN m_UsingClassId;
|
||||||
private:
|
CLSID m_ClassId;
|
||||||
BOOLEAN m_UsingClassId;
|
protected:
|
||||||
CLSID m_ClassId;
|
IUnknown* m_UnknownOuter;
|
||||||
protected:
|
public:
|
||||||
IUnknown* m_UnknownOuter;
|
COMDDKMETHOD CBaseUnknown (IN REFCLSID ClassId, IN IUnknown* UnknownOuter OPTIONAL = NULL);
|
||||||
public:
|
COMDDKMETHOD CBaseUnknown(IN IUnknown* UnknownOuter OPTIONAL = NULL);
|
||||||
COMDDKMETHOD CBaseUnknown (IN REFCLSID ClassId, IN IUnknown* UnknownOuter OPTIONAL = NULL);
|
COMDDKMETHOD virtual ~CBaseUnknown();
|
||||||
COMDDKMETHOD CBaseUnknown(IN IUnknown* UnknownOuter OPTIONAL = NULL);
|
COMDDKMETHOD STDMETHODIMP_(ULONG) NonDelegatedAddRef();
|
||||||
COMDDKMETHOD virtual ~CBaseUnknown();
|
COMDDKMETHOD STDMETHODIMP_(ULONG) NonDelegatedRelease();
|
||||||
COMDDKMETHOD STDMETHODIMP_(ULONG) NonDelegatedAddRef();
|
COMDDKMETHOD STDMETHODIMP NonDelegatedQueryInterface(IN REFIID InterfaceId,OUT PVOID* Interface);
|
||||||
COMDDKMETHOD STDMETHODIMP_(ULONG) NonDelegatedRelease();
|
COMDDKMETHOD STDMETHODIMP_(ULONG) IndirectedAddRef();
|
||||||
COMDDKMETHOD STDMETHODIMP NonDelegatedQueryInterface(IN REFIID InterfaceId,OUT PVOID* Interface);
|
COMDDKMETHOD STDMETHODIMP_(ULONG) IndirectedRelease();
|
||||||
COMDDKMETHOD STDMETHODIMP_(ULONG) IndirectedAddRef();
|
COMDDKMETHOD STDMETHODIMP IndirectedQueryInterface(IN REFIID InterfaceId, OUT PVOID* Interface);
|
||||||
COMDDKMETHOD STDMETHODIMP_(ULONG) IndirectedRelease();
|
|
||||||
COMDDKMETHOD STDMETHODIMP IndirectedQueryInterface(IN REFIID InterfaceId, OUT PVOID* Interface);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
#if !defined(DEFINE_ABSTRACT_UNKNOWN)
|
#if !defined(DEFINE_ABSTRACT_UNKNOWN)
|
||||||
|
|
||||||
#define DEFINE_ABSTRACT_UNKNOWN() \
|
#define DEFINE_ABSTRACT_UNKNOWN() \
|
||||||
STDMETHOD(QueryInterface)(THIS_ REFIID InterfaceId, PVOID* Interface) PURE; \
|
STDMETHOD(QueryInterface)(THIS_ REFIID InterfaceId, PVOID* Interface) PURE; \
|
||||||
STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
|
STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
|
||||||
STDMETHOD_(ULONG,Release)(THIS) PURE;
|
STDMETHOD_(ULONG,Release)(THIS) PURE;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define DEFINE_STD_UNKNOWN() \
|
#define DEFINE_STD_UNKNOWN() \
|
||||||
|
@ -144,46 +131,49 @@ class CBaseUnknown : public INonDelegatedUnknown, public IIndirectedUnknown
|
||||||
STDMETHODIMP_(ULONG) Release();
|
STDMETHODIMP_(ULONG) Release();
|
||||||
|
|
||||||
#define IMPLEMENT_STD_UNKNOWN(Class) \
|
#define IMPLEMENT_STD_UNKNOWN(Class) \
|
||||||
STDMETHODIMP Class::QueryInterface( REFIID InterfaceId, PVOID* Interface) \
|
STDMETHODIMP Class::QueryInterface( REFIID InterfaceId, PVOID* Interface) { \
|
||||||
{ \
|
|
||||||
return m_UnknownOuter->QueryInterface(InterfaceId, Interface);\
|
return m_UnknownOuter->QueryInterface(InterfaceId, Interface);\
|
||||||
} \
|
} \
|
||||||
STDMETHODIMP_(ULONG) Class::AddRef() \
|
STDMETHODIMP_(ULONG) Class::AddRef() { \
|
||||||
{ \
|
|
||||||
return m_UnknownOuter->AddRef(); \
|
return m_UnknownOuter->AddRef(); \
|
||||||
} \
|
} \
|
||||||
STDMETHODIMP_(ULONG) Class::Release() \
|
STDMETHODIMP_(ULONG) Class::Release() { \
|
||||||
{ \
|
|
||||||
return m_UnknownOuter->Release(); \
|
return m_UnknownOuter->Release(); \
|
||||||
}
|
}
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
COMDDKAPI
|
COMDDKAPI
|
||||||
void
|
void
|
||||||
NTAPI
|
NTAPI
|
||||||
KoRelease( IN REFCLSID ClassId);
|
KoRelease(
|
||||||
#endif // !__cplusplus
|
IN REFCLSID ClassId);
|
||||||
|
|
||||||
|
#endif /* !__cplusplus */
|
||||||
|
|
||||||
COMDDKAPI
|
COMDDKAPI
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
NTAPI
|
NTAPI
|
||||||
KoCreateInstance( IN REFCLSID ClassId,
|
KoCreateInstance(
|
||||||
IN IUnknown* UnkOuter OPTIONAL,
|
IN REFCLSID ClassId,
|
||||||
IN ULONG ClsContext,
|
IN IUnknown* UnkOuter OPTIONAL,
|
||||||
IN REFIID InterfaceId,
|
IN ULONG ClsContext,
|
||||||
OUT PVOID* Interface);
|
IN REFIID InterfaceId,
|
||||||
|
OUT PVOID* Interface);
|
||||||
|
|
||||||
COMDDKAPI
|
COMDDKAPI
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
NTAPI
|
NTAPI
|
||||||
KoDeviceInitialize( IN PDEVICE_OBJECT DeviceObject);
|
KoDeviceInitialize(
|
||||||
|
IN PDEVICE_OBJECT DeviceObject);
|
||||||
|
|
||||||
COMDDKAPI
|
COMDDKAPI
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
NTAPI
|
NTAPI
|
||||||
KoDriverInitialize( IN PDRIVER_OBJECT DriverObject,
|
KoDriverInitialize(
|
||||||
IN PUNICODE_STRING RegistryPathName,
|
IN PDRIVER_OBJECT DriverObject,
|
||||||
IN KoCreateObjectHandler CreateObjectHandler);
|
IN PUNICODE_STRING RegistryPathName,
|
||||||
|
IN KoCreateObjectHandler CreateObjectHandler);
|
||||||
|
|
||||||
|
|
||||||
#if defined(__cplusplus)
|
#if defined(__cplusplus)
|
||||||
|
@ -195,44 +185,36 @@ KoDriverInitialize( IN PDRIVER_OBJECT DriverObject,
|
||||||
#ifndef _NEW_DELETE_OPERATORS_
|
#ifndef _NEW_DELETE_OPERATORS_
|
||||||
#define _NEW_DELETE_OPERATORS_
|
#define _NEW_DELETE_OPERATORS_
|
||||||
|
|
||||||
inline PVOID operator new
|
inline PVOID operator new(
|
||||||
(
|
|
||||||
size_t iSize,
|
size_t iSize,
|
||||||
POOL_TYPE poolType
|
POOL_TYPE poolType)
|
||||||
)
|
|
||||||
{
|
{
|
||||||
PVOID result = ExAllocatePoolWithTag(poolType,iSize,'wNCK');
|
PVOID result = ExAllocatePoolWithTag(poolType,iSize,'wNCK');
|
||||||
if (result)
|
if (result) {
|
||||||
{
|
|
||||||
RtlZeroMemory(result,iSize);
|
RtlZeroMemory(result,iSize);
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
inline PVOID operator new
|
inline PVOID operator new(
|
||||||
(
|
size_t iSize,
|
||||||
size_t iSize,
|
POOL_TYPE poolType,
|
||||||
POOL_TYPE poolType,
|
ULONG tag)
|
||||||
ULONG tag
|
|
||||||
)
|
|
||||||
{
|
{
|
||||||
PVOID result = ExAllocatePoolWithTag(poolType,iSize,tag);
|
PVOID result = ExAllocatePoolWithTag(poolType,iSize,tag);
|
||||||
if (result)
|
if (result) {
|
||||||
{
|
|
||||||
RtlZeroMemory(result,iSize);
|
RtlZeroMemory(result,iSize);
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
inline void __cdecl operator delete
|
inline void __cdecl operator delete(
|
||||||
(
|
PVOID pVoid)
|
||||||
PVOID pVoid
|
|
||||||
)
|
|
||||||
{
|
{
|
||||||
ExFreePool(pVoid);
|
if (pVoid) ExFreePool(pVoid);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif /* _NEW_DELETE_OPERATORS_ */
|
||||||
|
|
||||||
#if defined(_SYS_GUID_OPERATOR_EQ_)
|
#if defined(_SYS_GUID_OPERATOR_EQ_)
|
||||||
#define _GUID_OPERATORS_
|
#define _GUID_OPERATORS_
|
||||||
|
@ -242,18 +224,16 @@ inline void __cdecl operator delete
|
||||||
#ifndef _GUID_OPERATORS_
|
#ifndef _GUID_OPERATORS_
|
||||||
#define _GUID_OPERATORS_
|
#define _GUID_OPERATORS_
|
||||||
|
|
||||||
__inline BOOL operator==(const GUID& guidOne, const GUID& guidOther)
|
__inline BOOL operator==(const GUID& guidOne, const GUID& guidOther) {
|
||||||
{
|
|
||||||
return IsEqualGUIDAligned(guidOne,guidOther);
|
return IsEqualGUIDAligned(guidOne,guidOther);
|
||||||
}
|
}
|
||||||
__inline BOOL operator!=(const GUID& guidOne, const GUID& guidOther)
|
|
||||||
{
|
__inline BOOL operator!=(const GUID& guidOne, const GUID& guidOther) {
|
||||||
return !(guidOne == guidOther);
|
return !(guidOne == guidOther);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif /* _GUID_OPERATORS_ */
|
||||||
|
|
||||||
#endif
|
#endif /* __cplusplus */
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
#endif /* _KCOM_ */
|
Loading…
Reference in a new issue