Files
fastfetch/src/util/windows/com.hpp
T
2023-11-09 13:46:45 +08:00

21 lines
426 B
C++

#pragma once
#ifdef __cplusplus
#include <unknwn.h>
const char* ffInitCom(void);
static inline void ffReleaseComObject(void* ppUnknown)
{
IUnknown* pUnknown = *(IUnknown**) ppUnknown;
if (pUnknown) pUnknown->Release();
}
#define FF_AUTO_RELEASE_COM_OBJECT __attribute__((__cleanup__(ffReleaseComObject)))
#else
// Win32 COM headers requires C++ compiler
#error Must be included in C++ source file
#endif