acme
Foundational cross-platform layer of the ca2 framework
Toggle main menu visibility
Loading...
Searching...
No Matches
_.h
1
// Created by camilo on 2026-05-22 17:14 <3ThomasBorregaardSørensen!!
2
#pragma once
3
4
#include "comptr.h"
5
#include "hresult_exception.h"
6
7
#define øDECL_INTERFACE_MAP() \
8
HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void **ppv); \
9
ULONG STDMETHODCALLTYPE AddRef() { return InternalAddRef(); } \
10
ULONG STDMETHODCALLTYPE Release() { return InternalRelease(); }
11
12
#define øBEGIN_INTERFACE_MAP(class_name, default_interface) \
13
HRESULT STDMETHODCALLTYPE class_name::QueryInterface(REFIID riid, void **ppv) \
14
{ \
15
if (!ppv) \
16
return E_POINTER; \
17
\
18
*ppv = nullptr; \
19
if (riid == IID_IUnknown) \
20
{ \
21
\
22
*ppv = (IUnknown *)(default_interface *)this; \
23
this->AddRef(); \
24
return S_OK; \
25
}
26
27
28
#define øINTERFACE_MAP_ITEM(interface) \
29
else if (riid == __uuidof(interface)) \
30
{ \
31
*ppv = (interface *)this; \
32
AddRef(); \
33
return S_OK; \
34
}
35
36
#define øEND_INTERFACE_MAP() \
37
return E_NOINTERFACE; \
38
}
operating_system
windows_common
com
_.h
Generated by
1.17.0