diff --git a/_c_o_m_8h_source.html b/_c_o_m_8h_source.html
index 5b4866e6..5246f697 100644
--- a/_c_o_m_8h_source.html
+++ b/_c_o_m_8h_source.html
@@ -110,790 +110,777 @@ $(function() {
-
-
-
-
-
-
-
- 92 com_obj(_In_ REFCLSID rclsid, _In_opt_ LPUNKNOWN pUnkOuter = NULL, DWORD dwClsContext = CLSCTX_ALL)
-
- 94 CoCreateInstance(rclsid, pUnkOuter, dwClsContext, __uuidof(T), (LPVOID*)&
m_h);
-
-
- 102 template <
class _Other>
-
-
-
- 106 other->QueryInterface(__uuidof(T), (
void**)&
m_h);
-
-
- 114 template <
class _Other>
- 115 com_obj(_In_ com_obj<_Other> &other)
-
- 117 other->QueryInterface(__uuidof(T), (
void**)&
m_h);
+
+
+
+
+
+
+ 93 template <
class _Other>
+
+
+
+ 97 other->QueryInterface(__uuidof(T), (
void**)&
m_h);
+
+
+ 105 template <
class _Other>
+
+
+ 108 other->QueryInterface(__uuidof(T), (
void**)&
m_h);
+
+
+
+
+
+
-
-
-
-
-
-
- 134 __declspec(deprecated(
"Use CoCreateInstance"))
- 135 HRESULT create(_In_ REFCLSID rclsid, _In_opt_ LPUNKNOWN pUnkOuter = NULL, _In_ DWORD dwClsContext = CLSCTX_ALL)
-
-
- 138 HRESULT hr = CoCreateInstance(rclsid, pUnkOuter, dwClsContext, __uuidof(T), (
void**)&h);
-
-
-
-
-
- 149 template <
class _Other>
- 150 HRESULT query_interface(_Out_ _Other **h)
const
-
-
-
- 154 return m_h->QueryInterface(__uuidof(_Other), (
void**)h);
-
-
- 162 template <
class _Other>
- 163 HRESULT query_interface(_Out_ com_obj<_Other> &h)
const
-
-
-
- 167 HRESULT hr =
m_h->QueryInterface(__uuidof(_Other), (
void**)&_h);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ 125 template <
class _Other>
+
+
+
+
+ 130 return m_h->QueryInterface(__uuidof(_Other), (
void**)h);
+
+
+ 138 template <
class _Other>
+
+
+
+
+ 143 HRESULT hr =
m_h->QueryInterface(__uuidof(_Other), (
void**)&_h);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 187 bstr(_In_ LPCOLESTR src)
noexcept
+
+ 189 m_h = SysAllocString(src);
+
+
+ 195 bstr(_In_ LPCOLESTR src, _In_ UINT len)
noexcept
+
+ 197 m_h = SysAllocStringLen(src, len);
+
-
-
-
-
-
- 211 bstr(_In_ LPCOLESTR src)
noexcept
-
- 213 m_h = SysAllocString(src);
-
-
- 219 bstr(_In_ LPCOLESTR src, _In_ UINT len)
noexcept
-
- 221 m_h = SysAllocStringLen(src, len);
-
-
- 227 template<
class _Traits,
class _Ax>
- 228 bstr(_In_
const std::basic_string<wchar_t, _Traits, _Ax> &src)
noexcept
-
- 230 m_h = SysAllocStringLen(src.c_str(), (UINT)src.length());
-
-
-
-
-
-
-
-
-
-
- 251 return SysStringLen(
m_h);
-
-
-
-
-
-
-
-
-
-
- 276 return SysAllocStringLen(h, SysStringLen(h));
-
-
-
- 283 #pragma warning(push)
- 284 #pragma warning(disable: 26432)
-
-
-
-
-
-
-
-
-
-
-
- 302 const HRESULT hr = VariantCopy(
this, &varSrc);
-
-
-
-
- 310 #pragma warning(suppress: 26495)
-
-
- 313 memcpy(
this, &varSrc,
sizeof(VARIANT));
- 314 varSrc.vt = VT_EMPTY;
-
-
-
-
-
- 323 boolVal = bSrc ? VARIANT_TRUE : VARIANT_FALSE;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 365 variant(_In_
int nSrc, _In_ VARTYPE vtSrc = VT_I4)
noexcept
-
- 367 assert(vtSrc == VT_I4 || vtSrc == VT_INT);
-
-
-
-
- 375 variant(_In_
unsigned int nSrc, _In_ VARTYPE vtSrc = VT_UI4)
noexcept
-
- 377 assert(vtSrc == VT_UI4 || vtSrc == VT_UINT);
-
-
-
-
- 385 variant(_In_
long nSrc, _In_ VARTYPE vtSrc = VT_I4)
noexcept
-
- 387 assert(vtSrc == VT_I4 || vtSrc == VT_ERROR);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 413 variant(_In_
double dblSrc, _In_ VARTYPE vtSrc = VT_R8)
noexcept
-
- 415 assert(vtSrc == VT_R8 || vtSrc == VT_DATE);
-
-
-
-
-
-
-
-
-
-
- 432 variant(_In_
unsigned long long nSrc)
noexcept
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ 203 template<
class _Traits,
class _Ax>
+ 204 bstr(_In_
const std::basic_string<wchar_t, _Traits, _Ax> &src)
noexcept
+
+ 206 m_h = SysAllocStringLen(src.c_str(), (UINT)src.length());
+
+
+
+
+
+
+
+
+
+
+ 227 return SysStringLen(
m_h);
+
+
+
+
+
+
+
+
+
+
+ 252 return SysAllocStringLen(h, SysStringLen(h));
+
+
+
+ 259 #pragma warning(push)
+ 260 #pragma warning(disable: 26432)
+
+
+
+
+
+
+
+
+
+
+
+ 278 const HRESULT hr = VariantCopy(
this, &varSrc);
+
+
+
+
+ 286 #pragma warning(suppress: 26495)
+
+
+ 289 memcpy(
this, &varSrc,
sizeof(VARIANT));
+ 290 varSrc.vt = VT_EMPTY;
+
+
+
+
+
+ 299 boolVal = bSrc ? VARIANT_TRUE : VARIANT_FALSE;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 341 variant(_In_
int nSrc, _In_ VARTYPE vtSrc = VT_I4)
noexcept
+
+ 343 assert(vtSrc == VT_I4 || vtSrc == VT_INT);
+
+
+
+
+ 351 variant(_In_
unsigned int nSrc, _In_ VARTYPE vtSrc = VT_UI4)
noexcept
+
+ 353 assert(vtSrc == VT_UI4 || vtSrc == VT_UINT);
+
+
+
+
+ 361 variant(_In_
long nSrc, _In_ VARTYPE vtSrc = VT_I4)
noexcept
+
+ 363 assert(vtSrc == VT_I4 || vtSrc == VT_ERROR);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 389 variant(_In_
double dblSrc, _In_ VARTYPE vtSrc = VT_R8)
noexcept
+
+ 391 assert(vtSrc == VT_R8 || vtSrc == VT_DATE);
+
+
+
+
+
+
+
+
+
+
+ 408 variant(_In_
unsigned long long nSrc)
noexcept
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 450 if (pdispVal != NULL)
+
+
+
+
+
+
+
+
+
+
-
+
-
-
-
- 474 if (pdispVal != NULL)
-
-
+ 471 assert(pSrc != NULL);
+
+
+ 474 const HRESULT hr = SafeArrayCopy(
const_cast<LPSAFEARRAY
>(pSrc), &pCopy);
+
+
-
-
-
-
-
-
-
-
-
-
-
- 495 assert(pSrc != NULL);
-
-
- 498 const HRESULT hr = SafeArrayCopy(
const_cast<LPSAFEARRAY
>(pSrc), &pCopy);
-
-
-
- 502 SafeArrayGetVartype(
const_cast<LPSAFEARRAY
>(pSrc), &vt);
-
-
-
-
-
-
-
-
-
-
-
- 520 if (
this != &varSrc) {
- 521 const HRESULT hr = VariantCopy(
this, &varSrc);
-
-
-
-
-
-
-
-
- 533 if (
this != &varSrc) {
-
- 535 memcpy(
this, &varSrc,
sizeof(VARIANT));
- 536 varSrc.vt = VT_EMPTY;
-
-
-
-
-
-
-
-
-
-
- 550 boolVal = bSrc ? VARIANT_TRUE : VARIANT_FALSE;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ 478 SafeArrayGetVartype(
const_cast<LPSAFEARRAY
>(pSrc), &vt);
+
+
+
+
+
+
+
+
+
+
+
+ 496 if (
this != &varSrc) {
+ 497 const HRESULT hr = VariantCopy(
this, &varSrc);
+
+
+
+
+
+
+
+
+ 509 if (
this != &varSrc) {
+
+ 511 memcpy(
this, &varSrc,
sizeof(VARIANT));
+ 512 varSrc.vt = VT_EMPTY;
+
+
+
+
+
+
+
+
+
+
+ 526 boolVal = bSrc ? VARIANT_TRUE : VARIANT_FALSE;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 708 bstrVal = SysAllocString(lpszSrc);
+
+
+
+
+
+
+
+
+ 720 if (pdispVal != NULL)
+
-
+
-
- 732 bstrVal = SysAllocString(lpszSrc);
-
-
-
-
-
-
-
-
- 744 if (pdispVal != NULL)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 767 if (vt != (VT_UI1|VT_BYREF)) {
-
- 769 vt = VT_UI1|VT_BYREF;
-
-
-
-
-
-
-
- 780 if (vt != (VT_I2|VT_BYREF)) {
-
-
-
-
-
-
-
-
-
- 793 if (vt != (VT_UI2|VT_BYREF)) {
-
- 795 vt = VT_UI2|VT_BYREF;
-
-
-
-
-
-
-
- 806 if (vt != (VT_I4|VT_BYREF)) {
-
-
-
-
-
-
-
-
-
- 819 if (vt != (VT_UI4|VT_BYREF)) {
-
- 821 vt = VT_UI4|VT_BYREF;
-
-
-
-
-
-
-
- 832 if (vt != (VT_I4|VT_BYREF)) {
-
-
-
-
-
-
-
-
-
- 845 if (vt != (VT_UI4|VT_BYREF)) {
-
- 847 vt = VT_UI4|VT_BYREF;
-
-
-
-
-
-
-
- 858 if (vt != (VT_I8|VT_BYREF)) {
-
-
-
-
-
-
-
-
-
- 871 if (vt != (VT_UI8|VT_BYREF)) {
-
- 873 vt = VT_UI8|VT_BYREF;
-
-
-
-
-
-
-
- 884 if (vt != (VT_R4|VT_BYREF)) {
-
-
-
-
-
-
-
-
-
- 897 if (vt != (VT_R8|VT_BYREF)) {
-
-
-
-
-
-
-
-
-
- 910 assert(pSrc != NULL);
-
-
-
- 914 const HRESULT hr = SafeArrayCopy(
const_cast<LPSAFEARRAY
>(pSrc), &pCopy);
-
- 916 SafeArrayGetVartype(
const_cast<LPSAFEARRAY
>(pSrc), &vt);
-
-
-
-
-
-
-
-
-
-
-
- 936 if (vt == VT_NULL && varSrc.vt == VT_NULL)
return true;
- 937 if (vt != varSrc.vt)
return false;
- 938 return compare(
static_cast<const VARIANT&
>(*
this), varSrc, LOCALE_USER_DEFAULT, 0) ==
static_cast<HRESULT
>(VARCMP_EQ);
-
-
-
-
-
-
-
- 962 bool operator<(_In_
const VARIANT& varSrc)
const noexcept
-
- 964 if (vt == VT_NULL && varSrc.vt == VT_NULL)
return false;
- 965 return compare(
static_cast<const VARIANT&
>(*
this), varSrc, LOCALE_USER_DEFAULT, 0)==
static_cast<HRESULT
>(VARCMP_LT);
-
-
- 976 bool operator>(_In_
const VARIANT& varSrc)
const noexcept
-
- 978 if (vt == VT_NULL && varSrc.vt == VT_NULL)
return false;
- 979 return compare(
static_cast<const VARIANT&
>(*
this), varSrc, LOCALE_USER_DEFAULT, 0)==
static_cast<HRESULT
>(VARCMP_GT);
-
-
-
-
-
-
-
-
-
-
-
-
- 1013 HRESULT
change_type(_In_ VARTYPE _vt, _In_opt_ USHORT wFlags = 0) noexcept
-
- 1015 return VariantChangeType(
this,
this, wFlags, _vt);
-
+
+
+
+
+
+
+
+
+
+ 743 if (vt != (VT_UI1|VT_BYREF)) {
+
+ 745 vt = VT_UI1|VT_BYREF;
+
+
+
+
+
+
+
+ 756 if (vt != (VT_I2|VT_BYREF)) {
+
+
+
+
+
+
+
+
+
+ 769 if (vt != (VT_UI2|VT_BYREF)) {
+
+ 771 vt = VT_UI2|VT_BYREF;
+
+
+
+
+
+
+
+ 782 if (vt != (VT_I4|VT_BYREF)) {
+
+
+
+
+
+
+
+
+
+ 795 if (vt != (VT_UI4|VT_BYREF)) {
+
+ 797 vt = VT_UI4|VT_BYREF;
+
+
+
+
+
+
+
+ 808 if (vt != (VT_I4|VT_BYREF)) {
+
+
+
+
+
+
+
+
+
+ 821 if (vt != (VT_UI4|VT_BYREF)) {
+
+ 823 vt = VT_UI4|VT_BYREF;
+
+
+
+
+
+
+
+ 834 if (vt != (VT_I8|VT_BYREF)) {
+
+
+
+
+
+
+
+
+
+ 847 if (vt != (VT_UI8|VT_BYREF)) {
+
+ 849 vt = VT_UI8|VT_BYREF;
+
+
+
+
+
+
+
+ 860 if (vt != (VT_R4|VT_BYREF)) {
+
+
+
+
+
+
+
+
+
+ 873 if (vt != (VT_R8|VT_BYREF)) {
+
+
+
+
+
+
+
+
+
+ 886 assert(pSrc != NULL);
+
+
+
+ 890 const HRESULT hr = SafeArrayCopy(
const_cast<LPSAFEARRAY
>(pSrc), &pCopy);
+
+ 892 SafeArrayGetVartype(
const_cast<LPSAFEARRAY
>(pSrc), &vt);
+
+
+
+
+
+
+
+
+
+
+
+ 912 if (vt == VT_NULL && varSrc.vt == VT_NULL)
return true;
+ 913 if (vt != varSrc.vt)
return false;
+ 914 return compare(
static_cast<const VARIANT&
>(*
this), varSrc, LOCALE_USER_DEFAULT, 0) ==
static_cast<HRESULT
>(VARCMP_EQ);
+
+
+
+
+
+
+
+ 938 bool operator<(_In_
const VARIANT& varSrc)
const noexcept
+
+ 940 if (vt == VT_NULL && varSrc.vt == VT_NULL)
return false;
+ 941 return compare(
static_cast<const VARIANT&
>(*
this), varSrc, LOCALE_USER_DEFAULT, 0)==
static_cast<HRESULT
>(VARCMP_LT);
+
+
+ 952 bool operator>(_In_
const VARIANT& varSrc)
const noexcept
+
+ 954 if (vt == VT_NULL && varSrc.vt == VT_NULL)
return false;
+ 955 return compare(
static_cast<const VARIANT&
>(*
this), varSrc, LOCALE_USER_DEFAULT, 0)==
static_cast<HRESULT
>(VARCMP_GT);
+
+
+
+
+
+
+
+
+
+
+
+
+ 989 HRESULT
change_type(_In_ VARTYPE _vt, _In_opt_ USHORT wFlags = 0) noexcept
+
+ 991 return VariantChangeType(
this,
this, wFlags, _vt);
+
+
+
+ 996 HRESULT compare(_In_
const VARIANT &varLeft, _In_
const VARIANT &varRight, _In_ LCID lcid, _In_ ULONG dwFlags)
const noexcept
+
+
+ 999 case VT_I1:
return varLeft.cVal == varRight.cVal ? VARCMP_EQ : varLeft.cVal > varRight.cVal ? VARCMP_GT : VARCMP_LT;
+ 1000 case VT_UI2:
return varLeft.uiVal == varRight.uiVal ? VARCMP_EQ : varLeft.uiVal > varRight.uiVal ? VARCMP_GT : VARCMP_LT;
+ 1001 case VT_UI4:
return varLeft.uintVal == varRight.uintVal ? VARCMP_EQ : varLeft.uintVal > varRight.uintVal ? VARCMP_GT : VARCMP_LT;
+ 1002 case VT_UI8:
return varLeft.ullVal == varRight.ullVal ? VARCMP_EQ : varLeft.ullVal > varRight.ullVal ? VARCMP_GT : VARCMP_LT;
+ 1003 default:
return VarCmp(
const_cast<LPVARIANT
>(&varLeft),
const_cast<LPVARIANT
>(&varRight), lcid, dwFlags);
+
+
+
+ 1008 #pragma warning(pop)
+
+
+
+
+
-
- 1020 HRESULT compare(_In_
const VARIANT &varLeft, _In_
const VARIANT &varRight, _In_ LCID lcid, _In_ ULONG dwFlags)
const noexcept
-
-
- 1023 case VT_I1:
return varLeft.cVal == varRight.cVal ? VARCMP_EQ : varLeft.cVal > varRight.cVal ? VARCMP_GT : VARCMP_LT;
- 1024 case VT_UI2:
return varLeft.uiVal == varRight.uiVal ? VARCMP_EQ : varLeft.uiVal > varRight.uiVal ? VARCMP_GT : VARCMP_LT;
- 1025 case VT_UI4:
return varLeft.uintVal == varRight.uintVal ? VARCMP_EQ : varLeft.uintVal > varRight.uintVal ? VARCMP_GT : VARCMP_LT;
- 1026 case VT_UI8:
return varLeft.ullVal == varRight.ullVal ? VARCMP_EQ : varLeft.ullVal > varRight.ullVal ? VARCMP_GT : VARCMP_LT;
- 1027 default:
return VarCmp(
const_cast<LPVARIANT
>(&varLeft),
const_cast<LPVARIANT
>(&varRight), lcid, dwFlags);
-
-
-
- 1032 #pragma warning(pop)
-
-
-
-
-
-
-
-
-
- 1050 m_result = CoInitialize(pvReserved);
-
-
-
-
- 1060 m_result = CoInitializeEx(pvReserved, dwCoInit);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1100static _Check_return_ HRESULT CoCreateInstance(_In_ REFCLSID rclsid, _In_opt_ LPUNKNOWN pUnkOuter, _In_ DWORD dwClsContext, _Inout_
winstd::com_obj<T> &v)
-
-
- 1103 HRESULT hr = CoCreateInstance(rclsid, pUnkOuter, dwClsContext, __uuidof(T), (LPVOID*)&ppv);
-
-
-
-
-
-BSTR string wrapper.
Definition: COM.h:204
-bstr(LPCOLESTR src) noexcept
Constructs BSTR from OLE string.
Definition: COM.h:211
-virtual ~bstr()
Destroys the string.
Definition: COM.h:238
-handle_type duplicate_internal(handle_type h) const noexcept override
Duplicates the string.
Definition: COM.h:274
-bstr(const std::basic_string< wchar_t, _Traits, _Ax > &src) noexcept
Constructs BSTR from std::basic_string.
Definition: COM.h:228
-bstr(LPCOLESTR src, UINT len) noexcept
Constructs BSTR from OLE string with length.
Definition: COM.h:219
-void free_internal() noexcept override
Destroys the string.
Definition: COM.h:260
-UINT length() const noexcept
Returns the length of the string.
Definition: COM.h:249
-Context scope automatic COM (un)initialization.
Definition: COM.h:1038
-com_initializer(LPVOID pvReserved, DWORD dwCoInit) noexcept
Initializes the COM library for use by the calling thread, sets the thread's concurrency model,...
Definition: COM.h:1058
-com_initializer(LPVOID pvReserved) noexcept
Initializes the COM library on the current thread and identifies the concurrency model as single-thre...
Definition: COM.h:1048
-HRESULT status() const noexcept
Return result of CoInitialize() call.
Definition: COM.h:1079
-virtual ~com_initializer()
Uninitializes COM.
Definition: COM.h:1068
-HRESULT m_result
Result of CoInitialize call.
Definition: COM.h:1085
-COM object wrapper template.
Definition: COM.h:82
-__declspec(deprecated("Use CoCreateInstance")) com_obj(REFCLSID rclsid
Constructs a new object and creates a new class with it.
+
+
+
+ 1026 m_result = CoInitialize(pvReserved);
+
+
+
+
+ 1036 m_result = CoInitializeEx(pvReserved, dwCoInit);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1076static _Check_return_ HRESULT CoCreateInstance(_In_ REFCLSID rclsid, _In_opt_ LPUNKNOWN pUnkOuter, _In_ DWORD dwClsContext, _Inout_
winstd::com_obj<T> &v)
+
+
+ 1079 HRESULT hr = CoCreateInstance(rclsid, pUnkOuter, dwClsContext, __uuidof(T), (LPVOID*)&ppv);
+
+
+
+
+
+BSTR string wrapper.
Definition: COM.h:180
+bstr(LPCOLESTR src) noexcept
Constructs BSTR from OLE string.
Definition: COM.h:187
+virtual ~bstr()
Destroys the string.
Definition: COM.h:214
+handle_type duplicate_internal(handle_type h) const noexcept override
Duplicates the string.
Definition: COM.h:250
+bstr(const std::basic_string< wchar_t, _Traits, _Ax > &src) noexcept
Constructs BSTR from std::basic_string.
Definition: COM.h:204
+bstr(LPCOLESTR src, UINT len) noexcept
Constructs BSTR from OLE string with length.
Definition: COM.h:195
+void free_internal() noexcept override
Destroys the string.
Definition: COM.h:236
+UINT length() const noexcept
Returns the length of the string.
Definition: COM.h:225
+Context scope automatic COM (un)initialization.
Definition: COM.h:1014
+com_initializer(LPVOID pvReserved, DWORD dwCoInit) noexcept
Initializes the COM library for use by the calling thread, sets the thread's concurrency model,...
Definition: COM.h:1034
+com_initializer(LPVOID pvReserved) noexcept
Initializes the COM library on the current thread and identifies the concurrency model as single-thre...
Definition: COM.h:1024
+HRESULT status() const noexcept
Return result of CoInitialize() call.
Definition: COM.h:1055
+virtual ~com_initializer()
Uninitializes COM.
Definition: COM.h:1044
+HRESULT m_result
Result of CoInitialize call.
Definition: COM.h:1061
+COM object wrapper template.
Definition: COM.h:84
+void free_internal() noexcept override
Releases the object by decrementing reference counter.
Definition: COM.h:155
+handle_type duplicate_internal(handle_type h) const noexcept override
Duplicates the object by incrementing the reference counter.
Definition: COM.h:169
+HRESULT query_interface(_Other **h) const
Queries the object for another interface.
Definition: COM.h:126
+HRESULT query_interface(com_obj< _Other > &h) const
Queries the object for another interface.
Definition: COM.h:139
+virtual ~com_obj()
Releases object.
Definition: COM.h:114
+com_obj(_Other *other)
Queries the object for another interface and creates new class with it.
Definition: COM.h:94
+com_obj(com_obj< _Other > &other)
Queries the object for another interface and creates new class with it.
Definition: COM.h:106
COM runtime error.
Definition: COM.h:24
com_runtime_error(error_type num, const std::string &msg)
Constructs an exception.
Definition: COM.h:32
com_runtime_error(error_type num, const char *msg=nullptr)
Constructs an exception.
Definition: COM.h:42
Base abstract template class to support object handle keeping for objects that support trivial handle...
Definition: Common.h:865
-virtual handle_type duplicate_internal(handle_type h) const noexcept=0
Abstract member function that must be implemented by child classes to do the actual object handle dup...
-virtual void free_internal() noexcept=0
Abstract member function that must be implemented by child classes to do the actual object destructio...
T * handle_type
Datatype of the object handle this template class handles.
Definition: Common.h:608
handle_type m_h
Object handle.
Definition: Common.h:854
-void attach(handle_type h) noexcept
Sets a new object handle for the class.
Definition: Common.h:817
Numerical runtime error.
Definition: Common.h:1002
HRESULT error_type
Error number type.
Definition: Common.h:1004
-VARIANT struct wrapper.
Definition: COM.h:286
-bool operator<=(const VARIANT &varSrc) const noexcept
Is variant less than or equal to?
Definition: COM.h:990
-variant(bool bSrc) noexcept
Constructs VARIANT from bool.
Definition: COM.h:320
-variant & operator=(unsigned int nSrc) noexcept
Copy from unsigned int value.
Definition: COM.h:622
-variant & operator=(unsigned long nSrc) noexcept
Copy from unsigned long value.
Definition: COM.h:648
-variant(float fltSrc) noexcept
Constructs VARIANT from float.
Definition: COM.h:404
-variant(VARIANT &&varSrc) noexcept
Moves VARIANT from another.
Definition: COM.h:311
-variant & operator=(float fltSrc) noexcept
Copy from float value.
Definition: COM.h:688
-variant & operator=(float *pfSrc) noexcept
Copy from float reference.
Definition: COM.h:882
-variant(IDispatch *pSrc)
Constructs VARIANT from IDispatch.
Definition: COM.h:469
-variant(int nSrc, VARTYPE vtSrc=VT_I4) noexcept
Constructs VARIANT from integer.
Definition: COM.h:365
-variant(const SAFEARRAY *pSrc)
Constructs VARIANT from SAFEARRAY.
Definition: COM.h:493
-variant & operator=(double *pfSrc) noexcept
Copy from double reference.
Definition: COM.h:895
-variant & operator=(int *pnSrc) noexcept
Copy from int reference.
Definition: COM.h:804
-bool operator>(const VARIANT &varSrc) const noexcept
Is variant greater than?
Definition: COM.h:976
-variant & operator=(bool bSrc) noexcept
Copy from bool value.
Definition: COM.h:544
-variant & operator=(long nSrc) noexcept
Copy from long value.
Definition: COM.h:635
-variant & operator=(const SAFEARRAY *pSrc) noexcept
Copy from SAFEARRAY.
Definition: COM.h:908
-HRESULT change_type(VARTYPE _vt, USHORT wFlags=0) noexcept
Converts a variant from one type to another.
Definition: COM.h:1013
-variant & operator=(IUnknown *pSrc)
Copy from IUnknown.
Definition: COM.h:752
-variant & operator=(short nSrc) noexcept
Copy from short value.
Definition: COM.h:583
-variant & operator=(unsigned char *pbSrc) noexcept
Copy from unsigned char reference.
Definition: COM.h:765
-variant & operator=(unsigned short nSrc) noexcept
Copy from unsigned short value.
Definition: COM.h:596
-variant & operator=(unsigned char nSrc) noexcept
Copy from unsigned char value.
Definition: COM.h:570
-variant & operator=(char cSrc) noexcept
Copy from char value.
Definition: COM.h:557
-variant(LPCOLESTR lpszSrc) noexcept
Constructs VARIANT from OLE string.
Definition: COM.h:451
-virtual ~variant()
Destroys VARIANT.
Definition: COM.h:510
-variant(const VARIANT &varSrc)
Constructs VARIANT from another.
Definition: COM.h:299
-variant(unsigned char nSrc) noexcept
Constructs VARIANT from byte.
Definition: COM.h:338
-variant & operator=(double dblSrc) noexcept
Copy from double value.
Definition: COM.h:701
-bool operator!=(const VARIANT &varSrc) const noexcept
Is variant not equal to?
Definition: COM.h:949
-variant & operator=(int nSrc) noexcept
Copy from int value.
Definition: COM.h:609
-variant(unsigned long nSrc) noexcept
Constructs VARIANT from unsigned long.
Definition: COM.h:395
-bool operator==(const VARIANT &varSrc) const noexcept
Is variant equal to?
Definition: COM.h:934
-variant(IUnknown *pSrc)
Constructs VARIANT from IUnknown.
Definition: COM.h:481
-variant(unsigned int nSrc, VARTYPE vtSrc=VT_UI4) noexcept
Constructs VARIANT from unsigned integer.
Definition: COM.h:375
-variant & operator=(CY cySrc) noexcept
Copy from CY value.
Definition: COM.h:714
-variant & operator=(LPCOLESTR lpszSrc) noexcept
Copy from OLE string value.
Definition: COM.h:728
-variant(long long nSrc) noexcept
Constructs VARIANT from 64-bit integer.
Definition: COM.h:423
-variant & operator=(unsigned int *pnSrc) noexcept
Copy from unsigned int reference.
Definition: COM.h:817
-variant(long nSrc, VARTYPE vtSrc=VT_I4) noexcept
Constructs VARIANT from long.
Definition: COM.h:385
-variant & operator=(long *pnSrc) noexcept
Copy from long reference.
Definition: COM.h:830
-variant(unsigned short nSrc) noexcept
Constructs VARIANT from unsigned short.
Definition: COM.h:356
-bool operator>=(const VARIANT &varSrc) const noexcept
Is variant greater than or equal to?
Definition: COM.h:1003
-variant & operator=(short *pnSrc) noexcept
Copy from short reference.
Definition: COM.h:778
-variant() noexcept
Constructs blank VARIANT.
Definition: COM.h:291
-bool operator<(const VARIANT &varSrc) const noexcept
Is variant less than?
Definition: COM.h:962
-variant(unsigned long long nSrc) noexcept
Constructs VARIANT from unsigned integer.
Definition: COM.h:432
-variant(char cSrc) noexcept
Constructs VARIANT from character.
Definition: COM.h:329
-variant & operator=(unsigned short *pnSrc) noexcept
Copy from unsigned short reference.
Definition: COM.h:791
-variant & operator=(long long *pnSrc) noexcept
Copy from long long reference.
Definition: COM.h:856
-variant(BSTR bstr) noexcept
Constructs VARIANT from BSTR.
Definition: COM.h:460
-variant & operator=(unsigned long long *pnSrc) noexcept
Copy from unsigned long long reference.
Definition: COM.h:869
-variant(double dblSrc, VARTYPE vtSrc=VT_R8) noexcept
Constructs VARIANT from double or variant date.
Definition: COM.h:413
-variant(short nSrc) noexcept
Constructs VARIANT from short.
Definition: COM.h:347
-variant(CY cySrc) noexcept
Constructs VARIANT from CY (64-bit integer)
Definition: COM.h:441
-variant & operator=(unsigned long long nSrc) noexcept
Copy from unsigned long long value.
Definition: COM.h:674
-variant & operator=(VARIANT &&varSrc) noexcept
Moves from another VARIANT.
Definition: COM.h:531
-variant & operator=(long long nSrc) noexcept
Copy from long long value.
Definition: COM.h:661
-variant & operator=(IDispatch *pSrc)
Copy from IDispatch.
Definition: COM.h:739
-variant & operator=(unsigned long *pnSrc) noexcept
Copy from unsigned long reference.
Definition: COM.h:843
-variant & operator=(const VARIANT &varSrc)
Copy from another VARIANT.
Definition: COM.h:518
+VARIANT struct wrapper.
Definition: COM.h:262
+bool operator<=(const VARIANT &varSrc) const noexcept
Is variant less than or equal to?
Definition: COM.h:966
+variant(bool bSrc) noexcept
Constructs VARIANT from bool.
Definition: COM.h:296
+variant & operator=(unsigned int nSrc) noexcept
Copy from unsigned int value.
Definition: COM.h:598
+variant & operator=(unsigned long nSrc) noexcept
Copy from unsigned long value.
Definition: COM.h:624
+variant(float fltSrc) noexcept
Constructs VARIANT from float.
Definition: COM.h:380
+variant(VARIANT &&varSrc) noexcept
Moves VARIANT from another.
Definition: COM.h:287
+variant & operator=(float fltSrc) noexcept
Copy from float value.
Definition: COM.h:664
+variant & operator=(float *pfSrc) noexcept
Copy from float reference.
Definition: COM.h:858
+variant(IDispatch *pSrc)
Constructs VARIANT from IDispatch.
Definition: COM.h:445
+variant(int nSrc, VARTYPE vtSrc=VT_I4) noexcept
Constructs VARIANT from integer.
Definition: COM.h:341
+variant(const SAFEARRAY *pSrc)
Constructs VARIANT from SAFEARRAY.
Definition: COM.h:469
+variant & operator=(double *pfSrc) noexcept
Copy from double reference.
Definition: COM.h:871
+variant & operator=(int *pnSrc) noexcept
Copy from int reference.
Definition: COM.h:780
+bool operator>(const VARIANT &varSrc) const noexcept
Is variant greater than?
Definition: COM.h:952
+variant & operator=(bool bSrc) noexcept
Copy from bool value.
Definition: COM.h:520
+variant & operator=(long nSrc) noexcept
Copy from long value.
Definition: COM.h:611
+variant & operator=(const SAFEARRAY *pSrc) noexcept
Copy from SAFEARRAY.
Definition: COM.h:884
+HRESULT change_type(VARTYPE _vt, USHORT wFlags=0) noexcept
Converts a variant from one type to another.
Definition: COM.h:989
+variant & operator=(IUnknown *pSrc)
Copy from IUnknown.
Definition: COM.h:728
+variant & operator=(short nSrc) noexcept
Copy from short value.
Definition: COM.h:559
+variant & operator=(unsigned char *pbSrc) noexcept
Copy from unsigned char reference.
Definition: COM.h:741
+variant & operator=(unsigned short nSrc) noexcept
Copy from unsigned short value.
Definition: COM.h:572
+variant & operator=(unsigned char nSrc) noexcept
Copy from unsigned char value.
Definition: COM.h:546
+variant & operator=(char cSrc) noexcept
Copy from char value.
Definition: COM.h:533
+variant(LPCOLESTR lpszSrc) noexcept
Constructs VARIANT from OLE string.
Definition: COM.h:427
+virtual ~variant()
Destroys VARIANT.
Definition: COM.h:486
+variant(const VARIANT &varSrc)
Constructs VARIANT from another.
Definition: COM.h:275
+variant(unsigned char nSrc) noexcept
Constructs VARIANT from byte.
Definition: COM.h:314
+variant & operator=(double dblSrc) noexcept
Copy from double value.
Definition: COM.h:677
+bool operator!=(const VARIANT &varSrc) const noexcept
Is variant not equal to?
Definition: COM.h:925
+variant & operator=(int nSrc) noexcept
Copy from int value.
Definition: COM.h:585
+variant(unsigned long nSrc) noexcept
Constructs VARIANT from unsigned long.
Definition: COM.h:371
+bool operator==(const VARIANT &varSrc) const noexcept
Is variant equal to?
Definition: COM.h:910
+variant(IUnknown *pSrc)
Constructs VARIANT from IUnknown.
Definition: COM.h:457
+variant(unsigned int nSrc, VARTYPE vtSrc=VT_UI4) noexcept
Constructs VARIANT from unsigned integer.
Definition: COM.h:351
+variant & operator=(CY cySrc) noexcept
Copy from CY value.
Definition: COM.h:690
+variant & operator=(LPCOLESTR lpszSrc) noexcept
Copy from OLE string value.
Definition: COM.h:704
+variant(long long nSrc) noexcept
Constructs VARIANT from 64-bit integer.
Definition: COM.h:399
+variant & operator=(unsigned int *pnSrc) noexcept
Copy from unsigned int reference.
Definition: COM.h:793
+variant(long nSrc, VARTYPE vtSrc=VT_I4) noexcept
Constructs VARIANT from long.
Definition: COM.h:361
+variant & operator=(long *pnSrc) noexcept
Copy from long reference.
Definition: COM.h:806
+variant(unsigned short nSrc) noexcept
Constructs VARIANT from unsigned short.
Definition: COM.h:332
+bool operator>=(const VARIANT &varSrc) const noexcept
Is variant greater than or equal to?
Definition: COM.h:979
+variant & operator=(short *pnSrc) noexcept
Copy from short reference.
Definition: COM.h:754
+variant() noexcept
Constructs blank VARIANT.
Definition: COM.h:267
+bool operator<(const VARIANT &varSrc) const noexcept
Is variant less than?
Definition: COM.h:938
+variant(unsigned long long nSrc) noexcept
Constructs VARIANT from unsigned integer.
Definition: COM.h:408
+variant(char cSrc) noexcept
Constructs VARIANT from character.
Definition: COM.h:305
+variant & operator=(unsigned short *pnSrc) noexcept
Copy from unsigned short reference.
Definition: COM.h:767
+variant & operator=(long long *pnSrc) noexcept
Copy from long long reference.
Definition: COM.h:832
+variant(BSTR bstr) noexcept
Constructs VARIANT from BSTR.
Definition: COM.h:436
+variant & operator=(unsigned long long *pnSrc) noexcept
Copy from unsigned long long reference.
Definition: COM.h:845
+variant(double dblSrc, VARTYPE vtSrc=VT_R8) noexcept
Constructs VARIANT from double or variant date.
Definition: COM.h:389
+variant(short nSrc) noexcept
Constructs VARIANT from short.
Definition: COM.h:323
+variant(CY cySrc) noexcept
Constructs VARIANT from CY (64-bit integer)
Definition: COM.h:417
+variant & operator=(unsigned long long nSrc) noexcept
Copy from unsigned long long value.
Definition: COM.h:650
+variant & operator=(VARIANT &&varSrc) noexcept
Moves from another VARIANT.
Definition: COM.h:507
+variant & operator=(long long nSrc) noexcept
Copy from long long value.
Definition: COM.h:637
+variant & operator=(IDispatch *pSrc)
Copy from IDispatch.
Definition: COM.h:715
+variant & operator=(unsigned long *pnSrc) noexcept
Copy from unsigned long reference.
Definition: COM.h:819
+variant & operator=(const VARIANT &varSrc)
Copy from another VARIANT.
Definition: COM.h:494
#define WINSTD_NONCOPYABLE(C)
Declares a class as non-copyable.
Definition: Common.h:52
#define WINSTD_NONMOVABLE(C)
Declares a class as non-movable.
Definition: Common.h:60
#define WINSTD_DPLHANDLE_IMPL(C, INVAL)
Implements default constructors and operators to prevent their auto-generation by compiler.
Definition: Common.h:173
@@ -904,7 +891,7 @@ $(function() {