diff --git a/_c_o_m_8h_source.html b/_c_o_m_8h_source.html index 99e91cc8..65d91282 100644 --- a/_c_o_m_8h_source.html +++ b/_c_o_m_8h_source.html @@ -124,794 +124,883 @@ $(function() {
84 WINSTD_DPLHANDLE_IMPL(com_obj, NULL)
85
86 public:
-
92 template <class _Other>
-
93 com_obj(_In_ _Other *other)
-
94 {
-
95 assert(other);
-
96 other->QueryInterface(__uuidof(T), (void**)&m_h);
-
97 }
-
98
-
104 template <class _Other>
-
105 com_obj(_In_ com_obj<_Other> &other)
-
106 {
-
107 other->QueryInterface(__uuidof(T), (void**)&m_h);
-
108 }
-
109
-
113 virtual ~com_obj()
-
114 {
-
115 if (m_h != invalid)
-
116 free_internal();
-
117 }
-
118
-
124 template <class _Other>
-
125 HRESULT query_interface(_Out_ _Other **h) const
-
126 {
-
127 assert(h);
-
128 assert(m_h);
-
129 return m_h->QueryInterface(__uuidof(_Other), (void**)h);
-
130 }
-
131
-
137 template <class _Other>
-
138 HRESULT query_interface(_Out_ com_obj<_Other> &h) const
-
139 {
-
140 assert(m_h);
-
141 _Other *_h;
-
142 HRESULT hr = m_h->QueryInterface(__uuidof(_Other), (void**)&_h);
-
143 if (SUCCEEDED(hr))
-
144 h.attach(_h);
-
145 return hr;
-
146 }
-
147
-
148 protected:
-
154 void free_internal() noexcept override
-
155 {
-
156 m_h->Release();
-
157 }
-
158
-
168 handle_type duplicate_internal(_In_ handle_type h) const noexcept override
-
169 {
-
170 h->AddRef();
-
171 return h;
-
172 }
-
173 };
-
174
-
178 class bstr : public dplhandle<BSTR, NULL>
-
179 {
-
180 WINSTD_DPLHANDLE_IMPL(bstr, NULL)
-
181
-
182 public:
-
186 bstr(_In_ LPCOLESTR src) noexcept
-
187 {
-
188 m_h = SysAllocString(src);
-
189 }
-
190
-
194 bstr(_In_ LPCOLESTR src, _In_ UINT len) noexcept
-
195 {
-
196 m_h = SysAllocStringLen(src, len);
-
197 }
-
198
-
202 template<class _Traits, class _Ax>
-
203 bstr(_In_ const std::basic_string<wchar_t, _Traits, _Ax> &src) noexcept
-
204 {
-
205 m_h = SysAllocStringLen(src.c_str(), (UINT)src.length());
-
206 }
-
207
-
213 virtual ~bstr()
-
214 {
-
215 if (m_h != invalid)
-
216 free_internal();
-
217 }
-
218
-
224 UINT length() const noexcept
-
225 {
-
226 return SysStringLen(m_h);
-
227 }
-
228
-
229 protected:
-
235 void free_internal() noexcept override
-
236 {
-
237 SysFreeString(m_h);
-
238 }
-
239
-
249 handle_type duplicate_internal(_In_ handle_type h) const noexcept override
+
92 com_obj(
+
93 _In_ REFCLSID rclsid,
+
94 _In_opt_ LPUNKNOWN pUnkOuter,
+
95 _In_ DWORD dwClsContext)
+
96 {
+
97 HRESULT hr = CoCreateInstance(rclsid, pUnkOuter, dwClsContext, __uuidof(T), (LPVOID*)&m_h);
+
98 if (FAILED(hr))
+
99 throw com_runtime_error(hr, "CoCreateInstance failed");
+
100 }
+
101
+
107 template <class _Other>
+
108 com_obj(_In_ _Other *other)
+
109 {
+
110 assert(other);
+
111 HRESULT hr = other->QueryInterface(__uuidof(T), (void**)&m_h);
+
112 if (FAILED(hr))
+
113 throw com_runtime_error(hr, "QueryInterface failed");
+
114 }
+
115
+
121 template <class _Other>
+
122 com_obj(_In_ com_obj<_Other> &other)
+
123 {
+
124 HRESULT hr = other->QueryInterface(__uuidof(T), (void**)&m_h);
+
125 if (FAILED(hr))
+
126 throw com_runtime_error(hr, "QueryInterface failed");
+
127 }
+
128
+
132 virtual ~com_obj()
+
133 {
+
134 if (m_h != invalid)
+
135 free_internal();
+
136 }
+
137
+
143 template <class _Other>
+
144 HRESULT query_interface(_Out_ _Other **h) const
+
145 {
+
146 assert(h);
+
147 assert(m_h);
+
148 return m_h->QueryInterface(__uuidof(_Other), (void**)h);
+
149 }
+
150
+
156 template <class _Other>
+
157 HRESULT query_interface(_Out_ com_obj<_Other> &h) const
+
158 {
+
159 assert(m_h);
+
160 _Other *_h;
+
161 HRESULT hr = m_h->QueryInterface(__uuidof(_Other), (void**)&_h);
+
162 if (SUCCEEDED(hr))
+
163 h.attach(_h);
+
164 return hr;
+
165 }
+
166
+
167 protected:
+
173 void free_internal() noexcept override
+
174 {
+
175 m_h->Release();
+
176 }
+
177
+
187 handle_type duplicate_internal(_In_ handle_type h) const override
+
188 {
+
189 h->AddRef();
+
190 return h;
+
191 }
+
192 };
+
193
+
197 class bstr : public dplhandle<BSTR, NULL>
+
198 {
+
199 WINSTD_DPLHANDLE_IMPL(bstr, NULL)
+
200
+
201 public:
+
205 bstr(_In_ LPCOLESTR src)
+
206 {
+
207 m_h = SysAllocString(src);
+
208 if (!m_h)
+
209 throw std::bad_alloc();
+
210 }
+
211
+
215 bstr(_In_ LPCOLESTR src, _In_ UINT len)
+
216 {
+
217 m_h = SysAllocStringLen(src, len);
+
218 if (!m_h)
+
219 throw std::bad_alloc();
+
220 }
+
221
+
225 template<class _Traits, class _Ax>
+
226 bstr(_In_ const std::basic_string<wchar_t, _Traits, _Ax> &src)
+
227 {
+
228 m_h = SysAllocStringLen(src.c_str(), (UINT)src.length());
+
229 if (!m_h)
+
230 throw std::bad_alloc();
+
231 }
+
232
+
238 virtual ~bstr()
+
239 {
+
240 if (m_h != invalid)
+
241 free_internal();
+
242 }
+
243
+
249 UINT length() const noexcept
250 {
-
251 return SysAllocStringLen(h, SysStringLen(h));
+
251 return SysStringLen(m_h);
252 }
-
253 };
-
254
-
258 #pragma warning(push)
-
259 #pragma warning(disable: 26432) // Copy constructor and assignment operator are also present, but not detected by code analysis as they are using base type source object reference.
-
260 class variant : public VARIANT
-
261 {
-
262 public:
-
266 variant() noexcept
-
267 {
-
268 VariantInit(this);
-
269 }
-
270
-
274 variant(_In_ const VARIANT& varSrc)
-
275 {
-
276 vt = VT_EMPTY;
-
277 const HRESULT hr = VariantCopy(this, &varSrc);
-
278 if (FAILED(hr))
-
279 throw winstd::com_runtime_error(hr, "VariantCopy failed.");
+
253
+
254 protected:
+
260 void free_internal() noexcept override
+
261 {
+
262 SysFreeString(m_h);
+
263 }
+
264
+
274 handle_type duplicate_internal(_In_ handle_type h) const override
+
275 {
+
276 handle_type h_new = SysAllocStringLen(h, SysStringLen(h));
+
277 if (h_new != invalid)
+
278 return h_new;
+
279 throw std::bad_alloc();
280 }
-
281
-
285 #pragma warning(suppress: 26495) // vt member is initialized as a result of memcpy()
-
286 variant(_Inout_ VARIANT&& varSrc) noexcept
-
287 {
-
288 memcpy(this, &varSrc, sizeof(VARIANT));
-
289 varSrc.vt = VT_EMPTY;
-
290 }
-
291
-
295 variant(_In_ bool bSrc) noexcept
-
296 {
-
297 vt = VT_BOOL;
-
298 boolVal = bSrc ? VARIANT_TRUE : VARIANT_FALSE;
-
299 }
-
300
-
304 variant(_In_ char cSrc) noexcept
-
305 {
-
306 vt = VT_I1;
-
307 cVal = cSrc;
+
281 };
+
282
+
286 #pragma warning(push)
+
287 #pragma warning(disable: 26432) // Copy constructor and assignment operator are also present, but not detected by code analysis as they are using base type source object reference.
+
288 class variant : public VARIANT
+
289 {
+
290 public:
+
294 variant() noexcept
+
295 {
+
296 VariantInit(this);
+
297 }
+
298
+
302 variant(_In_ const VARIANT& varSrc)
+
303 {
+
304 vt = VT_EMPTY;
+
305 const HRESULT hr = VariantCopy(this, &varSrc);
+
306 if (FAILED(hr))
+
307 throw winstd::com_runtime_error(hr, "VariantCopy failed");
308 }
309
-
313 variant(_In_ unsigned char nSrc) noexcept
-
314 {
-
315 vt = VT_UI1;
-
316 bVal = nSrc;
-
317 }
-
318
-
322 variant(_In_ short nSrc) noexcept
-
323 {
-
324 vt = VT_I2;
-
325 iVal = nSrc;
-
326 }
-
327
-
331 variant(_In_ unsigned short nSrc) noexcept
-
332 {
-
333 vt = VT_UI2;
-
334 uiVal = nSrc;
-
335 }
-
336
-
340 variant(_In_ int nSrc, _In_ VARTYPE vtSrc = VT_I4) noexcept
-
341 {
-
342 assert(vtSrc == VT_I4 || vtSrc == VT_INT);
-
343 vt = vtSrc;
-
344 intVal = nSrc;
+
313 #pragma warning(suppress: 26495) // vt member is initialized as a result of memcpy()
+
314 variant(_Inout_ VARIANT&& varSrc) noexcept
+
315 {
+
316 memcpy(this, &varSrc, sizeof(VARIANT));
+
317 varSrc.vt = VT_EMPTY;
+
318 }
+
319
+
323 variant(_In_ bool bSrc) noexcept
+
324 {
+
325 vt = VT_BOOL;
+
326 boolVal = bSrc ? VARIANT_TRUE : VARIANT_FALSE;
+
327 }
+
328
+
332 variant(_In_ char cSrc) noexcept
+
333 {
+
334 vt = VT_I1;
+
335 cVal = cSrc;
+
336 }
+
337
+
341 variant(_In_ unsigned char nSrc) noexcept
+
342 {
+
343 vt = VT_UI1;
+
344 bVal = nSrc;
345 }
346
-
350 variant(_In_ unsigned int nSrc, _In_ VARTYPE vtSrc = VT_UI4) noexcept
+
350 variant(_In_ short nSrc) noexcept
351 {
-
352 assert(vtSrc == VT_UI4 || vtSrc == VT_UINT);
-
353 vt = vtSrc;
-
354 uintVal= nSrc;
-
355 }
-
356
-
360 variant(_In_ long nSrc, _In_ VARTYPE vtSrc = VT_I4) noexcept
-
361 {
-
362 assert(vtSrc == VT_I4 || vtSrc == VT_ERROR);
-
363 vt = vtSrc;
-
364 lVal = nSrc;
-
365 }
-
366
-
370 variant(_In_ unsigned long nSrc) noexcept
-
371 {
-
372 vt = VT_UI4;
-
373 ulVal = nSrc;
-
374 }
-
375
-
379 variant(_In_ float fltSrc) noexcept
-
380 {
-
381 vt = VT_R4;
-
382 fltVal = fltSrc;
+
352 vt = VT_I2;
+
353 iVal = nSrc;
+
354 }
+
355
+
359 variant(_In_ unsigned short nSrc) noexcept
+
360 {
+
361 vt = VT_UI2;
+
362 uiVal = nSrc;
+
363 }
+
364
+
368 variant(_In_ int nSrc, _In_ VARTYPE vtSrc = VT_I4) noexcept
+
369 {
+
370 assert(vtSrc == VT_I4 || vtSrc == VT_INT);
+
371 vt = vtSrc;
+
372 intVal = nSrc;
+
373 }
+
374
+
378 variant(_In_ unsigned int nSrc, _In_ VARTYPE vtSrc = VT_UI4) noexcept
+
379 {
+
380 assert(vtSrc == VT_UI4 || vtSrc == VT_UINT);
+
381 vt = vtSrc;
+
382 uintVal= nSrc;
383 }
384
-
388 variant(_In_ double dblSrc, _In_ VARTYPE vtSrc = VT_R8) noexcept
+
388 variant(_In_ long nSrc, _In_ VARTYPE vtSrc = VT_I4) noexcept
389 {
-
390 assert(vtSrc == VT_R8 || vtSrc == VT_DATE);
+
390 assert(vtSrc == VT_I4 || vtSrc == VT_ERROR);
391 vt = vtSrc;
-
392 dblVal = dblSrc;
+
392 lVal = nSrc;
393 }
394
-
398 variant(_In_ long long nSrc) noexcept
+
398 variant(_In_ unsigned long nSrc) noexcept
399 {
-
400 vt = VT_I8;
-
401 llVal = nSrc;
+
400 vt = VT_UI4;
+
401 ulVal = nSrc;
402 }
403
-
407 variant(_In_ unsigned long long nSrc) noexcept
+
407 variant(_In_ float fltSrc) noexcept
408 {
-
409 vt = VT_UI8;
-
410 ullVal = nSrc;
+
409 vt = VT_R4;
+
410 fltVal = fltSrc;
411 }
412
-
416 variant(_In_ CY cySrc) noexcept
+
416 variant(_In_ double dblSrc, _In_ VARTYPE vtSrc = VT_R8) noexcept
417 {
-
418 vt = VT_CY;
-
419 cyVal.Hi = cySrc.Hi;
-
420 cyVal.Lo = cySrc.Lo;
+
418 assert(vtSrc == VT_R8 || vtSrc == VT_DATE);
+
419 vt = vtSrc;
+
420 dblVal = dblSrc;
421 }
422
-
426 variant(_In_z_ LPCOLESTR lpszSrc) noexcept
+
426 variant(_In_ long long nSrc) noexcept
427 {
-
428 vt = VT_EMPTY;
-
429 *this = lpszSrc;
+
428 vt = VT_I8;
+
429 llVal = nSrc;
430 }
431
-
435 variant(_In_z_ BSTR bstr) noexcept
+
435 variant(_In_ unsigned long long nSrc) noexcept
436 {
-
437 vt = VT_EMPTY;
-
438 *this = bstr;
+
437 vt = VT_UI8;
+
438 ullVal = nSrc;
439 }
440
-
444 variant(_In_opt_ IDispatch* pSrc)
+
444 variant(_In_ CY cySrc) noexcept
445 {
-
446 vt = VT_DISPATCH;
-
447 pdispVal = pSrc;
-
448
-
449 if (pdispVal != NULL)
-
450 pdispVal->AddRef();
-
451 }
-
452
-
456 variant(_In_opt_ IUnknown* pSrc)
-
457 {
-
458 vt = VT_UNKNOWN;
-
459 punkVal = pSrc;
-
460
-
461 if (punkVal != NULL)
-
462 punkVal->AddRef();
-
463 }
-
464
-
468 variant(_In_ const SAFEARRAY *pSrc)
-
469 {
-
470 assert(pSrc != NULL);
-
471
-
472 LPSAFEARRAY pCopy;
-
473 const HRESULT hr = SafeArrayCopy(const_cast<LPSAFEARRAY>(pSrc), &pCopy);
-
474 if (FAILED(hr))
-
475 throw winstd::com_runtime_error(hr, "SafeArrayCopy failed.");
+
446 vt = VT_CY;
+
447 cyVal.Hi = cySrc.Hi;
+
448 cyVal.Lo = cySrc.Lo;
+
449 }
+
450
+
454 variant(_In_z_ LPCOLESTR lpszSrc) noexcept
+
455 {
+
456 vt = VT_EMPTY;
+
457 *this = lpszSrc;
+
458 }
+
459
+
463 variant(_In_z_ BSTR bstr) noexcept
+
464 {
+
465 vt = VT_EMPTY;
+
466 *this = bstr;
+
467 }
+
468
+
472 variant(_In_opt_ IDispatch* pSrc)
+
473 {
+
474 vt = VT_DISPATCH;
+
475 pdispVal = pSrc;
476
-
477 SafeArrayGetVartype(const_cast<LPSAFEARRAY>(pSrc), &vt);
-
478 vt |= VT_ARRAY;
-
479 parray = pCopy;
-
480 }
-
481
-
485 virtual ~variant()
-
486 {
-
487 VariantClear(this);
-
488 }
-
489
-
493 variant& operator=(_In_ const VARIANT& varSrc)
-
494 {
-
495 if (this != &varSrc) {
-
496 const HRESULT hr = VariantCopy(this, &varSrc);
-
497 if (FAILED(hr))
-
498 throw winstd::com_runtime_error(hr, "VariantCopy failed.");
-
499 }
-
500 return *this;
-
501 }
-
502
-
506 variant& operator=(_Inout_ VARIANT&& varSrc) noexcept
-
507 {
-
508 if (this != &varSrc) {
-
509 VariantClear(this);
-
510 memcpy(this, &varSrc, sizeof(VARIANT));
-
511 varSrc.vt = VT_EMPTY;
-
512 }
-
513 return *this;
-
514 }
-
515
-
519 variant& operator=(_In_ bool bSrc) noexcept
-
520 {
-
521 if (vt != VT_BOOL) {
-
522 VariantClear(this);
-
523 vt = VT_BOOL;
-
524 }
-
525 boolVal = bSrc ? VARIANT_TRUE : VARIANT_FALSE;
-
526 return *this;
-
527 }
-
528
-
532 variant& operator=(_In_ char cSrc) noexcept
-
533 {
-
534 if (vt != VT_I1) {
-
535 VariantClear(this);
-
536 vt = VT_I1;
-
537 }
-
538 cVal = cSrc;
-
539 return *this;
-
540 }
-
541
-
545 variant& operator=(_In_ unsigned char nSrc) noexcept
-
546 {
-
547 if (vt != VT_UI1) {
-
548 VariantClear(this);
-
549 vt = VT_UI1;
-
550 }
-
551 bVal = nSrc;
-
552 return *this;
-
553 }
-
554
-
558 variant& operator=(_In_ short nSrc) noexcept
-
559 {
-
560 if (vt != VT_I2) {
-
561 VariantClear(this);
-
562 vt = VT_I2;
-
563 }
-
564 iVal = nSrc;
-
565 return *this;
-
566 }
-
567
-
571 variant& operator=(_In_ unsigned short nSrc) noexcept
-
572 {
-
573 if (vt != VT_UI2) {
-
574 VariantClear(this);
-
575 vt = VT_UI2;
-
576 }
-
577 uiVal = nSrc;
-
578 return *this;
-
579 }
-
580
-
584 variant& operator=(_In_ int nSrc) noexcept
-
585 {
-
586 if (vt != VT_I4) {
-
587 VariantClear(this);
-
588 vt = VT_I4;
-
589 }
-
590 intVal = nSrc;
-
591 return *this;
-
592 }
-
593
-
597 variant& operator=(_In_ unsigned int nSrc) noexcept
-
598 {
-
599 if (vt != VT_UI4) {
-
600 VariantClear(this);
-
601 vt = VT_UI4;
-
602 }
-
603 uintVal= nSrc;
-
604 return *this;
-
605 }
-
606
-
610 variant& operator=(_In_ long nSrc) noexcept
-
611 {
-
612 if (vt != VT_I4) {
-
613 VariantClear(this);
-
614 vt = VT_I4;
-
615 }
-
616 lVal = nSrc;
-
617 return *this;
-
618 }
-
619
-
623 variant& operator=(_In_ unsigned long nSrc) noexcept
-
624 {
-
625 if (vt != VT_UI4) {
-
626 VariantClear(this);
-
627 vt = VT_UI4;
-
628 }
-
629 ulVal = nSrc;
-
630 return *this;
-
631 }
-
632
-
636 variant& operator=(_In_ long long nSrc) noexcept
-
637 {
-
638 if (vt != VT_I8) {
-
639 VariantClear(this);
-
640 vt = VT_I8;
-
641 }
-
642 llVal = nSrc;
-
643 return *this;
-
644 }
-
645
-
649 variant& operator=(_In_ unsigned long long nSrc) noexcept
-
650 {
-
651 if (vt != VT_UI8) {
-
652 VariantClear(this);
-
653 vt = VT_UI8;
-
654 }
-
655 ullVal = nSrc;
-
656
-
657 return *this;
-
658 }
-
659
-
663 variant& operator=(_In_ float fltSrc) noexcept
-
664 {
-
665 if (vt != VT_R4) {
-
666 VariantClear(this);
-
667 vt = VT_R4;
-
668 }
-
669 fltVal = fltSrc;
-
670 return *this;
-
671 }
-
672
-
676 variant& operator=(_In_ double dblSrc) noexcept
-
677 {
-
678 if (vt != VT_R8) {
-
679 VariantClear(this);
-
680 vt = VT_R8;
-
681 }
-
682 dblVal = dblSrc;
-
683 return *this;
-
684 }
-
685
-
689 variant& operator=(_In_ CY cySrc) noexcept
-
690 {
-
691 if (vt != VT_CY) {
-
692 VariantClear(this);
-
693 vt = VT_CY;
-
694 }
-
695 cyVal.Hi = cySrc.Hi;
-
696 cyVal.Lo = cySrc.Lo;
-
697 return *this;
-
698 }
-
699
-
703 variant& operator=(_In_z_ LPCOLESTR lpszSrc) noexcept
-
704 {
-
705 VariantClear(this);
-
706 vt = VT_BSTR;
-
707 bstrVal = SysAllocString(lpszSrc);
-
708 return *this;
-
709 }
-
710
-
714 variant& operator=(_Inout_opt_ IDispatch* pSrc)
-
715 {
-
716 VariantClear(this);
-
717 vt = VT_DISPATCH;
-
718 pdispVal = pSrc;
-
719 if (pdispVal != NULL)
-
720 pdispVal->AddRef();
-
721 return *this;
-
722 }
-
723
-
727 variant& operator=(_Inout_opt_ IUnknown* pSrc)
-
728 {
-
729 VariantClear(this);
-
730 vt = VT_UNKNOWN;
-
731 punkVal = pSrc;
-
732 if (punkVal != NULL)
-
733 punkVal->AddRef();
-
734 return *this;
-
735 }
-
736
-
740 variant& operator=(_In_ unsigned char* pbSrc) noexcept
-
741 {
-
742 if (vt != (VT_UI1|VT_BYREF)) {
-
743 VariantClear(this);
-
744 vt = VT_UI1|VT_BYREF;
-
745 }
-
746 pbVal = pbSrc;
-
747 return *this;
-
748 }
-
749
-
753 variant& operator=(_In_ short* pnSrc) noexcept
-
754 {
-
755 if (vt != (VT_I2|VT_BYREF)) {
-
756 VariantClear(this);
-
757 vt = VT_I2|VT_BYREF;
-
758 }
-
759 piVal = pnSrc;
-
760 return *this;
-
761 }
-
762
-
766 variant& operator=(_In_ unsigned short* pnSrc) noexcept
-
767 {
-
768 if (vt != (VT_UI2|VT_BYREF)) {
-
769 VariantClear(this);
-
770 vt = VT_UI2|VT_BYREF;
-
771 }
-
772 puiVal = pnSrc;
-
773 return *this;
-
774 }
-
775
-
779 variant& operator=(_In_ int* pnSrc) noexcept
-
780 {
-
781 if (vt != (VT_I4|VT_BYREF)) {
-
782 VariantClear(this);
-
783 vt = VT_I4|VT_BYREF;
-
784 }
-
785 pintVal = pnSrc;
-
786 return *this;
-
787 }
-
788
-
792 variant& operator=(_In_ unsigned int* pnSrc) noexcept
-
793 {
-
794 if (vt != (VT_UI4|VT_BYREF)) {
-
795 VariantClear(this);
-
796 vt = VT_UI4|VT_BYREF;
-
797 }
-
798 puintVal = pnSrc;
-
799 return *this;
-
800 }
-
801
-
805 variant& operator=(_In_ long* pnSrc) noexcept
-
806 {
-
807 if (vt != (VT_I4|VT_BYREF)) {
-
808 VariantClear(this);
-
809 vt = VT_I4|VT_BYREF;
-
810 }
-
811 plVal = pnSrc;
-
812 return *this;
-
813 }
-
814
-
818 variant& operator=(_In_ unsigned long* pnSrc) noexcept
-
819 {
-
820 if (vt != (VT_UI4|VT_BYREF)) {
-
821 VariantClear(this);
-
822 vt = VT_UI4|VT_BYREF;
-
823 }
-
824 pulVal = pnSrc;
-
825 return *this;
-
826 }
-
827
-
831 variant& operator=(_In_ long long* pnSrc) noexcept
-
832 {
-
833 if (vt != (VT_I8|VT_BYREF)) {
-
834 VariantClear(this);
-
835 vt = VT_I8|VT_BYREF;
-
836 }
-
837 pllVal = pnSrc;
-
838 return *this;
-
839 }
-
840
-
844 variant& operator=(_In_ unsigned long long* pnSrc) noexcept
-
845 {
-
846 if (vt != (VT_UI8|VT_BYREF)) {
-
847 VariantClear(this);
-
848 vt = VT_UI8|VT_BYREF;
-
849 }
-
850 pullVal = pnSrc;
-
851 return *this;
-
852 }
-
853
-
857 variant& operator=(_In_ float* pfSrc) noexcept
-
858 {
-
859 if (vt != (VT_R4|VT_BYREF)) {
-
860 VariantClear(this);
-
861 vt = VT_R4|VT_BYREF;
-
862 }
-
863 pfltVal = pfSrc;
-
864 return *this;
-
865 }
-
866
-
870 variant& operator=(_In_ double* pfSrc) noexcept
-
871 {
-
872 if (vt != (VT_R8|VT_BYREF)) {
-
873 VariantClear(this);
-
874 vt = VT_R8|VT_BYREF;
-
875 }
-
876 pdblVal = pfSrc;
-
877 return *this;
-
878 }
-
879
-
883 variant& operator=(_In_ const SAFEARRAY *pSrc) noexcept
-
884 {
-
885 assert(pSrc != NULL);
-
886 VariantClear(this);
-
887
-
888 LPSAFEARRAY pCopy;
-
889 const HRESULT hr = SafeArrayCopy(const_cast<LPSAFEARRAY>(pSrc), &pCopy);
-
890 if (SUCCEEDED(hr)) {
-
891 SafeArrayGetVartype(const_cast<LPSAFEARRAY>(pSrc), &vt);
-
892 vt |= VT_ARRAY;
-
893 parray = pCopy;
-
894 } else
-
895 assert(0);
-
896
-
897 return *this;
-
898 }
-
899
-
900 public:
-
909 bool operator==(_In_ const VARIANT& varSrc) const noexcept
-
910 {
-
911 if (vt == VT_NULL && varSrc.vt == VT_NULL) return true;
-
912 if (vt != varSrc.vt) return false;
-
913 return compare(static_cast<const VARIANT&>(*this), varSrc, LOCALE_USER_DEFAULT, 0) == static_cast<HRESULT>(VARCMP_EQ);
-
914 }
+
477 if (pdispVal != NULL)
+
478 pdispVal->AddRef();
+
479 }
+
480
+
484 variant(_In_opt_ IUnknown* pSrc)
+
485 {
+
486 vt = VT_UNKNOWN;
+
487 punkVal = pSrc;
+
488
+
489 if (punkVal != NULL)
+
490 punkVal->AddRef();
+
491 }
+
492
+
496 variant(_In_ const SAFEARRAY *pSrc)
+
497 {
+
498 assert(pSrc != NULL);
+
499
+
500 LPSAFEARRAY pCopy;
+
501 const HRESULT hr = SafeArrayCopy(const_cast<LPSAFEARRAY>(pSrc), &pCopy);
+
502 if (FAILED(hr))
+
503 throw winstd::com_runtime_error(hr, "SafeArrayCopy failed");
+
504
+
505 SafeArrayGetVartype(const_cast<LPSAFEARRAY>(pSrc), &vt);
+
506 vt |= VT_ARRAY;
+
507 parray = pCopy;
+
508 }
+
509
+
513 virtual ~variant()
+
514 {
+
515 VariantClear(this);
+
516 }
+
517
+
521 variant& operator=(_In_ const VARIANT& varSrc)
+
522 {
+
523 if (this != &varSrc) {
+
524 const HRESULT hr = VariantCopy(this, &varSrc);
+
525 if (FAILED(hr))
+
526 throw winstd::com_runtime_error(hr, "VariantCopy failed");
+
527 }
+
528 return *this;
+
529 }
+
530
+
534 variant& operator=(_Inout_ VARIANT&& varSrc) noexcept
+
535 {
+
536 if (this != &varSrc) {
+
537 VariantClear(this);
+
538 memcpy(this, &varSrc, sizeof(VARIANT));
+
539 varSrc.vt = VT_EMPTY;
+
540 }
+
541 return *this;
+
542 }
+
543
+
547 variant& operator=(_In_ bool bSrc) noexcept
+
548 {
+
549 if (vt != VT_BOOL) {
+
550 VariantClear(this);
+
551 vt = VT_BOOL;
+
552 }
+
553 boolVal = bSrc ? VARIANT_TRUE : VARIANT_FALSE;
+
554 return *this;
+
555 }
+
556
+
560 variant& operator=(_In_ char cSrc) noexcept
+
561 {
+
562 if (vt != VT_I1) {
+
563 VariantClear(this);
+
564 vt = VT_I1;
+
565 }
+
566 cVal = cSrc;
+
567 return *this;
+
568 }
+
569
+
573 variant& operator=(_In_ unsigned char nSrc) noexcept
+
574 {
+
575 if (vt != VT_UI1) {
+
576 VariantClear(this);
+
577 vt = VT_UI1;
+
578 }
+
579 bVal = nSrc;
+
580 return *this;
+
581 }
+
582
+
586 variant& operator=(_In_ short nSrc) noexcept
+
587 {
+
588 if (vt != VT_I2) {
+
589 VariantClear(this);
+
590 vt = VT_I2;
+
591 }
+
592 iVal = nSrc;
+
593 return *this;
+
594 }
+
595
+
599 variant& operator=(_In_ unsigned short nSrc) noexcept
+
600 {
+
601 if (vt != VT_UI2) {
+
602 VariantClear(this);
+
603 vt = VT_UI2;
+
604 }
+
605 uiVal = nSrc;
+
606 return *this;
+
607 }
+
608
+
612 variant& operator=(_In_ int nSrc) noexcept
+
613 {
+
614 if (vt != VT_I4) {
+
615 VariantClear(this);
+
616 vt = VT_I4;
+
617 }
+
618 intVal = nSrc;
+
619 return *this;
+
620 }
+
621
+
625 variant& operator=(_In_ unsigned int nSrc) noexcept
+
626 {
+
627 if (vt != VT_UI4) {
+
628 VariantClear(this);
+
629 vt = VT_UI4;
+
630 }
+
631 uintVal= nSrc;
+
632 return *this;
+
633 }
+
634
+
638 variant& operator=(_In_ long nSrc) noexcept
+
639 {
+
640 if (vt != VT_I4) {
+
641 VariantClear(this);
+
642 vt = VT_I4;
+
643 }
+
644 lVal = nSrc;
+
645 return *this;
+
646 }
+
647
+
651 variant& operator=(_In_ unsigned long nSrc) noexcept
+
652 {
+
653 if (vt != VT_UI4) {
+
654 VariantClear(this);
+
655 vt = VT_UI4;
+
656 }
+
657 ulVal = nSrc;
+
658 return *this;
+
659 }
+
660
+
664 variant& operator=(_In_ long long nSrc) noexcept
+
665 {
+
666 if (vt != VT_I8) {
+
667 VariantClear(this);
+
668 vt = VT_I8;
+
669 }
+
670 llVal = nSrc;
+
671 return *this;
+
672 }
+
673
+
677 variant& operator=(_In_ unsigned long long nSrc) noexcept
+
678 {
+
679 if (vt != VT_UI8) {
+
680 VariantClear(this);
+
681 vt = VT_UI8;
+
682 }
+
683 ullVal = nSrc;
+
684
+
685 return *this;
+
686 }
+
687
+
691 variant& operator=(_In_ float fltSrc) noexcept
+
692 {
+
693 if (vt != VT_R4) {
+
694 VariantClear(this);
+
695 vt = VT_R4;
+
696 }
+
697 fltVal = fltSrc;
+
698 return *this;
+
699 }
+
700
+
704 variant& operator=(_In_ double dblSrc) noexcept
+
705 {
+
706 if (vt != VT_R8) {
+
707 VariantClear(this);
+
708 vt = VT_R8;
+
709 }
+
710 dblVal = dblSrc;
+
711 return *this;
+
712 }
+
713
+
717 variant& operator=(_In_ CY cySrc) noexcept
+
718 {
+
719 if (vt != VT_CY) {
+
720 VariantClear(this);
+
721 vt = VT_CY;
+
722 }
+
723 cyVal.Hi = cySrc.Hi;
+
724 cyVal.Lo = cySrc.Lo;
+
725 return *this;
+
726 }
+
727
+
731 variant& operator=(_In_z_ LPCOLESTR lpszSrc) noexcept
+
732 {
+
733 VariantClear(this);
+
734 vt = VT_BSTR;
+
735 bstrVal = SysAllocString(lpszSrc);
+
736 return *this;
+
737 }
+
738
+
742 variant& operator=(_Inout_opt_ IDispatch* pSrc)
+
743 {
+
744 VariantClear(this);
+
745 vt = VT_DISPATCH;
+
746 pdispVal = pSrc;
+
747 if (pdispVal != NULL)
+
748 pdispVal->AddRef();
+
749 return *this;
+
750 }
+
751
+
755 variant& operator=(_Inout_opt_ IUnknown* pSrc)
+
756 {
+
757 VariantClear(this);
+
758 vt = VT_UNKNOWN;
+
759 punkVal = pSrc;
+
760 if (punkVal != NULL)
+
761 punkVal->AddRef();
+
762 return *this;
+
763 }
+
764
+
768 variant& operator=(_In_ unsigned char* pbSrc) noexcept
+
769 {
+
770 if (vt != (VT_UI1|VT_BYREF)) {
+
771 VariantClear(this);
+
772 vt = VT_UI1|VT_BYREF;
+
773 }
+
774 pbVal = pbSrc;
+
775 return *this;
+
776 }
+
777
+
781 variant& operator=(_In_ short* pnSrc) noexcept
+
782 {
+
783 if (vt != (VT_I2|VT_BYREF)) {
+
784 VariantClear(this);
+
785 vt = VT_I2|VT_BYREF;
+
786 }
+
787 piVal = pnSrc;
+
788 return *this;
+
789 }
+
790
+
794 variant& operator=(_In_ unsigned short* pnSrc) noexcept
+
795 {
+
796 if (vt != (VT_UI2|VT_BYREF)) {
+
797 VariantClear(this);
+
798 vt = VT_UI2|VT_BYREF;
+
799 }
+
800 puiVal = pnSrc;
+
801 return *this;
+
802 }
+
803
+
807 variant& operator=(_In_ int* pnSrc) noexcept
+
808 {
+
809 if (vt != (VT_I4|VT_BYREF)) {
+
810 VariantClear(this);
+
811 vt = VT_I4|VT_BYREF;
+
812 }
+
813 pintVal = pnSrc;
+
814 return *this;
+
815 }
+
816
+
820 variant& operator=(_In_ unsigned int* pnSrc) noexcept
+
821 {
+
822 if (vt != (VT_UI4|VT_BYREF)) {
+
823 VariantClear(this);
+
824 vt = VT_UI4|VT_BYREF;
+
825 }
+
826 puintVal = pnSrc;
+
827 return *this;
+
828 }
+
829
+
833 variant& operator=(_In_ long* pnSrc) noexcept
+
834 {
+
835 if (vt != (VT_I4|VT_BYREF)) {
+
836 VariantClear(this);
+
837 vt = VT_I4|VT_BYREF;
+
838 }
+
839 plVal = pnSrc;
+
840 return *this;
+
841 }
+
842
+
846 variant& operator=(_In_ unsigned long* pnSrc) noexcept
+
847 {
+
848 if (vt != (VT_UI4|VT_BYREF)) {
+
849 VariantClear(this);
+
850 vt = VT_UI4|VT_BYREF;
+
851 }
+
852 pulVal = pnSrc;
+
853 return *this;
+
854 }
+
855
+
859 variant& operator=(_In_ long long* pnSrc) noexcept
+
860 {
+
861 if (vt != (VT_I8|VT_BYREF)) {
+
862 VariantClear(this);
+
863 vt = VT_I8|VT_BYREF;
+
864 }
+
865 pllVal = pnSrc;
+
866 return *this;
+
867 }
+
868
+
872 variant& operator=(_In_ unsigned long long* pnSrc) noexcept
+
873 {
+
874 if (vt != (VT_UI8|VT_BYREF)) {
+
875 VariantClear(this);
+
876 vt = VT_UI8|VT_BYREF;
+
877 }
+
878 pullVal = pnSrc;
+
879 return *this;
+
880 }
+
881
+
885 variant& operator=(_In_ float* pfSrc) noexcept
+
886 {
+
887 if (vt != (VT_R4|VT_BYREF)) {
+
888 VariantClear(this);
+
889 vt = VT_R4|VT_BYREF;
+
890 }
+
891 pfltVal = pfSrc;
+
892 return *this;
+
893 }
+
894
+
898 variant& operator=(_In_ double* pfSrc) noexcept
+
899 {
+
900 if (vt != (VT_R8|VT_BYREF)) {
+
901 VariantClear(this);
+
902 vt = VT_R8|VT_BYREF;
+
903 }
+
904 pdblVal = pfSrc;
+
905 return *this;
+
906 }
+
907
+
911 variant& operator=(_In_ const SAFEARRAY *pSrc)
+
912 {
+
913 assert(pSrc != NULL);
+
914 VariantClear(this);
915
-
924 bool operator!=(_In_ const VARIANT& varSrc) const noexcept
-
925 {
-
926 return !operator==(varSrc);
-
927 }
-
928
-
937 bool operator<(_In_ const VARIANT& varSrc) const noexcept
-
938 {
-
939 if (vt == VT_NULL && varSrc.vt == VT_NULL) return false;
-
940 return compare(static_cast<const VARIANT&>(*this), varSrc, LOCALE_USER_DEFAULT, 0)== static_cast<HRESULT>(VARCMP_LT);
+
916 LPSAFEARRAY pCopy;
+
917 const HRESULT hr = SafeArrayCopy(const_cast<LPSAFEARRAY>(pSrc), &pCopy);
+
918 if (SUCCEEDED(hr)) {
+
919 SafeArrayGetVartype(const_cast<LPSAFEARRAY>(pSrc), &vt);
+
920 vt |= VT_ARRAY;
+
921 parray = pCopy;
+
922 return *this;
+
923 }
+
924 throw com_runtime_error(hr, "SafeArrayCopy failed");
+
925 }
+
926
+
927 public:
+
936 bool operator==(_In_ const VARIANT& varSrc) const noexcept
+
937 {
+
938 if (vt == VT_NULL && varSrc.vt == VT_NULL) return true;
+
939 if (vt != varSrc.vt) return false;
+
940 return compare(static_cast<const VARIANT&>(*this), varSrc, LOCALE_USER_DEFAULT, 0) == static_cast<HRESULT>(VARCMP_EQ);
941 }
942
-
951 bool operator>(_In_ const VARIANT& varSrc) const noexcept
+
951 bool operator!=(_In_ const VARIANT& varSrc) const noexcept
952 {
-
953 if (vt == VT_NULL && varSrc.vt == VT_NULL) return false;
-
954 return compare(static_cast<const VARIANT&>(*this), varSrc, LOCALE_USER_DEFAULT, 0)== static_cast<HRESULT>(VARCMP_GT);
-
955 }
-
956
-
965 bool operator<=(_In_ const VARIANT& varSrc) const noexcept
-
966 {
-
967 return !operator>(varSrc);
+
953 return !operator==(varSrc);
+
954 }
+
955
+
964 bool operator<(_In_ const VARIANT& varSrc) const noexcept
+
965 {
+
966 if (vt == VT_NULL && varSrc.vt == VT_NULL) return false;
+
967 return compare(static_cast<const VARIANT&>(*this), varSrc, LOCALE_USER_DEFAULT, 0)== static_cast<HRESULT>(VARCMP_LT);
968 }
969
-
978 bool operator>=(_In_ const VARIANT& varSrc) const noexcept
+
978 bool operator>(_In_ const VARIANT& varSrc) const noexcept
979 {
-
980 return !operator<(varSrc);
-
981 }
-
982
-
988 HRESULT change_type(_In_ VARTYPE _vt, _In_opt_ USHORT wFlags = 0) noexcept
-
989 {
-
990 return VariantChangeType(this, this, wFlags, _vt);
-
991 }
-
992
-
993 private:
-
995 HRESULT compare(_In_ const VARIANT &varLeft, _In_ const VARIANT &varRight, _In_ LCID lcid, _In_ ULONG dwFlags) const noexcept
-
996 {
-
997 switch(vt) {
-
998 case VT_I1: return varLeft.cVal == varRight.cVal ? VARCMP_EQ : varLeft.cVal > varRight.cVal ? VARCMP_GT : VARCMP_LT;
-
999 case VT_UI2: return varLeft.uiVal == varRight.uiVal ? VARCMP_EQ : varLeft.uiVal > varRight.uiVal ? VARCMP_GT : VARCMP_LT;
-
1000 case VT_UI4: return varLeft.uintVal == varRight.uintVal ? VARCMP_EQ : varLeft.uintVal > varRight.uintVal ? VARCMP_GT : VARCMP_LT;
-
1001 case VT_UI8: return varLeft.ullVal == varRight.ullVal ? VARCMP_EQ : varLeft.ullVal > varRight.ullVal ? VARCMP_GT : VARCMP_LT;
-
1002 default: return VarCmp(const_cast<LPVARIANT>(&varLeft), const_cast<LPVARIANT>(&varRight), lcid, dwFlags);
-
1003 }
-
1004 }
-
1006 };
-
1007 #pragma warning(pop)
-
1008
-
1012 class com_initializer
-
1013 {
-
1014 WINSTD_NONCOPYABLE(com_initializer)
-
1015 WINSTD_NONMOVABLE(com_initializer)
-
1016
-
1017 public:
-
1023 com_initializer(_In_opt_ LPVOID pvReserved) noexcept
-
1024 {
-
1025 m_result = CoInitialize(pvReserved);
-
1026 }
-
1027
-
1033 com_initializer(_In_opt_ LPVOID pvReserved, _In_ DWORD dwCoInit) noexcept
-
1034 {
-
1035 m_result = CoInitializeEx(pvReserved, dwCoInit);
-
1036 }
-
1037
-
1043 virtual ~com_initializer()
-
1044 {
-
1045 if (SUCCEEDED(m_result))
-
1046 CoUninitialize();
-
1047 }
-
1048
-
1054 HRESULT status() const noexcept
-
1055 {
-
1056 return m_result;
-
1057 }
-
1058
-
1059 protected:
-
1060 HRESULT m_result;
-
1061 };
-
1062
-
1064}
+
980 if (vt == VT_NULL && varSrc.vt == VT_NULL) return false;
+
981 return compare(static_cast<const VARIANT&>(*this), varSrc, LOCALE_USER_DEFAULT, 0)== static_cast<HRESULT>(VARCMP_GT);
+
982 }
+
983
+
992 bool operator<=(_In_ const VARIANT& varSrc) const noexcept
+
993 {
+
994 return !operator>(varSrc);
+
995 }
+
996
+
1005 bool operator>=(_In_ const VARIANT& varSrc) const noexcept
+
1006 {
+
1007 return !operator<(varSrc);
+
1008 }
+
1009
+
1015 HRESULT change_type(_In_ VARTYPE _vt, _In_opt_ USHORT wFlags = 0) noexcept
+
1016 {
+
1017 return VariantChangeType(this, this, wFlags, _vt);
+
1018 }
+
1019
+
1020 private:
+
1022 HRESULT compare(_In_ const VARIANT &varLeft, _In_ const VARIANT &varRight, _In_ LCID lcid, _In_ ULONG dwFlags) const noexcept
+
1023 {
+
1024 switch(vt) {
+
1025 case VT_I1: return varLeft.cVal == varRight.cVal ? VARCMP_EQ : varLeft.cVal > varRight.cVal ? VARCMP_GT : VARCMP_LT;
+
1026 case VT_UI2: return varLeft.uiVal == varRight.uiVal ? VARCMP_EQ : varLeft.uiVal > varRight.uiVal ? VARCMP_GT : VARCMP_LT;
+
1027 case VT_UI4: return varLeft.uintVal == varRight.uintVal ? VARCMP_EQ : varLeft.uintVal > varRight.uintVal ? VARCMP_GT : VARCMP_LT;
+
1028 case VT_UI8: return varLeft.ullVal == varRight.ullVal ? VARCMP_EQ : varLeft.ullVal > varRight.ullVal ? VARCMP_GT : VARCMP_LT;
+
1029 default: return VarCmp(const_cast<LPVARIANT>(&varLeft), const_cast<LPVARIANT>(&varRight), lcid, dwFlags);
+
1030 }
+
1031 }
+
1033 };
+
1034 #pragma warning(pop)
+
1035
+
1039 class safearray : public dplhandle<SAFEARRAY*, NULL>
+
1040 {
+
1041 WINSTD_DPLHANDLE_IMPL(safearray, NULL)
+
1042
+
1043 public:
+
1049 virtual ~safearray()
+
1050 {
+
1051 if (m_h != invalid)
+
1052 free_internal();
+
1053 }
+
1054
+
1055 protected:
+
1061 void free_internal() noexcept override
+
1062 {
+
1063 SafeArrayDestroy(m_h);
+
1064 }
1065
-
1068
-
1074template <class T>
-
1075static _Check_return_ HRESULT CoCreateInstance(_In_ REFCLSID rclsid, _In_opt_ LPUNKNOWN pUnkOuter, _In_ DWORD dwClsContext, _Inout_ winstd::com_obj<T> &v)
-
1076{
-
1077 T* ppv;
-
1078 HRESULT hr = CoCreateInstance(rclsid, pUnkOuter, dwClsContext, __uuidof(T), (LPVOID*)&ppv);
-
1079 if (SUCCEEDED(hr))
-
1080 v.attach(ppv);
-
1081 return hr;
-
1082}
-
1083
-
1089template <class T>
-
1090static _Check_return_ HRESULT CoGetObject(_In_ LPCWSTR pszName, _In_opt_ BIND_OPTS* pBindOptions, _In_ REFIID riid, _Inout_ winstd::com_obj<T>& v)
-
1091{
-
1092 T* ppv;
-
1093 HRESULT hr = CoGetObject(pszName, pBindOptions, riid, (LPVOID*)&ppv);
-
1094 if (SUCCEEDED(hr))
-
1095 v.attach(ppv);
-
1096 return hr;
-
1097}
-
1098
-
winstd::bstr
BSTR string wrapper.
Definition: COM.h:179
-
winstd::bstr::bstr
bstr(LPCOLESTR src) noexcept
Constructs BSTR from OLE string.
Definition: COM.h:186
-
winstd::bstr::~bstr
virtual ~bstr()
Destroys the string.
Definition: COM.h:213
-
winstd::bstr::duplicate_internal
handle_type duplicate_internal(handle_type h) const noexcept override
Duplicates the string.
Definition: COM.h:249
-
winstd::bstr::bstr
bstr(const std::basic_string< wchar_t, _Traits, _Ax > &src) noexcept
Constructs BSTR from std::basic_string.
Definition: COM.h:203
-
winstd::bstr::bstr
bstr(LPCOLESTR src, UINT len) noexcept
Constructs BSTR from OLE string with length.
Definition: COM.h:194
-
winstd::bstr::free_internal
void free_internal() noexcept override
Destroys the string.
Definition: COM.h:235
-
winstd::bstr::length
UINT length() const noexcept
Returns the length of the string.
Definition: COM.h:224
-
winstd::com_initializer
Context scope automatic COM (un)initialization.
Definition: COM.h:1013
-
winstd::com_initializer::com_initializer
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:1033
-
winstd::com_initializer::com_initializer
com_initializer(LPVOID pvReserved) noexcept
Initializes the COM library on the current thread and identifies the concurrency model as single-thre...
Definition: COM.h:1023
-
winstd::com_initializer::status
HRESULT status() const noexcept
Return result of CoInitialize() call.
Definition: COM.h:1054
-
winstd::com_initializer::~com_initializer
virtual ~com_initializer()
Uninitializes COM.
Definition: COM.h:1043
-
winstd::com_initializer::m_result
HRESULT m_result
Result of CoInitialize call.
Definition: COM.h:1060
+
1075 handle_type duplicate_internal(_In_ handle_type h) const override
+
1076 {
+
1077 handle_type h_new;
+
1078 HRESULT hr = SafeArrayCopy(h, &h_new);
+
1079 if (SUCCEEDED(hr))
+
1080 return h_new;
+
1081 throw com_runtime_error(hr, "SafeArrayCopy failed");
+
1082 }
+
1083 };
+
1084
+
1088 template <class T>
+
1089 class safearray_accessor
+
1090 {
+
1091 WINSTD_NONCOPYABLE(safearray_accessor)
+
1092 WINSTD_NONMOVABLE(safearray_accessor)
+
1093
+
1094 public:
+
1100 safearray_accessor(_In_ SAFEARRAY* psa) : m_sa(psa)
+
1101 {
+
1102 HRESULT hr = SafeArrayAccessData(psa, (void HUGEP**)&m_data);
+
1103 if (FAILED(hr))
+
1104 throw com_runtime_error(hr, "SafeArrayAccessData failed");
+
1105 }
+
1106
+
1112 virtual ~safearray_accessor()
+
1113 {
+
1114 SafeArrayUnaccessData(m_sa);
+
1115 }
+
1116
+
1120 T HUGEP* data() const noexcept
+
1121 {
+
1122 return m_data;
+
1123 }
+
1124
+
1125 protected:
+
1126 SAFEARRAY* m_sa;
+
1127 T HUGEP* m_data;
+
1128 };
+
1129
+
1133 class com_initializer
+
1134 {
+
1135 WINSTD_NONCOPYABLE(com_initializer)
+
1136 WINSTD_NONMOVABLE(com_initializer)
+
1137
+
1138 public:
+
1144 com_initializer(_In_opt_ LPVOID pvReserved) noexcept
+
1145 {
+
1146 m_result = CoInitialize(pvReserved);
+
1147 }
+
1148
+
1154 com_initializer(_In_opt_ LPVOID pvReserved, _In_ DWORD dwCoInit) noexcept
+
1155 {
+
1156 m_result = CoInitializeEx(pvReserved, dwCoInit);
+
1157 }
+
1158
+
1164 virtual ~com_initializer()
+
1165 {
+
1166 if (SUCCEEDED(m_result))
+
1167 CoUninitialize();
+
1168 }
+
1169
+
1175 HRESULT status() const noexcept
+
1176 {
+
1177 return m_result;
+
1178 }
+
1179
+
1180 protected:
+
1181 HRESULT m_result;
+
1182 };
+
1183
+
1185}
+
1186
+
1189
+
1195template <class T>
+
1196static _Check_return_ HRESULT CoCreateInstance(_In_ REFCLSID rclsid, _In_opt_ LPUNKNOWN pUnkOuter, _In_ DWORD dwClsContext, _Inout_ winstd::com_obj<T> &v)
+
1197{
+
1198 T* ppv;
+
1199 HRESULT hr = CoCreateInstance(rclsid, pUnkOuter, dwClsContext, __uuidof(T), (LPVOID*)&ppv);
+
1200 if (SUCCEEDED(hr))
+
1201 v.attach(ppv);
+
1202 return hr;
+
1203}
+
1204
+
1210template <class T>
+
1211static _Check_return_ HRESULT CoGetObject(_In_ LPCWSTR pszName, _In_opt_ BIND_OPTS* pBindOptions, _In_ REFIID riid, _Inout_ winstd::com_obj<T>& v)
+
1212{
+
1213 T* ppv;
+
1214 HRESULT hr = CoGetObject(pszName, pBindOptions, riid, (LPVOID*)&ppv);
+
1215 if (SUCCEEDED(hr))
+
1216 v.attach(ppv);
+
1217 return hr;
+
1218}
+
1219
+
winstd::bstr
BSTR string wrapper.
Definition: COM.h:198
+
winstd::bstr::bstr
bstr(LPCOLESTR src)
Constructs BSTR from OLE string.
Definition: COM.h:205
+
winstd::bstr::bstr
bstr(const std::basic_string< wchar_t, _Traits, _Ax > &src)
Constructs BSTR from std::basic_string.
Definition: COM.h:226
+
winstd::bstr::duplicate_internal
handle_type duplicate_internal(handle_type h) const override
Duplicates the string.
Definition: COM.h:274
+
winstd::bstr::~bstr
virtual ~bstr()
Destroys the string.
Definition: COM.h:238
+
winstd::bstr::free_internal
void free_internal() noexcept override
Destroys the string.
Definition: COM.h:260
+
winstd::bstr::length
UINT length() const noexcept
Returns the length of the string.
Definition: COM.h:249
+
winstd::bstr::bstr
bstr(LPCOLESTR src, UINT len)
Constructs BSTR from OLE string with length.
Definition: COM.h:215
+
winstd::com_initializer
Context scope automatic COM (un)initialization.
Definition: COM.h:1134
+
winstd::com_initializer::com_initializer
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:1154
+
winstd::com_initializer::com_initializer
com_initializer(LPVOID pvReserved) noexcept
Initializes the COM library on the current thread and identifies the concurrency model as single-thre...
Definition: COM.h:1144
+
winstd::com_initializer::status
HRESULT status() const noexcept
Return result of CoInitialize() call.
Definition: COM.h:1175
+
winstd::com_initializer::~com_initializer
virtual ~com_initializer()
Uninitializes COM.
Definition: COM.h:1164
+
winstd::com_initializer::m_result
HRESULT m_result
Result of CoInitialize call.
Definition: COM.h:1181
winstd::com_obj
COM object wrapper template.
Definition: COM.h:83
-
winstd::com_obj::free_internal
void free_internal() noexcept override
Releases the object by decrementing reference counter.
Definition: COM.h:154
-
winstd::com_obj::duplicate_internal
handle_type duplicate_internal(handle_type h) const noexcept override
Duplicates the object by incrementing the reference counter.
Definition: COM.h:168
-
winstd::com_obj::query_interface
HRESULT query_interface(_Other **h) const
Queries the object for another interface.
Definition: COM.h:125
-
winstd::com_obj::query_interface
HRESULT query_interface(com_obj< _Other > &h) const
Queries the object for another interface.
Definition: COM.h:138
-
winstd::com_obj::~com_obj
virtual ~com_obj()
Releases object.
Definition: COM.h:113
-
winstd::com_obj::com_obj
com_obj(_Other *other)
Queries the object for another interface and creates new class with it.
Definition: COM.h:93
-
winstd::com_obj::com_obj
com_obj(com_obj< _Other > &other)
Queries the object for another interface and creates new class with it.
Definition: COM.h:105
+
winstd::com_obj::free_internal
void free_internal() noexcept override
Releases the object by decrementing reference counter.
Definition: COM.h:173
+
winstd::com_obj::com_obj
com_obj(REFCLSID rclsid, LPUNKNOWN pUnkOuter, DWORD dwClsContext)
Creates a new instance of a class.
Definition: COM.h:92
+
winstd::com_obj::query_interface
HRESULT query_interface(_Other **h) const
Queries the object for another interface.
Definition: COM.h:144
+
winstd::com_obj::duplicate_internal
handle_type duplicate_internal(handle_type h) const override
Duplicates the object by incrementing the reference counter.
Definition: COM.h:187
+
winstd::com_obj::query_interface
HRESULT query_interface(com_obj< _Other > &h) const
Queries the object for another interface.
Definition: COM.h:157
+
winstd::com_obj::~com_obj
virtual ~com_obj()
Releases object.
Definition: COM.h:132
+
winstd::com_obj::com_obj
com_obj(_Other *other)
Queries the object for another interface and creates new class with it.
Definition: COM.h:108
+
winstd::com_obj::com_obj
com_obj(com_obj< _Other > &other)
Queries the object for another interface and creates new class with it.
Definition: COM.h:122
winstd::com_runtime_error
COM runtime error.
Definition: COM.h:26
winstd::com_runtime_error::com_runtime_error
com_runtime_error(error_type num, const std::string &msg)
Constructs an exception.
Definition: COM.h:34
winstd::com_runtime_error::com_runtime_error
com_runtime_error(error_type num, const char *msg=nullptr)
Constructs an exception.
Definition: COM.h:44
-
winstd::dplhandle
Base abstract template class to support object handle keeping for objects that support trivial handle...
Definition: Common.h:834
-
winstd::handle::handle_type
T handle_type
Datatype of the object handle this template class handles.
Definition: Common.h:574
-
winstd::handle::m_h
handle_type m_h
Object handle.
Definition: Common.h:823
-
winstd::num_runtime_error
Numerical runtime error.
Definition: Common.h:968
-
winstd::num_runtime_error< HRESULT >::error_type
HRESULT error_type
Error number type.
Definition: Common.h:970
-
winstd::variant
VARIANT struct wrapper.
Definition: COM.h:261
-
winstd::variant::operator<=
bool operator<=(const VARIANT &varSrc) const noexcept
Is variant less than or equal to?
Definition: COM.h:965
-
winstd::variant::variant
variant(bool bSrc) noexcept
Constructs VARIANT from bool.
Definition: COM.h:295
-
winstd::variant::operator=
variant & operator=(unsigned int nSrc) noexcept
Copy from unsigned int value.
Definition: COM.h:597
-
winstd::variant::operator=
variant & operator=(unsigned long nSrc) noexcept
Copy from unsigned long value.
Definition: COM.h:623
-
winstd::variant::variant
variant(float fltSrc) noexcept
Constructs VARIANT from float.
Definition: COM.h:379
-
winstd::variant::variant
variant(VARIANT &&varSrc) noexcept
Moves VARIANT from another.
Definition: COM.h:286
-
winstd::variant::operator=
variant & operator=(float fltSrc) noexcept
Copy from float value.
Definition: COM.h:663
-
winstd::variant::operator=
variant & operator=(float *pfSrc) noexcept
Copy from float reference.
Definition: COM.h:857
-
winstd::variant::variant
variant(IDispatch *pSrc)
Constructs VARIANT from IDispatch.
Definition: COM.h:444
-
winstd::variant::variant
variant(int nSrc, VARTYPE vtSrc=VT_I4) noexcept
Constructs VARIANT from integer.
Definition: COM.h:340
-
winstd::variant::variant
variant(const SAFEARRAY *pSrc)
Constructs VARIANT from SAFEARRAY.
Definition: COM.h:468
-
winstd::variant::operator=
variant & operator=(double *pfSrc) noexcept
Copy from double reference.
Definition: COM.h:870
-
winstd::variant::operator=
variant & operator=(int *pnSrc) noexcept
Copy from int reference.
Definition: COM.h:779
-
winstd::variant::operator>
bool operator>(const VARIANT &varSrc) const noexcept
Is variant greater than?
Definition: COM.h:951
-
winstd::variant::operator=
variant & operator=(bool bSrc) noexcept
Copy from bool value.
Definition: COM.h:519
-
winstd::variant::operator=
variant & operator=(long nSrc) noexcept
Copy from long value.
Definition: COM.h:610
-
winstd::variant::operator=
variant & operator=(const SAFEARRAY *pSrc) noexcept
Copy from SAFEARRAY.
Definition: COM.h:883
-
winstd::variant::change_type
HRESULT change_type(VARTYPE _vt, USHORT wFlags=0) noexcept
Converts a variant from one type to another.
Definition: COM.h:988
-
winstd::variant::operator=
variant & operator=(IUnknown *pSrc)
Copy from IUnknown.
Definition: COM.h:727
-
winstd::variant::operator=
variant & operator=(short nSrc) noexcept
Copy from short value.
Definition: COM.h:558
-
winstd::variant::operator=
variant & operator=(unsigned char *pbSrc) noexcept
Copy from unsigned char reference.
Definition: COM.h:740
-
winstd::variant::operator=
variant & operator=(unsigned short nSrc) noexcept
Copy from unsigned short value.
Definition: COM.h:571
-
winstd::variant::operator=
variant & operator=(unsigned char nSrc) noexcept
Copy from unsigned char value.
Definition: COM.h:545
-
winstd::variant::operator=
variant & operator=(char cSrc) noexcept
Copy from char value.
Definition: COM.h:532
-
winstd::variant::variant
variant(LPCOLESTR lpszSrc) noexcept
Constructs VARIANT from OLE string.
Definition: COM.h:426
-
winstd::variant::~variant
virtual ~variant()
Destroys VARIANT.
Definition: COM.h:485
-
winstd::variant::variant
variant(const VARIANT &varSrc)
Constructs VARIANT from another.
Definition: COM.h:274
-
winstd::variant::variant
variant(unsigned char nSrc) noexcept
Constructs VARIANT from byte.
Definition: COM.h:313
-
winstd::variant::operator=
variant & operator=(double dblSrc) noexcept
Copy from double value.
Definition: COM.h:676
-
winstd::variant::operator!=
bool operator!=(const VARIANT &varSrc) const noexcept
Is variant not equal to?
Definition: COM.h:924
-
winstd::variant::operator=
variant & operator=(int nSrc) noexcept
Copy from int value.
Definition: COM.h:584
-
winstd::variant::variant
variant(unsigned long nSrc) noexcept
Constructs VARIANT from unsigned long.
Definition: COM.h:370
-
winstd::variant::operator==
bool operator==(const VARIANT &varSrc) const noexcept
Is variant equal to?
Definition: COM.h:909
-
winstd::variant::variant
variant(IUnknown *pSrc)
Constructs VARIANT from IUnknown.
Definition: COM.h:456
-
winstd::variant::variant
variant(unsigned int nSrc, VARTYPE vtSrc=VT_UI4) noexcept
Constructs VARIANT from unsigned integer.
Definition: COM.h:350
-
winstd::variant::operator=
variant & operator=(CY cySrc) noexcept
Copy from CY value.
Definition: COM.h:689
-
winstd::variant::operator=
variant & operator=(LPCOLESTR lpszSrc) noexcept
Copy from OLE string value.
Definition: COM.h:703
-
winstd::variant::variant
variant(long long nSrc) noexcept
Constructs VARIANT from 64-bit integer.
Definition: COM.h:398
-
winstd::variant::operator=
variant & operator=(unsigned int *pnSrc) noexcept
Copy from unsigned int reference.
Definition: COM.h:792
-
winstd::variant::variant
variant(long nSrc, VARTYPE vtSrc=VT_I4) noexcept
Constructs VARIANT from long.
Definition: COM.h:360
-
winstd::variant::operator=
variant & operator=(long *pnSrc) noexcept
Copy from long reference.
Definition: COM.h:805
-
winstd::variant::variant
variant(unsigned short nSrc) noexcept
Constructs VARIANT from unsigned short.
Definition: COM.h:331
-
winstd::variant::operator>=
bool operator>=(const VARIANT &varSrc) const noexcept
Is variant greater than or equal to?
Definition: COM.h:978
-
winstd::variant::operator=
variant & operator=(short *pnSrc) noexcept
Copy from short reference.
Definition: COM.h:753
-
winstd::variant::variant
variant() noexcept
Constructs blank VARIANT.
Definition: COM.h:266
-
winstd::variant::operator<
bool operator<(const VARIANT &varSrc) const noexcept
Is variant less than?
Definition: COM.h:937
-
winstd::variant::variant
variant(unsigned long long nSrc) noexcept
Constructs VARIANT from unsigned integer.
Definition: COM.h:407
-
winstd::variant::variant
variant(char cSrc) noexcept
Constructs VARIANT from character.
Definition: COM.h:304
-
winstd::variant::operator=
variant & operator=(unsigned short *pnSrc) noexcept
Copy from unsigned short reference.
Definition: COM.h:766
-
winstd::variant::operator=
variant & operator=(long long *pnSrc) noexcept
Copy from long long reference.
Definition: COM.h:831
-
winstd::variant::variant
variant(BSTR bstr) noexcept
Constructs VARIANT from BSTR.
Definition: COM.h:435
-
winstd::variant::operator=
variant & operator=(unsigned long long *pnSrc) noexcept
Copy from unsigned long long reference.
Definition: COM.h:844
-
winstd::variant::variant
variant(double dblSrc, VARTYPE vtSrc=VT_R8) noexcept
Constructs VARIANT from double or variant date.
Definition: COM.h:388
-
winstd::variant::variant
variant(short nSrc) noexcept
Constructs VARIANT from short.
Definition: COM.h:322
-
winstd::variant::variant
variant(CY cySrc) noexcept
Constructs VARIANT from CY (64-bit integer)
Definition: COM.h:416
-
winstd::variant::operator=
variant & operator=(unsigned long long nSrc) noexcept
Copy from unsigned long long value.
Definition: COM.h:649
-
winstd::variant::operator=
variant & operator=(VARIANT &&varSrc) noexcept
Moves from another VARIANT.
Definition: COM.h:506
-
winstd::variant::operator=
variant & operator=(long long nSrc) noexcept
Copy from long long value.
Definition: COM.h:636
-
winstd::variant::operator=
variant & operator=(IDispatch *pSrc)
Copy from IDispatch.
Definition: COM.h:714
-
winstd::variant::operator=
variant & operator=(unsigned long *pnSrc) noexcept
Copy from unsigned long reference.
Definition: COM.h:818
-
winstd::variant::operator=
variant & operator=(const VARIANT &varSrc)
Copy from another VARIANT.
Definition: COM.h:493
-
CoGetObject
static _Check_return_ HRESULT CoGetObject(LPCWSTR pszName, BIND_OPTS *pBindOptions, REFIID riid, winstd::com_obj< T > &v)
Converts a display name into a moniker that identifies the object named, and then binds to the object...
Definition: COM.h:1090
-
CoCreateInstance
static _Check_return_ HRESULT CoCreateInstance(REFCLSID rclsid, LPUNKNOWN pUnkOuter, DWORD dwClsContext, winstd::com_obj< T > &v)
Creates and default-initializes a single object of the class associated with a specified CLSID.
Definition: COM.h:1075
+
winstd::dplhandle
Base abstract template class to support object handle keeping for objects that support trivial handle...
Definition: Common.h:900
+
winstd::handle::handle_type
T handle_type
Datatype of the object handle this template class handles.
Definition: Common.h:640
+
winstd::handle::m_h
handle_type m_h
Object handle.
Definition: Common.h:889
+
winstd::num_runtime_error
Numerical runtime error.
Definition: Common.h:1029
+
winstd::num_runtime_error< HRESULT >::error_type
HRESULT error_type
Error number type.
Definition: Common.h:1031
+
winstd::safearray_accessor
Context scope automatic SAFEARRAY (un)access.
Definition: COM.h:1090
+
winstd::safearray_accessor::safearray_accessor
safearray_accessor(SAFEARRAY *psa)
Increments the lock count of an array, and retrieves a pointer to the array data.
Definition: COM.h:1100
+
winstd::safearray_accessor::data
T HUGEP * data() const noexcept
Return SAFEARRAY data pointer.
Definition: COM.h:1120
+
winstd::safearray_accessor::m_sa
SAFEARRAY * m_sa
SAFEARRAY.
Definition: COM.h:1126
+
winstd::safearray_accessor::~safearray_accessor
virtual ~safearray_accessor()
Decrements the lock count of an array.
Definition: COM.h:1112
+
winstd::safearray_accessor::m_data
T HUGEP * m_data
SAFEARRAY data.
Definition: COM.h:1127
+
winstd::safearray
SAFEARRAY string wrapper.
Definition: COM.h:1040
+
winstd::safearray::~safearray
virtual ~safearray()
Destroys the array.
Definition: COM.h:1049
+
winstd::safearray::duplicate_internal
handle_type duplicate_internal(handle_type h) const override
Duplicates the array.
Definition: COM.h:1075
+
winstd::safearray::free_internal
void free_internal() noexcept override
Destroys the array.
Definition: COM.h:1061
+
winstd::variant
VARIANT struct wrapper.
Definition: COM.h:289
+
winstd::variant::operator<=
bool operator<=(const VARIANT &varSrc) const noexcept
Is variant less than or equal to?
Definition: COM.h:992
+
winstd::variant::variant
variant(bool bSrc) noexcept
Constructs VARIANT from bool.
Definition: COM.h:323
+
winstd::variant::operator=
variant & operator=(unsigned int nSrc) noexcept
Copy from unsigned int value.
Definition: COM.h:625
+
winstd::variant::operator=
variant & operator=(unsigned long nSrc) noexcept
Copy from unsigned long value.
Definition: COM.h:651
+
winstd::variant::variant
variant(float fltSrc) noexcept
Constructs VARIANT from float.
Definition: COM.h:407
+
winstd::variant::variant
variant(VARIANT &&varSrc) noexcept
Moves VARIANT from another.
Definition: COM.h:314
+
winstd::variant::operator=
variant & operator=(float fltSrc) noexcept
Copy from float value.
Definition: COM.h:691
+
winstd::variant::operator=
variant & operator=(float *pfSrc) noexcept
Copy from float reference.
Definition: COM.h:885
+
winstd::variant::variant
variant(IDispatch *pSrc)
Constructs VARIANT from IDispatch.
Definition: COM.h:472
+
winstd::variant::variant
variant(int nSrc, VARTYPE vtSrc=VT_I4) noexcept
Constructs VARIANT from integer.
Definition: COM.h:368
+
winstd::variant::variant
variant(const SAFEARRAY *pSrc)
Constructs VARIANT from SAFEARRAY.
Definition: COM.h:496
+
winstd::variant::operator=
variant & operator=(double *pfSrc) noexcept
Copy from double reference.
Definition: COM.h:898
+
winstd::variant::operator=
variant & operator=(const SAFEARRAY *pSrc)
Copy from SAFEARRAY.
Definition: COM.h:911
+
winstd::variant::operator=
variant & operator=(int *pnSrc) noexcept
Copy from int reference.
Definition: COM.h:807
+
winstd::variant::operator>
bool operator>(const VARIANT &varSrc) const noexcept
Is variant greater than?
Definition: COM.h:978
+
winstd::variant::operator=
variant & operator=(bool bSrc) noexcept
Copy from bool value.
Definition: COM.h:547
+
winstd::variant::operator=
variant & operator=(long nSrc) noexcept
Copy from long value.
Definition: COM.h:638
+
winstd::variant::change_type
HRESULT change_type(VARTYPE _vt, USHORT wFlags=0) noexcept
Converts a variant from one type to another.
Definition: COM.h:1015
+
winstd::variant::operator=
variant & operator=(IUnknown *pSrc)
Copy from IUnknown.
Definition: COM.h:755
+
winstd::variant::operator=
variant & operator=(short nSrc) noexcept
Copy from short value.
Definition: COM.h:586
+
winstd::variant::operator=
variant & operator=(unsigned char *pbSrc) noexcept
Copy from unsigned char reference.
Definition: COM.h:768
+
winstd::variant::operator=
variant & operator=(unsigned short nSrc) noexcept
Copy from unsigned short value.
Definition: COM.h:599
+
winstd::variant::operator=
variant & operator=(unsigned char nSrc) noexcept
Copy from unsigned char value.
Definition: COM.h:573
+
winstd::variant::operator=
variant & operator=(char cSrc) noexcept
Copy from char value.
Definition: COM.h:560
+
winstd::variant::variant
variant(LPCOLESTR lpszSrc) noexcept
Constructs VARIANT from OLE string.
Definition: COM.h:454
+
winstd::variant::~variant
virtual ~variant()
Destroys VARIANT.
Definition: COM.h:513
+
winstd::variant::variant
variant(const VARIANT &varSrc)
Constructs VARIANT from another.
Definition: COM.h:302
+
winstd::variant::variant
variant(unsigned char nSrc) noexcept
Constructs VARIANT from byte.
Definition: COM.h:341
+
winstd::variant::operator=
variant & operator=(double dblSrc) noexcept
Copy from double value.
Definition: COM.h:704
+
winstd::variant::operator!=
bool operator!=(const VARIANT &varSrc) const noexcept
Is variant not equal to?
Definition: COM.h:951
+
winstd::variant::operator=
variant & operator=(int nSrc) noexcept
Copy from int value.
Definition: COM.h:612
+
winstd::variant::variant
variant(unsigned long nSrc) noexcept
Constructs VARIANT from unsigned long.
Definition: COM.h:398
+
winstd::variant::operator==
bool operator==(const VARIANT &varSrc) const noexcept
Is variant equal to?
Definition: COM.h:936
+
winstd::variant::variant
variant(IUnknown *pSrc)
Constructs VARIANT from IUnknown.
Definition: COM.h:484
+
winstd::variant::variant
variant(unsigned int nSrc, VARTYPE vtSrc=VT_UI4) noexcept
Constructs VARIANT from unsigned integer.
Definition: COM.h:378
+
winstd::variant::operator=
variant & operator=(CY cySrc) noexcept
Copy from CY value.
Definition: COM.h:717
+
winstd::variant::operator=
variant & operator=(LPCOLESTR lpszSrc) noexcept
Copy from OLE string value.
Definition: COM.h:731
+
winstd::variant::variant
variant(long long nSrc) noexcept
Constructs VARIANT from 64-bit integer.
Definition: COM.h:426
+
winstd::variant::operator=
variant & operator=(unsigned int *pnSrc) noexcept
Copy from unsigned int reference.
Definition: COM.h:820
+
winstd::variant::variant
variant(long nSrc, VARTYPE vtSrc=VT_I4) noexcept
Constructs VARIANT from long.
Definition: COM.h:388
+
winstd::variant::operator=
variant & operator=(long *pnSrc) noexcept
Copy from long reference.
Definition: COM.h:833
+
winstd::variant::variant
variant(unsigned short nSrc) noexcept
Constructs VARIANT from unsigned short.
Definition: COM.h:359
+
winstd::variant::operator>=
bool operator>=(const VARIANT &varSrc) const noexcept
Is variant greater than or equal to?
Definition: COM.h:1005
+
winstd::variant::operator=
variant & operator=(short *pnSrc) noexcept
Copy from short reference.
Definition: COM.h:781
+
winstd::variant::variant
variant() noexcept
Constructs blank VARIANT.
Definition: COM.h:294
+
winstd::variant::operator<
bool operator<(const VARIANT &varSrc) const noexcept
Is variant less than?
Definition: COM.h:964
+
winstd::variant::variant
variant(unsigned long long nSrc) noexcept
Constructs VARIANT from unsigned integer.
Definition: COM.h:435
+
winstd::variant::variant
variant(char cSrc) noexcept
Constructs VARIANT from character.
Definition: COM.h:332
+
winstd::variant::operator=
variant & operator=(unsigned short *pnSrc) noexcept
Copy from unsigned short reference.
Definition: COM.h:794
+
winstd::variant::operator=
variant & operator=(long long *pnSrc) noexcept
Copy from long long reference.
Definition: COM.h:859
+
winstd::variant::variant
variant(BSTR bstr) noexcept
Constructs VARIANT from BSTR.
Definition: COM.h:463
+
winstd::variant::operator=
variant & operator=(unsigned long long *pnSrc) noexcept
Copy from unsigned long long reference.
Definition: COM.h:872
+
winstd::variant::variant
variant(double dblSrc, VARTYPE vtSrc=VT_R8) noexcept
Constructs VARIANT from double or variant date.
Definition: COM.h:416
+
winstd::variant::variant
variant(short nSrc) noexcept
Constructs VARIANT from short.
Definition: COM.h:350
+
winstd::variant::variant
variant(CY cySrc) noexcept
Constructs VARIANT from CY (64-bit integer)
Definition: COM.h:444
+
winstd::variant::operator=
variant & operator=(unsigned long long nSrc) noexcept
Copy from unsigned long long value.
Definition: COM.h:677
+
winstd::variant::operator=
variant & operator=(VARIANT &&varSrc) noexcept
Moves from another VARIANT.
Definition: COM.h:534
+
winstd::variant::operator=
variant & operator=(long long nSrc) noexcept
Copy from long long value.
Definition: COM.h:664
+
winstd::variant::operator=
variant & operator=(IDispatch *pSrc)
Copy from IDispatch.
Definition: COM.h:742
+
winstd::variant::operator=
variant & operator=(unsigned long *pnSrc) noexcept
Copy from unsigned long reference.
Definition: COM.h:846
+
winstd::variant::operator=
variant & operator=(const VARIANT &varSrc)
Copy from another VARIANT.
Definition: COM.h:521
+
CoGetObject
static _Check_return_ HRESULT CoGetObject(LPCWSTR pszName, BIND_OPTS *pBindOptions, REFIID riid, winstd::com_obj< T > &v)
Converts a display name into a moniker that identifies the object named, and then binds to the object...
Definition: COM.h:1211
+
CoCreateInstance
static _Check_return_ HRESULT CoCreateInstance(REFCLSID rclsid, LPUNKNOWN pUnkOuter, DWORD dwClsContext, winstd::com_obj< T > &v)
Creates and default-initializes a single object of the class associated with a specified CLSID.
Definition: COM.h:1196
WINSTD_NONCOPYABLE
#define WINSTD_NONCOPYABLE(C)
Declares a class as non-copyable.
Definition: Common.h:66
WINSTD_NONMOVABLE
#define WINSTD_NONMOVABLE(C)
Declares a class as non-movable.
Definition: Common.h:74
WINSTD_DPLHANDLE_IMPL
#define WINSTD_DPLHANDLE_IMPL(C, INVAL)
Implements default constructors and operators to prevent their auto-generation by compiler.
Definition: Common.h:175
-
winstd::handle::invalid
static const T invalid
Invalid handle value.
Definition: Common.h:579
+
winstd::handle::invalid
static const T invalid
Invalid handle value.
Definition: Common.h:645
winstd::CoTaskMemFree_delete
Deleter for unique_ptr using CoTaskMemFree.
Definition: COM.h:58
winstd::CoTaskMemFree_delete::operator()
void operator()(_T *_Ptr) const
Delete a pointer.
Definition: COM.h:70
winstd::CoTaskMemFree_delete::CoTaskMemFree_delete
CoTaskMemFree_delete() noexcept
Default constructor.
Definition: COM.h:62
diff --git a/_common_8h_source.html b/_common_8h_source.html index 6048daf6..4c28567d 100644 --- a/_common_8h_source.html +++ b/_common_8h_source.html @@ -314,699 +314,747 @@ $(function() {
400 }
401 };
402
-
406 template<class _Ty, class _Dx>
-
407 class ref_unique_ptr
-
408 {
-
409 public:
-
415 ref_unique_ptr(_Inout_ std::unique_ptr<_Ty, _Dx> &owner) :
-
416 m_own(owner),
-
417 m_ptr(owner.release())
-
418 {}
-
419
-
425 ref_unique_ptr(_Inout_ ref_unique_ptr<_Ty, _Dx> &&other) :
-
426 m_own(other.m_own),
-
427 m_ptr(other.m_ptr)
-
428 {
-
429 other.m_ptr = nullptr;
-
430 }
-
431
-
435 ~ref_unique_ptr()
-
436 {
-
437 if (m_ptr != nullptr)
-
438 m_own.reset(m_ptr);
-
439 }
-
440
-
446 operator typename _Ty**()
-
447 {
-
448 return &m_ptr;
-
449 }
-
450
-
456 operator typename _Ty*&()
-
457 {
-
458 return m_ptr;
-
459 }
-
460
-
461 protected:
-
462 std::unique_ptr<_Ty, _Dx> &m_own;
-
463 _Ty *m_ptr;
-
464 };
-
465
-
473 template<class _Ty, class _Dx>
-
474 ref_unique_ptr<_Ty, _Dx> get_ptr(_Inout_ std::unique_ptr<_Ty, _Dx> &owner) noexcept
-
475 {
-
476 return ref_unique_ptr<_Ty, _Dx>(owner);
-
477 }
-
478
-
483 template<class _Ty, class _Dx>
-
484 class ref_unique_ptr<_Ty[], _Dx>
-
485 {
-
486 public:
-
492 ref_unique_ptr(_Inout_ std::unique_ptr<_Ty[], _Dx> &owner) noexcept :
-
493 m_own(owner),
-
494 m_ptr(owner.release())
-
495 {}
-
496
-
502 ref_unique_ptr(_Inout_ ref_unique_ptr<_Ty[], _Dx> &&other) :
-
503 m_own(other.m_own),
-
504 m_ptr(other.m_ptr)
-
505 {
-
506 other.m_ptr = nullptr;
-
507 }
-
508
-
512 virtual ~ref_unique_ptr()
+
406 struct GlobalFree_delete
+
407 {
+
411 GlobalFree_delete() {}
+
412
+
418 void operator()(HGLOBAL _Ptr) const
+
419 {
+
420 GlobalFree(_Ptr);
+
421 }
+
422 };
+
423
+
427 template <class T>
+
428 class globalmem_accessor
+
429 {
+
430 WINSTD_NONCOPYABLE(globalmem_accessor)
+
431 WINSTD_NONMOVABLE(globalmem_accessor)
+
432
+
433 public:
+
439 globalmem_accessor(_In_ HGLOBAL hMem) : m_h(hMem)
+
440 {
+
441 m_data = (T*)GlobalLock(hMem);
+
442 if (!m_data)
+
443 throw win_runtime_error("GlobalLock failed");
+
444 }
+
445
+
451 virtual ~globalmem_accessor()
+
452 {
+
453 GlobalUnlock(m_h);
+
454 }
+
455
+
459 T* data() const noexcept
+
460 {
+
461 return m_data;
+
462 }
+
463
+
464 protected:
+
465 HGLOBAL m_h;
+
466 T* m_data;
+
467 };
+
468
+
472 template<class _Ty, class _Dx>
+
473 class ref_unique_ptr
+
474 {
+
475 public:
+
481 ref_unique_ptr(_Inout_ std::unique_ptr<_Ty, _Dx> &owner) :
+
482 m_own(owner),
+
483 m_ptr(owner.release())
+
484 {}
+
485
+
491 ref_unique_ptr(_Inout_ ref_unique_ptr<_Ty, _Dx> &&other) :
+
492 m_own(other.m_own),
+
493 m_ptr(other.m_ptr)
+
494 {
+
495 other.m_ptr = nullptr;
+
496 }
+
497
+
501 ~ref_unique_ptr()
+
502 {
+
503 if (m_ptr != nullptr)
+
504 m_own.reset(m_ptr);
+
505 }
+
506
+
512 operator typename _Ty**()
513 {
-
514 if (m_ptr != nullptr)
-
515 m_own.reset(m_ptr);
-
516 }
-
517
-
523 operator typename _Ty**() noexcept
-
524 {
-
525 return &m_ptr;
-
526 }
-
527
-
533 operator typename _Ty*&()
-
534 {
-
535 return m_ptr;
-
536 }
-
537
-
538 protected:
-
539 std::unique_ptr<_Ty[], _Dx> &m_own;
-
540 _Ty *m_ptr;
-
541 };
-
542
-
551 template<class _Ty, class _Dx>
-
552 ref_unique_ptr<_Ty[], _Dx> get_ptr(_Inout_ std::unique_ptr<_Ty[], _Dx>& owner) noexcept
-
553 {
-
554 return ref_unique_ptr<_Ty[], _Dx>(owner);
-
555 }
-
556
-
558
-
561
-
567 template <class T, const T INVAL>
-
568 class handle
-
569 {
-
570 public:
-
574 typedef T handle_type;
-
575
-
579 static const T invalid;
-
580
-
584 handle() noexcept : m_h(invalid)
-
585 {
-
586 }
-
587
-
593 handle(_In_opt_ handle_type h) noexcept : m_h(h)
-
594 {
-
595 }
-
596
-
602 handle(_Inout_ handle<handle_type, INVAL> &&h) noexcept
-
603 {
-
604 // Transfer handle.
-
605 m_h = h.m_h;
-
606 h.m_h = invalid;
-
607 }
+
514 return &m_ptr;
+
515 }
+
516
+
522 operator typename _Ty*&()
+
523 {
+
524 return m_ptr;
+
525 }
+
526
+
527 protected:
+
528 std::unique_ptr<_Ty, _Dx> &m_own;
+
529 _Ty *m_ptr;
+
530 };
+
531
+
539 template<class _Ty, class _Dx>
+
540 ref_unique_ptr<_Ty, _Dx> get_ptr(_Inout_ std::unique_ptr<_Ty, _Dx> &owner) noexcept
+
541 {
+
542 return ref_unique_ptr<_Ty, _Dx>(owner);
+
543 }
+
544
+
549 template<class _Ty, class _Dx>
+
550 class ref_unique_ptr<_Ty[], _Dx>
+
551 {
+
552 public:
+
558 ref_unique_ptr(_Inout_ std::unique_ptr<_Ty[], _Dx> &owner) noexcept :
+
559 m_own(owner),
+
560 m_ptr(owner.release())
+
561 {}
+
562
+
568 ref_unique_ptr(_Inout_ ref_unique_ptr<_Ty[], _Dx> &&other) :
+
569 m_own(other.m_own),
+
570 m_ptr(other.m_ptr)
+
571 {
+
572 other.m_ptr = nullptr;
+
573 }
+
574
+
578 virtual ~ref_unique_ptr()
+
579 {
+
580 if (m_ptr != nullptr)
+
581 m_own.reset(m_ptr);
+
582 }
+
583
+
589 operator typename _Ty**() noexcept
+
590 {
+
591 return &m_ptr;
+
592 }
+
593
+
599 operator typename _Ty*&()
+
600 {
+
601 return m_ptr;
+
602 }
+
603
+
604 protected:
+
605 std::unique_ptr<_Ty[], _Dx> &m_own;
+
606 _Ty *m_ptr;
+
607 };
608
-
609 private:
-
610 // This class is noncopyable.
-
611 handle(_In_ const handle<handle_type, INVAL> &h) noexcept {};
-
612 handle<handle_type, INVAL>& operator=(_In_ const handle<handle_type, INVAL> &h) noexcept {};
-
613
-
614 public:
-
620 handle<handle_type, INVAL>& operator=(_In_opt_ handle_type h) noexcept
-
621 {
-
622 attach(h);
-
623 return *this;
-
624 }
-
625
-
631 #pragma warning(suppress: 26432) // Move constructor is also present, but not detected by code analysis somehow.
-
632 handle<handle_type, INVAL>& operator=(_Inout_ handle<handle_type, INVAL> &&h) noexcept
-
633 {
-
634 if (this != std::addressof(h)) {
-
635 // Transfer handle.
-
636 if (m_h != invalid)
-
637 free_internal();
-
638 m_h = h.m_h;
-
639 h.m_h = invalid;
-
640 }
-
641 return *this;
-
642 }
-
643
-
649 operator handle_type() const
-
650 {
-
651 return m_h;
+
617 template<class _Ty, class _Dx>
+
618 ref_unique_ptr<_Ty[], _Dx> get_ptr(_Inout_ std::unique_ptr<_Ty[], _Dx>& owner) noexcept
+
619 {
+
620 return ref_unique_ptr<_Ty[], _Dx>(owner);
+
621 }
+
622
+
624
+
627
+
633 template <class T, const T INVAL>
+
634 class handle
+
635 {
+
636 public:
+
640 typedef T handle_type;
+
641
+
645 static const T invalid;
+
646
+
650 handle() noexcept : m_h(invalid)
+
651 {
652 }
653
-
659 handle_type*& operator*() const
-
660 {
-
661 assert(m_h != invalid);
-
662 return *m_h;
-
663 }
-
664
-
669 handle_type* operator&()
-
670 {
-
671 assert(m_h == invalid);
-
672 return &m_h;
+
659 handle(_In_opt_ handle_type h) noexcept : m_h(h)
+
660 {
+
661 }
+
662
+
668 handle(_Inout_ handle<handle_type, INVAL> &&h) noexcept
+
669 {
+
670 // Transfer handle.
+
671 m_h = h.m_h;
+
672 h.m_h = invalid;
673 }
674
-
680 handle_type operator->() const
-
681 {
-
682 assert(m_h != invalid);
-
683 return m_h;
-
684 }
-
685
-
696 bool operator!() const
-
697 {
-
698 return m_h == invalid;
-
699 }
-
700
-
709 bool operator<(_In_opt_ handle_type h) const
-
710 {
-
711 return m_h < h;
-
712 }
-
713
-
722 bool operator<=(_In_opt_ handle_type h) const
-
723 {
-
724 return !operator>(h);
-
725 }
-
726
-
735 bool operator>=(_In_opt_ handle_type h) const
-
736 {
-
737 return !operator<(h);
-
738 }
-
739
-
748 bool operator>(_In_opt_ handle_type h) const
-
749 {
-
750 return h < m_h;
-
751 }
-
752
-
761 bool operator!=(_In_opt_ handle_type h) const
-
762 {
-
763 return !operator==(h);
-
764 }
-
765
-
774 bool operator==(_In_opt_ handle_type h) const
-
775 {
-
776 return m_h == h;
-
777 }
-
778
-
786 void attach(_In_opt_ handle_type h) noexcept
-
787 {
-
788 if (m_h != invalid)
-
789 free_internal();
-
790 m_h = h;
+
675 private:
+
676 // This class is noncopyable.
+
677 handle(_In_ const handle<handle_type, INVAL> &h) noexcept {};
+
678 handle<handle_type, INVAL>& operator=(_In_ const handle<handle_type, INVAL> &h) noexcept {};
+
679
+
680 public:
+
686 handle<handle_type, INVAL>& operator=(_In_opt_ handle_type h) noexcept
+
687 {
+
688 attach(h);
+
689 return *this;
+
690 }
+
691
+
697 #pragma warning(suppress: 26432) // Move constructor is also present, but not detected by code analysis somehow.
+
698 handle<handle_type, INVAL>& operator=(_Inout_ handle<handle_type, INVAL> &&h) noexcept
+
699 {
+
700 if (this != std::addressof(h)) {
+
701 // Transfer handle.
+
702 if (m_h != invalid)
+
703 free_internal();
+
704 m_h = h.m_h;
+
705 h.m_h = invalid;
+
706 }
+
707 return *this;
+
708 }
+
709
+
715 operator handle_type() const
+
716 {
+
717 return m_h;
+
718 }
+
719
+
725 handle_type*& operator*() const
+
726 {
+
727 assert(m_h != invalid);
+
728 return *m_h;
+
729 }
+
730
+
735 handle_type* operator&()
+
736 {
+
737 assert(m_h == invalid);
+
738 return &m_h;
+
739 }
+
740
+
746 handle_type operator->() const
+
747 {
+
748 assert(m_h != invalid);
+
749 return m_h;
+
750 }
+
751
+
762 bool operator!() const
+
763 {
+
764 return m_h == invalid;
+
765 }
+
766
+
775 bool operator<(_In_opt_ handle_type h) const
+
776 {
+
777 return m_h < h;
+
778 }
+
779
+
788 bool operator<=(_In_opt_ handle_type h) const
+
789 {
+
790 return !operator>(h);
791 }
792
-
798 handle_type detach()
-
799 {
-
800 handle_type h = m_h;
-
801 m_h = invalid;
-
802 return h;
-
803 }
-
804
-
808 void free()
-
809 {
-
810 if (m_h != invalid) {
-
811 free_internal();
-
812 m_h = invalid;
-
813 }
-
814 }
-
815
-
816 protected:
-
820 virtual void free_internal() noexcept = 0;
-
821
-
822 protected:
-
823 handle_type m_h;
-
824 };
-
825
-
826 template <class T, const T INVAL>
-
827 const T handle<T, INVAL>::invalid = INVAL;
-
828
-
832 template <class T, T INVAL>
-
833 class dplhandle : public handle<T, INVAL>
-
834 {
-
835 public:
-
839 dplhandle() noexcept
-
840 {
-
841 }
-
842
-
848 dplhandle(_In_opt_ handle_type h) noexcept : handle<handle_type, INVAL>(h)
-
849 {
-
850 }
-
851
-
857 dplhandle<handle_type, INVAL>(_In_ const dplhandle<handle_type, INVAL> &h) noexcept : handle<handle_type, INVAL>(duplicate_internal(h.m_h))
-
858 {
-
859 }
-
860
-
866 dplhandle<handle_type, INVAL>(_Inout_ dplhandle<handle_type, INVAL> &&h) noexcept : handle<handle_type, INVAL>(std::move(h))
-
867 {
-
868 }
-
869
-
875 dplhandle<handle_type, INVAL>& operator=(_In_opt_ handle_type h) noexcept
-
876 {
-
877 handle<handle_type, INVAL>::operator=(h);
-
878 return *this;
-
879 }
-
880
-
886 dplhandle<handle_type, INVAL>& operator=(_In_ const dplhandle<handle_type, INVAL> &h) noexcept
-
887 {
-
888 if (this != std::addressof(h)) {
-
889 if (h.m_h != invalid) {
-
890 handle_type h_new = duplicate_internal(h.m_h);
-
891 if (h_new != invalid) {
-
892 if (m_h != invalid)
-
893 free_internal();
+
801 bool operator>=(_In_opt_ handle_type h) const
+
802 {
+
803 return !operator<(h);
+
804 }
+
805
+
814 bool operator>(_In_opt_ handle_type h) const
+
815 {
+
816 return h < m_h;
+
817 }
+
818
+
827 bool operator!=(_In_opt_ handle_type h) const
+
828 {
+
829 return !operator==(h);
+
830 }
+
831
+
840 bool operator==(_In_opt_ handle_type h) const
+
841 {
+
842 return m_h == h;
+
843 }
+
844
+
852 void attach(_In_opt_ handle_type h) noexcept
+
853 {
+
854 if (m_h != invalid)
+
855 free_internal();
+
856 m_h = h;
+
857 }
+
858
+
864 handle_type detach()
+
865 {
+
866 handle_type h = m_h;
+
867 m_h = invalid;
+
868 return h;
+
869 }
+
870
+
874 void free()
+
875 {
+
876 if (m_h != invalid) {
+
877 free_internal();
+
878 m_h = invalid;
+
879 }
+
880 }
+
881
+
882 protected:
+
886 virtual void free_internal() noexcept = 0;
+
887
+
888 protected:
+
889 handle_type m_h;
+
890 };
+
891
+
892 template <class T, const T INVAL>
+
893 const T handle<T, INVAL>::invalid = INVAL;
894
-
895 m_h = h_new;
-
896 } else
-
897 assert(0); // Could not duplicate the handle
-
898 } else {
-
899 if (m_h != invalid)
-
900 free_internal();
-
901
-
902 m_h = invalid;
-
903 }
-
904 }
-
905 return *this;
-
906 }
-
907
-
913 #pragma warning(disable: 26432) // Move constructor is also present, but not detected by code analysis somehow.
-
914 dplhandle<handle_type, INVAL>& operator=(_Inout_ dplhandle<handle_type, INVAL> &&h) noexcept
+
898 template <class T, T INVAL>
+
899 class dplhandle : public handle<T, INVAL>
+
900 {
+
901 public:
+
905 dplhandle() noexcept
+
906 {
+
907 }
+
908
+
914 dplhandle(_In_opt_ handle_type h) noexcept : handle<handle_type, INVAL>(h)
915 {
-
916 handle<handle_type, INVAL>::operator=(std::move(h));
-
917 return *this;
-
918 }
-
919
-
925 handle_type duplicate() const
-
926 {
-
927 return m_h != invalid ? duplicate_internal(m_h) : invalid;
-
928 }
-
929
-
939 bool attach_duplicated(_In_opt_ handle_type h)
-
940 {
-
941 if (m_h != invalid)
-
942 free_internal();
-
943
-
944 return h != invalid ? (m_h = duplicate_internal(h)) != invalid : (m_h = invalid, true);
+
916 }
+
917
+
923 dplhandle<handle_type, INVAL>(_In_ const dplhandle<handle_type, INVAL> &h) : handle<handle_type, INVAL>(duplicate_internal(h.m_h))
+
924 {
+
925 }
+
926
+
932 dplhandle<handle_type, INVAL>(_Inout_ dplhandle<handle_type, INVAL> &&h) noexcept : handle<handle_type, INVAL>(std::move(h))
+
933 {
+
934 }
+
935
+
941 dplhandle<handle_type, INVAL>& operator=(_In_opt_ handle_type h) noexcept
+
942 {
+
943 handle<handle_type, INVAL>::operator=(h);
+
944 return *this;
945 }
946
-
947 protected:
-
955 virtual handle_type duplicate_internal(_In_ handle_type h) const noexcept = 0;
-
956 };
+
952 dplhandle<handle_type, INVAL>& operator=(_In_ const dplhandle<handle_type, INVAL> &h) noexcept
+
953 {
+
954 if (this != std::addressof(h)) {
+
955 if (h.m_h != invalid) {
+
956 handle_type h_new = duplicate_internal(h.m_h);
957
-
959
-
962
-
966 template <typename _Tn>
-
967 class num_runtime_error : public std::runtime_error
-
968 {
-
969 public:
-
970 typedef _Tn error_type;
+
958 if (m_h != invalid)
+
959 free_internal();
+
960
+
961 m_h = h_new;
+
962 } else {
+
963 if (m_h != invalid)
+
964 free_internal();
+
965
+
966 m_h = invalid;
+
967 }
+
968 }
+
969 return *this;
+
970 }
971
-
972 public:
-
979 num_runtime_error(_In_ error_type num, _In_ const std::string& msg) :
-
980 m_num(num),
-
981 runtime_error(msg)
-
982 {
-
983 }
-
984
-
991 num_runtime_error(_In_ error_type num, _In_opt_z_ const char *msg = nullptr) :
-
992 m_num(num),
-
993 runtime_error(msg)
-
994 {
-
995 }
-
996
-
1000 error_type number() const
-
1001 {
-
1002 return m_num;
-
1003 }
-
1004
-
1005 protected:
-
1006 error_type m_num;
-
1007 };
-
1008
-
1012 class win_runtime_error : public num_runtime_error<DWORD>
-
1013 {
-
1014 public:
-
1021 win_runtime_error(_In_ error_type num, _In_ const std::string& msg) : num_runtime_error<DWORD>(num, msg)
-
1022 {
-
1023 }
-
1024
-
1031 win_runtime_error(_In_ error_type num, _In_opt_z_ const char *msg = nullptr) : num_runtime_error<DWORD>(num, msg)
-
1032 {
-
1033 }
-
1034
-
1040 win_runtime_error(_In_ const std::string& msg) : num_runtime_error<DWORD>(GetLastError(), msg)
-
1041 {
-
1042 }
-
1043
-
1049 win_runtime_error(_In_opt_z_ const char *msg = nullptr) : num_runtime_error<DWORD>(GetLastError(), msg)
-
1050 {
-
1051 }
-
1052
-
1058 tstring msg(_In_opt_ DWORD dwLanguageId = 0) const
-
1059 {
-
1060 tstring str;
-
1061 if (FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, 0, m_num, dwLanguageId, str, NULL)) {
-
1062 // Stock Windows error messages contain CRLF. Well... Trim all the trailing white space.
-
1063 str.erase(str.find_last_not_of(_T(" \t\n\r\f\v")) + 1);
-
1064 } else
-
1065 sprintf(str, m_num >= 0x10000 ? _T("Error 0x%X") : _T("Error %u"), m_num);
-
1066 return str;
-
1067 }
+
977 #pragma warning(disable: 26432) // Move constructor is also present, but not detected by code analysis somehow.
+
978 dplhandle<handle_type, INVAL>& operator=(_Inout_ dplhandle<handle_type, INVAL> &&h) noexcept
+
979 {
+
980 handle<handle_type, INVAL>::operator=(std::move(h));
+
981 return *this;
+
982 }
+
983
+
989 handle_type duplicate() const
+
990 {
+
991 return m_h != invalid ? duplicate_internal(m_h) : invalid;
+
992 }
+
993
+
999 void attach_duplicated(_In_opt_ handle_type h)
+
1000 {
+
1001 if (m_h != invalid)
+
1002 free_internal();
+
1003
+
1004 m_h = h != invalid ? duplicate_internal(h) : invalid;
+
1005 }
+
1006
+
1007 protected:
+
1016 virtual handle_type duplicate_internal(_In_ handle_type h) const = 0;
+
1017 };
+
1018
+
1020
+
1023
+
1027 template <typename _Tn>
+
1028 class num_runtime_error : public std::runtime_error
+
1029 {
+
1030 public:
+
1031 typedef _Tn error_type;
+
1032
+
1033 public:
+
1040 num_runtime_error(_In_ error_type num, _In_ const std::string& msg) :
+
1041 m_num(num),
+
1042 runtime_error(msg)
+
1043 {
+
1044 }
+
1045
+
1052 num_runtime_error(_In_ error_type num, _In_opt_z_ const char *msg = nullptr) :
+
1053 m_num(num),
+
1054 runtime_error(msg)
+
1055 {
+
1056 }
+
1057
+
1061 error_type number() const
+
1062 {
+
1063 return m_num;
+
1064 }
+
1065
+
1066 protected:
+
1067 error_type m_num;
1068 };
1069
-
1071
-
1074
-
1078 template<class _Elem, class _Traits, class _Ax>
-
1079 class basic_string_printf : public std::basic_string<_Elem, _Traits, _Ax>
-
1080 {
-
1081 public:
-
1084
-
1090 basic_string_printf(_In_z_ _Printf_format_string_ const _Elem *format, ...)
-
1091 {
-
1092 va_list arg;
-
1093 va_start(arg, format);
-
1094 vsprintf(*this, format, arg);
-
1095 va_end(arg);
-
1096 }
-
1097
-
1099
-
1102
-
1109 basic_string_printf(_In_ HINSTANCE hInstance, _In_ UINT nFormatID, ...)
-
1110 {
-
1111 _Myt format;
-
1112 ATLENSURE(format.LoadString(hInstance, nFormatID));
+
1073 class win_runtime_error : public num_runtime_error<DWORD>
+
1074 {
+
1075 public:
+
1082 win_runtime_error(_In_ error_type num, _In_ const std::string& msg) : num_runtime_error<DWORD>(num, msg)
+
1083 {
+
1084 }
+
1085
+
1092 win_runtime_error(_In_ error_type num, _In_opt_z_ const char *msg = nullptr) : num_runtime_error<DWORD>(num, msg)
+
1093 {
+
1094 }
+
1095
+
1101 win_runtime_error(_In_ const std::string& msg) : num_runtime_error<DWORD>(GetLastError(), msg)
+
1102 {
+
1103 }
+
1104
+
1110 win_runtime_error(_In_opt_z_ const char *msg = nullptr) : num_runtime_error<DWORD>(GetLastError(), msg)
+
1111 {
+
1112 }
1113
-
1114 va_list arg;
-
1115 va_start(arg, nFormatID);
-
1116 vsprintf(*this, format, arg);
-
1117 va_end(arg);
-
1118 }
-
1119
-
1127 basic_string_printf(_In_ HINSTANCE hInstance, _In_ WORD wLanguageID, _In_ UINT nFormatID, ...)
-
1128 {
-
1129 _Myt format;
-
1130 ATLENSURE(format.LoadString(hInstance, nFormatID, wLanguageID));
-
1131
-
1132 va_list arg;
-
1133 va_start(arg, nFormatID);
-
1134 vsprintf(*this, format, arg);
-
1135 va_end(arg);
-
1136 }
-
1137
-
1139 };
-
1140
-
1144 typedef basic_string_printf<char, std::char_traits<char>, std::allocator<char> > string_printf;
+
1119 tstring msg(_In_opt_ DWORD dwLanguageId = 0) const
+
1120 {
+
1121 tstring str;
+
1122 if (FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, 0, m_num, dwLanguageId, str, NULL)) {
+
1123 // Stock Windows error messages contain CRLF. Well... Trim all the trailing white space.
+
1124 str.erase(str.find_last_not_of(_T(" \t\n\r\f\v")) + 1);
+
1125 } else
+
1126 sprintf(str, m_num >= 0x10000 ? _T("Error 0x%X") : _T("Error %u"), m_num);
+
1127 return str;
+
1128 }
+
1129 };
+
1130
+
1132
+
1135
+
1139 template<class _Elem, class _Traits, class _Ax>
+
1140 class basic_string_printf : public std::basic_string<_Elem, _Traits, _Ax>
+
1141 {
+
1142 public:
1145
-
1149 typedef basic_string_printf<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > wstring_printf;
-
1150
-
1154#ifdef _UNICODE
-
1155 typedef wstring_printf tstring_printf;
-
1156#else
-
1157 typedef string_printf tstring_printf;
-
1158#endif
-
1159
-
1163 template<class _Elem, class _Traits, class _Ax>
-
1164 class basic_string_msg : public std::basic_string<_Elem, _Traits, _Ax>
-
1165 {
-
1166 public:
-
1169
-
1175 basic_string_msg(_In_z_ _FormatMessage_format_string_ const _Elem *format, ...)
-
1176 {
-
1177 va_list arg;
-
1178 va_start(arg, format);
-
1179 FormatMessage(FORMAT_MESSAGE_FROM_STRING, format, 0, 0, *this, &arg);
-
1180 va_end(arg);
-
1181 }
-
1182
-
1184
-
1187
-
1194 basic_string_msg(_In_ HINSTANCE hInstance, _In_ UINT nFormatID, ...)
-
1195 {
-
1196 _Myt format(GetManager());
-
1197 ATLENSURE(format.LoadString(hInstance, nFormatID));
+
1151 basic_string_printf(_In_z_ _Printf_format_string_ const _Elem *format, ...)
+
1152 {
+
1153 va_list arg;
+
1154 va_start(arg, format);
+
1155 vsprintf(*this, format, arg);
+
1156 va_end(arg);
+
1157 }
+
1158
+
1160
+
1163
+
1170 basic_string_printf(_In_ HINSTANCE hInstance, _In_ UINT nFormatID, ...)
+
1171 {
+
1172 _Myt format;
+
1173 ATLENSURE(format.LoadString(hInstance, nFormatID));
+
1174
+
1175 va_list arg;
+
1176 va_start(arg, nFormatID);
+
1177 vsprintf(*this, format, arg);
+
1178 va_end(arg);
+
1179 }
+
1180
+
1188 basic_string_printf(_In_ HINSTANCE hInstance, _In_ WORD wLanguageID, _In_ UINT nFormatID, ...)
+
1189 {
+
1190 _Myt format;
+
1191 ATLENSURE(format.LoadString(hInstance, nFormatID, wLanguageID));
+
1192
+
1193 va_list arg;
+
1194 va_start(arg, nFormatID);
+
1195 vsprintf(*this, format, arg);
+
1196 va_end(arg);
+
1197 }
1198
-
1199 va_list arg;
-
1200 va_start(arg, nFormatID);
-
1201 FormatMessage(FORMAT_MESSAGE_FROM_STRING, format, 0, 0, *this, &arg);
-
1202 va_end(arg);
-
1203 }
-
1204
-
1212 basic_string_msg(_In_ HINSTANCE hInstance, _In_ WORD wLanguageID, _In_ UINT nFormatID, ...)
-
1213 {
-
1214 _Myt format(GetManager());
-
1215 ATLENSURE(format.LoadString(hInstance, nFormatID, wLanguageID));
-
1216
-
1217 va_list arg;
-
1218 va_start(arg, nFormatID);
-
1219 FormatMessage(FORMAT_MESSAGE_FROM_STRING, format, 0, 0, *this, &arg);
-
1220 va_end(arg);
-
1221 }
-
1222
-
1224
-
1230 basic_string_msg(_In_ DWORD dwFlags, _In_opt_ LPCVOID lpSource, _In_ DWORD dwMessageId, _In_ DWORD dwLanguageId, _In_opt_ va_list *Arguments)
-
1231 {
-
1232 FormatMessage(dwFlags & ~FORMAT_MESSAGE_ARGUMENT_ARRAY, lpSource, dwMessageId, dwLanguageId, *this, Arguments);
-
1233 }
-
1234
-
1240 basic_string_msg(_In_ DWORD dwFlags, _In_opt_ LPCVOID lpSource, _In_ DWORD dwMessageId, _In_ DWORD dwLanguageId, _In_opt_ DWORD_PTR *Arguments)
-
1241 {
-
1242 FormatMessage(dwFlags | FORMAT_MESSAGE_ARGUMENT_ARRAY, lpSource, dwMessageId, dwLanguageId, *this, (va_list*)Arguments);
-
1243 }
-
1244
-
1250 basic_string_msg(_In_ DWORD dwFlags, _In_z_ LPCTSTR pszFormat, _In_opt_ va_list *Arguments)
-
1251 {
-
1252 FormatMessage(dwFlags & ~FORMAT_MESSAGE_ARGUMENT_ARRAY | FORMAT_MESSAGE_FROM_STRING, pszFormat, 0, 0, *this, Arguments);
-
1253 }
-
1254
-
1260 basic_string_msg(_In_ DWORD dwFlags, _In_z_ LPCTSTR pszFormat, _In_opt_ DWORD_PTR *Arguments)
-
1261 {
-
1262 FormatMessage(dwFlags | FORMAT_MESSAGE_ARGUMENT_ARRAY | FORMAT_MESSAGE_FROM_STRING, pszFormat, 0, 0, *this, (va_list*)Arguments);
-
1263 }
-
1264 };
+
1200 };
+
1201
+
1205 typedef basic_string_printf<char, std::char_traits<char>, std::allocator<char> > string_printf;
+
1206
+
1210 typedef basic_string_printf<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > wstring_printf;
+
1211
+
1215#ifdef _UNICODE
+
1216 typedef wstring_printf tstring_printf;
+
1217#else
+
1218 typedef string_printf tstring_printf;
+
1219#endif
+
1220
+
1224 template<class _Elem, class _Traits, class _Ax>
+
1225 class basic_string_msg : public std::basic_string<_Elem, _Traits, _Ax>
+
1226 {
+
1227 public:
+
1230
+
1236 basic_string_msg(_In_z_ _FormatMessage_format_string_ const _Elem *format, ...)
+
1237 {
+
1238 va_list arg;
+
1239 va_start(arg, format);
+
1240 FormatMessage(FORMAT_MESSAGE_FROM_STRING, format, 0, 0, *this, &arg);
+
1241 va_end(arg);
+
1242 }
+
1243
+
1245
+
1248
+
1255 basic_string_msg(_In_ HINSTANCE hInstance, _In_ UINT nFormatID, ...)
+
1256 {
+
1257 _Myt format(GetManager());
+
1258 ATLENSURE(format.LoadString(hInstance, nFormatID));
+
1259
+
1260 va_list arg;
+
1261 va_start(arg, nFormatID);
+
1262 FormatMessage(FORMAT_MESSAGE_FROM_STRING, format, 0, 0, *this, &arg);
+
1263 va_end(arg);
+
1264 }
1265
-
1269 typedef basic_string_msg<char, std::char_traits<char>, std::allocator<char> > string_msg;
-
1270
-
1274 typedef basic_string_msg<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > wstring_msg;
-
1275
-
1279#ifdef _UNICODE
-
1280 typedef wstring_msg tstring_msg;
-
1281#else
-
1282 typedef string_msg tstring_msg;
-
1283#endif
-
1284
-
1288 template<class _Elem, class _Traits, class _Ax>
-
1289 class basic_string_guid : public std::basic_string<_Elem, _Traits, _Ax>
-
1290 {
-
1291 public:
-
1294
-
1301 basic_string_guid(_In_ const GUID &guid, _In_z_ _Printf_format_string_ const _Elem *format)
+
1273 basic_string_msg(_In_ HINSTANCE hInstance, _In_ WORD wLanguageID, _In_ UINT nFormatID, ...)
+
1274 {
+
1275 _Myt format(GetManager());
+
1276 ATLENSURE(format.LoadString(hInstance, nFormatID, wLanguageID));
+
1277
+
1278 va_list arg;
+
1279 va_start(arg, nFormatID);
+
1280 FormatMessage(FORMAT_MESSAGE_FROM_STRING, format, 0, 0, *this, &arg);
+
1281 va_end(arg);
+
1282 }
+
1283
+
1285
+
1291 basic_string_msg(_In_ DWORD dwFlags, _In_opt_ LPCVOID lpSource, _In_ DWORD dwMessageId, _In_ DWORD dwLanguageId, _In_opt_ va_list *Arguments)
+
1292 {
+
1293 FormatMessage(dwFlags & ~FORMAT_MESSAGE_ARGUMENT_ARRAY, lpSource, dwMessageId, dwLanguageId, *this, Arguments);
+
1294 }
+
1295
+
1301 basic_string_msg(_In_ DWORD dwFlags, _In_opt_ LPCVOID lpSource, _In_ DWORD dwMessageId, _In_ DWORD dwLanguageId, _In_opt_ DWORD_PTR *Arguments)
1302 {
-
1303 sprintf<_Elem, _Traits, _Ax>(*this, format,
-
1304 guid.Data1,
-
1305 guid.Data2,
-
1306 guid.Data3,
-
1307 guid.Data4[0], guid.Data4[1],
-
1308 guid.Data4[2], guid.Data4[3], guid.Data4[4], guid.Data4[5], guid.Data4[6], guid.Data4[7]);
-
1309 }
-
1310
-
1312 };
-
1313
-
1317 class string_guid : public basic_string_guid<char, std::char_traits<char>, std::allocator<char> >
-
1318 {
-
1319 public:
-
1322
-
1328 string_guid(_In_ const GUID &guid) :
-
1329 basic_string_guid<char, std::char_traits<char>, std::allocator<char> >(guid, "{%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X}")
-
1330 {
-
1331 }
-
1332
-
1334 };
-
1335
-
1339 class wstring_guid : public basic_string_guid<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >
-
1340 {
-
1341 public:
-
1344
-
1350 wstring_guid(_In_ const GUID &guid) :
-
1351 basic_string_guid<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >(guid, L"{%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X}")
-
1352 {
-
1353 }
-
1354
-
1356 };
-
1357
-
1361#ifdef _UNICODE
-
1362 typedef wstring_guid tstring_guid;
-
1363#else
-
1364 typedef string_guid tstring_guid;
-
1365#endif
-
1366
-
1368
+
1303 FormatMessage(dwFlags | FORMAT_MESSAGE_ARGUMENT_ARRAY, lpSource, dwMessageId, dwLanguageId, *this, (va_list*)Arguments);
+
1304 }
+
1305
+
1311 basic_string_msg(_In_ DWORD dwFlags, _In_z_ LPCTSTR pszFormat, _In_opt_ va_list *Arguments)
+
1312 {
+
1313 FormatMessage(dwFlags & ~FORMAT_MESSAGE_ARGUMENT_ARRAY | FORMAT_MESSAGE_FROM_STRING, pszFormat, 0, 0, *this, Arguments);
+
1314 }
+
1315
+
1321 basic_string_msg(_In_ DWORD dwFlags, _In_z_ LPCTSTR pszFormat, _In_opt_ DWORD_PTR *Arguments)
+
1322 {
+
1323 FormatMessage(dwFlags | FORMAT_MESSAGE_ARGUMENT_ARRAY | FORMAT_MESSAGE_FROM_STRING, pszFormat, 0, 0, *this, (va_list*)Arguments);
+
1324 }
+
1325 };
+
1326
+
1330 typedef basic_string_msg<char, std::char_traits<char>, std::allocator<char> > string_msg;
+
1331
+
1335 typedef basic_string_msg<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > wstring_msg;
+
1336
+
1340#ifdef _UNICODE
+
1341 typedef wstring_msg tstring_msg;
+
1342#else
+
1343 typedef string_msg tstring_msg;
+
1344#endif
+
1345
+
1349 template<class _Elem, class _Traits, class _Ax>
+
1350 class basic_string_guid : public std::basic_string<_Elem, _Traits, _Ax>
+
1351 {
+
1352 public:
+
1355
+
1362 basic_string_guid(_In_ const GUID &guid, _In_z_ _Printf_format_string_ const _Elem *format)
+
1363 {
+
1364 sprintf<_Elem, _Traits, _Ax>(*this, format,
+
1365 guid.Data1,
+
1366 guid.Data2,
+
1367 guid.Data3,
+
1368 guid.Data4[0], guid.Data4[1],
+
1369 guid.Data4[2], guid.Data4[3], guid.Data4[4], guid.Data4[5], guid.Data4[6], guid.Data4[7]);
+
1370 }
1371
-
1372 // winstd::sanitizing_allocator::destroy() member generates _Ptr parameter not used warning for primitive datatypes _Ty.
-
1373 #pragma warning(push)
-
1374 #pragma warning(disable: 4100)
-
1375
-
1383 template<class _Ty>
-
1384 class sanitizing_allocator : public std::allocator<_Ty>
-
1385 {
-
1386 public:
-
1387 typedef std::allocator<_Ty> _Mybase;
-
1388
-
1392 template<class _Other>
-
1393 struct rebind
-
1394 {
-
1395 typedef sanitizing_allocator<_Other> other;
-
1396 };
-
1397
-
1401 sanitizing_allocator() noexcept : _Mybase()
-
1402 {
-
1403 }
-
1404
-
1408 sanitizing_allocator(_In_ const sanitizing_allocator<_Ty> &_Othr) : _Mybase(_Othr)
-
1409 {
-
1410 }
-
1411
-
1415 template<class _Other>
-
1416 sanitizing_allocator(_In_ const sanitizing_allocator<_Other> &_Othr) noexcept : _Mybase(_Othr)
-
1417 {
-
1418 }
-
1419
-
1423 void deallocate(_In_ pointer _Ptr, _In_ size_type _Size)
-
1424 {
-
1425 // Sanitize then free.
-
1426 SecureZeroMemory(_Ptr, _Size);
-
1427 _Mybase::deallocate(_Ptr, _Size);
-
1428 }
-
1429 };
-
1430
-
1431 #pragma warning(pop)
+
1373 };
+
1374
+
1378 class string_guid : public basic_string_guid<char, std::char_traits<char>, std::allocator<char> >
+
1379 {
+
1380 public:
+
1383
+
1389 string_guid(_In_ const GUID &guid) :
+
1390 basic_string_guid<char, std::char_traits<char>, std::allocator<char> >(guid, "{%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X}")
+
1391 {
+
1392 }
+
1393
+
1395 };
+
1396
+
1400 class wstring_guid : public basic_string_guid<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >
+
1401 {
+
1402 public:
+
1405
+
1411 wstring_guid(_In_ const GUID &guid) :
+
1412 basic_string_guid<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >(guid, L"{%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X}")
+
1413 {
+
1414 }
+
1415
+
1417 };
+
1418
+
1422#ifdef _UNICODE
+
1423 typedef wstring_guid tstring_guid;
+
1424#else
+
1425 typedef string_guid tstring_guid;
+
1426#endif
+
1427
+
1429
1432
-
1440 typedef std::basic_string<char, std::char_traits<char>, sanitizing_allocator<char> > sanitizing_string;
-
1441
-
1449 typedef std::basic_string<wchar_t, std::char_traits<wchar_t>, sanitizing_allocator<wchar_t> > sanitizing_wstring;
-
1450
-
1454#ifdef _UNICODE
-
1455 typedef sanitizing_wstring sanitizing_tstring;
-
1456#else
-
1457 typedef sanitizing_string sanitizing_tstring;
-
1458#endif
-
1459
-
1463 template<size_t N>
-
1464 class sanitizing_blob
-
1465 {
-
1466 public:
-
1470 sanitizing_blob()
-
1471 {
-
1472 ZeroMemory(m_data, N);
-
1473 }
-
1474
-
1478 ~sanitizing_blob()
-
1479 {
-
1480 SecureZeroMemory(m_data, N);
-
1481 }
-
1482
-
1483 public:
-
1484 unsigned char m_data[N];
-
1485 };
-
1486
-
1488}
-
winstd::basic_string_guid
Base template class to support converting GUID to string.
Definition: Common.h:1290
-
winstd::basic_string_guid::basic_string_guid
basic_string_guid(const GUID &guid, const _Elem *format)
Initializes a new string and formats its contents to string representation of given GUID.
Definition: Common.h:1301
-
winstd::basic_string_msg
Base template class to support string formatting using FormatMessage() style templates.
Definition: Common.h:1165
-
winstd::basic_string_msg::basic_string_msg
basic_string_msg(DWORD dwFlags, LPCVOID lpSource, DWORD dwMessageId, DWORD dwLanguageId, DWORD_PTR *Arguments)
Initializes a new string and formats its contents using FormatMessage() style.
Definition: Common.h:1240
-
winstd::basic_string_msg::basic_string_msg
basic_string_msg(DWORD dwFlags, LPCTSTR pszFormat, va_list *Arguments)
Initializes a new string and formats its contents using FormatMessage() style.
Definition: Common.h:1250
-
winstd::basic_string_msg::basic_string_msg
basic_string_msg(HINSTANCE hInstance, WORD wLanguageID, UINT nFormatID,...)
Initializes a new string and formats its contents using FormatMessage() style template in resources.
Definition: Common.h:1212
-
winstd::basic_string_msg::basic_string_msg
basic_string_msg(DWORD dwFlags, LPCVOID lpSource, DWORD dwMessageId, DWORD dwLanguageId, va_list *Arguments)
Initializes a new string and formats its contents using FormatMessage() style.
Definition: Common.h:1230
-
winstd::basic_string_msg::basic_string_msg
basic_string_msg(const _Elem *format,...)
Initializes a new string and formats its contents using FormatMessage() style template.
Definition: Common.h:1175
-
winstd::basic_string_msg::basic_string_msg
basic_string_msg(HINSTANCE hInstance, UINT nFormatID,...)
Initializes a new string and formats its contents using FormatMessage() style template in resources.
Definition: Common.h:1194
-
winstd::basic_string_msg::basic_string_msg
basic_string_msg(DWORD dwFlags, LPCTSTR pszFormat, DWORD_PTR *Arguments)
Initializes a new string and formats its contents using FormatMessage() style.
Definition: Common.h:1260
-
winstd::basic_string_printf
Base template class to support string formatting using printf() style templates.
Definition: Common.h:1080
-
winstd::basic_string_printf::basic_string_printf
basic_string_printf(const _Elem *format,...)
Initializes a new string and formats its contents using printf() style template.
Definition: Common.h:1090
-
winstd::basic_string_printf::basic_string_printf
basic_string_printf(HINSTANCE hInstance, WORD wLanguageID, UINT nFormatID,...)
Initializes a new string and formats its contents using printf() style template in resources.
Definition: Common.h:1127
-
winstd::basic_string_printf::basic_string_printf
basic_string_printf(HINSTANCE hInstance, UINT nFormatID,...)
Initializes a new string and formats its contents using printf() style template in resources.
Definition: Common.h:1109
-
winstd::dplhandle
Base abstract template class to support object handle keeping for objects that support trivial handle...
Definition: Common.h:834
-
winstd::dplhandle::operator=
dplhandle< handle_type, INVAL > & operator=(handle_type h) noexcept
Attaches already available object handle.
Definition: Common.h:875
-
winstd::dplhandle::duplicate
handle_type duplicate() const
Duplicates and returns a new object handle.
Definition: Common.h:925
-
winstd::dplhandle::operator=
dplhandle< handle_type, INVAL > & operator=(dplhandle< handle_type, INVAL > &&h) noexcept
Moves the object.
Definition: Common.h:914
-
winstd::dplhandle::attach_duplicated
bool attach_duplicated(handle_type h)
Duplicates an object handle and sets a new object handle.
Definition: Common.h:939
-
winstd::dplhandle::duplicate_internal
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...
-
winstd::dplhandle::dplhandle
dplhandle(handle_type h) noexcept
Initializes a new class instance with an already available object handle.
Definition: Common.h:848
-
winstd::dplhandle::operator=
dplhandle< handle_type, INVAL > & operator=(const dplhandle< handle_type, INVAL > &h) noexcept
Duplicates the object.
Definition: Common.h:886
-
winstd::dplhandle::dplhandle
dplhandle() noexcept
Initializes a new class instance with the object handle set to INVAL.
Definition: Common.h:839
-
winstd::handle
Base abstract template class to support generic object handle keeping.
Definition: Common.h:569
-
winstd::handle::operator*
handle_type *& operator*() const
Returns the object handle value when the object handle is a pointer to a value (class,...
Definition: Common.h:659
+
1433 // winstd::sanitizing_allocator::destroy() member generates _Ptr parameter not used warning for primitive datatypes _Ty.
+
1434 #pragma warning(push)
+
1435 #pragma warning(disable: 4100)
+
1436
+
1444 template<class _Ty>
+
1445 class sanitizing_allocator : public std::allocator<_Ty>
+
1446 {
+
1447 public:
+
1448 typedef std::allocator<_Ty> _Mybase;
+
1449
+
1453 template<class _Other>
+
1454 struct rebind
+
1455 {
+
1456 typedef sanitizing_allocator<_Other> other;
+
1457 };
+
1458
+
1462 sanitizing_allocator() noexcept : _Mybase()
+
1463 {
+
1464 }
+
1465
+
1469 sanitizing_allocator(_In_ const sanitizing_allocator<_Ty> &_Othr) : _Mybase(_Othr)
+
1470 {
+
1471 }
+
1472
+
1476 template<class _Other>
+
1477 sanitizing_allocator(_In_ const sanitizing_allocator<_Other> &_Othr) noexcept : _Mybase(_Othr)
+
1478 {
+
1479 }
+
1480
+
1484 void deallocate(_In_ pointer _Ptr, _In_ size_type _Size)
+
1485 {
+
1486 // Sanitize then free.
+
1487 SecureZeroMemory(_Ptr, _Size);
+
1488 _Mybase::deallocate(_Ptr, _Size);
+
1489 }
+
1490 };
+
1491
+
1492 #pragma warning(pop)
+
1493
+
1501 typedef std::basic_string<char, std::char_traits<char>, sanitizing_allocator<char> > sanitizing_string;
+
1502
+
1510 typedef std::basic_string<wchar_t, std::char_traits<wchar_t>, sanitizing_allocator<wchar_t> > sanitizing_wstring;
+
1511
+
1515#ifdef _UNICODE
+
1516 typedef sanitizing_wstring sanitizing_tstring;
+
1517#else
+
1518 typedef sanitizing_string sanitizing_tstring;
+
1519#endif
+
1520
+
1524 template<size_t N>
+
1525 class sanitizing_blob
+
1526 {
+
1527 public:
+
1531 sanitizing_blob()
+
1532 {
+
1533 ZeroMemory(m_data, N);
+
1534 }
+
1535
+
1539 ~sanitizing_blob()
+
1540 {
+
1541 SecureZeroMemory(m_data, N);
+
1542 }
+
1543
+
1544 public:
+
1545 unsigned char m_data[N];
+
1546 };
+
1547
+
1549}
+
winstd::basic_string_guid
Base template class to support converting GUID to string.
Definition: Common.h:1351
+
winstd::basic_string_guid::basic_string_guid
basic_string_guid(const GUID &guid, const _Elem *format)
Initializes a new string and formats its contents to string representation of given GUID.
Definition: Common.h:1362
+
winstd::basic_string_msg
Base template class to support string formatting using FormatMessage() style templates.
Definition: Common.h:1226
+
winstd::basic_string_msg::basic_string_msg
basic_string_msg(DWORD dwFlags, LPCVOID lpSource, DWORD dwMessageId, DWORD dwLanguageId, DWORD_PTR *Arguments)
Initializes a new string and formats its contents using FormatMessage() style.
Definition: Common.h:1301
+
winstd::basic_string_msg::basic_string_msg
basic_string_msg(DWORD dwFlags, LPCTSTR pszFormat, va_list *Arguments)
Initializes a new string and formats its contents using FormatMessage() style.
Definition: Common.h:1311
+
winstd::basic_string_msg::basic_string_msg
basic_string_msg(HINSTANCE hInstance, WORD wLanguageID, UINT nFormatID,...)
Initializes a new string and formats its contents using FormatMessage() style template in resources.
Definition: Common.h:1273
+
winstd::basic_string_msg::basic_string_msg
basic_string_msg(DWORD dwFlags, LPCVOID lpSource, DWORD dwMessageId, DWORD dwLanguageId, va_list *Arguments)
Initializes a new string and formats its contents using FormatMessage() style.
Definition: Common.h:1291
+
winstd::basic_string_msg::basic_string_msg
basic_string_msg(const _Elem *format,...)
Initializes a new string and formats its contents using FormatMessage() style template.
Definition: Common.h:1236
+
winstd::basic_string_msg::basic_string_msg
basic_string_msg(HINSTANCE hInstance, UINT nFormatID,...)
Initializes a new string and formats its contents using FormatMessage() style template in resources.
Definition: Common.h:1255
+
winstd::basic_string_msg::basic_string_msg
basic_string_msg(DWORD dwFlags, LPCTSTR pszFormat, DWORD_PTR *Arguments)
Initializes a new string and formats its contents using FormatMessage() style.
Definition: Common.h:1321
+
winstd::basic_string_printf
Base template class to support string formatting using printf() style templates.
Definition: Common.h:1141
+
winstd::basic_string_printf::basic_string_printf
basic_string_printf(const _Elem *format,...)
Initializes a new string and formats its contents using printf() style template.
Definition: Common.h:1151
+
winstd::basic_string_printf::basic_string_printf
basic_string_printf(HINSTANCE hInstance, WORD wLanguageID, UINT nFormatID,...)
Initializes a new string and formats its contents using printf() style template in resources.
Definition: Common.h:1188
+
winstd::basic_string_printf::basic_string_printf
basic_string_printf(HINSTANCE hInstance, UINT nFormatID,...)
Initializes a new string and formats its contents using printf() style template in resources.
Definition: Common.h:1170
+
winstd::dplhandle
Base abstract template class to support object handle keeping for objects that support trivial handle...
Definition: Common.h:900
+
winstd::dplhandle::duplicate_internal
virtual handle_type duplicate_internal(handle_type h) const =0
Abstract member function that must be implemented by child classes to do the actual object handle dup...
+
winstd::dplhandle::operator=
dplhandle< handle_type, INVAL > & operator=(handle_type h) noexcept
Attaches already available object handle.
Definition: Common.h:941
+
winstd::dplhandle::duplicate
handle_type duplicate() const
Duplicates and returns a new object handle.
Definition: Common.h:989
+
winstd::dplhandle::operator=
dplhandle< handle_type, INVAL > & operator=(dplhandle< handle_type, INVAL > &&h) noexcept
Moves the object.
Definition: Common.h:978
+
winstd::dplhandle::attach_duplicated
void attach_duplicated(handle_type h)
Duplicates an object handle and sets a new object handle.
Definition: Common.h:999
+
winstd::dplhandle::dplhandle
dplhandle(handle_type h) noexcept
Initializes a new class instance with an already available object handle.
Definition: Common.h:914
+
winstd::dplhandle::operator=
dplhandle< handle_type, INVAL > & operator=(const dplhandle< handle_type, INVAL > &h) noexcept
Duplicates the object.
Definition: Common.h:952
+
winstd::dplhandle::dplhandle
dplhandle() noexcept
Initializes a new class instance with the object handle set to INVAL.
Definition: Common.h:905
+
winstd::globalmem_accessor
Context scope automatic GlobalAlloc (un)access.
Definition: Common.h:429
+
winstd::globalmem_accessor::m_h
HGLOBAL m_h
memory handle
Definition: Common.h:465
+
winstd::globalmem_accessor::~globalmem_accessor
virtual ~globalmem_accessor()
Decrements the lock count associated with a memory object.
Definition: Common.h:451
+
winstd::globalmem_accessor::m_data
T * m_data
memory pointer
Definition: Common.h:466
+
winstd::globalmem_accessor::data
T * data() const noexcept
Return data pointer.
Definition: Common.h:459
+
winstd::globalmem_accessor::globalmem_accessor
globalmem_accessor(HGLOBAL hMem)
Locks a global memory object and returns a pointer to the first byte of the object's memory block.
Definition: Common.h:439
+
winstd::handle
Base abstract template class to support generic object handle keeping.
Definition: Common.h:635
+
winstd::handle::operator*
handle_type *& operator*() const
Returns the object handle value when the object handle is a pointer to a value (class,...
Definition: Common.h:725
winstd::handle::free_internal
virtual void free_internal() noexcept=0
Abstract member function that must be implemented by child classes to do the actual object destructio...
-
winstd::handle::handle
handle() noexcept
Initializes a new class instance with the object handle set to INVAL.
Definition: Common.h:584
-
winstd::handle::operator>=
bool operator>=(handle_type h) const
Is handle greater than or equal to?
Definition: Common.h:735
-
winstd::handle::operator->
handle_type operator->() const
Provides object handle member access when the object handle is a pointer to a class or struct.
Definition: Common.h:680
-
winstd::handle::operator&
handle_type * operator&()
Returns the object handle reference.
Definition: Common.h:669
-
winstd::handle::handle_type
T handle_type
Datatype of the object handle this template class handles.
Definition: Common.h:574
-
winstd::handle::handle
handle(handle_type h) noexcept
Initializes a new class instance with an already available object handle.
Definition: Common.h:593
-
winstd::handle::operator<
bool operator<(handle_type h) const
Is handle less than?
Definition: Common.h:709
-
winstd::handle::operator=
handle< handle_type, INVAL > & operator=(handle_type h) noexcept
Attaches already available object handle.
Definition: Common.h:620
-
winstd::handle::operator!
bool operator!() const
Tests if the object handle is invalid.
Definition: Common.h:696
-
winstd::handle::operator=
handle< handle_type, INVAL > & operator=(handle< handle_type, INVAL > &&h) noexcept
Move assignment.
Definition: Common.h:632
-
winstd::handle::operator!=
bool operator!=(handle_type h) const
Is handle not equal to?
Definition: Common.h:761
-
winstd::handle::free
void free()
Destroys the object.
Definition: Common.h:808
-
winstd::handle::m_h
handle_type m_h
Object handle.
Definition: Common.h:823
-
winstd::handle::attach
void attach(handle_type h) noexcept
Sets a new object handle for the class.
Definition: Common.h:786
-
winstd::handle::operator==
bool operator==(handle_type h) const
Is handle equal to?
Definition: Common.h:774
-
winstd::handle::handle
handle(handle< handle_type, INVAL > &&h) noexcept
Move constructor.
Definition: Common.h:602
-
winstd::handle::detach
handle_type detach()
Dismisses the object handle from this class.
Definition: Common.h:798
-
winstd::handle::operator>
bool operator>(handle_type h) const
Is handle greater than?
Definition: Common.h:748
-
winstd::handle::operator<=
bool operator<=(handle_type h) const
Is handle less than or equal to?
Definition: Common.h:722
-
winstd::num_runtime_error
Numerical runtime error.
Definition: Common.h:968
-
winstd::num_runtime_error::num_runtime_error
num_runtime_error(error_type num, const char *msg=nullptr)
Constructs an exception.
Definition: Common.h:991
-
winstd::num_runtime_error::num_runtime_error
num_runtime_error(error_type num, const std::string &msg)
Constructs an exception.
Definition: Common.h:979
-
winstd::num_runtime_error::number
error_type number() const
Returns the Windows error number.
Definition: Common.h:1000
-
winstd::num_runtime_error::error_type
_Tn error_type
Error number type.
Definition: Common.h:970
-
winstd::num_runtime_error::m_num
error_type m_num
Numeric error code.
Definition: Common.h:1006
-
winstd::ref_unique_ptr< _Ty[], _Dx >::m_own
std::unique_ptr< _Ty[], _Dx > & m_own
Original owner of the pointer.
Definition: Common.h:539
-
winstd::ref_unique_ptr< _Ty[], _Dx >::ref_unique_ptr
ref_unique_ptr(ref_unique_ptr< _Ty[], _Dx > &&other)
Moves object.
Definition: Common.h:502
-
winstd::ref_unique_ptr< _Ty[], _Dx >::~ref_unique_ptr
virtual ~ref_unique_ptr()
Returns ownership of the pointer.
Definition: Common.h:512
-
winstd::ref_unique_ptr< _Ty[], _Dx >::ref_unique_ptr
ref_unique_ptr(std::unique_ptr< _Ty[], _Dx > &owner) noexcept
Takes ownership of the pointer.
Definition: Common.h:492
-
winstd::ref_unique_ptr< _Ty[], _Dx >::m_ptr
_Ty * m_ptr
Pointer.
Definition: Common.h:540
-
winstd::ref_unique_ptr
Helper class for returning pointers to std::unique_ptr.
Definition: Common.h:408
-
winstd::ref_unique_ptr::m_own
std::unique_ptr< _Ty, _Dx > & m_own
Original owner of the pointer.
Definition: Common.h:462
-
winstd::ref_unique_ptr::m_ptr
_Ty * m_ptr
Pointer.
Definition: Common.h:463
-
winstd::ref_unique_ptr::ref_unique_ptr
ref_unique_ptr(ref_unique_ptr< _Ty, _Dx > &&other)
Moves object.
Definition: Common.h:425
-
winstd::ref_unique_ptr::~ref_unique_ptr
~ref_unique_ptr()
Returns ownership of the pointer.
Definition: Common.h:435
-
winstd::ref_unique_ptr::ref_unique_ptr
ref_unique_ptr(std::unique_ptr< _Ty, _Dx > &owner)
Takes ownership of the pointer.
Definition: Common.h:415
-
winstd::sanitizing_allocator
An allocator template that sanitizes each memory block before it is destroyed or reallocated.
Definition: Common.h:1385
-
winstd::sanitizing_allocator::sanitizing_allocator
sanitizing_allocator(const sanitizing_allocator< _Ty > &_Othr)
Construct by copying.
Definition: Common.h:1408
-
winstd::sanitizing_allocator::deallocate
void deallocate(pointer _Ptr, size_type _Size)
Deallocate object at _Ptr sanitizing its content first.
Definition: Common.h:1423
-
winstd::sanitizing_allocator::sanitizing_allocator
sanitizing_allocator(const sanitizing_allocator< _Other > &_Othr) noexcept
Construct from a related allocator.
Definition: Common.h:1416
-
winstd::sanitizing_allocator::_Mybase
std::allocator< _Ty > _Mybase
Base type.
Definition: Common.h:1387
-
winstd::sanitizing_allocator::sanitizing_allocator
sanitizing_allocator() noexcept
Construct default allocator.
Definition: Common.h:1401
-
winstd::sanitizing_blob
Sanitizing BLOB.
Definition: Common.h:1465
-
winstd::sanitizing_blob::sanitizing_blob
sanitizing_blob()
Constructs uninitialized BLOB.
Definition: Common.h:1470
-
winstd::sanitizing_blob::~sanitizing_blob
~sanitizing_blob()
Sanitizes BLOB.
Definition: Common.h:1478
-
winstd::string_guid
Single-byte character implementation of a class to support converting GUID to string.
Definition: Common.h:1318
-
winstd::string_guid::string_guid
string_guid(const GUID &guid)
Initializes a new string and formats its contents to string representation of given GUID.
Definition: Common.h:1328
-
winstd::win_runtime_error
Windows runtime error.
Definition: Common.h:1013
-
winstd::win_runtime_error::msg
tstring msg(DWORD dwLanguageId=0) const
Returns a user-readable Windows error message.
Definition: Common.h:1058
-
winstd::win_runtime_error::win_runtime_error
win_runtime_error(error_type num, const char *msg=nullptr)
Constructs an exception.
Definition: Common.h:1031
-
winstd::win_runtime_error::win_runtime_error
win_runtime_error(const std::string &msg)
Constructs an exception using GetLastError()
Definition: Common.h:1040
-
winstd::win_runtime_error::win_runtime_error
win_runtime_error(const char *msg=nullptr)
Constructs an exception using GetLastError()
Definition: Common.h:1049
-
winstd::win_runtime_error::win_runtime_error
win_runtime_error(error_type num, const std::string &msg)
Constructs an exception.
Definition: Common.h:1021
-
winstd::wstring_guid
Wide character implementation of a class to support converting GUID to string.
Definition: Common.h:1340
-
winstd::wstring_guid::wstring_guid
wstring_guid(const GUID &guid)
Initializes a new string and formats its contents to string representation of given GUID.
Definition: Common.h:1350
+
winstd::handle::handle
handle() noexcept
Initializes a new class instance with the object handle set to INVAL.
Definition: Common.h:650
+
winstd::handle::operator>=
bool operator>=(handle_type h) const
Is handle greater than or equal to?
Definition: Common.h:801
+
winstd::handle::operator->
handle_type operator->() const
Provides object handle member access when the object handle is a pointer to a class or struct.
Definition: Common.h:746
+
winstd::handle::operator&
handle_type * operator&()
Returns the object handle reference.
Definition: Common.h:735
+
winstd::handle::handle_type
T handle_type
Datatype of the object handle this template class handles.
Definition: Common.h:640
+
winstd::handle::handle
handle(handle_type h) noexcept
Initializes a new class instance with an already available object handle.
Definition: Common.h:659
+
winstd::handle::operator<
bool operator<(handle_type h) const
Is handle less than?
Definition: Common.h:775
+
winstd::handle::operator=
handle< handle_type, INVAL > & operator=(handle_type h) noexcept
Attaches already available object handle.
Definition: Common.h:686
+
winstd::handle::operator!
bool operator!() const
Tests if the object handle is invalid.
Definition: Common.h:762
+
winstd::handle::operator=
handle< handle_type, INVAL > & operator=(handle< handle_type, INVAL > &&h) noexcept
Move assignment.
Definition: Common.h:698
+
winstd::handle::operator!=
bool operator!=(handle_type h) const
Is handle not equal to?
Definition: Common.h:827
+
winstd::handle::free
void free()
Destroys the object.
Definition: Common.h:874
+
winstd::handle::m_h
handle_type m_h
Object handle.
Definition: Common.h:889
+
winstd::handle::attach
void attach(handle_type h) noexcept
Sets a new object handle for the class.
Definition: Common.h:852
+
winstd::handle::operator==
bool operator==(handle_type h) const
Is handle equal to?
Definition: Common.h:840
+
winstd::handle::handle
handle(handle< handle_type, INVAL > &&h) noexcept
Move constructor.
Definition: Common.h:668
+
winstd::handle::detach
handle_type detach()
Dismisses the object handle from this class.
Definition: Common.h:864
+
winstd::handle::operator>
bool operator>(handle_type h) const
Is handle greater than?
Definition: Common.h:814
+
winstd::handle::operator<=
bool operator<=(handle_type h) const
Is handle less than or equal to?
Definition: Common.h:788
+
winstd::num_runtime_error
Numerical runtime error.
Definition: Common.h:1029
+
winstd::num_runtime_error::num_runtime_error
num_runtime_error(error_type num, const char *msg=nullptr)
Constructs an exception.
Definition: Common.h:1052
+
winstd::num_runtime_error::num_runtime_error
num_runtime_error(error_type num, const std::string &msg)
Constructs an exception.
Definition: Common.h:1040
+
winstd::num_runtime_error::number
error_type number() const
Returns the Windows error number.
Definition: Common.h:1061
+
winstd::num_runtime_error::error_type
_Tn error_type
Error number type.
Definition: Common.h:1031
+
winstd::num_runtime_error::m_num
error_type m_num
Numeric error code.
Definition: Common.h:1067
+
winstd::ref_unique_ptr< _Ty[], _Dx >::m_own
std::unique_ptr< _Ty[], _Dx > & m_own
Original owner of the pointer.
Definition: Common.h:605
+
winstd::ref_unique_ptr< _Ty[], _Dx >::ref_unique_ptr
ref_unique_ptr(ref_unique_ptr< _Ty[], _Dx > &&other)
Moves object.
Definition: Common.h:568
+
winstd::ref_unique_ptr< _Ty[], _Dx >::~ref_unique_ptr
virtual ~ref_unique_ptr()
Returns ownership of the pointer.
Definition: Common.h:578
+
winstd::ref_unique_ptr< _Ty[], _Dx >::ref_unique_ptr
ref_unique_ptr(std::unique_ptr< _Ty[], _Dx > &owner) noexcept
Takes ownership of the pointer.
Definition: Common.h:558
+
winstd::ref_unique_ptr< _Ty[], _Dx >::m_ptr
_Ty * m_ptr
Pointer.
Definition: Common.h:606
+
winstd::ref_unique_ptr
Helper class for returning pointers to std::unique_ptr.
Definition: Common.h:474
+
winstd::ref_unique_ptr::m_own
std::unique_ptr< _Ty, _Dx > & m_own
Original owner of the pointer.
Definition: Common.h:528
+
winstd::ref_unique_ptr::m_ptr
_Ty * m_ptr
Pointer.
Definition: Common.h:529
+
winstd::ref_unique_ptr::ref_unique_ptr
ref_unique_ptr(ref_unique_ptr< _Ty, _Dx > &&other)
Moves object.
Definition: Common.h:491
+
winstd::ref_unique_ptr::~ref_unique_ptr
~ref_unique_ptr()
Returns ownership of the pointer.
Definition: Common.h:501
+
winstd::ref_unique_ptr::ref_unique_ptr
ref_unique_ptr(std::unique_ptr< _Ty, _Dx > &owner)
Takes ownership of the pointer.
Definition: Common.h:481
+
winstd::sanitizing_allocator
An allocator template that sanitizes each memory block before it is destroyed or reallocated.
Definition: Common.h:1446
+
winstd::sanitizing_allocator::sanitizing_allocator
sanitizing_allocator(const sanitizing_allocator< _Ty > &_Othr)
Construct by copying.
Definition: Common.h:1469
+
winstd::sanitizing_allocator::deallocate
void deallocate(pointer _Ptr, size_type _Size)
Deallocate object at _Ptr sanitizing its content first.
Definition: Common.h:1484
+
winstd::sanitizing_allocator::sanitizing_allocator
sanitizing_allocator(const sanitizing_allocator< _Other > &_Othr) noexcept
Construct from a related allocator.
Definition: Common.h:1477
+
winstd::sanitizing_allocator::_Mybase
std::allocator< _Ty > _Mybase
Base type.
Definition: Common.h:1448
+
winstd::sanitizing_allocator::sanitizing_allocator
sanitizing_allocator() noexcept
Construct default allocator.
Definition: Common.h:1462
+
winstd::sanitizing_blob
Sanitizing BLOB.
Definition: Common.h:1526
+
winstd::sanitizing_blob::sanitizing_blob
sanitizing_blob()
Constructs uninitialized BLOB.
Definition: Common.h:1531
+
winstd::sanitizing_blob::~sanitizing_blob
~sanitizing_blob()
Sanitizes BLOB.
Definition: Common.h:1539
+
winstd::string_guid
Single-byte character implementation of a class to support converting GUID to string.
Definition: Common.h:1379
+
winstd::string_guid::string_guid
string_guid(const GUID &guid)
Initializes a new string and formats its contents to string representation of given GUID.
Definition: Common.h:1389
+
winstd::win_runtime_error
Windows runtime error.
Definition: Common.h:1074
+
winstd::win_runtime_error::msg
tstring msg(DWORD dwLanguageId=0) const
Returns a user-readable Windows error message.
Definition: Common.h:1119
+
winstd::win_runtime_error::win_runtime_error
win_runtime_error(error_type num, const char *msg=nullptr)
Constructs an exception.
Definition: Common.h:1092
+
winstd::win_runtime_error::win_runtime_error
win_runtime_error(const std::string &msg)
Constructs an exception using GetLastError()
Definition: Common.h:1101
+
winstd::win_runtime_error::win_runtime_error
win_runtime_error(const char *msg=nullptr)
Constructs an exception using GetLastError()
Definition: Common.h:1110
+
winstd::win_runtime_error::win_runtime_error
win_runtime_error(error_type num, const std::string &msg)
Constructs an exception.
Definition: Common.h:1082
+
winstd::wstring_guid
Wide character implementation of a class to support converting GUID to string.
Definition: Common.h:1401
+
winstd::wstring_guid::wstring_guid
wstring_guid(const GUID &guid)
Initializes a new string and formats its contents to string representation of given GUID.
Definition: Common.h:1411
+
WINSTD_NONCOPYABLE
#define WINSTD_NONCOPYABLE(C)
Declares a class as non-copyable.
Definition: Common.h:66
WINSTD_STACK_BUFFER_BYTES
#define WINSTD_STACK_BUFFER_BYTES
Size of the stack buffer in bytes used for initial system function call.
Definition: Common.h:93
winstd::tstring
std::string tstring
Multi-byte / Wide-character string (according to _UNICODE)
Definition: Common.h:338
-
winstd::get_ptr
ref_unique_ptr< _Ty, _Dx > get_ptr(std::unique_ptr< _Ty, _Dx > &owner) noexcept
Helper function template for returning pointers to std::unique_ptr.
Definition: Common.h:474
-
winstd::sanitizing_wstring
std::basic_string< wchar_t, std::char_traits< wchar_t >, sanitizing_allocator< wchar_t > > sanitizing_wstring
A sanitizing variant of std::wstring.
Definition: Common.h:1449
-
winstd::sanitizing_tstring
sanitizing_string sanitizing_tstring
Multi-byte / Wide-character sanitizing string (according to _UNICODE)
Definition: Common.h:1457
-
winstd::sanitizing_string
std::basic_string< char, std::char_traits< char >, sanitizing_allocator< char > > sanitizing_string
A sanitizing variant of std::string.
Definition: Common.h:1440
-
winstd::wstring_printf
basic_string_printf< wchar_t, std::char_traits< wchar_t >, std::allocator< wchar_t > > wstring_printf
Wide character implementation of a class to support string formatting using printf() style templates.
Definition: Common.h:1149
-
winstd::tstring_guid
string_guid tstring_guid
Multi-byte / Wide-character string GUID (according to _UNICODE)
Definition: Common.h:1364
-
winstd::wstring_msg
basic_string_msg< wchar_t, std::char_traits< wchar_t >, std::allocator< wchar_t > > wstring_msg
Wide character implementation of a class to support string formatting using FormatMessage() style tem...
Definition: Common.h:1274
+
winstd::get_ptr
ref_unique_ptr< _Ty, _Dx > get_ptr(std::unique_ptr< _Ty, _Dx > &owner) noexcept
Helper function template for returning pointers to std::unique_ptr.
Definition: Common.h:540
+
WINSTD_NONMOVABLE
#define WINSTD_NONMOVABLE(C)
Declares a class as non-movable.
Definition: Common.h:74
+
winstd::sanitizing_wstring
std::basic_string< wchar_t, std::char_traits< wchar_t >, sanitizing_allocator< wchar_t > > sanitizing_wstring
A sanitizing variant of std::wstring.
Definition: Common.h:1510
+
winstd::sanitizing_tstring
sanitizing_string sanitizing_tstring
Multi-byte / Wide-character sanitizing string (according to _UNICODE)
Definition: Common.h:1518
+
winstd::sanitizing_string
std::basic_string< char, std::char_traits< char >, sanitizing_allocator< char > > sanitizing_string
A sanitizing variant of std::string.
Definition: Common.h:1501
+
winstd::wstring_printf
basic_string_printf< wchar_t, std::char_traits< wchar_t >, std::allocator< wchar_t > > wstring_printf
Wide character implementation of a class to support string formatting using printf() style templates.
Definition: Common.h:1210
+
winstd::tstring_guid
string_guid tstring_guid
Multi-byte / Wide-character string GUID (according to _UNICODE)
Definition: Common.h:1425
+
winstd::wstring_msg
basic_string_msg< wchar_t, std::char_traits< wchar_t >, std::allocator< wchar_t > > wstring_msg
Wide character implementation of a class to support string formatting using FormatMessage() style tem...
Definition: Common.h:1335
vsprintf
static int vsprintf(std::basic_string< _Elem, _Traits, _Ax > &str, const _Elem *format, va_list arg)
Formats string using printf().
Definition: Common.h:251
FormatMessage
static DWORD FormatMessage(DWORD dwFlags, LPCVOID lpSource, DWORD dwMessageId, DWORD dwLanguageId, std::basic_string< char, _Traits, _Ax > &str, va_list *Arguments)
Formats a message string.
Definition: Common.h:299
-
winstd::string_printf
basic_string_printf< char, std::char_traits< char >, std::allocator< char > > string_printf
Single-byte character implementation of a class to support string formatting using printf() style tem...
Definition: Common.h:1144
+
winstd::string_printf
basic_string_printf< char, std::char_traits< char >, std::allocator< char > > string_printf
Single-byte character implementation of a class to support string formatting using printf() style tem...
Definition: Common.h:1205
vsnprintf
static int vsnprintf(char *str, size_t capacity, const char *format, va_list arg)
Formats string using printf().
Definition: Common.h:220
-
winstd::tstring_printf
string_printf tstring_printf
Multi-byte / Wide-character formatted string (according to _UNICODE)
Definition: Common.h:1157
+
winstd::tstring_printf
string_printf tstring_printf
Multi-byte / Wide-character formatted string (according to _UNICODE)
Definition: Common.h:1218
sprintf
static int sprintf(std::basic_string< _Elem, _Traits, _Ax > &str, const _Elem *format,...)
Formats string using printf().
Definition: Common.h:284
-
winstd::string_msg
basic_string_msg< char, std::char_traits< char >, std::allocator< char > > string_msg
Single-byte character implementation of a class to support string formatting using FormatMessage() st...
Definition: Common.h:1269
-
winstd::tstring_msg
string_msg tstring_msg
Multi-byte / Wide-character formatted string (according to _UNICODE)
Definition: Common.h:1282
-
winstd::handle::invalid
static const T invalid
Invalid handle value.
Definition: Common.h:579
+
winstd::string_msg
basic_string_msg< char, std::char_traits< char >, std::allocator< char > > string_msg
Single-byte character implementation of a class to support string formatting using FormatMessage() st...
Definition: Common.h:1330
+
winstd::tstring_msg
string_msg tstring_msg
Multi-byte / Wide-character formatted string (according to _UNICODE)
Definition: Common.h:1343
+
winstd::handle::invalid
static const T invalid
Invalid handle value.
Definition: Common.h:645
+
winstd::GlobalFree_delete
Deleter for unique_ptr using GlobalFree.
Definition: Common.h:407
+
winstd::GlobalFree_delete::GlobalFree_delete
GlobalFree_delete()
Default construct.
Definition: Common.h:411
+
winstd::GlobalFree_delete::operator()
void operator()(HGLOBAL _Ptr) const
Delete a pointer.
Definition: Common.h:418
winstd::LocalFree_delete< _Ty[]>::LocalFree_delete
LocalFree_delete() noexcept
Default construct.
Definition: Common.h:381
winstd::LocalFree_delete< _Ty[]>::_Myt
LocalFree_delete< _Ty > _Myt
This type.
Definition: Common.h:376
winstd::LocalFree_delete< _Ty[]>::operator()
void operator()(_Other *) const
Delete a pointer of another type.
Definition: Common.h:397
@@ -1016,12 +1064,12 @@ $(function() {
winstd::LocalFree_delete::LocalFree_delete
LocalFree_delete(const LocalFree_delete< _Ty2 > &)
Construct from another LocalFree_delete.
Definition: Common.h:357
winstd::LocalFree_delete::operator()
void operator()(_Ty *_Ptr) const
Delete a pointer.
Definition: Common.h:364
winstd::LocalFree_delete::LocalFree_delete
LocalFree_delete()
Default construct.
Definition: Common.h:352
-
winstd::sanitizing_allocator::rebind
Convert this type to sanitizing_allocator<_Other>
Definition: Common.h:1394
-
winstd::sanitizing_allocator::rebind::other
sanitizing_allocator< _Other > other
Other type.
Definition: Common.h:1395
+
winstd::sanitizing_allocator::rebind
Convert this type to sanitizing_allocator<_Other>
Definition: Common.h:1455
+
winstd::sanitizing_allocator::rebind::other
sanitizing_allocator< _Other > other
Other type.
Definition: Common.h:1456
diff --git a/_cred_8h_source.html b/_cred_8h_source.html index b7d02732..1f92baa3 100644 --- a/_cred_8h_source.html +++ b/_cred_8h_source.html @@ -268,7 +268,7 @@ $(function() { diff --git a/_crypt_8h_source.html b/_crypt_8h_source.html index c6120d9c..2eaa984c 100644 --- a/_crypt_8h_source.html +++ b/_crypt_8h_source.html @@ -325,421 +325,427 @@ $(function() {
361 CertFreeCertificateContext(m_h);
362 }
363
-
373 handle_type duplicate_internal(_In_ handle_type h) const noexcept override
-
374 {
-
375 return CertDuplicateCertificateContext(h);
-
376 }
-
377 };
-
378
-
384 class cert_chain_context : public dplhandle<PCCERT_CHAIN_CONTEXT, NULL>
-
385 {
-
386 WINSTD_DPLHANDLE_IMPL(cert_chain_context, NULL)
-
387
-
388 public:
-
394 virtual ~cert_chain_context()
-
395 {
-
396 if (m_h != invalid)
-
397 free_internal();
-
398 }
-
399
-
400 protected:
-
406 void free_internal() noexcept override
-
407 {
-
408 CertFreeCertificateChain(m_h);
-
409 }
-
410
-
420 handle_type duplicate_internal(_In_ handle_type h) const noexcept override
-
421 {
-
422 return CertDuplicateCertificateChain(h);
-
423 }
-
424 };
-
425
-
432 class cert_store : public handle<HCERTSTORE, NULL>
-
433 {
-
434 WINSTD_HANDLE_IMPL(cert_store, NULL)
-
435
-
436 public:
-
442 virtual ~cert_store()
-
443 {
-
444 if (m_h != invalid)
-
445 free_internal();
-
446 }
-
447
-
448 protected:
-
454 void free_internal() noexcept override
-
455 {
-
456 CertCloseStore(m_h, 0);
-
457 }
-
458 };
-
459
-
465 class crypt_prov : public handle<HCRYPTPROV, NULL>
-
466 {
-
467 WINSTD_HANDLE_IMPL(crypt_prov, NULL)
-
468
-
469 public:
-
475 virtual ~crypt_prov()
-
476 {
-
477 if (m_h != invalid)
-
478 free_internal();
-
479 }
-
480
-
481 protected:
-
487 void free_internal() noexcept override
-
488 {
-
489 CryptReleaseContext(m_h, 0);
-
490 }
-
491 };
-
492
-
498 class crypt_hash : public dplhandle<HCRYPTHASH, NULL>
-
499 {
-
500 WINSTD_DPLHANDLE_IMPL(crypt_hash, NULL)
-
501
-
502 public:
-
508 virtual ~crypt_hash()
-
509 {
-
510 if (m_h != invalid)
-
511 free_internal();
-
512 }
-
513
-
514 protected:
-
520 void free_internal() noexcept override
-
521 {
-
522 CryptDestroyHash(m_h);
-
523 }
-
524
-
534 handle_type duplicate_internal(_In_ handle_type h) const noexcept override
-
535 {
-
536 handle_type hNew;
-
537 return CryptDuplicateHash(h, NULL, 0, &hNew) ? hNew : invalid;
-
538 }
-
539 };
-
540
-
549 class crypt_key : public dplhandle<HCRYPTKEY, NULL>
-
550 {
-
551 WINSTD_DPLHANDLE_IMPL(crypt_key, NULL)
-
552
-
553 public:
-
559 virtual ~crypt_key()
-
560 {
-
561 if (m_h != invalid)
-
562 free_internal();
-
563 }
-
564
-
573 bool create_exp1(_In_ HCRYPTPROV hProv, _In_ DWORD dwKeySpec)
-
574 {
-
575 if (dwKeySpec != AT_KEYEXCHANGE && dwKeySpec != AT_SIGNATURE) {
-
576 SetLastError(ERROR_INVALID_PARAMETER);
-
577 return false;
-
578 }
-
579
-
580 // Generate the private key.
-
581 handle_type h;
-
582 if (CryptGenKey(hProv, dwKeySpec, CRYPT_EXPORTABLE, &h)) {
-
583 // Export the private key, we'll convert it to a private exponent of one key.
-
584 std::vector<BYTE, sanitizing_allocator<BYTE>> key_blob;
-
585 if (CryptExportKey(h, 0, PRIVATEKEYBLOB, 0, key_blob)) {
-
586 CryptDestroyKey(h);
-
587
-
588 // Get the byte length of the key.
-
589 size_t
-
590 size_key = *reinterpret_cast<DWORD*>(&key_blob[12])/8,
-
591 size_prime = size_key/2;
-
592
-
593 // Modify the Exponent in Key BLOB format
-
594 // Key BLOB format is documented in SDK
-
595
-
596 // Convert pubexp in rsapubkey to 1
-
597 LPBYTE ptr = &key_blob[16];
-
598 *reinterpret_cast<DWORD*>(ptr) = 1;
-
599 ptr += sizeof(DWORD);
-
600
-
601 // Skip modulus, prime1, prime2
-
602 ptr += size_key;
-
603 ptr += size_prime;
-
604 ptr += size_prime;
-
605
-
606 // Convert exponent1 to 1
-
607 ptr[0] = 1;
-
608 memset(ptr + 1, 0, size_prime - 1);
-
609 ptr += size_prime;
-
610
-
611 // Convert exponent2 to 1
-
612 ptr[0] = 1;
-
613 memset(ptr + 1, 0, size_prime - 1);
-
614 ptr += size_prime;
-
615
-
616 // Skip coefficient
-
617 ptr += size_prime;
-
618
-
619 // Convert privateExponent to 1
-
620 ptr[0] = 1;
-
621 memset(ptr + 1, 0, size_key - 1);
+
373 handle_type duplicate_internal(_In_ handle_type h) const override
+
374 {
+
375 // As per doc, this only increases refcounter. Should never fail.
+
376 return CertDuplicateCertificateContext(h);
+
377 }
+
378 };
+
379
+
385 class cert_chain_context : public dplhandle<PCCERT_CHAIN_CONTEXT, NULL>
+
386 {
+
387 WINSTD_DPLHANDLE_IMPL(cert_chain_context, NULL)
+
388
+
389 public:
+
395 virtual ~cert_chain_context()
+
396 {
+
397 if (m_h != invalid)
+
398 free_internal();
+
399 }
+
400
+
401 protected:
+
407 void free_internal() noexcept override
+
408 {
+
409 CertFreeCertificateChain(m_h);
+
410 }
+
411
+
421 handle_type duplicate_internal(_In_ handle_type h) const override
+
422 {
+
423 // As per doc, this only increases refcounter. Should never fail.
+
424 return CertDuplicateCertificateChain(h);
+
425 }
+
426 };
+
427
+
434 class cert_store : public handle<HCERTSTORE, NULL>
+
435 {
+
436 WINSTD_HANDLE_IMPL(cert_store, NULL)
+
437
+
438 public:
+
444 virtual ~cert_store()
+
445 {
+
446 if (m_h != invalid)
+
447 free_internal();
+
448 }
+
449
+
450 protected:
+
456 void free_internal() noexcept override
+
457 {
+
458 CertCloseStore(m_h, 0);
+
459 }
+
460 };
+
461
+
467 class crypt_prov : public handle<HCRYPTPROV, NULL>
+
468 {
+
469 WINSTD_HANDLE_IMPL(crypt_prov, NULL)
+
470
+
471 public:
+
477 virtual ~crypt_prov()
+
478 {
+
479 if (m_h != invalid)
+
480 free_internal();
+
481 }
+
482
+
483 protected:
+
489 void free_internal() noexcept override
+
490 {
+
491 CryptReleaseContext(m_h, 0);
+
492 }
+
493 };
+
494
+
500 class crypt_hash : public dplhandle<HCRYPTHASH, NULL>
+
501 {
+
502 WINSTD_DPLHANDLE_IMPL(crypt_hash, NULL)
+
503
+
504 public:
+
510 virtual ~crypt_hash()
+
511 {
+
512 if (m_h != invalid)
+
513 free_internal();
+
514 }
+
515
+
516 protected:
+
522 void free_internal() noexcept override
+
523 {
+
524 CryptDestroyHash(m_h);
+
525 }
+
526
+
536 handle_type duplicate_internal(_In_ handle_type h) const override
+
537 {
+
538 handle_type hNew;
+
539 if (CryptDuplicateHash(h, NULL, 0, &hNew))
+
540 return hNew;
+
541 throw win_runtime_error("CryptDuplicateHash failed");
+
542 }
+
543 };
+
544
+
553 class crypt_key : public dplhandle<HCRYPTKEY, NULL>
+
554 {
+
555 WINSTD_DPLHANDLE_IMPL(crypt_key, NULL)
+
556
+
557 public:
+
563 virtual ~crypt_key()
+
564 {
+
565 if (m_h != invalid)
+
566 free_internal();
+
567 }
+
568
+
577 bool create_exp1(_In_ HCRYPTPROV hProv, _In_ DWORD dwKeySpec)
+
578 {
+
579 if (dwKeySpec != AT_KEYEXCHANGE && dwKeySpec != AT_SIGNATURE) {
+
580 SetLastError(ERROR_INVALID_PARAMETER);
+
581 return false;
+
582 }
+
583
+
584 // Generate the private key.
+
585 handle_type h;
+
586 if (CryptGenKey(hProv, dwKeySpec, CRYPT_EXPORTABLE, &h)) {
+
587 // Export the private key, we'll convert it to a private exponent of one key.
+
588 std::vector<BYTE, sanitizing_allocator<BYTE>> key_blob;
+
589 if (CryptExportKey(h, 0, PRIVATEKEYBLOB, 0, key_blob)) {
+
590 CryptDestroyKey(h);
+
591
+
592 // Get the byte length of the key.
+
593 size_t
+
594 size_key = *reinterpret_cast<DWORD*>(&key_blob[12])/8,
+
595 size_prime = size_key/2;
+
596
+
597 // Modify the Exponent in Key BLOB format
+
598 // Key BLOB format is documented in SDK
+
599
+
600 // Convert pubexp in rsapubkey to 1
+
601 LPBYTE ptr = &key_blob[16];
+
602 *reinterpret_cast<DWORD*>(ptr) = 1;
+
603 ptr += sizeof(DWORD);
+
604
+
605 // Skip modulus, prime1, prime2
+
606 ptr += size_key;
+
607 ptr += size_prime;
+
608 ptr += size_prime;
+
609
+
610 // Convert exponent1 to 1
+
611 ptr[0] = 1;
+
612 memset(ptr + 1, 0, size_prime - 1);
+
613 ptr += size_prime;
+
614
+
615 // Convert exponent2 to 1
+
616 ptr[0] = 1;
+
617 memset(ptr + 1, 0, size_prime - 1);
+
618 ptr += size_prime;
+
619
+
620 // Skip coefficient
+
621 ptr += size_prime;
622
-
623 // Import the exponent-of-one private key.
-
624 if (CryptImportKey(hProv, key_blob.data(), static_cast<DWORD>(key_blob.size()), 0, 0, &h)) {
-
625 attach(h);
-
626 return true;
-
627 }
-
628 } else
-
629 CryptDestroyKey(h);
-
630 }
-
631
-
632 return false;
-
633 }
-
634
-
635 protected:
-
641 void free_internal() noexcept override
-
642 {
-
643 CryptDestroyKey(m_h);
-
644 }
-
645
-
655 handle_type duplicate_internal(_In_ handle_type h) const noexcept override
-
656 {
-
657 handle_type hNew;
-
658 return CryptDuplicateKey(h, NULL, 0, &hNew) ? hNew : invalid;
-
659 }
-
660 };
-
661
-
665 #pragma warning(push)
-
666 #pragma warning(disable: 26432) // Copy constructor and assignment operator are also present, but not detected by code analysis as they are using base type source object reference.
-
667 class data_blob : public DATA_BLOB
-
668 {
-
669 public:
-
673 data_blob() noexcept
-
674 {
-
675 cbData = 0;
-
676 pbData = NULL;
-
677 }
-
678
-
682 data_blob(_In_count_(size) BYTE *data, _In_ DWORD size) noexcept
-
683 {
-
684 cbData = size;
-
685 pbData = data;
-
686 }
-
687
-
691 data_blob(_In_ const DATA_BLOB &other)
-
692 {
-
693 cbData = other.cbData;
-
694 if (cbData) {
-
695 pbData = static_cast<BYTE*>(LocalAlloc(LMEM_FIXED, other.cbData));
-
696 if (!pbData) throw win_runtime_error("LocalAlloc failed.");
-
697 memcpy(pbData, other.pbData, other.cbData);
-
698 } else
-
699 pbData = NULL;
-
700 }
-
701
-
705 data_blob(_Inout_ data_blob &&other) noexcept
-
706 {
-
707 cbData = other.cbData;
-
708 pbData = other.pbData;
-
709 other.cbData = 0;
-
710 other.pbData = NULL;
-
711 }
-
712
-
716 virtual ~data_blob()
-
717 {
-
718 if (pbData != NULL)
-
719 LocalFree(pbData);
-
720 }
-
721
-
725 data_blob& operator=(_In_ const DATA_BLOB &other)
-
726 {
-
727 if (this != &other) {
-
728 cbData = other.cbData;
-
729 if (pbData)
-
730 LocalFree(pbData);
-
731 if (cbData) {
-
732 pbData = static_cast<BYTE*>(LocalAlloc(LMEM_FIXED, other.cbData));
-
733 if (!pbData) throw win_runtime_error("LocalAlloc failed.");
-
734 memcpy(pbData, other.pbData, other.cbData);
-
735 } else
-
736 pbData = NULL;
-
737 }
-
738
-
739 return *this;
-
740 }
-
741
-
745 data_blob& operator=(_Inout_ data_blob &&other) noexcept
-
746 {
-
747 if (this != &other) {
-
748 cbData = other.cbData;
-
749 if (pbData)
-
750 LocalFree(pbData);
-
751 pbData = other.pbData;
-
752 other.cbData = 0;
-
753 other.pbData = NULL;
-
754 }
-
755
-
756 return *this;
-
757 }
-
758
-
762 DWORD size() const noexcept
-
763 {
-
764 return cbData;
-
765 }
-
766
-
770 const BYTE* data() const noexcept
-
771 {
-
772 return pbData;
-
773 }
-
774
-
778 BYTE* data() noexcept
-
779 {
-
780 return pbData;
-
781 }
-
782 };
-
783 #pragma warning(pop)
-
784
-
786}
-
787
+
623 // Convert privateExponent to 1
+
624 ptr[0] = 1;
+
625 memset(ptr + 1, 0, size_key - 1);
+
626
+
627 // Import the exponent-of-one private key.
+
628 if (CryptImportKey(hProv, key_blob.data(), static_cast<DWORD>(key_blob.size()), 0, 0, &h)) {
+
629 attach(h);
+
630 return true;
+
631 }
+
632 } else
+
633 CryptDestroyKey(h);
+
634 }
+
635
+
636 return false;
+
637 }
+
638
+
639 protected:
+
645 void free_internal() noexcept override
+
646 {
+
647 CryptDestroyKey(m_h);
+
648 }
+
649
+
659 handle_type duplicate_internal(_In_ handle_type h) const override
+
660 {
+
661 handle_type hNew;
+
662 if (CryptDuplicateKey(h, NULL, 0, &hNew))
+
663 return hNew;
+
664 throw win_runtime_error("CryptDuplicateKey failed");
+
665 }
+
666 };
+
667
+
671 #pragma warning(push)
+
672 #pragma warning(disable: 26432) // Copy constructor and assignment operator are also present, but not detected by code analysis as they are using base type source object reference.
+
673 class data_blob : public DATA_BLOB
+
674 {
+
675 public:
+
679 data_blob() noexcept
+
680 {
+
681 cbData = 0;
+
682 pbData = NULL;
+
683 }
+
684
+
688 data_blob(_In_count_(size) BYTE *data, _In_ DWORD size) noexcept
+
689 {
+
690 cbData = size;
+
691 pbData = data;
+
692 }
+
693
+
697 data_blob(_In_ const DATA_BLOB &other)
+
698 {
+
699 cbData = other.cbData;
+
700 if (cbData) {
+
701 pbData = static_cast<BYTE*>(LocalAlloc(LMEM_FIXED, other.cbData));
+
702 if (!pbData) throw win_runtime_error("LocalAlloc failed");
+
703 memcpy(pbData, other.pbData, other.cbData);
+
704 } else
+
705 pbData = NULL;
+
706 }
+
707
+
711 data_blob(_Inout_ data_blob &&other) noexcept
+
712 {
+
713 cbData = other.cbData;
+
714 pbData = other.pbData;
+
715 other.cbData = 0;
+
716 other.pbData = NULL;
+
717 }
+
718
+
722 virtual ~data_blob()
+
723 {
+
724 if (pbData != NULL)
+
725 LocalFree(pbData);
+
726 }
+
727
+
731 data_blob& operator=(_In_ const DATA_BLOB &other)
+
732 {
+
733 if (this != &other) {
+
734 cbData = other.cbData;
+
735 if (pbData)
+
736 LocalFree(pbData);
+
737 if (cbData) {
+
738 pbData = static_cast<BYTE*>(LocalAlloc(LMEM_FIXED, other.cbData));
+
739 if (!pbData) throw win_runtime_error("LocalAlloc failed");
+
740 memcpy(pbData, other.pbData, other.cbData);
+
741 } else
+
742 pbData = NULL;
+
743 }
+
744
+
745 return *this;
+
746 }
+
747
+
751 data_blob& operator=(_Inout_ data_blob &&other) noexcept
+
752 {
+
753 if (this != &other) {
+
754 cbData = other.cbData;
+
755 if (pbData)
+
756 LocalFree(pbData);
+
757 pbData = other.pbData;
+
758 other.cbData = 0;
+
759 other.pbData = NULL;
+
760 }
+
761
+
762 return *this;
+
763 }
+
764
+
768 DWORD size() const noexcept
+
769 {
+
770 return cbData;
+
771 }
+
772
+
776 const BYTE* data() const noexcept
+
777 {
+
778 return pbData;
+
779 }
+
780
+
784 BYTE* data() noexcept
+
785 {
+
786 return pbData;
+
787 }
+
788 };
+
789 #pragma warning(pop)
790
-
791#pragma warning(push)
-
792#pragma warning(disable: 4505) // Don't warn on unused code
+
792}
793
-
799static BOOL CertGetCertificateChain(_In_opt_ HCERTCHAINENGINE hChainEngine, _In_ PCCERT_CONTEXT pCertContext, _In_opt_ LPFILETIME pTime, _In_opt_ HCERTSTORE hAdditionalStore, _In_ PCERT_CHAIN_PARA pChainPara, _In_ DWORD dwFlags, _Reserved_ LPVOID pvReserved, _Inout_ winstd::cert_chain_context &ctx)
-
800{
-
801 PCCERT_CHAIN_CONTEXT pChainContext;
-
802 BOOL bResult = CertGetCertificateChain(hChainEngine, pCertContext, pTime, hAdditionalStore, pChainPara, dwFlags, pvReserved, &pChainContext);
-
803 if (bResult)
-
804 ctx.attach(pChainContext);
-
805 return bResult;
-
806}
-
807
-
809static BOOL CryptAcquireContextA(_Inout_ winstd::crypt_prov &prov, _In_opt_ LPCSTR szContainer, _In_opt_ LPCSTR szProvider, _In_ DWORD dwProvType, _In_ DWORD dwFlags)
-
810{
-
811 HCRYPTPROV h;
-
812 BOOL bResult = CryptAcquireContextA(&h, szContainer, szProvider, dwProvType, dwFlags);
-
813 if (bResult)
-
814 prov.attach(h);
-
815 return bResult;
-
816}
-
817
-
823static BOOL CryptAcquireContextW(_Inout_ winstd::crypt_prov &prov, _In_opt_ LPCWSTR szContainer, _In_opt_ LPCWSTR szProvider, _In_ DWORD dwProvType, _In_ DWORD dwFlags)
-
824{
-
825 HCRYPTPROV h;
-
826 BOOL bResult = CryptAcquireContextW(&h, szContainer, szProvider, dwProvType, dwFlags);
-
827 if (bResult)
-
828 prov.attach(h);
-
829 return bResult;
-
830}
-
831
-
837static BOOL CryptCreateHash(_In_ HCRYPTPROV hProv, _In_ ALG_ID Algid, _In_ HCRYPTKEY hKey, _In_ DWORD dwFlags, _Inout_ winstd::crypt_hash &hash)
-
838{
-
839 HCRYPTHASH h;
-
840 BOOL bResult = CryptCreateHash(hProv, Algid, hKey, dwFlags, &h);
-
841 if (bResult)
-
842 hash.attach(h);
-
843 return bResult;
-
844}
-
845
-
851static BOOL CryptGenKey(_In_ HCRYPTPROV hProv, _In_ ALG_ID Algid, _In_ DWORD dwFlags, _Inout_ winstd::crypt_key &key)
-
852{
-
853 HCRYPTKEY h;
-
854 BOOL bResult = CryptGenKey(hProv, Algid, dwFlags, &h);
-
855 if (bResult)
-
856 key.attach(h);
-
857 return bResult;
-
858}
-
859
-
865static bool CryptImportKey(_In_ HCRYPTPROV hProv, __in_bcount(dwDataLen) LPCBYTE pbData, _In_ DWORD dwDataLen, _In_ HCRYPTKEY hPubKey, _In_ DWORD dwFlags, _Inout_ winstd::crypt_key &key)
-
866{
-
867 HCRYPTKEY h;
-
868 BOOL bResult = CryptImportKey(hProv, pbData, dwDataLen, hPubKey, dwFlags, &h);
-
869 if (bResult)
-
870 key.attach(h);
-
871 return bResult;
-
872}
-
873
-
879static bool CryptImportPublicKeyInfo(_In_ HCRYPTPROV hCryptProv, _In_ DWORD dwCertEncodingType, _In_ PCERT_PUBLIC_KEY_INFO pInfo, _Inout_ winstd::crypt_key &key)
-
880{
-
881 HCRYPTKEY h;
-
882 BOOL bResult = CryptImportPublicKeyInfo(hCryptProv, dwCertEncodingType, pInfo, &h);
-
883 if (bResult)
-
884 key.attach(h);
-
885 return bResult;
-
886}
-
887
-
893static bool CryptDeriveKey(_In_ HCRYPTPROV hProv, _In_ ALG_ID Algid, _In_ HCRYPTHASH hBaseData, _In_ DWORD dwFlags, _Inout_ winstd::crypt_key &key)
-
894{
-
895 HCRYPTKEY h;
-
896 BOOL bResult = CryptDeriveKey(hProv, Algid, hBaseData, dwFlags, &h);
-
897 if (bResult)
-
898 key.attach(h);
-
899 return bResult;
-
900}
-
901
-
902#pragma warning(pop)
-
903
-
winstd::cert_chain_context
PCCERT_CHAIN_CONTEXT wrapper class.
Definition: Crypt.h:385
-
winstd::cert_chain_context::duplicate_internal
handle_type duplicate_internal(handle_type h) const noexcept override
Duplicates the certificate chain context.
Definition: Crypt.h:420
-
winstd::cert_chain_context::~cert_chain_context
virtual ~cert_chain_context()
Destroys the certificate chain context.
Definition: Crypt.h:394
-
winstd::cert_chain_context::free_internal
void free_internal() noexcept override
Destroys the certificate chain context.
Definition: Crypt.h:406
+
796
+
797#pragma warning(push)
+
798#pragma warning(disable: 4505) // Don't warn on unused code
+
799
+
805static BOOL CertGetCertificateChain(_In_opt_ HCERTCHAINENGINE hChainEngine, _In_ PCCERT_CONTEXT pCertContext, _In_opt_ LPFILETIME pTime, _In_opt_ HCERTSTORE hAdditionalStore, _In_ PCERT_CHAIN_PARA pChainPara, _In_ DWORD dwFlags, _Reserved_ LPVOID pvReserved, _Inout_ winstd::cert_chain_context &ctx)
+
806{
+
807 PCCERT_CHAIN_CONTEXT pChainContext;
+
808 BOOL bResult = CertGetCertificateChain(hChainEngine, pCertContext, pTime, hAdditionalStore, pChainPara, dwFlags, pvReserved, &pChainContext);
+
809 if (bResult)
+
810 ctx.attach(pChainContext);
+
811 return bResult;
+
812}
+
813
+
815static BOOL CryptAcquireContextA(_Inout_ winstd::crypt_prov &prov, _In_opt_ LPCSTR szContainer, _In_opt_ LPCSTR szProvider, _In_ DWORD dwProvType, _In_ DWORD dwFlags)
+
816{
+
817 HCRYPTPROV h;
+
818 BOOL bResult = CryptAcquireContextA(&h, szContainer, szProvider, dwProvType, dwFlags);
+
819 if (bResult)
+
820 prov.attach(h);
+
821 return bResult;
+
822}
+
823
+
829static BOOL CryptAcquireContextW(_Inout_ winstd::crypt_prov &prov, _In_opt_ LPCWSTR szContainer, _In_opt_ LPCWSTR szProvider, _In_ DWORD dwProvType, _In_ DWORD dwFlags)
+
830{
+
831 HCRYPTPROV h;
+
832 BOOL bResult = CryptAcquireContextW(&h, szContainer, szProvider, dwProvType, dwFlags);
+
833 if (bResult)
+
834 prov.attach(h);
+
835 return bResult;
+
836}
+
837
+
843static BOOL CryptCreateHash(_In_ HCRYPTPROV hProv, _In_ ALG_ID Algid, _In_ HCRYPTKEY hKey, _In_ DWORD dwFlags, _Inout_ winstd::crypt_hash &hash)
+
844{
+
845 HCRYPTHASH h;
+
846 BOOL bResult = CryptCreateHash(hProv, Algid, hKey, dwFlags, &h);
+
847 if (bResult)
+
848 hash.attach(h);
+
849 return bResult;
+
850}
+
851
+
857static BOOL CryptGenKey(_In_ HCRYPTPROV hProv, _In_ ALG_ID Algid, _In_ DWORD dwFlags, _Inout_ winstd::crypt_key &key)
+
858{
+
859 HCRYPTKEY h;
+
860 BOOL bResult = CryptGenKey(hProv, Algid, dwFlags, &h);
+
861 if (bResult)
+
862 key.attach(h);
+
863 return bResult;
+
864}
+
865
+
871static bool CryptImportKey(_In_ HCRYPTPROV hProv, __in_bcount(dwDataLen) LPCBYTE pbData, _In_ DWORD dwDataLen, _In_ HCRYPTKEY hPubKey, _In_ DWORD dwFlags, _Inout_ winstd::crypt_key &key)
+
872{
+
873 HCRYPTKEY h;
+
874 BOOL bResult = CryptImportKey(hProv, pbData, dwDataLen, hPubKey, dwFlags, &h);
+
875 if (bResult)
+
876 key.attach(h);
+
877 return bResult;
+
878}
+
879
+
885static bool CryptImportPublicKeyInfo(_In_ HCRYPTPROV hCryptProv, _In_ DWORD dwCertEncodingType, _In_ PCERT_PUBLIC_KEY_INFO pInfo, _Inout_ winstd::crypt_key &key)
+
886{
+
887 HCRYPTKEY h;
+
888 BOOL bResult = CryptImportPublicKeyInfo(hCryptProv, dwCertEncodingType, pInfo, &h);
+
889 if (bResult)
+
890 key.attach(h);
+
891 return bResult;
+
892}
+
893
+
899static bool CryptDeriveKey(_In_ HCRYPTPROV hProv, _In_ ALG_ID Algid, _In_ HCRYPTHASH hBaseData, _In_ DWORD dwFlags, _Inout_ winstd::crypt_key &key)
+
900{
+
901 HCRYPTKEY h;
+
902 BOOL bResult = CryptDeriveKey(hProv, Algid, hBaseData, dwFlags, &h);
+
903 if (bResult)
+
904 key.attach(h);
+
905 return bResult;
+
906}
+
907
+
908#pragma warning(pop)
+
909
+
winstd::cert_chain_context
PCCERT_CHAIN_CONTEXT wrapper class.
Definition: Crypt.h:386
+
winstd::cert_chain_context::~cert_chain_context
virtual ~cert_chain_context()
Destroys the certificate chain context.
Definition: Crypt.h:395
+
winstd::cert_chain_context::free_internal
void free_internal() noexcept override
Destroys the certificate chain context.
Definition: Crypt.h:407
+
winstd::cert_chain_context::duplicate_internal
handle_type duplicate_internal(handle_type h) const override
Duplicates the certificate chain context.
Definition: Crypt.h:421
winstd::cert_context
PCCERT_CONTEXT wrapper class.
Definition: Crypt.h:253
winstd::cert_context::operator<=
bool operator<=(const handle_type &other) const noexcept
Is certificate less than or equal?
Definition: Crypt.h:335
winstd::cert_context::free_internal
void free_internal() noexcept override
Destroys the certificate context.
Definition: Crypt.h:359
winstd::cert_context::operator==
bool operator==(const handle_type &other) const noexcept
Is certificate equal to?
Definition: Crypt.h:276
-
winstd::cert_context::duplicate_internal
handle_type duplicate_internal(handle_type h) const noexcept override
Duplicates the certificate context.
Definition: Crypt.h:373
winstd::cert_context::operator>=
bool operator>=(const handle_type &other) const noexcept
Is certificate greater than or equal?
Definition: Crypt.h:348
winstd::cert_context::operator>
bool operator>(const handle_type &other) const noexcept
Is certificate greater than?
Definition: Crypt.h:320
winstd::cert_context::operator<
bool operator<(const handle_type &other) const noexcept
Is certificate less than?
Definition: Crypt.h:305
winstd::cert_context::operator!=
bool operator!=(const handle_type &other) const noexcept
Is certificate not equal to?
Definition: Crypt.h:292
+
winstd::cert_context::duplicate_internal
handle_type duplicate_internal(handle_type h) const override
Duplicates the certificate context.
Definition: Crypt.h:373
winstd::cert_context::~cert_context
virtual ~cert_context()
Destroys the certificate context.
Definition: Crypt.h:262
-
winstd::cert_store
HCERTSTORE wrapper class.
Definition: Crypt.h:433
-
winstd::cert_store::~cert_store
virtual ~cert_store()
Closes the certificate store.
Definition: Crypt.h:442
-
winstd::cert_store::free_internal
void free_internal() noexcept override
Closes the certificate store.
Definition: Crypt.h:454
-
winstd::crypt_hash
HCRYPTHASH wrapper class.
Definition: Crypt.h:499
-
winstd::crypt_hash::free_internal
void free_internal() noexcept override
Destroys the hash context.
Definition: Crypt.h:520
-
winstd::crypt_hash::~crypt_hash
virtual ~crypt_hash()
Destroys the hash context.
Definition: Crypt.h:508
-
winstd::crypt_hash::duplicate_internal
handle_type duplicate_internal(handle_type h) const noexcept override
Duplicates the hash context.
Definition: Crypt.h:534
-
winstd::crypt_key
HCRYPTKEY wrapper class.
Definition: Crypt.h:550
-
winstd::crypt_key::~crypt_key
virtual ~crypt_key()
Destroys the key.
Definition: Crypt.h:559
-
winstd::crypt_key::create_exp1
bool create_exp1(HCRYPTPROV hProv, DWORD dwKeySpec)
Creates Exponent-of-one key.
Definition: Crypt.h:573
-
winstd::crypt_key::duplicate_internal
handle_type duplicate_internal(handle_type h) const noexcept override
Duplicates the key.
Definition: Crypt.h:655
-
winstd::crypt_key::free_internal
void free_internal() noexcept override
Destroys the key.
Definition: Crypt.h:641
-
winstd::crypt_prov
HCRYPTPROV wrapper class.
Definition: Crypt.h:466
-
winstd::crypt_prov::~crypt_prov
virtual ~crypt_prov()
Releases the cryptographic context.
Definition: Crypt.h:475
-
winstd::crypt_prov::free_internal
void free_internal() noexcept override
Releases the cryptographic context.
Definition: Crypt.h:487
-
winstd::data_blob
DATA_BLOB wrapper class.
Definition: Crypt.h:668
-
winstd::data_blob::data_blob
data_blob(const DATA_BLOB &other)
Duplicate an existing BLOB.
Definition: Crypt.h:691
-
winstd::data_blob::~data_blob
virtual ~data_blob()
Destroys the BLOB.
Definition: Crypt.h:716
-
winstd::data_blob::data
BYTE * data() noexcept
Get BLOB buffer.
Definition: Crypt.h:778
-
winstd::data_blob::data
const BYTE * data() const noexcept
Get BLOB buffer.
Definition: Crypt.h:770
-
winstd::data_blob::data_blob
data_blob() noexcept
Initializes an empty BLOB.
Definition: Crypt.h:673
-
winstd::data_blob::data_blob
data_blob(data_blob &&other) noexcept
Move an existing BLOB.
Definition: Crypt.h:705
-
winstd::data_blob::operator=
data_blob & operator=(data_blob &&other) noexcept
Move an existing BLOB.
Definition: Crypt.h:745
-
winstd::data_blob::data_blob
data_blob(BYTE *data, DWORD size) noexcept
Initializes a BLOB from existing data.
Definition: Crypt.h:682
-
winstd::data_blob::size
DWORD size() const noexcept
Get BLOB size.
Definition: Crypt.h:762
-
winstd::data_blob::operator=
data_blob & operator=(const DATA_BLOB &other)
Copy an existing BLOB.
Definition: Crypt.h:725
-
winstd::dplhandle
Base abstract template class to support object handle keeping for objects that support trivial handle...
Definition: Common.h:834
-
winstd::handle
Base abstract template class to support generic object handle keeping.
Definition: Common.h:569
-
winstd::handle::handle_type
T handle_type
Datatype of the object handle this template class handles.
Definition: Common.h:574
-
winstd::handle::m_h
handle_type m_h
Object handle.
Definition: Common.h:823
-
winstd::handle::attach
void attach(handle_type h) noexcept
Sets a new object handle for the class.
Definition: Common.h:786
-
winstd::win_runtime_error
Windows runtime error.
Definition: Common.h:1013
-
CryptImportPublicKeyInfo
static bool CryptImportPublicKeyInfo(HCRYPTPROV hCryptProv, DWORD dwCertEncodingType, PCERT_PUBLIC_KEY_INFO pInfo, winstd::crypt_key &key)
Imports the public key.
Definition: Crypt.h:879
+
winstd::cert_store
HCERTSTORE wrapper class.
Definition: Crypt.h:435
+
winstd::cert_store::~cert_store
virtual ~cert_store()
Closes the certificate store.
Definition: Crypt.h:444
+
winstd::cert_store::free_internal
void free_internal() noexcept override
Closes the certificate store.
Definition: Crypt.h:456
+
winstd::crypt_hash
HCRYPTHASH wrapper class.
Definition: Crypt.h:501
+
winstd::crypt_hash::free_internal
void free_internal() noexcept override
Destroys the hash context.
Definition: Crypt.h:522
+
winstd::crypt_hash::~crypt_hash
virtual ~crypt_hash()
Destroys the hash context.
Definition: Crypt.h:510
+
winstd::crypt_hash::duplicate_internal
handle_type duplicate_internal(handle_type h) const override
Duplicates the hash context.
Definition: Crypt.h:536
+
winstd::crypt_key
HCRYPTKEY wrapper class.
Definition: Crypt.h:554
+
winstd::crypt_key::duplicate_internal
handle_type duplicate_internal(handle_type h) const override
Duplicates the key.
Definition: Crypt.h:659
+
winstd::crypt_key::~crypt_key
virtual ~crypt_key()
Destroys the key.
Definition: Crypt.h:563
+
winstd::crypt_key::create_exp1
bool create_exp1(HCRYPTPROV hProv, DWORD dwKeySpec)
Creates Exponent-of-one key.
Definition: Crypt.h:577
+
winstd::crypt_key::free_internal
void free_internal() noexcept override
Destroys the key.
Definition: Crypt.h:645
+
winstd::crypt_prov
HCRYPTPROV wrapper class.
Definition: Crypt.h:468
+
winstd::crypt_prov::~crypt_prov
virtual ~crypt_prov()
Releases the cryptographic context.
Definition: Crypt.h:477
+
winstd::crypt_prov::free_internal
void free_internal() noexcept override
Releases the cryptographic context.
Definition: Crypt.h:489
+
winstd::data_blob
DATA_BLOB wrapper class.
Definition: Crypt.h:674
+
winstd::data_blob::data_blob
data_blob(const DATA_BLOB &other)
Duplicate an existing BLOB.
Definition: Crypt.h:697
+
winstd::data_blob::~data_blob
virtual ~data_blob()
Destroys the BLOB.
Definition: Crypt.h:722
+
winstd::data_blob::data
BYTE * data() noexcept
Get BLOB buffer.
Definition: Crypt.h:784
+
winstd::data_blob::data
const BYTE * data() const noexcept
Get BLOB buffer.
Definition: Crypt.h:776
+
winstd::data_blob::data_blob
data_blob() noexcept
Initializes an empty BLOB.
Definition: Crypt.h:679
+
winstd::data_blob::data_blob
data_blob(data_blob &&other) noexcept
Move an existing BLOB.
Definition: Crypt.h:711
+
winstd::data_blob::operator=
data_blob & operator=(data_blob &&other) noexcept
Move an existing BLOB.
Definition: Crypt.h:751
+
winstd::data_blob::data_blob
data_blob(BYTE *data, DWORD size) noexcept
Initializes a BLOB from existing data.
Definition: Crypt.h:688
+
winstd::data_blob::size
DWORD size() const noexcept
Get BLOB size.
Definition: Crypt.h:768
+
winstd::data_blob::operator=
data_blob & operator=(const DATA_BLOB &other)
Copy an existing BLOB.
Definition: Crypt.h:731
+
winstd::dplhandle
Base abstract template class to support object handle keeping for objects that support trivial handle...
Definition: Common.h:900
+
winstd::handle
Base abstract template class to support generic object handle keeping.
Definition: Common.h:635
+
winstd::handle::handle_type
T handle_type
Datatype of the object handle this template class handles.
Definition: Common.h:640
+
winstd::handle::m_h
handle_type m_h
Object handle.
Definition: Common.h:889
+
winstd::handle::attach
void attach(handle_type h) noexcept
Sets a new object handle for the class.
Definition: Common.h:852
+
winstd::win_runtime_error
Windows runtime error.
Definition: Common.h:1074
+
CryptImportPublicKeyInfo
static bool CryptImportPublicKeyInfo(HCRYPTPROV hCryptProv, DWORD dwCertEncodingType, PCERT_PUBLIC_KEY_INFO pInfo, winstd::crypt_key &key)
Imports the public key.
Definition: Crypt.h:885
CertGetCertificateContextProperty
static BOOL WINAPI CertGetCertificateContextProperty(PCCERT_CONTEXT pCertContext, DWORD dwPropId, std::vector< _Ty, _Ax > &aData)
Retrieves the information contained in an extended property of a certificate context.
Definition: Crypt.h:59
-
CertGetCertificateChain
static BOOL CertGetCertificateChain(HCERTCHAINENGINE hChainEngine, PCCERT_CONTEXT pCertContext, LPFILETIME pTime, HCERTSTORE hAdditionalStore, PCERT_CHAIN_PARA pChainPara, DWORD dwFlags, LPVOID pvReserved, winstd::cert_chain_context &ctx)
The CertGetCertificateChain function builds a certificate chain context starting from an end certific...
Definition: Crypt.h:799
+
CertGetCertificateChain
static BOOL CertGetCertificateChain(HCERTCHAINENGINE hChainEngine, PCCERT_CONTEXT pCertContext, LPFILETIME pTime, HCERTSTORE hAdditionalStore, PCERT_CHAIN_PARA pChainPara, DWORD dwFlags, LPVOID pvReserved, winstd::cert_chain_context &ctx)
The CertGetCertificateChain function builds a certificate chain context starting from an end certific...
Definition: Crypt.h:805
CryptGetHashParam
static BOOL CryptGetHashParam(HCRYPTHASH hHash, DWORD dwParam, std::vector< _Ty, _Ax > &aData, DWORD dwFlags)
Retrieves data that governs the operations of a hash object. The actual hash value can be retrieved b...
Definition: Crypt.h:84
CertGetNameStringW
static DWORD CertGetNameStringW(PCCERT_CONTEXT pCertContext, DWORD dwType, DWORD dwFlags, void *pvTypePara, std::basic_string< wchar_t, _Traits, _Ax > &sNameString)
Obtains the subject or issuer name from a certificate CERT_CONTEXT structure and stores it in a std::...
Definition: Crypt.h:41
-
CryptAcquireContextA
static BOOL CryptAcquireContextA(winstd::crypt_prov &prov, LPCSTR szContainer, LPCSTR szProvider, DWORD dwProvType, DWORD dwFlags)
Acquires the cryptographic context.
Definition: Crypt.h:809
+
CryptAcquireContextA
static BOOL CryptAcquireContextA(winstd::crypt_prov &prov, LPCSTR szContainer, LPCSTR szProvider, DWORD dwProvType, DWORD dwFlags)
Acquires the cryptographic context.
Definition: Crypt.h:815
CertGetNameStringA
static DWORD CertGetNameStringA(PCCERT_CONTEXT pCertContext, DWORD dwType, DWORD dwFlags, void *pvTypePara, std::basic_string< char, _Traits, _Ax > &sNameString)
Obtains the subject or issuer name from a certificate CERT_CONTEXT structure and stores it in a std::...
Definition: Crypt.h:23
-
CryptGenKey
static BOOL CryptGenKey(HCRYPTPROV hProv, ALG_ID Algid, DWORD dwFlags, winstd::crypt_key &key)
Generates the key.
Definition: Crypt.h:851
+
CryptGenKey
static BOOL CryptGenKey(HCRYPTPROV hProv, ALG_ID Algid, DWORD dwFlags, winstd::crypt_key &key)
Generates the key.
Definition: Crypt.h:857
CryptExportKey
static BOOL CryptExportKey(HCRYPTKEY hKey, HCRYPTKEY hExpKey, DWORD dwBlobType, DWORD dwFlags, std::vector< _Ty, _Ax > &aData)
Exports a cryptographic key or a key pair from a cryptographic service provider (CSP) in a secure man...
Definition: Crypt.h:158
CryptGetKeyParam
static BOOL CryptGetKeyParam(HCRYPTKEY hKey, DWORD dwParam, std::vector< _Ty, _Ax > &aData, DWORD dwFlags)
Retrieves data that governs the operations of a key.
Definition: Crypt.h:121
-
CryptCreateHash
static BOOL CryptCreateHash(HCRYPTPROV hProv, ALG_ID Algid, HCRYPTKEY hKey, DWORD dwFlags, winstd::crypt_hash &hash)
Creates the hash context.
Definition: Crypt.h:837
-
CryptAcquireContextW
static BOOL CryptAcquireContextW(winstd::crypt_prov &prov, LPCWSTR szContainer, LPCWSTR szProvider, DWORD dwProvType, DWORD dwFlags)
Acquires the cryptographic context.
Definition: Crypt.h:823
+
CryptCreateHash
static BOOL CryptCreateHash(HCRYPTPROV hProv, ALG_ID Algid, HCRYPTKEY hKey, DWORD dwFlags, winstd::crypt_hash &hash)
Creates the hash context.
Definition: Crypt.h:843
+
CryptAcquireContextW
static BOOL CryptAcquireContextW(winstd::crypt_prov &prov, LPCWSTR szContainer, LPCWSTR szProvider, DWORD dwProvType, DWORD dwFlags)
Acquires the cryptographic context.
Definition: Crypt.h:829
CryptEncrypt
static BOOL CryptEncrypt(HCRYPTKEY hKey, HCRYPTHASH hHash, BOOL Final, DWORD dwFlags, std::vector< _Ty, _Ax > &aData)
Encrypts data.
Definition: Crypt.h:177
-
CryptDeriveKey
static bool CryptDeriveKey(HCRYPTPROV hProv, ALG_ID Algid, HCRYPTHASH hBaseData, DWORD dwFlags, winstd::crypt_key &key)
Generates cryptographic session keys derived from a base data value.
Definition: Crypt.h:893
+
CryptDeriveKey
static bool CryptDeriveKey(HCRYPTPROV hProv, ALG_ID Algid, HCRYPTHASH hBaseData, DWORD dwFlags, winstd::crypt_key &key)
Generates cryptographic session keys derived from a base data value.
Definition: Crypt.h:899
CryptDecrypt
static BOOL CryptDecrypt(HCRYPTKEY hKey, HCRYPTHASH hHash, BOOL Final, DWORD dwFlags, std::vector< _Ty, _Ax > &aData)
Decrypts data previously encrypted by using the CryptEncrypt function.
Definition: Crypt.h:227
-
CryptImportKey
static bool CryptImportKey(HCRYPTPROV hProv, __in_bcount(dwDataLen) LPCBYTE pbData, DWORD dwDataLen, HCRYPTKEY hPubKey, DWORD dwFlags, winstd::crypt_key &key)
Imports the key.
Definition: Crypt.h:865
+
CryptImportKey
static bool CryptImportKey(HCRYPTPROV hProv, __in_bcount(dwDataLen) LPCBYTE pbData, DWORD dwDataLen, HCRYPTKEY hPubKey, DWORD dwFlags, winstd::crypt_key &key)
Imports the key.
Definition: Crypt.h:871
WINSTD_STACK_BUFFER_BYTES
#define WINSTD_STACK_BUFFER_BYTES
Size of the stack buffer in bytes used for initial system function call.
Definition: Common.h:93
WINSTD_DPLHANDLE_IMPL
#define WINSTD_DPLHANDLE_IMPL(C, INVAL)
Implements default constructors and operators to prevent their auto-generation by compiler.
Definition: Common.h:175
WINSTD_HANDLE_IMPL
#define WINSTD_HANDLE_IMPL(C, INVAL)
Implements default constructors and operators to prevent their auto-generation by compiler.
Definition: Common.h:163
-
winstd::handle::invalid
static const T invalid
Invalid handle value.
Definition: Common.h:579
+
winstd::handle::invalid
static const T invalid
Invalid handle value.
Definition: Common.h:645
diff --git a/_e_a_p_8h_source.html b/_e_a_p_8h_source.html index 13cc233c..9d8f1aba 100644 --- a/_e_a_p_8h_source.html +++ b/_e_a_p_8h_source.html @@ -216,375 +216,370 @@ $(function() {
231 dwLength = a.dwLength;
232 if (a.dwLength) {
233 pValue = new BYTE[a.dwLength];
-
234 assert(pValue);
-
235 memcpy(pValue, a.pValue, a.dwLength);
-
236 } else
-
237 pValue = NULL;
-
238 }
-
239
-
243 eap_attr(_Inout_ eap_attr &&a) noexcept
-
244 {
-
245 eaType = a.eaType;
-
246 dwLength = a.dwLength;
-
247 if (a.dwLength) {
-
248 pValue = a.pValue;
-
249 a.dwLength = 0;
-
250 a.pValue = NULL;
-
251 } else
-
252 pValue = NULL;
-
253 }
-
254
-
258 ~eap_attr()
-
259 {
-
260 if (pValue)
-
261 delete [] pValue;
-
262 }
-
263
-
267 eap_attr& operator=(_In_ const EAP_ATTRIBUTE &a)
-
268 {
-
269 if (this != &a) {
-
270 eaType = a.eaType;
-
271 dwLength = a.dwLength;
-
272 if (a.dwLength) {
-
273 BYTE *pValueNew = new BYTE[a.dwLength];
-
274 if (pValueNew) {
-
275 if (pValue)
-
276 delete [] pValue;
-
277 memcpy(pValueNew, a.pValue, a.dwLength);
-
278 pValue = pValueNew;
-
279 } else
-
280 assert(0); // Could not allocate memory
-
281 } else
-
282 pValue = NULL;
-
283 }
-
284 return *this;
-
285 }
-
286
-
290 eap_attr& operator=(_Inout_ eap_attr &&a) noexcept
-
291 {
-
292 if (this != &a) {
-
293 eaType = a.eaType;
-
294 dwLength = a.dwLength;
-
295 if (pValue)
-
296 delete [] pValue;
-
297 if (a.dwLength) {
-
298 pValue = a.pValue;
-
299 a.dwLength = 0;
-
300 a.pValue = NULL;
-
301 } else
-
302 pValue = NULL;
-
303 }
-
304 return *this;
-
305 }
-
306
-
314 void create_ms_mppe_key(_In_ BYTE bVendorType, _In_count_(nKeySize) LPCBYTE pbKey, _In_ BYTE nKeySize)
-
315 {
-
316 const BYTE nPaddingLength = static_cast<BYTE>((16 - (1 + static_cast<DWORD>(nKeySize))) % 16);
-
317 const DWORD dwLengthNew =
-
318 4 + // Vendor-Id
-
319 1 + // Vendor type
-
320 1 + // Vendor length
-
321 2 + // Salt
-
322 1 + // Key-Length
-
323 nKeySize + // Key
-
324 nPaddingLength; // Padding
-
325
-
326 #pragma warning(push)
-
327 #pragma warning(disable: 6386)
-
328 LPBYTE p = new BYTE[dwLengthNew];
-
329 p[0] = 0x00; // Vendor-Id (0x137 = 311 = Microsoft)
-
330 p[1] = 0x00; // --|
-
331 p[2] = 0x01; // --|
-
332 p[3] = 0x37; // --^
-
333 p[4] = bVendorType; // Vendor type
-
334 p[5] = static_cast<BYTE>(dwLengthNew - 4); // Vendor length
-
335 p[6] = 0x00; // Salt
-
336 p[7] = 0x00; // --^
-
337 p[8] = nKeySize; // Key-Length
-
338 #pragma warning(pop)
-
339 memcpy(p + 9, pbKey, nKeySize); // Key
-
340 memset(p + 9 + nKeySize, 0, nPaddingLength); // Padding
-
341
-
342 if (pValue)
-
343 delete [] pValue;
-
344
-
345 #pragma warning(suppress: 26812) // EAP_ATTRIBUTE_TYPE is unscoped.
-
346 eaType = eatVendorSpecific;
-
347 dwLength = dwLengthNew;
-
348 pValue = p;
-
349 }
-
350 };
-
351 #pragma warning(pop)
-
352
-
356 static const EAP_ATTRIBUTE blank_eap_attr = {};
-
357
-
361 class eap_method_prop : public EAP_METHOD_PROPERTY
-
362 {
-
363 public:
-
370 eap_method_prop(_In_ EAP_METHOD_PROPERTY_TYPE type, _In_ BOOL value) noexcept
-
371 {
-
372 eapMethodPropertyType = type;
-
373 eapMethodPropertyValueType = empvtBool;
-
374 eapMethodPropertyValue.empvBool.length = sizeof(BOOL);
-
375 eapMethodPropertyValue.empvBool.value = value;
-
376 }
-
377
-
384 eap_method_prop(_In_ EAP_METHOD_PROPERTY_TYPE type, _In_ DWORD value) noexcept
-
385 {
-
386 eapMethodPropertyType = type;
-
387 eapMethodPropertyValueType = empvtDword;
-
388 eapMethodPropertyValue.empvDword.length = sizeof(DWORD);
-
389 eapMethodPropertyValue.empvDword.value = value;
-
390 }
-
391
-
398 eap_method_prop(_In_ EAP_METHOD_PROPERTY_TYPE type, _In_z_ LPCWSTR value) noexcept
-
399 {
-
400 eapMethodPropertyType = type;
-
401 eapMethodPropertyValueType = empvtString;
-
402 eapMethodPropertyValue.empvString.length = static_cast<DWORD>(sizeof(WCHAR)*(wcslen(value) + 1));
-
403 eapMethodPropertyValue.empvString.value = const_cast<BYTE*>(reinterpret_cast<const BYTE*>(value));
-
404 }
-
405 };
-
406
-
410 class eap_packet : public dplhandle<EapPacket*, NULL>
-
411 {
-
412 WINSTD_DPLHANDLE_IMPL(eap_packet, NULL)
-
413
-
414 public:
-
418 virtual ~eap_packet()
-
419 {
-
420 if (m_h != invalid)
-
421 free_internal();
-
422 }
-
423
-
437 bool create(_In_ EapCode code, _In_ BYTE id, _In_ WORD size) noexcept
-
438 {
-
439 assert(size >= 4); // EAP packets must contain at least Code, Id, and Length fields: 4B.
-
440
-
441 handle_type h = static_cast<handle_type>(HeapAlloc(GetProcessHeap(), 0, size));
-
442 if (h != NULL) {
-
443 h->Code = static_cast<BYTE>(code);
-
444 h->Id = id;
-
445 *reinterpret_cast<WORD*>(h->Length) = htons(size);
-
446
-
447 attach(h);
-
448 return true;
-
449 } else {
-
450 SetLastError(ERROR_OUTOFMEMORY);
-
451 return false;
-
452 }
-
453 }
-
454
-
458 WORD size() const noexcept
-
459 {
-
460 return m_h != NULL ? ntohs(*(WORD*)m_h->Length) : 0;
-
461 }
-
462
-
463 protected:
-
467 void free_internal() noexcept override
-
468 {
-
469 HeapFree(GetProcessHeap(), 0, m_h);
-
470 }
-
471
-
475 handle_type duplicate_internal(_In_ handle_type h) const noexcept override
-
476 {
-
477 const WORD n = ntohs(*reinterpret_cast<WORD*>(h->Length));
-
478 handle_type h2 = static_cast<handle_type>(HeapAlloc(GetProcessHeap(), 0, n));
-
479 if (h2 == NULL) {
-
480 SetLastError(ERROR_OUTOFMEMORY);
-
481 return NULL;
-
482 }
-
483 memcpy(h2, h, n);
-
484 return h2;
-
485 }
-
486 };
-
487
-
491 class eap_method_info_array : public EAP_METHOD_INFO_ARRAY
-
492 {
-
493 WINSTD_NONCOPYABLE(eap_method_info_array)
-
494
-
495 public:
-
499 eap_method_info_array() noexcept
-
500 {
-
501 dwNumberOfMethods = 0;
-
502 pEapMethods = NULL;
-
503 }
-
504
-
510 eap_method_info_array(_Inout_ eap_method_info_array &&other) noexcept
-
511 {
-
512 dwNumberOfMethods = other.dwNumberOfMethods;
-
513 pEapMethods = other.pEapMethods;
-
514 other.dwNumberOfMethods = 0;
-
515 other.pEapMethods = NULL;
-
516 }
-
517
-
521 ~eap_method_info_array()
-
522 {
-
523 if (pEapMethods)
-
524 free_internal();
-
525 }
-
526
-
532 eap_method_info_array& operator=(_Inout_ eap_method_info_array &&other) noexcept
-
533 {
-
534 if (this != std::addressof(other)) {
-
535 if (pEapMethods)
-
536 free_internal();
-
537 dwNumberOfMethods = other.dwNumberOfMethods;
-
538 pEapMethods = other.pEapMethods;
-
539 other.dwNumberOfMethods = 0;
-
540 other.pEapMethods = NULL;
-
541 }
-
542 return *this;
-
543 }
-
544
-
545 protected:
+
234 memcpy(pValue, a.pValue, a.dwLength);
+
235 } else
+
236 pValue = NULL;
+
237 }
+
238
+
242 eap_attr(_Inout_ eap_attr &&a) noexcept
+
243 {
+
244 eaType = a.eaType;
+
245 dwLength = a.dwLength;
+
246 if (a.dwLength) {
+
247 pValue = a.pValue;
+
248 a.dwLength = 0;
+
249 a.pValue = NULL;
+
250 } else
+
251 pValue = NULL;
+
252 }
+
253
+
257 ~eap_attr()
+
258 {
+
259 if (pValue)
+
260 delete [] pValue;
+
261 }
+
262
+
266 eap_attr& operator=(_In_ const EAP_ATTRIBUTE &a)
+
267 {
+
268 if (this != &a) {
+
269 eaType = a.eaType;
+
270 dwLength = a.dwLength;
+
271 if (a.dwLength) {
+
272 BYTE *pValueNew = new BYTE[a.dwLength];
+
273 if (pValue)
+
274 delete [] pValue;
+
275 memcpy(pValueNew, a.pValue, a.dwLength);
+
276 pValue = pValueNew;
+
277 } else
+
278 pValue = NULL;
+
279 }
+
280 return *this;
+
281 }
+
282
+
286 eap_attr& operator=(_Inout_ eap_attr &&a) noexcept
+
287 {
+
288 if (this != &a) {
+
289 eaType = a.eaType;
+
290 dwLength = a.dwLength;
+
291 if (pValue)
+
292 delete [] pValue;
+
293 if (a.dwLength) {
+
294 pValue = a.pValue;
+
295 a.dwLength = 0;
+
296 a.pValue = NULL;
+
297 } else
+
298 pValue = NULL;
+
299 }
+
300 return *this;
+
301 }
+
302
+
310 void create_ms_mppe_key(_In_ BYTE bVendorType, _In_count_(nKeySize) LPCBYTE pbKey, _In_ BYTE nKeySize)
+
311 {
+
312 const BYTE nPaddingLength = static_cast<BYTE>((16 - (1 + static_cast<DWORD>(nKeySize))) % 16);
+
313 const DWORD dwLengthNew =
+
314 4 + // Vendor-Id
+
315 1 + // Vendor type
+
316 1 + // Vendor length
+
317 2 + // Salt
+
318 1 + // Key-Length
+
319 nKeySize + // Key
+
320 nPaddingLength; // Padding
+
321
+
322 #pragma warning(push)
+
323 #pragma warning(disable: 6386)
+
324 LPBYTE p = new BYTE[dwLengthNew];
+
325 p[0] = 0x00; // Vendor-Id (0x137 = 311 = Microsoft)
+
326 p[1] = 0x00; // --|
+
327 p[2] = 0x01; // --|
+
328 p[3] = 0x37; // --^
+
329 p[4] = bVendorType; // Vendor type
+
330 p[5] = static_cast<BYTE>(dwLengthNew - 4); // Vendor length
+
331 p[6] = 0x00; // Salt
+
332 p[7] = 0x00; // --^
+
333 p[8] = nKeySize; // Key-Length
+
334 #pragma warning(pop)
+
335 memcpy(p + 9, pbKey, nKeySize); // Key
+
336 memset(p + 9 + nKeySize, 0, nPaddingLength); // Padding
+
337
+
338 if (pValue)
+
339 delete [] pValue;
+
340
+
341 #pragma warning(suppress: 26812) // EAP_ATTRIBUTE_TYPE is unscoped.
+
342 eaType = eatVendorSpecific;
+
343 dwLength = dwLengthNew;
+
344 pValue = p;
+
345 }
+
346 };
+
347 #pragma warning(pop)
+
348
+
352 static const EAP_ATTRIBUTE blank_eap_attr = {};
+
353
+
357 class eap_method_prop : public EAP_METHOD_PROPERTY
+
358 {
+
359 public:
+
366 eap_method_prop(_In_ EAP_METHOD_PROPERTY_TYPE type, _In_ BOOL value) noexcept
+
367 {
+
368 eapMethodPropertyType = type;
+
369 eapMethodPropertyValueType = empvtBool;
+
370 eapMethodPropertyValue.empvBool.length = sizeof(BOOL);
+
371 eapMethodPropertyValue.empvBool.value = value;
+
372 }
+
373
+
380 eap_method_prop(_In_ EAP_METHOD_PROPERTY_TYPE type, _In_ DWORD value) noexcept
+
381 {
+
382 eapMethodPropertyType = type;
+
383 eapMethodPropertyValueType = empvtDword;
+
384 eapMethodPropertyValue.empvDword.length = sizeof(DWORD);
+
385 eapMethodPropertyValue.empvDword.value = value;
+
386 }
+
387
+
394 eap_method_prop(_In_ EAP_METHOD_PROPERTY_TYPE type, _In_z_ LPCWSTR value) noexcept
+
395 {
+
396 eapMethodPropertyType = type;
+
397 eapMethodPropertyValueType = empvtString;
+
398 eapMethodPropertyValue.empvString.length = static_cast<DWORD>(sizeof(WCHAR)*(wcslen(value) + 1));
+
399 eapMethodPropertyValue.empvString.value = const_cast<BYTE*>(reinterpret_cast<const BYTE*>(value));
+
400 }
+
401 };
+
402
+
406 class eap_packet : public dplhandle<EapPacket*, NULL>
+
407 {
+
408 WINSTD_DPLHANDLE_IMPL(eap_packet, NULL)
+
409
+
410 public:
+
414 virtual ~eap_packet()
+
415 {
+
416 if (m_h != invalid)
+
417 free_internal();
+
418 }
+
419
+
433 bool create(_In_ EapCode code, _In_ BYTE id, _In_ WORD size) noexcept
+
434 {
+
435 assert(size >= 4); // EAP packets must contain at least Code, Id, and Length fields: 4B.
+
436
+
437 handle_type h = static_cast<handle_type>(HeapAlloc(GetProcessHeap(), 0, size));
+
438 if (h != NULL) {
+
439 h->Code = static_cast<BYTE>(code);
+
440 h->Id = id;
+
441 *reinterpret_cast<WORD*>(h->Length) = htons(size);
+
442
+
443 attach(h);
+
444 return true;
+
445 } else {
+
446 SetLastError(ERROR_OUTOFMEMORY);
+
447 return false;
+
448 }
+
449 }
+
450
+
454 WORD size() const noexcept
+
455 {
+
456 return m_h != NULL ? ntohs(*(WORD*)m_h->Length) : 0;
+
457 }
+
458
+
459 protected:
+
463 void free_internal() noexcept override
+
464 {
+
465 HeapFree(GetProcessHeap(), 0, m_h);
+
466 }
+
467
+
471 handle_type duplicate_internal(_In_ handle_type h) const override
+
472 {
+
473 const WORD n = ntohs(*reinterpret_cast<WORD*>(h->Length));
+
474 handle_type h2 = static_cast<handle_type>(HeapAlloc(GetProcessHeap(), 0, n));
+
475 if (h2 != invalid) {
+
476 memcpy(h2, h, n);
+
477 return h2;
+
478 }
+
479 throw std::bad_alloc();
+
480 }
+
481 };
+
482
+
486 class eap_method_info_array : public EAP_METHOD_INFO_ARRAY
+
487 {
+
488 WINSTD_NONCOPYABLE(eap_method_info_array)
+
489
+
490 public:
+
494 eap_method_info_array() noexcept
+
495 {
+
496 dwNumberOfMethods = 0;
+
497 pEapMethods = NULL;
+
498 }
+
499
+
505 eap_method_info_array(_Inout_ eap_method_info_array &&other) noexcept
+
506 {
+
507 dwNumberOfMethods = other.dwNumberOfMethods;
+
508 pEapMethods = other.pEapMethods;
+
509 other.dwNumberOfMethods = 0;
+
510 other.pEapMethods = NULL;
+
511 }
+
512
+
516 ~eap_method_info_array()
+
517 {
+
518 if (pEapMethods)
+
519 free_internal();
+
520 }
+
521
+
527 eap_method_info_array& operator=(_Inout_ eap_method_info_array &&other) noexcept
+
528 {
+
529 if (this != std::addressof(other)) {
+
530 if (pEapMethods)
+
531 free_internal();
+
532 dwNumberOfMethods = other.dwNumberOfMethods;
+
533 pEapMethods = other.pEapMethods;
+
534 other.dwNumberOfMethods = 0;
+
535 other.pEapMethods = NULL;
+
536 }
+
537 return *this;
+
538 }
+
539
+
540 protected:
+
542
+
543 void free_internal() noexcept
+
544 {
+
545 for (DWORD i = 0; i < dwNumberOfMethods; i++)
+
546 free_internal(pEapMethods + i);
547
-
548 void free_internal() noexcept
-
549 {
-
550 for (DWORD i = 0; i < dwNumberOfMethods; i++)
-
551 free_internal(pEapMethods + i);
-
552
-
553 EapHostPeerFreeMemory(reinterpret_cast<BYTE*>(pEapMethods));
-
554 }
+
548 EapHostPeerFreeMemory(reinterpret_cast<BYTE*>(pEapMethods));
+
549 }
+
550
+
551 static void free_internal(_In_ EAP_METHOD_INFO *pMethodInfo) noexcept
+
552 {
+
553 if (pMethodInfo->pInnerMethodInfo)
+
554 free_internal(pMethodInfo->pInnerMethodInfo);
555
-
556 static void free_internal(_In_ EAP_METHOD_INFO *pMethodInfo) noexcept
-
557 {
-
558 if (pMethodInfo->pInnerMethodInfo)
-
559 free_internal(pMethodInfo->pInnerMethodInfo);
-
560
-
561 EapHostPeerFreeMemory(reinterpret_cast<BYTE*>(pMethodInfo->pwszAuthorName));
-
562 EapHostPeerFreeMemory(reinterpret_cast<BYTE*>(pMethodInfo->pwszFriendlyName));
-
563 }
+
556 EapHostPeerFreeMemory(reinterpret_cast<BYTE*>(pMethodInfo->pwszAuthorName));
+
557 EapHostPeerFreeMemory(reinterpret_cast<BYTE*>(pMethodInfo->pwszFriendlyName));
+
558 }
+
559
+
561 };
+
562
564
-
566 };
567
-
569
-
572
-
578 class eap_runtime_error : public win_runtime_error
-
579 {
-
580 public:
-
587 eap_runtime_error(_In_ const EAP_ERROR &err, _In_ const std::string& msg) :
-
588 m_type (err.type ),
-
589 m_reason (err.dwReasonCode ),
-
590 m_root_cause_id (err.rootCauseGuid ),
-
591 m_root_cause_desc(err.pRootCauseString ),
-
592 m_repair_id (err.repairGuid ),
-
593 m_repair_desc (err.pRepairString ),
-
594 m_help_link_id (err.helpLinkGuid ),
-
595 win_runtime_error(err.dwWinError, msg.c_str())
-
596 {
-
597 }
-
598
-
605 eap_runtime_error(_In_ const EAP_ERROR &err, _In_opt_z_ const char *msg = nullptr) :
-
606 m_type (err.type ),
-
607 m_reason (err.dwReasonCode ),
-
608 m_root_cause_id (err.rootCauseGuid ),
-
609 m_root_cause_desc(err.pRootCauseString),
-
610 m_repair_id (err.repairGuid ),
-
611 m_repair_desc (err.pRepairString ),
-
612 m_help_link_id (err.helpLinkGuid ),
-
613 win_runtime_error(err.dwWinError, msg )
-
614 {
-
615 }
-
616
-
620 const EAP_METHOD_TYPE& type() const noexcept
-
621 {
-
622 return m_type;
-
623 }
-
624
-
628 DWORD reason() const noexcept
-
629 {
-
630 return m_reason;
-
631 }
-
632
-
636 const GUID& root_cause_id() const noexcept
-
637 {
-
638 return m_root_cause_id;
-
639 }
-
640
-
644 const wchar_t* root_cause() const noexcept
-
645 {
-
646 return m_root_cause_desc.c_str();
-
647 }
-
648
-
652 const GUID& repair_id() const noexcept
-
653 {
-
654 return m_repair_id;
-
655 }
-
656
-
660 const wchar_t* repair() const noexcept
-
661 {
-
662 return m_repair_desc.c_str();
-
663 }
-
664
-
668 const GUID& help_link_id() const noexcept
-
669 {
-
670 return m_help_link_id;
-
671 }
+
573 class eap_runtime_error : public win_runtime_error
+
574 {
+
575 public:
+
582 eap_runtime_error(_In_ const EAP_ERROR &err, _In_ const std::string& msg) :
+
583 m_type (err.type ),
+
584 m_reason (err.dwReasonCode ),
+
585 m_root_cause_id (err.rootCauseGuid ),
+
586 m_root_cause_desc(err.pRootCauseString ),
+
587 m_repair_id (err.repairGuid ),
+
588 m_repair_desc (err.pRepairString ),
+
589 m_help_link_id (err.helpLinkGuid ),
+
590 win_runtime_error(err.dwWinError, msg.c_str())
+
591 {
+
592 }
+
593
+
600 eap_runtime_error(_In_ const EAP_ERROR &err, _In_opt_z_ const char *msg = nullptr) :
+
601 m_type (err.type ),
+
602 m_reason (err.dwReasonCode ),
+
603 m_root_cause_id (err.rootCauseGuid ),
+
604 m_root_cause_desc(err.pRootCauseString),
+
605 m_repair_id (err.repairGuid ),
+
606 m_repair_desc (err.pRepairString ),
+
607 m_help_link_id (err.helpLinkGuid ),
+
608 win_runtime_error(err.dwWinError, msg )
+
609 {
+
610 }
+
611
+
615 const EAP_METHOD_TYPE& type() const noexcept
+
616 {
+
617 return m_type;
+
618 }
+
619
+
623 DWORD reason() const noexcept
+
624 {
+
625 return m_reason;
+
626 }
+
627
+
631 const GUID& root_cause_id() const noexcept
+
632 {
+
633 return m_root_cause_id;
+
634 }
+
635
+
639 const wchar_t* root_cause() const noexcept
+
640 {
+
641 return m_root_cause_desc.c_str();
+
642 }
+
643
+
647 const GUID& repair_id() const noexcept
+
648 {
+
649 return m_repair_id;
+
650 }
+
651
+
655 const wchar_t* repair() const noexcept
+
656 {
+
657 return m_repair_desc.c_str();
+
658 }
+
659
+
663 const GUID& help_link_id() const noexcept
+
664 {
+
665 return m_help_link_id;
+
666 }
+
667
+
668 protected:
+
669 EAP_METHOD_TYPE m_type;
+
670
+
671 DWORD m_reason;
672
-
673 protected:
-
674 EAP_METHOD_TYPE m_type;
+
673 GUID m_root_cause_id;
+
674 std::wstring m_root_cause_desc;
675
-
676 DWORD m_reason;
-
677
-
678 GUID m_root_cause_id;
-
679 std::wstring m_root_cause_desc;
-
680
-
681 GUID m_repair_id;
-
682 std::wstring m_repair_desc;
-
683
-
684 GUID m_help_link_id;
-
685 };
-
686
-
688}
-
689
-
690#pragma warning(pop)
-
winstd::dplhandle
Base abstract template class to support object handle keeping for objects that support trivial handle...
Definition: Common.h:834
+
676 GUID m_repair_id;
+
677 std::wstring m_repair_desc;
+
678
+
679 GUID m_help_link_id;
+
680 };
+
681
+
683}
+
684
+
685#pragma warning(pop)
+
winstd::dplhandle
Base abstract template class to support object handle keeping for objects that support trivial handle...
Definition: Common.h:900
winstd::eap_attr
EAP_ATTRIBUTE wrapper class.
Definition: EAP.h:213
winstd::eap_attr::eap_attr
eap_attr() noexcept
Initializes a new EAP attribute set to eatReserved.
Definition: EAP.h:218
-
winstd::eap_attr::eap_attr
eap_attr(eap_attr &&a) noexcept
Moves an existing EAP attribute.
Definition: EAP.h:243
-
winstd::eap_attr::~eap_attr
~eap_attr()
Destroys the EAP attribute.
Definition: EAP.h:258
-
winstd::eap_attr::operator=
eap_attr & operator=(eap_attr &&a) noexcept
Moves an existing EAP attribute.
Definition: EAP.h:290
+
winstd::eap_attr::eap_attr
eap_attr(eap_attr &&a) noexcept
Moves an existing EAP attribute.
Definition: EAP.h:242
+
winstd::eap_attr::~eap_attr
~eap_attr()
Destroys the EAP attribute.
Definition: EAP.h:257
+
winstd::eap_attr::operator=
eap_attr & operator=(eap_attr &&a) noexcept
Moves an existing EAP attribute.
Definition: EAP.h:286
winstd::eap_attr::eap_attr
eap_attr(const EAP_ATTRIBUTE &a)
Copies an existing EAP attribute.
Definition: EAP.h:228
-
winstd::eap_attr::create_ms_mppe_key
void create_ms_mppe_key(BYTE bVendorType, LPCBYTE pbKey, BYTE nKeySize)
Creates MS-MPPE-Send-Key or MS-MPPE-Recv-Key.
Definition: EAP.h:314
-
winstd::eap_attr::operator=
eap_attr & operator=(const EAP_ATTRIBUTE &a)
Copies an existing EAP attribute.
Definition: EAP.h:267
-
winstd::eap_method_info_array
EAP_METHOD_INFO_ARRAY wrapper class.
Definition: EAP.h:492
-
winstd::eap_method_info_array::eap_method_info_array
eap_method_info_array(eap_method_info_array &&other) noexcept
Move constructor.
Definition: EAP.h:510
-
winstd::eap_method_info_array::eap_method_info_array
eap_method_info_array() noexcept
Constructs an empty array.
Definition: EAP.h:499
-
winstd::eap_method_info_array::~eap_method_info_array
~eap_method_info_array()
Destructor.
Definition: EAP.h:521
-
winstd::eap_method_info_array::operator=
eap_method_info_array & operator=(eap_method_info_array &&other) noexcept
Move assignment.
Definition: EAP.h:532
-
winstd::eap_method_prop
EAP_METHOD_PROPERTY wrapper class.
Definition: EAP.h:362
-
winstd::eap_method_prop::eap_method_prop
eap_method_prop(EAP_METHOD_PROPERTY_TYPE type, BOOL value) noexcept
Constructs a BOOL method property.
Definition: EAP.h:370
-
winstd::eap_method_prop::eap_method_prop
eap_method_prop(EAP_METHOD_PROPERTY_TYPE type, DWORD value) noexcept
Constructs a DWORD method property.
Definition: EAP.h:384
-
winstd::eap_method_prop::eap_method_prop
eap_method_prop(EAP_METHOD_PROPERTY_TYPE type, LPCWSTR value) noexcept
Constructs a Unicode string method property.
Definition: EAP.h:398
-
winstd::eap_packet
EapPacket wrapper class.
Definition: EAP.h:411
-
winstd::eap_packet::size
WORD size() const noexcept
Returns total EAP packet size in bytes.
Definition: EAP.h:458
-
winstd::eap_packet::duplicate_internal
handle_type duplicate_internal(handle_type h) const noexcept override
Duplicates the EAP packet.
Definition: EAP.h:475
-
winstd::eap_packet::~eap_packet
virtual ~eap_packet()
Destroys the EAP packet.
Definition: EAP.h:418
-
winstd::eap_packet::free_internal
void free_internal() noexcept override
Destroys the EAP packet.
Definition: EAP.h:467
-
winstd::eap_packet::create
bool create(EapCode code, BYTE id, WORD size) noexcept
Create new EAP packet.
Definition: EAP.h:437
-
winstd::eap_runtime_error
EapHost runtime error.
Definition: EAP.h:579
-
winstd::eap_runtime_error::type
const EAP_METHOD_TYPE & type() const noexcept
Returns EAP method type.
Definition: EAP.h:620
-
winstd::eap_runtime_error::m_root_cause_id
GUID m_root_cause_id
A unique ID that identifies cause of error in EAPHost.
Definition: EAP.h:678
-
winstd::eap_runtime_error::root_cause
const wchar_t * root_cause() const noexcept
Returns root cause ID.
Definition: EAP.h:644
-
winstd::eap_runtime_error::repair_id
const GUID & repair_id() const noexcept
Returns repair ID.
Definition: EAP.h:652
-
winstd::eap_runtime_error::m_repair_desc
std::wstring m_repair_desc
A localized and readable string that describes the possible repair action.
Definition: EAP.h:682
-
winstd::eap_runtime_error::reason
DWORD reason() const noexcept
Returns the reason code for error.
Definition: EAP.h:628
-
winstd::eap_runtime_error::m_type
EAP_METHOD_TYPE m_type
Structure that identifies the EAP method that raised the error.
Definition: EAP.h:674
-
winstd::eap_runtime_error::eap_runtime_error
eap_runtime_error(const EAP_ERROR &err, const char *msg=nullptr)
Constructs an exception.
Definition: EAP.h:605
-
winstd::eap_runtime_error::m_repair_id
GUID m_repair_id
A unique ID that maps to a localizable string that identifies the repair action that can be taken to ...
Definition: EAP.h:681
-
winstd::eap_runtime_error::eap_runtime_error
eap_runtime_error(const EAP_ERROR &err, const std::string &msg)
Constructs an exception.
Definition: EAP.h:587
-
winstd::eap_runtime_error::repair
const wchar_t * repair() const noexcept
Returns root cause ID.
Definition: EAP.h:660
-
winstd::eap_runtime_error::m_help_link_id
GUID m_help_link_id
A unique ID that maps to a localizable string that specifies an URL for a page that contains addition...
Definition: EAP.h:684
-
winstd::eap_runtime_error::root_cause_id
const GUID & root_cause_id() const noexcept
Returns root cause ID.
Definition: EAP.h:636
-
winstd::eap_runtime_error::m_root_cause_desc
std::wstring m_root_cause_desc
A localized and readable string that describes the root cause of the error.
Definition: EAP.h:679
-
winstd::eap_runtime_error::help_link_id
const GUID & help_link_id() const noexcept
Returns help_link ID.
Definition: EAP.h:668
-
winstd::eap_runtime_error::m_reason
DWORD m_reason
The reason code for the error.
Definition: EAP.h:676
-
winstd::handle::handle_type
T handle_type
Datatype of the object handle this template class handles.
Definition: Common.h:574
-
winstd::handle::m_h
handle_type m_h
Object handle.
Definition: Common.h:823
-
winstd::handle::attach
void attach(handle_type h) noexcept
Sets a new object handle for the class.
Definition: Common.h:786
-
winstd::win_runtime_error
Windows runtime error.
Definition: Common.h:1013
-
winstd::win_runtime_error::msg
tstring msg(DWORD dwLanguageId=0) const
Returns a user-readable Windows error message.
Definition: Common.h:1058
+
winstd::eap_attr::create_ms_mppe_key
void create_ms_mppe_key(BYTE bVendorType, LPCBYTE pbKey, BYTE nKeySize)
Creates MS-MPPE-Send-Key or MS-MPPE-Recv-Key.
Definition: EAP.h:310
+
winstd::eap_attr::operator=
eap_attr & operator=(const EAP_ATTRIBUTE &a)
Copies an existing EAP attribute.
Definition: EAP.h:266
+
winstd::eap_method_info_array
EAP_METHOD_INFO_ARRAY wrapper class.
Definition: EAP.h:487
+
winstd::eap_method_info_array::eap_method_info_array
eap_method_info_array(eap_method_info_array &&other) noexcept
Move constructor.
Definition: EAP.h:505
+
winstd::eap_method_info_array::eap_method_info_array
eap_method_info_array() noexcept
Constructs an empty array.
Definition: EAP.h:494
+
winstd::eap_method_info_array::~eap_method_info_array
~eap_method_info_array()
Destructor.
Definition: EAP.h:516
+
winstd::eap_method_info_array::operator=
eap_method_info_array & operator=(eap_method_info_array &&other) noexcept
Move assignment.
Definition: EAP.h:527
+
winstd::eap_method_prop
EAP_METHOD_PROPERTY wrapper class.
Definition: EAP.h:358
+
winstd::eap_method_prop::eap_method_prop
eap_method_prop(EAP_METHOD_PROPERTY_TYPE type, BOOL value) noexcept
Constructs a BOOL method property.
Definition: EAP.h:366
+
winstd::eap_method_prop::eap_method_prop
eap_method_prop(EAP_METHOD_PROPERTY_TYPE type, DWORD value) noexcept
Constructs a DWORD method property.
Definition: EAP.h:380
+
winstd::eap_method_prop::eap_method_prop
eap_method_prop(EAP_METHOD_PROPERTY_TYPE type, LPCWSTR value) noexcept
Constructs a Unicode string method property.
Definition: EAP.h:394
+
winstd::eap_packet
EapPacket wrapper class.
Definition: EAP.h:407
+
winstd::eap_packet::size
WORD size() const noexcept
Returns total EAP packet size in bytes.
Definition: EAP.h:454
+
winstd::eap_packet::~eap_packet
virtual ~eap_packet()
Destroys the EAP packet.
Definition: EAP.h:414
+
winstd::eap_packet::free_internal
void free_internal() noexcept override
Destroys the EAP packet.
Definition: EAP.h:463
+
winstd::eap_packet::create
bool create(EapCode code, BYTE id, WORD size) noexcept
Create new EAP packet.
Definition: EAP.h:433
+
winstd::eap_packet::duplicate_internal
handle_type duplicate_internal(handle_type h) const override
Duplicates the EAP packet.
Definition: EAP.h:471
+
winstd::eap_runtime_error
EapHost runtime error.
Definition: EAP.h:574
+
winstd::eap_runtime_error::type
const EAP_METHOD_TYPE & type() const noexcept
Returns EAP method type.
Definition: EAP.h:615
+
winstd::eap_runtime_error::m_root_cause_id
GUID m_root_cause_id
A unique ID that identifies cause of error in EAPHost.
Definition: EAP.h:673
+
winstd::eap_runtime_error::root_cause
const wchar_t * root_cause() const noexcept
Returns root cause ID.
Definition: EAP.h:639
+
winstd::eap_runtime_error::repair_id
const GUID & repair_id() const noexcept
Returns repair ID.
Definition: EAP.h:647
+
winstd::eap_runtime_error::m_repair_desc
std::wstring m_repair_desc
A localized and readable string that describes the possible repair action.
Definition: EAP.h:677
+
winstd::eap_runtime_error::reason
DWORD reason() const noexcept
Returns the reason code for error.
Definition: EAP.h:623
+
winstd::eap_runtime_error::m_type
EAP_METHOD_TYPE m_type
Structure that identifies the EAP method that raised the error.
Definition: EAP.h:669
+
winstd::eap_runtime_error::eap_runtime_error
eap_runtime_error(const EAP_ERROR &err, const char *msg=nullptr)
Constructs an exception.
Definition: EAP.h:600
+
winstd::eap_runtime_error::m_repair_id
GUID m_repair_id
A unique ID that maps to a localizable string that identifies the repair action that can be taken to ...
Definition: EAP.h:676
+
winstd::eap_runtime_error::eap_runtime_error
eap_runtime_error(const EAP_ERROR &err, const std::string &msg)
Constructs an exception.
Definition: EAP.h:582
+
winstd::eap_runtime_error::repair
const wchar_t * repair() const noexcept
Returns root cause ID.
Definition: EAP.h:655
+
winstd::eap_runtime_error::m_help_link_id
GUID m_help_link_id
A unique ID that maps to a localizable string that specifies an URL for a page that contains addition...
Definition: EAP.h:679
+
winstd::eap_runtime_error::root_cause_id
const GUID & root_cause_id() const noexcept
Returns root cause ID.
Definition: EAP.h:631
+
winstd::eap_runtime_error::m_root_cause_desc
std::wstring m_root_cause_desc
A localized and readable string that describes the root cause of the error.
Definition: EAP.h:674
+
winstd::eap_runtime_error::help_link_id
const GUID & help_link_id() const noexcept
Returns help_link ID.
Definition: EAP.h:663
+
winstd::eap_runtime_error::m_reason
DWORD m_reason
The reason code for the error.
Definition: EAP.h:671
+
winstd::handle::handle_type
T handle_type
Datatype of the object handle this template class handles.
Definition: Common.h:640
+
winstd::handle::m_h
handle_type m_h
Object handle.
Definition: Common.h:889
+
winstd::handle::attach
void attach(handle_type h) noexcept
Sets a new object handle for the class.
Definition: Common.h:852
+
winstd::win_runtime_error
Windows runtime error.
Definition: Common.h:1074
+
winstd::win_runtime_error::msg
tstring msg(DWORD dwLanguageId=0) const
Returns a user-readable Windows error message.
Definition: Common.h:1119
winstd::eap_error_runtime
std::unique_ptr< EAP_ERROR, EapHostPeerFreeEapError_delete > eap_error_runtime
EAP_ERROR wrapper class.
Definition: EAP.h:205
winstd::eap_blob
std::unique_ptr< BYTE[], EapHostPeerFreeMemory_delete > eap_blob
EapHost BLOB wrapper class.
Definition: EAP.h:128
operator==
static bool operator==(const EAP_METHOD_TYPE &a, const EAP_METHOD_TYPE &b) noexcept
Are EAP method types equal?
Definition: EAP.h:39
@@ -592,7 +587,7 @@ $(function() {
winstd::eap_error
std::unique_ptr< EAP_ERROR, EapHostPeerFreeErrorMemory_delete > eap_error
EAP_ERROR wrapper class.
Definition: EAP.h:179
winstd::eap_blob_runtime
std::unique_ptr< BYTE[], EapHostPeerFreeRuntimeMemory_delete > eap_blob_runtime
EapHost BLOB wrapper class.
Definition: EAP.h:153
operator!=
static bool operator!=(const EAP_METHOD_TYPE &a, const EAP_METHOD_TYPE &b) noexcept
Are EAP method types non-equal?
Definition: EAP.h:58
-
winstd::blank_eap_attr
static const EAP_ATTRIBUTE blank_eap_attr
Blank EAP attribute.
Definition: EAP.h:356
+
winstd::blank_eap_attr
static const EAP_ATTRIBUTE blank_eap_attr
Blank EAP attribute.
Definition: EAP.h:352
winstd::eap_type_t::notification
@ notification
Notification.
winstd::eap_type_t::md5_challenge
@ md5_challenge
MD5-Challenge.
winstd::eap_type_t::legacy_pap
@ legacy_pap
PAP (Not actually an EAP method; Moved to the Unassigned area)
@@ -614,7 +609,7 @@ $(function() {
winstd::eap_type_t::identity
@ identity
Identity.
WINSTD_NONCOPYABLE
#define WINSTD_NONCOPYABLE(C)
Declares a class as non-copyable.
Definition: Common.h:66
WINSTD_DPLHANDLE_IMPL
#define WINSTD_DPLHANDLE_IMPL(C, INVAL)
Implements default constructors and operators to prevent their auto-generation by compiler.
Definition: Common.h:175
-
winstd::handle::invalid
static const T invalid
Invalid handle value.
Definition: Common.h:579
+
winstd::handle::invalid
static const T invalid
Invalid handle value.
Definition: Common.h:645
winstd::EapHostPeerFreeEapError_delete
Deleter for unique_ptr to EAP_ERROR using EapHostPeerFreeEapError.
Definition: EAP.h:185
winstd::EapHostPeerFreeEapError_delete::EapHostPeerFreeEapError_delete
EapHostPeerFreeEapError_delete() noexcept
Default constructor.
Definition: EAP.h:189
winstd::EapHostPeerFreeEapError_delete::operator()
void operator()(EAP_ERROR *_Ptr) const noexcept
Delete a pointer.
Definition: EAP.h:196
@@ -630,7 +625,7 @@ $(function() { diff --git a/_e_t_w_8h_source.html b/_e_t_w_8h_source.html index fe9cc91d..81ce2ca7 100644 --- a/_e_t_w_8h_source.html +++ b/_e_t_w_8h_source.html @@ -979,11 +979,11 @@ $(function() {
winstd::event_trace
ETW trace.
Definition: ETW.h:906
winstd::event_trace::~event_trace
virtual ~event_trace()
Closes the trace.
Definition: ETW.h:915
winstd::event_trace::free_internal
void free_internal() noexcept override
Closes the trace.
Definition: ETW.h:927
-
winstd::handle
Base abstract template class to support generic object handle keeping.
Definition: Common.h:569
-
winstd::handle< TRACEHANDLE, 0 >::handle
handle() noexcept
Initializes a new class instance with the object handle set to INVAL.
Definition: Common.h:584
-
winstd::handle< REGHANDLE, NULL >::handle_type
REGHANDLE handle_type
Datatype of the object handle this template class handles.
Definition: Common.h:574
-
winstd::handle< REGHANDLE, NULL >::m_h
handle_type m_h
Object handle.
Definition: Common.h:823
-
winstd::handle< REGHANDLE, NULL >::attach
void attach(handle_type h) noexcept
Sets a new object handle for the class.
Definition: Common.h:786
+
winstd::handle
Base abstract template class to support generic object handle keeping.
Definition: Common.h:635
+
winstd::handle< TRACEHANDLE, 0 >::handle
handle() noexcept
Initializes a new class instance with the object handle set to INVAL.
Definition: Common.h:650
+
winstd::handle< REGHANDLE, NULL >::handle_type
REGHANDLE handle_type
Datatype of the object handle this template class handles.
Definition: Common.h:640
+
winstd::handle< REGHANDLE, NULL >::m_h
handle_type m_h
Object handle.
Definition: Common.h:889
+
winstd::handle< REGHANDLE, NULL >::attach
void attach(handle_type h) noexcept
Sets a new object handle for the class.
Definition: Common.h:852
TdhGetEventInformation
static ULONG TdhGetEventInformation(PEVENT_RECORD pEvent, ULONG TdhContextCount, PTDH_CONTEXT pTdhContext, std::unique_ptr< TRACE_EVENT_INFO > &info)
Retrieves metadata about an event.
Definition: ETW.h:58
TdhGetProperty
static ULONG TdhGetProperty(PEVENT_RECORD pEvent, ULONG TdhContextCount, PTDH_CONTEXT pTdhContext, ULONG PropertyDataCount, PPROPERTY_DATA_DESCRIPTOR pPropertyData, std::vector< _Ty, _Ax > &aData)
Retrieves a property value from the event data.
Definition: ETW.h:33
TdhGetEventMapInformation
static ULONG TdhGetEventMapInformation(PEVENT_RECORD pEvent, LPWSTR pMapName, std::unique_ptr< EVENT_MAP_INFO > &info)
Retrieves information about the event map contained in the event.
Definition: ETW.h:84
@@ -992,11 +992,11 @@ $(function() {
WINSTD_STACK_BUFFER_BYTES
#define WINSTD_STACK_BUFFER_BYTES
Size of the stack buffer in bytes used for initial system function call.
Definition: Common.h:93
vsprintf
static int vsprintf(std::basic_string< _Elem, _Traits, _Ax > &str, const _Elem *format, va_list arg)
Formats string using printf().
Definition: Common.h:251
WINSTD_HANDLE_IMPL
#define WINSTD_HANDLE_IMPL(C, INVAL)
Implements default constructors and operators to prevent their auto-generation by compiler.
Definition: Common.h:163
-
winstd::handle< REGHANDLE, NULL >::invalid
static const REGHANDLE invalid
Invalid handle value.
Definition: Common.h:579
+
winstd::handle< REGHANDLE, NULL >::invalid
static const REGHANDLE invalid
Invalid handle value.
Definition: Common.h:645
diff --git a/_g_d_i_8h_source.html b/_g_d_i_8h_source.html index eb464878..07dc3b8a 100644 --- a/_g_d_i_8h_source.html +++ b/_g_d_i_8h_source.html @@ -211,9 +211,9 @@ $(function() {
winstd::gdi_handle
Windows HGDIOBJ wrapper class.
Definition: GDI.h:22
winstd::gdi_handle::free_internal
void free_internal() noexcept override
Closes an open object handle.
Definition: GDI.h:43
winstd::gdi_handle::~gdi_handle
virtual ~gdi_handle()
Closes an open object handle.
Definition: GDI.h:31
-
winstd::handle
Base abstract template class to support generic object handle keeping.
Definition: Common.h:569
-
winstd::handle< HDC, NULL >::handle_type
HDC handle_type
Datatype of the object handle this template class handles.
Definition: Common.h:574
-
winstd::handle< T, NULL >::m_h
handle_type m_h
Object handle.
Definition: Common.h:823
+
winstd::handle
Base abstract template class to support generic object handle keeping.
Definition: Common.h:635
+
winstd::handle< HDC, NULL >::handle_type
HDC handle_type
Datatype of the object handle this template class handles.
Definition: Common.h:640
+
winstd::handle< T, NULL >::m_h
handle_type m_h
Object handle.
Definition: Common.h:889
winstd::window_dc
Device context wrapper class.
Definition: GDI.h:84
winstd::window_dc::m_hwnd
HWND m_hwnd
Window handle.
Definition: GDI.h:145
winstd::window_dc::window_dc
window_dc(handle_type h, HWND hwnd) noexcept
Initializes a device context from existing data.
Definition: GDI.h:96
@@ -225,11 +225,11 @@ $(function() {
WINSTD_NONCOPYABLE
#define WINSTD_NONCOPYABLE(C)
Declares a class as non-copyable.
Definition: Common.h:66
WINSTD_NONMOVABLE
#define WINSTD_NONMOVABLE(C)
Declares a class as non-movable.
Definition: Common.h:74
WINSTD_HANDLE_IMPL
#define WINSTD_HANDLE_IMPL(C, INVAL)
Implements default constructors and operators to prevent their auto-generation by compiler.
Definition: Common.h:163
-
winstd::handle< T, NULL >::invalid
static const T invalid
Invalid handle value.
Definition: Common.h:579
+
winstd::handle< T, NULL >::invalid
static const T invalid
Invalid handle value.
Definition: Common.h:645
diff --git a/_m_s_i_8h_source.html b/_m_s_i_8h_source.html index 383a15f5..4716d705 100644 --- a/_m_s_i_8h_source.html +++ b/_m_s_i_8h_source.html @@ -384,7 +384,7 @@ $(function() { diff --git a/_s_d_d_l_8h_source.html b/_s_d_d_l_8h_source.html index c873ae39..9036ac7e 100644 --- a/_s_d_d_l_8h_source.html +++ b/_s_d_d_l_8h_source.html @@ -174,7 +174,7 @@ $(function() { diff --git a/_sec_8h_source.html b/_sec_8h_source.html index 08d3af27..9aca1fac 100644 --- a/_sec_8h_source.html +++ b/_sec_8h_source.html @@ -338,12 +338,12 @@ $(function() {
392 };
393
395}
-
winstd::handle
Base abstract template class to support generic object handle keeping.
Definition: Common.h:569
-
winstd::handle< PCredHandle, NULL >::handle_type
PCredHandle handle_type
Datatype of the object handle this template class handles.
Definition: Common.h:574
-
winstd::handle< PCredHandle, NULL >::m_h
handle_type m_h
Object handle.
Definition: Common.h:823
-
winstd::handle< PCredHandle, NULL >::attach
void attach(handle_type h) noexcept
Sets a new object handle for the class.
Definition: Common.h:786
-
winstd::num_runtime_error
Numerical runtime error.
Definition: Common.h:968
-
winstd::num_runtime_error< SECURITY_STATUS >::error_type
SECURITY_STATUS error_type
Error number type.
Definition: Common.h:970
+
winstd::handle
Base abstract template class to support generic object handle keeping.
Definition: Common.h:635
+
winstd::handle< PCredHandle, NULL >::handle_type
PCredHandle handle_type
Datatype of the object handle this template class handles.
Definition: Common.h:640
+
winstd::handle< PCredHandle, NULL >::m_h
handle_type m_h
Object handle.
Definition: Common.h:889
+
winstd::handle< PCredHandle, NULL >::attach
void attach(handle_type h) noexcept
Sets a new object handle for the class.
Definition: Common.h:852
+
winstd::num_runtime_error
Numerical runtime error.
Definition: Common.h:1029
+
winstd::num_runtime_error< SECURITY_STATUS >::error_type
SECURITY_STATUS error_type
Error number type.
Definition: Common.h:1031
winstd::sec_buffer_desc
SecBufferDesc wrapper class.
Definition: Sec.h:325
winstd::sec_buffer_desc::~sec_buffer_desc
virtual ~sec_buffer_desc()
Frees the security buffer descriptor.
Definition: Sec.h:342
winstd::sec_buffer_desc::sec_buffer_desc
sec_buffer_desc(PSecBuffer buf, ULONG count, ULONG version=SECBUFFER_VERSION)
Initializes security buffer descriptor.
Definition: Sec.h:330
@@ -372,11 +372,11 @@ $(function() {
winstd::sec_runtime_error::sec_runtime_error
sec_runtime_error(error_type num, const std::string &msg)
Constructs an exception.
Definition: Sec.h:370
WINSTD_NONCOPYABLE
#define WINSTD_NONCOPYABLE(C)
Declares a class as non-copyable.
Definition: Common.h:66
WINSTD_STACK_BUFFER_BYTES
#define WINSTD_STACK_BUFFER_BYTES
Size of the stack buffer in bytes used for initial system function call.
Definition: Common.h:93
-
winstd::handle< PCredHandle, NULL >::invalid
static const PCredHandle invalid
Invalid handle value.
Definition: Common.h:579
+
winstd::handle< PCredHandle, NULL >::invalid
static const PCredHandle invalid
Invalid handle value.
Definition: Common.h:645
diff --git a/_setup_a_p_i_8h_source.html b/_setup_a_p_i_8h_source.html index c52ea366..9b42f934 100644 --- a/_setup_a_p_i_8h_source.html +++ b/_setup_a_p_i_8h_source.html @@ -146,8 +146,8 @@ $(function() {
106 };
107
109}
-
winstd::handle
Base abstract template class to support generic object handle keeping.
Definition: Common.h:569
-
winstd::handle< HDEVINFO, INVALID_HANDLE_VALUE >::m_h
handle_type m_h
Object handle.
Definition: Common.h:823
+
winstd::handle
Base abstract template class to support generic object handle keeping.
Definition: Common.h:635
+
winstd::handle< HDEVINFO, INVALID_HANDLE_VALUE >::m_h
handle_type m_h
Object handle.
Definition: Common.h:889
winstd::setup_device_info_list
HDEVINFO wrapper class.
Definition: SetupAPI.h:26
winstd::setup_device_info_list::~setup_device_info_list
virtual ~setup_device_info_list()
Frees the device information set.
Definition: SetupAPI.h:35
winstd::setup_device_info_list::free_internal
void free_internal() noexcept override
Frees the device information set.
Definition: SetupAPI.h:47
@@ -158,11 +158,11 @@ $(function() {
WINSTD_NONCOPYABLE
#define WINSTD_NONCOPYABLE(C)
Declares a class as non-copyable.
Definition: Common.h:66
WINSTD_NONMOVABLE
#define WINSTD_NONMOVABLE(C)
Declares a class as non-movable.
Definition: Common.h:74
WINSTD_HANDLE_IMPL
#define WINSTD_HANDLE_IMPL(C, INVAL)
Implements default constructors and operators to prevent their auto-generation by compiler.
Definition: Common.h:163
-
winstd::handle< HDEVINFO, INVALID_HANDLE_VALUE >::invalid
static const HDEVINFO invalid
Invalid handle value.
Definition: Common.h:579
+
winstd::handle< HDEVINFO, INVALID_HANDLE_VALUE >::invalid
static const HDEVINFO invalid
Invalid handle value.
Definition: Common.h:645
diff --git a/_shell_8h_source.html b/_shell_8h_source.html index f72e6fc3..9e851ac9 100644 --- a/_shell_8h_source.html +++ b/_shell_8h_source.html @@ -156,7 +156,7 @@ $(function() { diff --git a/_w_l_a_n_8h_source.html b/_w_l_a_n_8h_source.html index af43b088..0b51a899 100644 --- a/_w_l_a_n_8h_source.html +++ b/_w_l_a_n_8h_source.html @@ -195,13 +195,13 @@ $(function() {
180 return dwResult;
181}
182
-
winstd::handle
Base abstract template class to support generic object handle keeping.
Definition: Common.h:569
-
winstd::handle< HANDLE, NULL >::m_h
handle_type m_h
Object handle.
Definition: Common.h:823
+
winstd::handle
Base abstract template class to support generic object handle keeping.
Definition: Common.h:635
+
winstd::handle< HANDLE, NULL >::m_h
handle_type m_h
Object handle.
Definition: Common.h:889
winstd::wlan_handle
WLAN handle wrapper.
Definition: WLAN.h:131
winstd::wlan_handle::~wlan_handle
virtual ~wlan_handle()
Closes a connection to the server.
Definition: WLAN.h:140
winstd::wlan_handle::free_internal
void free_internal() noexcept override
Closes a connection to the server.
Definition: WLAN.h:152
WINSTD_HANDLE_IMPL
#define WINSTD_HANDLE_IMPL(C, INVAL)
Implements default constructors and operators to prevent their auto-generation by compiler.
Definition: Common.h:163
-
winstd::handle< HANDLE, NULL >::invalid
static const HANDLE invalid
Invalid handle value.
Definition: Common.h:579
+
winstd::handle< HANDLE, NULL >::invalid
static const HANDLE invalid
Invalid handle value.
Definition: Common.h:645
WlanOpenHandle
static DWORD WlanOpenHandle(DWORD dwClientVersion, PVOID pReserved, PDWORD pdwNegotiatedVersion, winstd::wlan_handle &handle)
Opens a connection to the server.
Definition: WLAN.h:170
WlanReasonCodeToString
static DWORD WlanReasonCodeToString(DWORD dwReasonCode, std::basic_string< wchar_t, _Traits, _Ax > &sValue, __reserved PVOID pReserved)
Retrieves a string that describes a specified reason code and stores it in a std::wstring string.
Definition: WLAN.h:34
winstd::WlanFreeMemory_delete< _Ty[]>::WlanFreeMemory_delete
WlanFreeMemory_delete()
Default construct.
Definition: WLAN.h:105
@@ -216,7 +216,7 @@ $(function() { diff --git a/_win_8h_source.html b/_win_8h_source.html index 695abd88..17e2e36f 100644 --- a/_win_8h_source.html +++ b/_win_8h_source.html @@ -1907,7 +1907,7 @@ $(function() {
winstd::actctx_activator::actctx_activator
actctx_activator(HANDLE hActCtx) noexcept
Construct the activator and activates the given activation context.
Definition: Win.h:1813
winstd::actctx_activator::~actctx_activator
virtual ~actctx_activator()
Deactivates activation context and destructs the activator.
Definition: Win.h:1824
winstd::actctx_activator::m_cookie
ULONG_PTR m_cookie
Cookie for context deactivation.
Definition: Win.h:1831
-
winstd::basic_string_printf
Base template class to support string formatting using printf() style templates.
Definition: Common.h:1080
+
winstd::basic_string_printf
Base template class to support string formatting using printf() style templates.
Definition: Common.h:1141
winstd::console_ctrl_handler
Console control handler stack management.
Definition: Win.h:1949
winstd::console_ctrl_handler::console_ctrl_handler
console_ctrl_handler(PHANDLER_ROUTINE HandlerRoutine) noexcept
Construct the console control handler object and pushes the given handler to the console control hand...
Definition: Win.h:1961
winstd::console_ctrl_handler::~console_ctrl_handler
virtual ~console_ctrl_handler()
Pops console control handler from the console control handler stack.
Definition: Win.h:1971
@@ -1923,10 +1923,10 @@ $(function() {
winstd::find_file
Find-file handle wrapper.
Definition: Win.h:1575
winstd::find_file::~find_file
virtual ~find_file()
Closes a file search handle.
Definition: Win.h:1584
winstd::find_file::free_internal
void free_internal() noexcept override
Closes a file search handle.
Definition: Win.h:1596
-
winstd::handle
Base abstract template class to support generic object handle keeping.
Definition: Common.h:569
-
winstd::handle< LPVOID, NULL >::handle_type
LPVOID handle_type
Datatype of the object handle this template class handles.
Definition: Common.h:574
-
winstd::handle< HANDLE, INVALID >::m_h
handle_type m_h
Object handle.
Definition: Common.h:823
-
winstd::handle::attach
void attach(handle_type h) noexcept
Sets a new object handle for the class.
Definition: Common.h:786
+
winstd::handle
Base abstract template class to support generic object handle keeping.
Definition: Common.h:635
+
winstd::handle< LPVOID, NULL >::handle_type
LPVOID handle_type
Datatype of the object handle this template class handles.
Definition: Common.h:640
+
winstd::handle< HANDLE, INVALID >::m_h
handle_type m_h
Object handle.
Definition: Common.h:889
+
winstd::handle::attach
void attach(handle_type h) noexcept
Sets a new object handle for the class.
Definition: Common.h:852
winstd::heap_allocator
HeapAlloc allocator.
Definition: Win.h:1686
winstd::heap_allocator::size_type
SIZE_T size_type
An unsigned integral type that can represent the length of any sequence that an object of template cl...
Definition: Win.h:1695
winstd::heap_allocator::value_type
_Ty value_type
A type that is managed by the allocator.
Definition: Win.h:1688
@@ -1985,14 +1985,14 @@ $(function() {
winstd::win_handle
Windows HANDLE wrapper class.
Definition: Win.h:1363
winstd::win_handle::free_internal
void free_internal() noexcept override
Closes an open object handle.
Definition: Win.h:1384
winstd::win_handle::~win_handle
virtual ~win_handle()
Closes an open object handle.
Definition: Win.h:1372
-
winstd::win_runtime_error
Windows runtime error.
Definition: Common.h:1013
+
winstd::win_runtime_error
Windows runtime error.
Definition: Common.h:1074
WINSTD_NONCOPYABLE
#define WINSTD_NONCOPYABLE(C)
Declares a class as non-copyable.
Definition: Common.h:66
WINSTD_STACK_BUFFER_BYTES
#define WINSTD_STACK_BUFFER_BYTES
Size of the stack buffer in bytes used for initial system function call.
Definition: Common.h:93
WINSTD_NONMOVABLE
#define WINSTD_NONMOVABLE(C)
Declares a class as non-movable.
Definition: Common.h:74
vsprintf
static int vsprintf(std::basic_string< _Elem, _Traits, _Ax > &str, const _Elem *format, va_list arg)
Formats string using printf().
Definition: Common.h:251
sprintf
static int sprintf(std::basic_string< _Elem, _Traits, _Ax > &str, const _Elem *format,...)
Formats string using printf().
Definition: Common.h:284
WINSTD_HANDLE_IMPL
#define WINSTD_HANDLE_IMPL(C, INVAL)
Implements default constructors and operators to prevent their auto-generation by compiler.
Definition: Common.h:163
-
winstd::handle< HANDLE, INVALID >::invalid
static const HANDLE invalid
Invalid handle value.
Definition: Common.h:579
+
winstd::handle< HANDLE, INVALID >::invalid
static const HANDLE invalid
Invalid handle value.
Definition: Common.h:645
NormalizeString
static int NormalizeString(NORM_FORM NormForm, LPCWSTR lpSrcString, int cwSrcLength, std::basic_string< wchar_t, _Traits, _Ax > &sDstString) noexcept
Normalizes characters of a text string according to Unicode 4.0 TR#15.
Definition: Win.h:972
SecureWideCharToMultiByte
static int SecureWideCharToMultiByte(UINT CodePage, DWORD dwFlags, LPCWSTR lpWideCharStr, int cchWideChar, std::basic_string< char, _Traits, _Ax > &sMultiByteStr, LPCSTR lpDefaultChar, LPBOOL lpUsedDefaultChar) noexcept
Maps a UTF-16 (wide character) string to a std::string. The new character string is not necessarily f...
Definition: Win.h:715
ExpandEnvironmentStringsA
static DWORD ExpandEnvironmentStringsA(LPCSTR lpSrc, std::basic_string< char, _Traits, _Ax > &sValue) noexcept
Expands environment-variable strings, replaces them with the values defined for the current user,...
Definition: Win.h:179
@@ -2057,7 +2057,7 @@ $(function() { diff --git a/_win_sock2_8h_source.html b/_win_sock2_8h_source.html index c9575db6..638d9737 100644 --- a/_win_sock2_8h_source.html +++ b/_win_sock2_8h_source.html @@ -210,11 +210,11 @@ $(function() {
winstd::addrinfo
ADDRINFOA wrapper class.
Definition: WinSock2.h:95
winstd::addrinfo::free_internal
void free_internal() noexcept override
Frees address information.
Definition: WinSock2.h:116
winstd::addrinfo::~addrinfo
virtual ~addrinfo()
Frees address information.
Definition: WinSock2.h:104
-
winstd::handle
Base abstract template class to support generic object handle keeping.
Definition: Common.h:569
-
winstd::handle< PADDRINFOA, NULL >::m_h
handle_type m_h
Object handle.
Definition: Common.h:823
-
winstd::num_runtime_error
Numerical runtime error.
Definition: Common.h:968
-
winstd::num_runtime_error< int >::error_type
int error_type
Error number type.
Definition: Common.h:970
-
winstd::num_runtime_error< int >::m_num
error_type m_num
Numeric error code.
Definition: Common.h:1006
+
winstd::handle
Base abstract template class to support generic object handle keeping.
Definition: Common.h:635
+
winstd::handle< PADDRINFOA, NULL >::m_h
handle_type m_h
Object handle.
Definition: Common.h:889
+
winstd::num_runtime_error
Numerical runtime error.
Definition: Common.h:1029
+
winstd::num_runtime_error< int >::error_type
int error_type
Error number type.
Definition: Common.h:1031
+
winstd::num_runtime_error< int >::m_num
error_type m_num
Numeric error code.
Definition: Common.h:1067
winstd::waddrinfo
ADDRINFOW wrapper class.
Definition: WinSock2.h:128
winstd::waddrinfo::~waddrinfo
virtual ~waddrinfo()
Frees address information.
Definition: WinSock2.h:137
winstd::waddrinfo::free_internal
void free_internal() noexcept override
Frees address information.
Definition: WinSock2.h:149
@@ -231,11 +231,11 @@ $(function() {
FormatMessage
static DWORD FormatMessage(DWORD dwFlags, LPCVOID lpSource, DWORD dwMessageId, DWORD dwLanguageId, std::basic_string< char, _Traits, _Ax > &str, va_list *Arguments)
Formats a message string.
Definition: Common.h:299
sprintf
static int sprintf(std::basic_string< _Elem, _Traits, _Ax > &str, const _Elem *format,...)
Formats string using printf().
Definition: Common.h:284
WINSTD_HANDLE_IMPL
#define WINSTD_HANDLE_IMPL(C, INVAL)
Implements default constructors and operators to prevent their auto-generation by compiler.
Definition: Common.h:163
-
winstd::handle< PADDRINFOA, NULL >::invalid
static const PADDRINFOA invalid
Invalid handle value.
Definition: Common.h:579
+
winstd::handle< PADDRINFOA, NULL >::invalid
static const PADDRINFOA invalid
Invalid handle value.
Definition: Common.h:645
diff --git a/_win_trust_8h_source.html b/_win_trust_8h_source.html index 8e212eea..8d29cb60 100644 --- a/_win_trust_8h_source.html +++ b/_win_trust_8h_source.html @@ -105,7 +105,7 @@ $(function() {
35 {
36 const LONG lResult = WinVerifyTrust(m_hwnd, &m_action, &m_wtd);
37 if (lResult != ERROR_SUCCESS)
-
38 throw win_runtime_error(lResult, "WinVerifyTrust failed.");
+
38 throw win_runtime_error(lResult, "WinVerifyTrust failed");
39 }
40
44 virtual ~wintrust()
@@ -121,7 +121,7 @@ $(function() {
56 };
57
59}
-
winstd::win_runtime_error
Windows runtime error.
Definition: Common.h:1013
+
winstd::win_runtime_error
Windows runtime error.
Definition: Common.h:1074
winstd::wintrust
WinTrust engine wrapper class.
Definition: WinTrust.h:23
winstd::wintrust::wintrust
wintrust(HWND hwnd, const GUID &action, WINTRUST_DATA &wtd)
Initializes a new class instance.
Definition: WinTrust.h:31
winstd::wintrust::~wintrust
virtual ~wintrust()
Destroys the WinTrust context.
Definition: WinTrust.h:44
@@ -130,7 +130,7 @@ $(function() { diff --git a/annotated.html b/annotated.html index 88cf9553..04456c9f 100644 --- a/annotated.html +++ b/annotated.html @@ -120,54 +120,58 @@ $(function() {  Cevent_trace_enablerHelper class to enable event provider in constructor and disables it in destructor  Cfind_fileFind-file handle wrapper  Cgdi_handleWindows HGDIOBJ wrapper class - ChandleBase abstract template class to support generic object handle keeping - CheapHeap handle wrapper - Cheap_allocatorHeapAlloc allocator - CrebindA structure that enables an allocator for objects of one type to allocate storage for objects of another type - CimpersonatorBase class for thread impersonation of another security context - ClibraryModule handle wrapper - CLocalFree_deleteDeleter for unique_ptr using LocalFree - CLocalFree_delete< _Ty[]>Deleter for unique_ptr to array of unknown size using LocalFree - Cnum_runtime_errorNumerical runtime error - Cprocess_informationPROCESS_INFORMATION struct wrapper - Cref_unique_ptrHelper class for returning pointers to std::unique_ptr - Cref_unique_ptr< _Ty[], _Dx >Helper class for returning pointers to std::unique_ptr (specialization for arrays) - Creg_keyRegistry key wrapper class - Csanitizing_allocatorAn allocator template that sanitizes each memory block before it is destroyed or reallocated - CrebindConvert this type to sanitizing_allocator<_Other> - Csanitizing_blobSanitizing BLOB - Csc_handleSC_HANDLE wrapper class - Csec_buffer_descSecBufferDesc wrapper class - Csec_contextPCtxtHandle wrapper class - Csec_credentialsPCredHandle wrapper class - Csec_runtime_errorSecurity runtime error - Csecurity_attributes - Csecurity_idSID wrapper class - Csetup_device_info_listHDEVINFO wrapper class - Csetup_driver_info_list_builderBuilds a list of drivers in constructor and deletes it in destructor - Cstring_guidSingle-byte character implementation of a class to support converting GUID to string - Csystem_impersonatorLets the calling thread impersonate the security context of the SYSTEM user - CUnmapViewOfFile_deleteDeleter for unique_ptr using UnmapViewOfFile - CUnmapViewOfFile_delete< _Ty[]>Deleter for unique_ptr to array of unknown size using UnmapViewOfFile - Cuser_impersonatorLets the calling thread impersonate the security context of a logged-on user - CvariantVARIANT struct wrapper - CvmemoryMemory in virtual address space of a process handle wrapper - CwaddrinfoADDRINFOW wrapper class - Cwin_handleWindows HANDLE wrapper class - Cwin_runtime_errorWindows runtime error - Cwindow_dcDevice context wrapper class - CwintrustWinTrust engine wrapper class - Cwlan_handleWLAN handle wrapper - CWlanFreeMemory_deleteDeleter for unique_ptr using WlanFreeMemory - CWlanFreeMemory_delete< _Ty[]>Deleter for unique_ptr to array of unknown size using WlanFreeMemory - Cws2_runtime_errorWinSock2 runtime error - Cwstring_guidWide character implementation of a class to support converting GUID to string + CGlobalFree_deleteDeleter for unique_ptr using GlobalFree + Cglobalmem_accessorContext scope automatic GlobalAlloc (un)access + ChandleBase abstract template class to support generic object handle keeping + CheapHeap handle wrapper + Cheap_allocatorHeapAlloc allocator + CrebindA structure that enables an allocator for objects of one type to allocate storage for objects of another type + CimpersonatorBase class for thread impersonation of another security context + ClibraryModule handle wrapper + CLocalFree_deleteDeleter for unique_ptr using LocalFree + CLocalFree_delete< _Ty[]>Deleter for unique_ptr to array of unknown size using LocalFree + Cnum_runtime_errorNumerical runtime error + Cprocess_informationPROCESS_INFORMATION struct wrapper + Cref_unique_ptrHelper class for returning pointers to std::unique_ptr + Cref_unique_ptr< _Ty[], _Dx >Helper class for returning pointers to std::unique_ptr (specialization for arrays) + Creg_keyRegistry key wrapper class + CsafearraySAFEARRAY string wrapper + Csafearray_accessorContext scope automatic SAFEARRAY (un)access + Csanitizing_allocatorAn allocator template that sanitizes each memory block before it is destroyed or reallocated + CrebindConvert this type to sanitizing_allocator<_Other> + Csanitizing_blobSanitizing BLOB + Csc_handleSC_HANDLE wrapper class + Csec_buffer_descSecBufferDesc wrapper class + Csec_contextPCtxtHandle wrapper class + Csec_credentialsPCredHandle wrapper class + Csec_runtime_errorSecurity runtime error + Csecurity_attributes + Csecurity_idSID wrapper class + Csetup_device_info_listHDEVINFO wrapper class + Csetup_driver_info_list_builderBuilds a list of drivers in constructor and deletes it in destructor + Cstring_guidSingle-byte character implementation of a class to support converting GUID to string + Csystem_impersonatorLets the calling thread impersonate the security context of the SYSTEM user + CUnmapViewOfFile_deleteDeleter for unique_ptr using UnmapViewOfFile + CUnmapViewOfFile_delete< _Ty[]>Deleter for unique_ptr to array of unknown size using UnmapViewOfFile + Cuser_impersonatorLets the calling thread impersonate the security context of a logged-on user + CvariantVARIANT struct wrapper + CvmemoryMemory in virtual address space of a process handle wrapper + CwaddrinfoADDRINFOW wrapper class + Cwin_handleWindows HANDLE wrapper class + Cwin_runtime_errorWindows runtime error + Cwindow_dcDevice context wrapper class + CwintrustWinTrust engine wrapper class + Cwlan_handleWLAN handle wrapper + CWlanFreeMemory_deleteDeleter for unique_ptr using WlanFreeMemory + CWlanFreeMemory_delete< _Ty[]>Deleter for unique_ptr to array of unknown size using WlanFreeMemory + Cws2_runtime_errorWinSock2 runtime error + Cwstring_guidWide character implementation of a class to support converting GUID to string diff --git a/classes.html b/classes.html index 1954ab8e..5893a209 100644 --- a/classes.html +++ b/classes.html @@ -95,7 +95,7 @@ $(function() {
find_file (winstd)
G
-
gdi_handle (winstd)
+
gdi_handle (winstd)
GlobalFree_delete (winstd)
globalmem_accessor (winstd)
H
handle (winstd)
heap (winstd)
heap_allocator (winstd)
@@ -116,7 +116,7 @@ $(function() {
heap_allocator::rebind (winstd)
sanitizing_allocator::rebind (winstd)
ref_unique_ptr (winstd)
ref_unique_ptr< _Ty[], _Dx > (winstd)
reg_key (winstd)
S
-
sanitizing_allocator (winstd)
sanitizing_blob (winstd)
sc_handle (winstd)
sec_buffer_desc (winstd)
sec_context (winstd)
sec_credentials (winstd)
sec_runtime_error (winstd)
security_attributes (winstd)
security_id (winstd)
setup_device_info_list (winstd)
setup_driver_info_list_builder (winstd)
string_guid (winstd)
system_impersonator (winstd)
+
safearray (winstd)
safearray_accessor (winstd)
sanitizing_allocator (winstd)
sanitizing_blob (winstd)
sc_handle (winstd)
sec_buffer_desc (winstd)
sec_context (winstd)
sec_credentials (winstd)
sec_runtime_error (winstd)
security_attributes (winstd)
security_id (winstd)
setup_device_info_list (winstd)
setup_driver_info_list_builder (winstd)
string_guid (winstd)
system_impersonator (winstd)
U
UnmapViewOfFile_delete (winstd)
UnmapViewOfFile_delete< _Ty[]> (winstd)
user_impersonator (winstd)
@@ -130,7 +130,7 @@ $(function() { diff --git a/classwinstd_1_1actctx__activator-members.html b/classwinstd_1_1actctx__activator-members.html index 9ecdb2be..7d99d416 100644 --- a/classwinstd_1_1actctx__activator-members.html +++ b/classwinstd_1_1actctx__activator-members.html @@ -86,7 +86,7 @@ $(function() { diff --git a/classwinstd_1_1actctx__activator.html b/classwinstd_1_1actctx__activator.html index 0bc07f05..f5a70c21 100644 --- a/classwinstd_1_1actctx__activator.html +++ b/classwinstd_1_1actctx__activator.html @@ -175,7 +175,7 @@ ULONG_PTR m_cookie diff --git a/classwinstd_1_1addrinfo-members.html b/classwinstd_1_1addrinfo-members.html index 4560b4dc..e97f4861 100644 --- a/classwinstd_1_1addrinfo-members.html +++ b/classwinstd_1_1addrinfo-members.html @@ -107,7 +107,7 @@ $(function() { diff --git a/classwinstd_1_1addrinfo.html b/classwinstd_1_1addrinfo.html index fd7cca67..ae0f8aae 100644 --- a/classwinstd_1_1addrinfo.html +++ b/classwinstd_1_1addrinfo.html @@ -258,7 +258,7 @@ static const PADDRINFOA in diff --git a/classwinstd_1_1basic__string__guid-members.html b/classwinstd_1_1basic__string__guid-members.html index 5b00b202..9471372b 100644 --- a/classwinstd_1_1basic__string__guid-members.html +++ b/classwinstd_1_1basic__string__guid-members.html @@ -84,7 +84,7 @@ $(function() { diff --git a/classwinstd_1_1basic__string__guid.html b/classwinstd_1_1basic__string__guid.html index f1360c8b..30b8e665 100644 --- a/classwinstd_1_1basic__string__guid.html +++ b/classwinstd_1_1basic__string__guid.html @@ -155,7 +155,7 @@ template<class _Elem , class _Traits , class _Ax > diff --git a/classwinstd_1_1basic__string__msg-members.html b/classwinstd_1_1basic__string__msg-members.html index a9d2d532..d2083e70 100644 --- a/classwinstd_1_1basic__string__msg-members.html +++ b/classwinstd_1_1basic__string__msg-members.html @@ -90,7 +90,7 @@ $(function() { diff --git a/classwinstd_1_1basic__string__msg.html b/classwinstd_1_1basic__string__msg.html index 3ba8d2d8..5c9c5586 100644 --- a/classwinstd_1_1basic__string__msg.html +++ b/classwinstd_1_1basic__string__msg.html @@ -499,7 +499,7 @@ template<class _Elem , class _Traits , class _Ax > diff --git a/classwinstd_1_1basic__string__printf-members.html b/classwinstd_1_1basic__string__printf-members.html index b2c4a982..f0bde8ea 100644 --- a/classwinstd_1_1basic__string__printf-members.html +++ b/classwinstd_1_1basic__string__printf-members.html @@ -86,7 +86,7 @@ $(function() { diff --git a/classwinstd_1_1basic__string__printf.html b/classwinstd_1_1basic__string__printf.html index 5e258b53..72675304 100644 --- a/classwinstd_1_1basic__string__printf.html +++ b/classwinstd_1_1basic__string__printf.html @@ -274,7 +274,7 @@ template<class _Elem , class _Traits , class _Ax > diff --git a/classwinstd_1_1bstr-members.html b/classwinstd_1_1bstr-members.html index f6de895c..8ef43a35 100644 --- a/classwinstd_1_1bstr-members.html +++ b/classwinstd_1_1bstr-members.html @@ -81,17 +81,17 @@ $(function() {

This is the complete list of members for winstd::bstr, including all inherited members.

- - - - + + + + - + - + @@ -120,7 +120,7 @@ $(function() {
attach(handle_type h) noexceptwinstd::handle< T, INVAL >inline
attach_duplicated(handle_type h)winstd::dplhandle< BSTR, NULL >inline
bstr(LPCOLESTR src) noexceptwinstd::bstrinline
bstr(LPCOLESTR src, UINT len) noexceptwinstd::bstrinline
bstr(const std::basic_string< wchar_t, _Traits, _Ax > &src) noexceptwinstd::bstrinline
attach_duplicated(handle_type h)winstd::dplhandle< BSTR, NULL >inline
bstr(LPCOLESTR src)winstd::bstrinline
bstr(LPCOLESTR src, UINT len)winstd::bstrinline
bstr(const std::basic_string< wchar_t, _Traits, _Ax > &src)winstd::bstrinline
detach()winstd::handle< T, INVAL >inline
dplhandle() noexceptwinstd::dplhandle< BSTR, NULL >inline
dplhandle(handle_type h) noexceptwinstd::dplhandle< BSTR, NULL >inline
dplhandle(const dplhandle< handle_type, INVAL > &h) noexceptwinstd::dplhandle< BSTR, NULL >inline
dplhandle(const dplhandle< handle_type, INVAL > &h)winstd::dplhandle< BSTR, NULL >inline
dplhandle(dplhandle< handle_type, INVAL > &&h) noexceptwinstd::dplhandle< BSTR, NULL >inline
duplicate() constwinstd::dplhandle< BSTR, NULL >inline
duplicate_internal(handle_type h) const noexcept overridewinstd::bstrinlineprotectedvirtual
duplicate_internal(handle_type h) const overridewinstd::bstrinlineprotectedvirtual
free()winstd::handle< T, INVAL >inline
free_internal() noexcept overridewinstd::bstrinlineprotectedvirtual
handle() noexceptwinstd::handle< T, INVAL >inline
diff --git a/classwinstd_1_1bstr.html b/classwinstd_1_1bstr.html index 76c3ad2f..9649cb95 100644 --- a/classwinstd_1_1bstr.html +++ b/classwinstd_1_1bstr.html @@ -99,19 +99,19 @@ Inheritance diagram for winstd::bstr: - - - - - - - + + + + + + - - - + + + @@ -126,9 +126,9 @@ template<class _Traits , class _Ax > - - - + + + @@ -144,9 +144,9 @@ template<class _Traits , class _Ax > - - - + + + @@ -213,12 +213,12 @@ Protected Member Functions - - - - - - + + + + + + @@ -273,8 +273,8 @@ static const T 

Public Member Functions

bstr (LPCOLESTR src) noexcept
 Constructs BSTR from OLE string.
 
bstr (LPCOLESTR src, UINT len) noexcept
 Constructs BSTR from OLE string with length.
 
+
bstr (LPCOLESTR src)
 Constructs BSTR from OLE string.
 
bstr (LPCOLESTR src, UINT len)
 Constructs BSTR from OLE string with length.
 
template<class _Traits , class _Ax >
 bstr (const std::basic_string< wchar_t, _Traits, _Ax > &src) noexcept
 Constructs BSTR from std::basic_string.
 
 bstr (const std::basic_string< wchar_t, _Traits, _Ax > &src)
 Constructs BSTR from std::basic_string.
 
virtual ~bstr ()
 Destroys the string.
 
 dplhandle (handle_type h) noexcept
 Initializes a new class instance with an already available object handle.
 
 dplhandle (const dplhandle< handle_type, INVAL > &h) noexcept
 Copy constructor.
 
 dplhandle (const dplhandle< handle_type, INVAL > &h)
 Copy constructor.
 
 dplhandle (dplhandle< handle_type, INVAL > &&h) noexcept
 Move constructor.
 
handle_type duplicate () const
 Duplicates and returns a new object handle.
 
bool attach_duplicated (handle_type h)
 Duplicates an object handle and sets a new object handle.
 
void attach_duplicated (handle_type h)
 Duplicates an object handle and sets a new object handle.
 
- Public Member Functions inherited from winstd::handle< T, INVAL >
 handle () noexcept
void free_internal () noexcept override
 Destroys the string.
 
handle_type duplicate_internal (handle_type h) const noexcept override
 Duplicates the string.
 
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 duplication.
 
handle_type duplicate_internal (handle_type h) const override
 Duplicates the string.
 
virtual handle_type duplicate_internal (handle_type h) const=0
 Abstract member function that must be implemented by child classes to do the actual object handle duplication. On failure, it should throw appropriate exception describing the cause, rather than return an invalid handle.
 
virtual void free_internal () noexcept=0
 Abstract member function that must be implemented by child classes to do the actual object destruction.
 
invalid

Member Function Documentation

- -

◆ duplicate_internal()

+ +

◆ duplicate_internal()

@@ -292,7 +292,7 @@ static const T 
invalid
-inlineoverrideprotectedvirtualnoexcept +inlineoverrideprotectedvirtual
@@ -307,7 +307,7 @@ static const T invalid
Returns
Duplicated string
See also
SysAllocString function
-

Implements winstd::dplhandle< BSTR, NULL >.

+

Implements winstd::dplhandle< BSTR, NULL >.

@@ -375,7 +375,7 @@ static const T invalid diff --git a/classwinstd_1_1cert__chain__context-members.html b/classwinstd_1_1cert__chain__context-members.html index 7f196d44..6207293c 100644 --- a/classwinstd_1_1cert__chain__context-members.html +++ b/classwinstd_1_1cert__chain__context-members.html @@ -81,14 +81,14 @@ $(function() {

This is the complete list of members for winstd::cert_chain_context, including all inherited members.

- + - + - + @@ -116,7 +116,7 @@ $(function() {
attach(handle_type h) noexceptwinstd::handle< T, INVAL >inline
attach_duplicated(handle_type h)winstd::dplhandle< PCCERT_CHAIN_CONTEXT, NULL >inline
attach_duplicated(handle_type h)winstd::dplhandle< PCCERT_CHAIN_CONTEXT, NULL >inline
detach()winstd::handle< T, INVAL >inline
dplhandle() noexceptwinstd::dplhandle< PCCERT_CHAIN_CONTEXT, NULL >inline
dplhandle(handle_type h) noexceptwinstd::dplhandle< PCCERT_CHAIN_CONTEXT, NULL >inline
dplhandle(const dplhandle< handle_type, INVAL > &h) noexceptwinstd::dplhandle< PCCERT_CHAIN_CONTEXT, NULL >inline
dplhandle(const dplhandle< handle_type, INVAL > &h)winstd::dplhandle< PCCERT_CHAIN_CONTEXT, NULL >inline
dplhandle(dplhandle< handle_type, INVAL > &&h) noexceptwinstd::dplhandle< PCCERT_CHAIN_CONTEXT, NULL >inline
duplicate() constwinstd::dplhandle< PCCERT_CHAIN_CONTEXT, NULL >inline
duplicate_internal(handle_type h) const noexcept overridewinstd::cert_chain_contextinlineprotectedvirtual
duplicate_internal(handle_type h) const overridewinstd::cert_chain_contextinlineprotectedvirtual
free()winstd::handle< T, INVAL >inline
free_internal() noexcept overridewinstd::cert_chain_contextinlineprotectedvirtual
handle() noexceptwinstd::handle< T, INVAL >inline
diff --git a/classwinstd_1_1cert__chain__context.html b/classwinstd_1_1cert__chain__context.html index 116849f0..835e270b 100644 --- a/classwinstd_1_1cert__chain__context.html +++ b/classwinstd_1_1cert__chain__context.html @@ -110,9 +110,9 @@ Public Member Functions  dplhandle (handle_type h) noexcept  Initializes a new class instance with an already available object handle.
  - dplhandle (const dplhandle< handle_type, INVAL > &h) noexcept - Copy constructor.
-  + dplhandle (const dplhandle< handle_type, INVAL > &h) + Copy constructor.
+   dplhandle (dplhandle< handle_type, INVAL > &&h) noexcept  Move constructor.
  @@ -128,9 +128,9 @@ Public Member Functions handle_type duplicate () const  Duplicates and returns a new object handle.
  -bool attach_duplicated (handle_type h) - Duplicates an object handle and sets a new object handle.
-  +void attach_duplicated (handle_type h) + Duplicates an object handle and sets a new object handle.
- Public Member Functions inherited from winstd::handle< T, INVAL >  handle () noexcept @@ -197,12 +197,12 @@ Protected Member Functions void free_internal () noexcept override  Destroys the certificate chain context.
  -handle_type duplicate_internal (handle_type h) const noexcept override - Duplicates the certificate chain context.
-  -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 duplication.
-  +handle_type duplicate_internal (handle_type h) const override + Duplicates the certificate chain context.
+  +virtual handle_type duplicate_internal (handle_type h) const=0 + Abstract member function that must be implemented by child classes to do the actual object handle duplication. On failure, it should throw appropriate exception describing the cause, rather than return an invalid handle.
+  virtual void free_internal () noexcept=0  Abstract member function that must be implemented by child classes to do the actual object destruction.
  @@ -258,8 +258,8 @@ static const T invalid

Member Function Documentation

- -

◆ duplicate_internal()

+ +

◆ duplicate_internal()

@@ -277,7 +277,7 @@ static const T invalid -inlineoverrideprotectedvirtualnoexcept +inlineoverrideprotectedvirtual
@@ -290,9 +290,9 @@ static const T invalid
Returns
Duplicated certificate chain context handle
-
See also
CertDuplicateCertificateContext function
+
See also
CertDuplicateCertificateChain function
-

Implements winstd::dplhandle< PCCERT_CHAIN_CONTEXT, NULL >.

+

Implements winstd::dplhandle< PCCERT_CHAIN_CONTEXT, NULL >.

@@ -332,7 +332,7 @@ static const T invalid diff --git a/classwinstd_1_1cert__context-members.html b/classwinstd_1_1cert__context-members.html index 70290bad..51ad6e29 100644 --- a/classwinstd_1_1cert__context-members.html +++ b/classwinstd_1_1cert__context-members.html @@ -81,14 +81,14 @@ $(function() {

This is the complete list of members for winstd::cert_context, including all inherited members.

- + - + - + @@ -122,7 +122,7 @@ $(function() {
attach(handle_type h) noexceptwinstd::handle< T, INVAL >inline
attach_duplicated(handle_type h)winstd::dplhandle< PCCERT_CONTEXT, NULL >inline
attach_duplicated(handle_type h)winstd::dplhandle< PCCERT_CONTEXT, NULL >inline
detach()winstd::handle< T, INVAL >inline
dplhandle() noexceptwinstd::dplhandle< PCCERT_CONTEXT, NULL >inline
dplhandle(handle_type h) noexceptwinstd::dplhandle< PCCERT_CONTEXT, NULL >inline
dplhandle(const dplhandle< handle_type, INVAL > &h) noexceptwinstd::dplhandle< PCCERT_CONTEXT, NULL >inline
dplhandle(const dplhandle< handle_type, INVAL > &h)winstd::dplhandle< PCCERT_CONTEXT, NULL >inline
dplhandle(dplhandle< handle_type, INVAL > &&h) noexceptwinstd::dplhandle< PCCERT_CONTEXT, NULL >inline
duplicate() constwinstd::dplhandle< PCCERT_CONTEXT, NULL >inline
duplicate_internal(handle_type h) const noexcept overridewinstd::cert_contextinlineprotectedvirtual
duplicate_internal(handle_type h) const overridewinstd::cert_contextinlineprotectedvirtual
free()winstd::handle< T, INVAL >inline
free_internal() noexcept overridewinstd::cert_contextinlineprotectedvirtual
handle() noexceptwinstd::handle< T, INVAL >inline
diff --git a/classwinstd_1_1cert__context.html b/classwinstd_1_1cert__context.html index 6c464037..afaed4b1 100644 --- a/classwinstd_1_1cert__context.html +++ b/classwinstd_1_1cert__context.html @@ -128,9 +128,9 @@ Public Member Functions  dplhandle (handle_type h) noexcept  Initializes a new class instance with an already available object handle.
  - dplhandle (const dplhandle< handle_type, INVAL > &h) noexcept - Copy constructor.
-  + dplhandle (const dplhandle< handle_type, INVAL > &h) + Copy constructor.
+   dplhandle (dplhandle< handle_type, INVAL > &&h) noexcept  Move constructor.
  @@ -146,9 +146,9 @@ Public Member Functions handle_type duplicate () const  Duplicates and returns a new object handle.
  -bool attach_duplicated (handle_type h) - Duplicates an object handle and sets a new object handle.
-  +void attach_duplicated (handle_type h) + Duplicates an object handle and sets a new object handle.
- Public Member Functions inherited from winstd::handle< T, INVAL >  handle () noexcept @@ -215,12 +215,12 @@ Protected Member Functions void free_internal () noexcept override  Destroys the certificate context.
  -handle_type duplicate_internal (handle_type h) const noexcept override - Duplicates the certificate context.
-  -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 duplication.
-  +handle_type duplicate_internal (handle_type h) const override + Duplicates the certificate context.
+  +virtual handle_type duplicate_internal (handle_type h) const=0 + Abstract member function that must be implemented by child classes to do the actual object handle duplication. On failure, it should throw appropriate exception describing the cause, rather than return an invalid handle.
+  virtual void free_internal () noexcept=0  Abstract member function that must be implemented by child classes to do the actual object destruction.
  @@ -276,8 +276,8 @@ static const T invalid

Member Function Documentation

- -

◆ duplicate_internal()

+ +

◆ duplicate_internal()

@@ -295,7 +295,7 @@ static const T invalid -inlineoverrideprotectedvirtualnoexcept +inlineoverrideprotectedvirtual
@@ -310,7 +310,7 @@ static const T invalid
Returns
Duplicated certificate context handle
See also
CertDuplicateCertificateContext function
-

Implements winstd::dplhandle< PCCERT_CONTEXT, NULL >.

+

Implements winstd::dplhandle< PCCERT_CONTEXT, NULL >.

@@ -584,7 +584,7 @@ static const T invalid diff --git a/classwinstd_1_1cert__store-members.html b/classwinstd_1_1cert__store-members.html index 7ad0a287..9e8ba57c 100644 --- a/classwinstd_1_1cert__store-members.html +++ b/classwinstd_1_1cert__store-members.html @@ -107,7 +107,7 @@ $(function() { diff --git a/classwinstd_1_1cert__store.html b/classwinstd_1_1cert__store.html index f0c5cb21..87cb9308 100644 --- a/classwinstd_1_1cert__store.html +++ b/classwinstd_1_1cert__store.html @@ -260,7 +260,7 @@ static const HCERTSTORE in diff --git a/classwinstd_1_1com__initializer-members.html b/classwinstd_1_1com__initializer-members.html index 6d545ba6..c7f37d3b 100644 --- a/classwinstd_1_1com__initializer-members.html +++ b/classwinstd_1_1com__initializer-members.html @@ -88,7 +88,7 @@ $(function() { diff --git a/classwinstd_1_1com__initializer.html b/classwinstd_1_1com__initializer.html index 1047bb78..2bc9ead1 100644 --- a/classwinstd_1_1com__initializer.html +++ b/classwinstd_1_1com__initializer.html @@ -243,7 +243,7 @@ HRESULT m_result< diff --git a/classwinstd_1_1com__obj-members.html b/classwinstd_1_1com__obj-members.html index 77c8d267..34f37baa 100644 --- a/classwinstd_1_1com__obj-members.html +++ b/classwinstd_1_1com__obj-members.html @@ -81,46 +81,47 @@ $(function() {

This is the complete list of members for winstd::com_obj< T >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
attach(handle_type h) noexceptwinstd::handle< T, INVAL >inline
attach_duplicated(handle_type h)winstd::dplhandle< T *, NULL >inline
com_obj(_Other *other)winstd::com_obj< T >inline
com_obj(com_obj< _Other > &other)winstd::com_obj< T >inline
detach()winstd::handle< T, INVAL >inline
dplhandle() noexceptwinstd::dplhandle< T *, NULL >inline
dplhandle(handle_type h) noexceptwinstd::dplhandle< T *, NULL >inline
dplhandle(const dplhandle< handle_type, INVAL > &h) noexceptwinstd::dplhandle< T *, NULL >inline
dplhandle(dplhandle< handle_type, INVAL > &&h) noexceptwinstd::dplhandle< T *, NULL >inline
duplicate() constwinstd::dplhandle< T *, NULL >inline
duplicate_internal(handle_type h) const noexcept overridewinstd::com_obj< T >inlineprotectedvirtual
free()winstd::handle< T, INVAL >inline
free_internal() noexcept overridewinstd::com_obj< T >inlineprotectedvirtual
handle() noexceptwinstd::handle< T, INVAL >inline
handle(handle_type h) noexceptwinstd::handle< T, INVAL >inline
handle(handle< handle_type, INVAL > &&h) noexceptwinstd::handle< T, INVAL >inline
handle_type typedefwinstd::handle< T, INVAL >
invalidwinstd::handle< T, INVAL >static
m_hwinstd::handle< T, INVAL >protected
operator handle_type() constwinstd::handle< T, INVAL >inline
operator!() constwinstd::handle< T, INVAL >inline
operator!=(handle_type h) constwinstd::handle< T, INVAL >inline
operator&()winstd::handle< T, INVAL >inline
operator*() constwinstd::handle< T, INVAL >inline
operator->() constwinstd::handle< T, INVAL >inline
operator<(handle_type h) constwinstd::handle< T, INVAL >inline
operator<=(handle_type h) constwinstd::handle< T, INVAL >inline
operator=(handle_type h) noexceptwinstd::dplhandle< T *, NULL >inline
operator=(const dplhandle< handle_type, INVAL > &h) noexceptwinstd::dplhandle< T *, NULL >inline
operator=(dplhandle< handle_type, INVAL > &&h) noexceptwinstd::dplhandle< T *, NULL >inline
winstd::handle::operator=(handle< handle_type, INVAL > &&h) noexceptwinstd::handle< T, INVAL >inline
operator==(handle_type h) constwinstd::handle< T, INVAL >inline
operator>(handle_type h) constwinstd::handle< T, INVAL >inline
operator>=(handle_type h) constwinstd::handle< T, INVAL >inline
query_interface(_Other **h) constwinstd::com_obj< T >inline
query_interface(com_obj< _Other > &h) constwinstd::com_obj< T >inline
~com_obj()winstd::com_obj< T >inlinevirtual
attach_duplicated(handle_type h)winstd::dplhandle< T *, NULL >inline
com_obj(REFCLSID rclsid, LPUNKNOWN pUnkOuter, DWORD dwClsContext)winstd::com_obj< T >inline
com_obj(_Other *other)winstd::com_obj< T >inline
com_obj(com_obj< _Other > &other)winstd::com_obj< T >inline
detach()winstd::handle< T, INVAL >inline
dplhandle() noexceptwinstd::dplhandle< T *, NULL >inline
dplhandle(handle_type h) noexceptwinstd::dplhandle< T *, NULL >inline
dplhandle(const dplhandle< handle_type, INVAL > &h)winstd::dplhandle< T *, NULL >inline
dplhandle(dplhandle< handle_type, INVAL > &&h) noexceptwinstd::dplhandle< T *, NULL >inline
duplicate() constwinstd::dplhandle< T *, NULL >inline
duplicate_internal(handle_type h) const overridewinstd::com_obj< T >inlineprotectedvirtual
free()winstd::handle< T, INVAL >inline
free_internal() noexcept overridewinstd::com_obj< T >inlineprotectedvirtual
handle() noexceptwinstd::handle< T, INVAL >inline
handle(handle_type h) noexceptwinstd::handle< T, INVAL >inline
handle(handle< handle_type, INVAL > &&h) noexceptwinstd::handle< T, INVAL >inline
handle_type typedefwinstd::handle< T, INVAL >
invalidwinstd::handle< T, INVAL >static
m_hwinstd::handle< T, INVAL >protected
operator handle_type() constwinstd::handle< T, INVAL >inline
operator!() constwinstd::handle< T, INVAL >inline
operator!=(handle_type h) constwinstd::handle< T, INVAL >inline
operator&()winstd::handle< T, INVAL >inline
operator*() constwinstd::handle< T, INVAL >inline
operator->() constwinstd::handle< T, INVAL >inline
operator<(handle_type h) constwinstd::handle< T, INVAL >inline
operator<=(handle_type h) constwinstd::handle< T, INVAL >inline
operator=(handle_type h) noexceptwinstd::dplhandle< T *, NULL >inline
operator=(const dplhandle< handle_type, INVAL > &h) noexceptwinstd::dplhandle< T *, NULL >inline
operator=(dplhandle< handle_type, INVAL > &&h) noexceptwinstd::dplhandle< T *, NULL >inline
winstd::handle::operator=(handle< handle_type, INVAL > &&h) noexceptwinstd::handle< T, INVAL >inline
operator==(handle_type h) constwinstd::handle< T, INVAL >inline
operator>(handle_type h) constwinstd::handle< T, INVAL >inline
operator>=(handle_type h) constwinstd::handle< T, INVAL >inline
query_interface(_Other **h) constwinstd::com_obj< T >inline
query_interface(com_obj< _Other > &h) constwinstd::com_obj< T >inline
~com_obj()winstd::com_obj< T >inlinevirtual
diff --git a/classwinstd_1_1com__obj.html b/classwinstd_1_1com__obj.html index bcc73f3c..fd3f401c 100644 --- a/classwinstd_1_1com__obj.html +++ b/classwinstd_1_1com__obj.html @@ -99,6 +99,9 @@ Inheritance diagram for winstd::com_obj< T >: + + + @@ -127,9 +130,9 @@ virtual  - - - + + + @@ -145,9 +148,9 @@ virtual  - - - + + + @@ -214,12 +217,12 @@ Protected Member Functions - - - - - - + + + + + + @@ -247,8 +250,55 @@ static const T 

Public Member Functions

 com_obj (REFCLSID rclsid, LPUNKNOWN pUnkOuter, DWORD dwClsContext)
 Creates a new instance of a class.
 
template<class _Other >
 com_obj (_Other *other)
 Queries the object for another interface and creates new class with it.
~com_obj () dplhandle (handle_type h) noexcept
 Initializes a new class instance with an already available object handle.
 
 dplhandle (const dplhandle< handle_type, INVAL > &h) noexcept
 Copy constructor.
 
 dplhandle (const dplhandle< handle_type, INVAL > &h)
 Copy constructor.
 
 dplhandle (dplhandle< handle_type, INVAL > &&h) noexcept
 Move constructor.
 
~com_obj ()handle_type duplicate () const
 Duplicates and returns a new object handle.
 
bool attach_duplicated (handle_type h)
 Duplicates an object handle and sets a new object handle.
 
void attach_duplicated (handle_type h)
 Duplicates an object handle and sets a new object handle.
 
- Public Member Functions inherited from winstd::handle< T, INVAL >
 handle () noexcept
void free_internal () noexcept override
 Releases the object by decrementing reference counter.
 
handle_type duplicate_internal (handle_type h) const noexcept override
 Duplicates the object by incrementing the reference counter.
 
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 duplication.
 
handle_type duplicate_internal (handle_type h) const override
 Duplicates the object by incrementing the reference counter.
 
virtual handle_type duplicate_internal (handle_type h) const=0
 Abstract member function that must be implemented by child classes to do the actual object handle duplication. On failure, it should throw appropriate exception describing the cause, rather than return an invalid handle.
 
virtual void free_internal () noexcept=0
 Abstract member function that must be implemented by child classes to do the actual object destruction.
 
invalid class winstd::com_obj< T >

COM object wrapper template.

See also
CoCreateInstance function

Constructor & Destructor Documentation

+ +

◆ com_obj() [1/3]

+ +
+
+
+template<class T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
winstd::com_obj< T >::com_obj (REFCLSID rclsid,
LPUNKNOWN pUnkOuter,
DWORD dwClsContext 
)
+
+inline
+
+ +

Creates a new instance of a class.

+
See also
CoCreateInstance function
+ +
+
-

◆ com_obj() [1/2]

+

◆ com_obj() [2/3]

@@ -281,7 +331,7 @@ template<class _Other >
-

◆ com_obj() [2/2]

+

◆ com_obj() [3/3]

@@ -314,8 +364,8 @@ template<class _Other >

Member Function Documentation

- -

◆ duplicate_internal()

+ +

◆ duplicate_internal()

@@ -335,7 +385,7 @@ template<class T >
-inlineoverrideprotectedvirtualnoexcept +inlineoverrideprotectedvirtual
@@ -350,7 +400,7 @@ template<class T >
Returns
Duplicated object handle
-

Implements winstd::dplhandle< T *, NULL >.

+

Implements winstd::dplhandle< T *, NULL >.

@@ -458,7 +508,7 @@ template<class _Other > diff --git a/classwinstd_1_1com__runtime__error-members.html b/classwinstd_1_1com__runtime__error-members.html index 16a61ad6..adcac282 100644 --- a/classwinstd_1_1com__runtime__error-members.html +++ b/classwinstd_1_1com__runtime__error-members.html @@ -90,7 +90,7 @@ $(function() { diff --git a/classwinstd_1_1com__runtime__error.html b/classwinstd_1_1com__runtime__error.html index 356839b2..e0f58c69 100644 --- a/classwinstd_1_1com__runtime__error.html +++ b/classwinstd_1_1com__runtime__error.html @@ -228,7 +228,7 @@ typedef HRESULT error_type diff --git a/classwinstd_1_1console__ctrl__handler-members.html b/classwinstd_1_1console__ctrl__handler-members.html index c1c6095d..14c914c0 100644 --- a/classwinstd_1_1console__ctrl__handler-members.html +++ b/classwinstd_1_1console__ctrl__handler-members.html @@ -87,7 +87,7 @@ $(function() { diff --git a/classwinstd_1_1console__ctrl__handler.html b/classwinstd_1_1console__ctrl__handler.html index ee0ecafd..6bf89804 100644 --- a/classwinstd_1_1console__ctrl__handler.html +++ b/classwinstd_1_1console__ctrl__handler.html @@ -179,7 +179,7 @@ PHANDLER_ROUTINE m_handler diff --git a/classwinstd_1_1critical__section-members.html b/classwinstd_1_1critical__section-members.html index 6d27b18c..33c996d5 100644 --- a/classwinstd_1_1critical__section-members.html +++ b/classwinstd_1_1critical__section-members.html @@ -87,7 +87,7 @@ $(function() { diff --git a/classwinstd_1_1critical__section.html b/classwinstd_1_1critical__section.html index 4fe1eaeb..17d012d2 100644 --- a/classwinstd_1_1critical__section.html +++ b/classwinstd_1_1critical__section.html @@ -200,7 +200,7 @@ CRITICAL_SECTION m_data diff --git a/classwinstd_1_1crypt__hash-members.html b/classwinstd_1_1crypt__hash-members.html index 6ba88153..0a9b62f1 100644 --- a/classwinstd_1_1crypt__hash-members.html +++ b/classwinstd_1_1crypt__hash-members.html @@ -81,14 +81,14 @@ $(function() {

This is the complete list of members for winstd::crypt_hash, including all inherited members.

- + - + - + @@ -116,7 +116,7 @@ $(function() {
attach(handle_type h) noexceptwinstd::handle< T, INVAL >inline
attach_duplicated(handle_type h)winstd::dplhandle< HCRYPTHASH, NULL >inline
attach_duplicated(handle_type h)winstd::dplhandle< HCRYPTHASH, NULL >inline
detach()winstd::handle< T, INVAL >inline
dplhandle() noexceptwinstd::dplhandle< HCRYPTHASH, NULL >inline
dplhandle(handle_type h) noexceptwinstd::dplhandle< HCRYPTHASH, NULL >inline
dplhandle(const dplhandle< handle_type, INVAL > &h) noexceptwinstd::dplhandle< HCRYPTHASH, NULL >inline
dplhandle(const dplhandle< handle_type, INVAL > &h)winstd::dplhandle< HCRYPTHASH, NULL >inline
dplhandle(dplhandle< handle_type, INVAL > &&h) noexceptwinstd::dplhandle< HCRYPTHASH, NULL >inline
duplicate() constwinstd::dplhandle< HCRYPTHASH, NULL >inline
duplicate_internal(handle_type h) const noexcept overridewinstd::crypt_hashinlineprotectedvirtual
duplicate_internal(handle_type h) const overridewinstd::crypt_hashinlineprotectedvirtual
free()winstd::handle< T, INVAL >inline
free_internal() noexcept overridewinstd::crypt_hashinlineprotectedvirtual
handle() noexceptwinstd::handle< T, INVAL >inline
diff --git a/classwinstd_1_1crypt__hash.html b/classwinstd_1_1crypt__hash.html index 79b16c05..5a6b63c1 100644 --- a/classwinstd_1_1crypt__hash.html +++ b/classwinstd_1_1crypt__hash.html @@ -110,9 +110,9 @@ Public Member Functions  dplhandle (handle_type h) noexcept  Initializes a new class instance with an already available object handle.
  - dplhandle (const dplhandle< handle_type, INVAL > &h) noexcept - Copy constructor.
-  + dplhandle (const dplhandle< handle_type, INVAL > &h) + Copy constructor.
+   dplhandle (dplhandle< handle_type, INVAL > &&h) noexcept  Move constructor.
  @@ -128,9 +128,9 @@ Public Member Functions handle_type duplicate () const  Duplicates and returns a new object handle.
  -bool attach_duplicated (handle_type h) - Duplicates an object handle and sets a new object handle.
-  +void attach_duplicated (handle_type h) + Duplicates an object handle and sets a new object handle.
- Public Member Functions inherited from winstd::handle< T, INVAL >  handle () noexcept @@ -197,12 +197,12 @@ Protected Member Functions void free_internal () noexcept override  Destroys the hash context.
  -handle_type duplicate_internal (handle_type h) const noexcept override - Duplicates the hash context.
-  -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 duplication.
-  +handle_type duplicate_internal (handle_type h) const override + Duplicates the hash context.
+  +virtual handle_type duplicate_internal (handle_type h) const=0 + Abstract member function that must be implemented by child classes to do the actual object handle duplication. On failure, it should throw appropriate exception describing the cause, rather than return an invalid handle.
+  virtual void free_internal () noexcept=0  Abstract member function that must be implemented by child classes to do the actual object destruction.
  @@ -258,8 +258,8 @@ static const T invalid

Member Function Documentation

- -

◆ duplicate_internal()

+ +

◆ duplicate_internal()

@@ -277,7 +277,7 @@ static const T invalid -inlineoverrideprotectedvirtualnoexcept +inlineoverrideprotectedvirtual
@@ -292,7 +292,7 @@ static const T invalid
Returns
Duplicated hash context handle
See also
CryptDuplicateHash function
-

Implements winstd::dplhandle< HCRYPTHASH, NULL >.

+

Implements winstd::dplhandle< HCRYPTHASH, NULL >.

@@ -332,7 +332,7 @@ static const T invalid diff --git a/classwinstd_1_1crypt__key-members.html b/classwinstd_1_1crypt__key-members.html index a50b708d..cc3268bb 100644 --- a/classwinstd_1_1crypt__key-members.html +++ b/classwinstd_1_1crypt__key-members.html @@ -81,15 +81,15 @@ $(function() {

This is the complete list of members for winstd::crypt_key, including all inherited members.

- + - + - + @@ -117,7 +117,7 @@ $(function() {
attach(handle_type h) noexceptwinstd::handle< T, INVAL >inline
attach_duplicated(handle_type h)winstd::dplhandle< HCRYPTKEY, NULL >inline
attach_duplicated(handle_type h)winstd::dplhandle< HCRYPTKEY, NULL >inline
create_exp1(HCRYPTPROV hProv, DWORD dwKeySpec)winstd::crypt_keyinline
detach()winstd::handle< T, INVAL >inline
dplhandle() noexceptwinstd::dplhandle< HCRYPTKEY, NULL >inline
dplhandle(handle_type h) noexceptwinstd::dplhandle< HCRYPTKEY, NULL >inline
dplhandle(const dplhandle< handle_type, INVAL > &h) noexceptwinstd::dplhandle< HCRYPTKEY, NULL >inline
dplhandle(const dplhandle< handle_type, INVAL > &h)winstd::dplhandle< HCRYPTKEY, NULL >inline
dplhandle(dplhandle< handle_type, INVAL > &&h) noexceptwinstd::dplhandle< HCRYPTKEY, NULL >inline
duplicate() constwinstd::dplhandle< HCRYPTKEY, NULL >inline
duplicate_internal(handle_type h) const noexcept overridewinstd::crypt_keyinlineprotectedvirtual
duplicate_internal(handle_type h) const overridewinstd::crypt_keyinlineprotectedvirtual
free()winstd::handle< T, INVAL >inline
free_internal() noexcept overridewinstd::crypt_keyinlineprotectedvirtual
handle() noexceptwinstd::handle< T, INVAL >inline
diff --git a/classwinstd_1_1crypt__key.html b/classwinstd_1_1crypt__key.html index e6dfd5a7..54d46d87 100644 --- a/classwinstd_1_1crypt__key.html +++ b/classwinstd_1_1crypt__key.html @@ -113,9 +113,9 @@ Public Member Functions  dplhandle (handle_type h) noexcept  Initializes a new class instance with an already available object handle.
  - dplhandle (const dplhandle< handle_type, INVAL > &h) noexcept - Copy constructor.
-  + dplhandle (const dplhandle< handle_type, INVAL > &h) + Copy constructor.
+   dplhandle (dplhandle< handle_type, INVAL > &&h) noexcept  Move constructor.
  @@ -131,9 +131,9 @@ Public Member Functions handle_type duplicate () const  Duplicates and returns a new object handle.
  -bool attach_duplicated (handle_type h) - Duplicates an object handle and sets a new object handle.
-  +void attach_duplicated (handle_type h) + Duplicates an object handle and sets a new object handle.
- Public Member Functions inherited from winstd::handle< T, INVAL >  handle () noexcept @@ -200,12 +200,12 @@ Protected Member Functions void free_internal () noexcept override  Destroys the key.
  -handle_type duplicate_internal (handle_type h) const noexcept override - Duplicates the key.
-  -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 duplication.
-  +handle_type duplicate_internal (handle_type h) const override + Duplicates the key.
+  +virtual handle_type duplicate_internal (handle_type h) const=0 + Abstract member function that must be implemented by child classes to do the actual object handle duplication. On failure, it should throw appropriate exception describing the cause, rather than return an invalid handle.
+  virtual void free_internal () noexcept=0  Abstract member function that must be implemented by child classes to do the actual object destruction.
  @@ -313,8 +313,8 @@ static const T invalid - -

◆ duplicate_internal()

+ +

◆ duplicate_internal()

@@ -332,7 +332,7 @@ static const T invalid -inlineoverrideprotectedvirtualnoexcept +inlineoverrideprotectedvirtual
@@ -347,7 +347,7 @@ static const T invalid
Returns
Duplicated key handle
See also
CryptDuplicateKey function
-

Implements winstd::dplhandle< HCRYPTKEY, NULL >.

+

Implements winstd::dplhandle< HCRYPTKEY, NULL >.

@@ -387,7 +387,7 @@ static const T invalid diff --git a/classwinstd_1_1crypt__prov-members.html b/classwinstd_1_1crypt__prov-members.html index 9e3ba5e9..804e5a15 100644 --- a/classwinstd_1_1crypt__prov-members.html +++ b/classwinstd_1_1crypt__prov-members.html @@ -107,7 +107,7 @@ $(function() { diff --git a/classwinstd_1_1crypt__prov.html b/classwinstd_1_1crypt__prov.html index 58d7df55..6b3f200d 100644 --- a/classwinstd_1_1crypt__prov.html +++ b/classwinstd_1_1crypt__prov.html @@ -258,7 +258,7 @@ static const HCRYPTPROV in diff --git a/classwinstd_1_1data__blob-members.html b/classwinstd_1_1data__blob-members.html index 6c7c31ff..b54936fb 100644 --- a/classwinstd_1_1data__blob-members.html +++ b/classwinstd_1_1data__blob-members.html @@ -93,7 +93,7 @@ $(function() { diff --git a/classwinstd_1_1data__blob.html b/classwinstd_1_1data__blob.html index 8e7db6b2..23da7955 100644 --- a/classwinstd_1_1data__blob.html +++ b/classwinstd_1_1data__blob.html @@ -143,7 +143,7 @@ BYTE * data () noexcep diff --git a/classwinstd_1_1dc-members.html b/classwinstd_1_1dc-members.html index 8cecf6ee..0e8372e3 100644 --- a/classwinstd_1_1dc-members.html +++ b/classwinstd_1_1dc-members.html @@ -107,7 +107,7 @@ $(function() { diff --git a/classwinstd_1_1dc.html b/classwinstd_1_1dc.html index 7eeb10e8..17241b30 100644 --- a/classwinstd_1_1dc.html +++ b/classwinstd_1_1dc.html @@ -257,7 +257,7 @@ static const HDC invalid diff --git a/classwinstd_1_1dc__selector-members.html b/classwinstd_1_1dc__selector-members.html index 510a4c9f..b78cf60c 100644 --- a/classwinstd_1_1dc__selector-members.html +++ b/classwinstd_1_1dc__selector-members.html @@ -88,7 +88,7 @@ $(function() { diff --git a/classwinstd_1_1dc__selector.html b/classwinstd_1_1dc__selector.html index be730372..4edf2d6e 100644 --- a/classwinstd_1_1dc__selector.html +++ b/classwinstd_1_1dc__selector.html @@ -215,7 +215,7 @@ HGDIOBJ m_orig diff --git a/classwinstd_1_1dplhandle-members.html b/classwinstd_1_1dplhandle-members.html index 854e2bea..7431a72d 100644 --- a/classwinstd_1_1dplhandle-members.html +++ b/classwinstd_1_1dplhandle-members.html @@ -81,14 +81,14 @@ $(function() {

This is the complete list of members for winstd::dplhandle< T, INVAL >, including all inherited members.

- + - + - + @@ -115,7 +115,7 @@ $(function() {
attach(handle_type h) noexceptwinstd::handle< T, INVAL >inline
attach_duplicated(handle_type h)winstd::dplhandle< T, INVAL >inline
attach_duplicated(handle_type h)winstd::dplhandle< T, INVAL >inline
detach()winstd::handle< T, INVAL >inline
dplhandle() noexceptwinstd::dplhandle< T, INVAL >inline
dplhandle(handle_type h) noexceptwinstd::dplhandle< T, INVAL >inline
dplhandle(const dplhandle< handle_type, INVAL > &h) noexceptwinstd::dplhandle< T, INVAL >inline
dplhandle(const dplhandle< handle_type, INVAL > &h)winstd::dplhandle< T, INVAL >inline
dplhandle(dplhandle< handle_type, INVAL > &&h) noexceptwinstd::dplhandle< T, INVAL >inline
duplicate() constwinstd::dplhandle< T, INVAL >inline
duplicate_internal(handle_type h) const noexcept=0winstd::dplhandle< T, INVAL >protectedpure virtual
duplicate_internal(handle_type h) const =0winstd::dplhandle< T, INVAL >protectedpure virtual
free()winstd::handle< T, INVAL >inline
free_internal() noexcept=0winstd::handle< T, INVAL >protectedpure virtual
handle() noexceptwinstd::handle< T, INVAL >inline
diff --git a/classwinstd_1_1dplhandle.html b/classwinstd_1_1dplhandle.html index 6ace8351..10d55bc2 100644 --- a/classwinstd_1_1dplhandle.html +++ b/classwinstd_1_1dplhandle.html @@ -105,9 +105,9 @@ Public Member Functions  dplhandle (handle_type h) noexcept  Initializes a new class instance with an already available object handle.
  - dplhandle (const dplhandle< handle_type, INVAL > &h) noexcept - Copy constructor.
-  + dplhandle (const dplhandle< handle_type, INVAL > &h) + Copy constructor.
+   dplhandle (dplhandle< handle_type, INVAL > &&h) noexcept  Move constructor.
  @@ -123,9 +123,9 @@ Public Member Functions handle_type duplicate () const  Duplicates and returns a new object handle.
  -bool attach_duplicated (handle_type h) - Duplicates an object handle and sets a new object handle.
-  +void attach_duplicated (handle_type h) + Duplicates an object handle and sets a new object handle.
- Public Member Functions inherited from winstd::handle< T, INVAL >  handle () noexcept @@ -189,9 +189,9 @@ void free () - - - + + + @@ -255,8 +255,8 @@ template<class T , T INVAL> - -

◆ dplhandle() [2/3]

+ +

◆ dplhandle() [2/3]

@@ -276,7 +276,7 @@ template<class T , T INVAL>

Protected Member Functions

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 duplication.
 
virtual handle_type duplicate_internal (handle_type h) const =0
 Abstract member function that must be implemented by child classes to do the actual object handle duplication. On failure, it should throw appropriate exception describing the cause, rather than return an invalid handle.
 
- Protected Member Functions inherited from winstd::handle< T, INVAL >
virtual void free_internal () noexcept=0
 Abstract member function that must be implemented by child classes to do the actual object destruction.
-inlinenoexcept +inline
@@ -328,8 +328,8 @@ template<class T , T INVAL>

Member Function Documentation

- -

◆ attach_duplicated()

+ +

◆ attach_duplicated()

@@ -340,7 +340,7 @@ template<class T , T INVAL>
- + @@ -357,15 +357,10 @@ template<class T , T INVAL>

Duplicates an object handle and sets a new object handle.

Parameters
bool winstd::dplhandle< T, INVAL >::attach_duplicated void winstd::dplhandle< T, INVAL >::attach_duplicated ( handle_type  h)
- +
[in]hObject handle of existing object
[in]hObject handle of existing object
-
Returns
    -
  • true when duplication succeeds;
  • -
  • false when duplication fails. In case of failure obtaining the extended error information is object type specific (for example: GetLastError()).
  • -
-
@@ -399,8 +394,8 @@ template<class T , T INVAL> - -

◆ duplicate_internal()

+ +

◆ duplicate_internal()

@@ -420,12 +415,12 @@ template<class T , T INVAL>
-protectedpure virtualnoexcept +protectedpure virtual
-

Abstract member function that must be implemented by child classes to do the actual object handle duplication.

+

Abstract member function that must be implemented by child classes to do the actual object handle duplication. On failure, it should throw appropriate exception describing the cause, rather than return an invalid handle.

Parameters
@@ -434,7 +429,7 @@ template<class T , T INVAL>
Returns
Duplicated object handle
-

Implemented in winstd::com_obj< T >, winstd::bstr, winstd::cert_context, winstd::cert_chain_context, winstd::crypt_hash, winstd::crypt_key, and winstd::eap_packet.

+

Implemented in winstd::com_obj< T >, winstd::bstr, winstd::safearray, winstd::cert_context, winstd::cert_chain_context, winstd::crypt_hash, winstd::crypt_key, and winstd::eap_packet.

@@ -552,7 +547,7 @@ template<class T , T INVAL> diff --git a/classwinstd_1_1eap__attr-members.html b/classwinstd_1_1eap__attr-members.html index a18f2497..b719050b 100644 --- a/classwinstd_1_1eap__attr-members.html +++ b/classwinstd_1_1eap__attr-members.html @@ -90,7 +90,7 @@ $(function() {
[in]hObject handle of existing object
diff --git a/classwinstd_1_1eap__attr.html b/classwinstd_1_1eap__attr.html index 112275e2..70ba9abe 100644 --- a/classwinstd_1_1eap__attr.html +++ b/classwinstd_1_1eap__attr.html @@ -180,7 +180,7 @@ Public Member Functions diff --git a/classwinstd_1_1eap__method__info__array-members.html b/classwinstd_1_1eap__method__info__array-members.html index a85fd74b..2e4105b1 100644 --- a/classwinstd_1_1eap__method__info__array-members.html +++ b/classwinstd_1_1eap__method__info__array-members.html @@ -87,7 +87,7 @@ $(function() { diff --git a/classwinstd_1_1eap__method__info__array.html b/classwinstd_1_1eap__method__info__array.html index d73f716f..ffc7ff28 100644 --- a/classwinstd_1_1eap__method__info__array.html +++ b/classwinstd_1_1eap__method__info__array.html @@ -187,7 +187,7 @@ Public Member Functions diff --git a/classwinstd_1_1eap__method__prop-members.html b/classwinstd_1_1eap__method__prop-members.html index f359e420..16425a70 100644 --- a/classwinstd_1_1eap__method__prop-members.html +++ b/classwinstd_1_1eap__method__prop-members.html @@ -86,7 +86,7 @@ $(function() { diff --git a/classwinstd_1_1eap__method__prop.html b/classwinstd_1_1eap__method__prop.html index 18d32904..0d030fd5 100644 --- a/classwinstd_1_1eap__method__prop.html +++ b/classwinstd_1_1eap__method__prop.html @@ -248,7 +248,7 @@ Public Member Functions diff --git a/classwinstd_1_1eap__packet-members.html b/classwinstd_1_1eap__packet-members.html index a60649b8..286f46b7 100644 --- a/classwinstd_1_1eap__packet-members.html +++ b/classwinstd_1_1eap__packet-members.html @@ -81,15 +81,15 @@ $(function() {

This is the complete list of members for winstd::eap_packet, including all inherited members.

- + - + - + @@ -118,7 +118,7 @@ $(function() {
attach(handle_type h) noexceptwinstd::handle< T, INVAL >inline
attach_duplicated(handle_type h)winstd::dplhandle< EapPacket *, NULL >inline
attach_duplicated(handle_type h)winstd::dplhandle< EapPacket *, NULL >inline
create(EapCode code, BYTE id, WORD size) noexceptwinstd::eap_packetinline
detach()winstd::handle< T, INVAL >inline
dplhandle() noexceptwinstd::dplhandle< EapPacket *, NULL >inline
dplhandle(handle_type h) noexceptwinstd::dplhandle< EapPacket *, NULL >inline
dplhandle(const dplhandle< handle_type, INVAL > &h) noexceptwinstd::dplhandle< EapPacket *, NULL >inline
dplhandle(const dplhandle< handle_type, INVAL > &h)winstd::dplhandle< EapPacket *, NULL >inline
dplhandle(dplhandle< handle_type, INVAL > &&h) noexceptwinstd::dplhandle< EapPacket *, NULL >inline
duplicate() constwinstd::dplhandle< EapPacket *, NULL >inline
duplicate_internal(handle_type h) const noexcept overridewinstd::eap_packetinlineprotectedvirtual
duplicate_internal(handle_type h) const overridewinstd::eap_packetinlineprotectedvirtual
free()winstd::handle< T, INVAL >inline
free_internal() noexcept overridewinstd::eap_packetinlineprotectedvirtual
handle() noexceptwinstd::handle< T, INVAL >inline
diff --git a/classwinstd_1_1eap__packet.html b/classwinstd_1_1eap__packet.html index cbeab585..bc18df07 100644 --- a/classwinstd_1_1eap__packet.html +++ b/classwinstd_1_1eap__packet.html @@ -118,9 +118,9 @@ WORD size () const noe  dplhandle (handle_type h) noexcept  Initializes a new class instance with an already available object handle.
  - dplhandle (const dplhandle< handle_type, INVAL > &h) noexcept - Copy constructor.
-  + dplhandle (const dplhandle< handle_type, INVAL > &h) + Copy constructor.
+   dplhandle (dplhandle< handle_type, INVAL > &&h) noexcept  Move constructor.
  @@ -136,9 +136,9 @@ WORD size () const noe handle_type duplicate () const  Duplicates and returns a new object handle.
  -bool attach_duplicated (handle_type h) - Duplicates an object handle and sets a new object handle.
-  +void attach_duplicated (handle_type h) + Duplicates an object handle and sets a new object handle.
- Public Member Functions inherited from winstd::handle< T, INVAL >  handle () noexcept @@ -205,12 +205,12 @@ Protected Member Functions void free_internal () noexcept override  Destroys the EAP packet.
  -handle_type duplicate_internal (handle_type h) const noexcept override - Duplicates the EAP packet.
-  -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 duplication.
-  +handle_type duplicate_internal (handle_type h) const override + Duplicates the EAP packet.
+  +virtual handle_type duplicate_internal (handle_type h) const=0 + Abstract member function that must be implemented by child classes to do the actual object handle duplication. On failure, it should throw appropriate exception describing the cause, rather than return an invalid handle.
+  virtual void free_internal () noexcept=0  Abstract member function that must be implemented by child classes to do the actual object destruction.
  @@ -294,8 +294,8 @@ static const T invalid - -

◆ duplicate_internal()

+ +

◆ duplicate_internal()

@@ -313,14 +313,14 @@ static const T invalid -inlineoverrideprotectedvirtualnoexcept +inlineoverrideprotectedvirtual

Duplicates the EAP packet.

-

Implements winstd::dplhandle< EapPacket *, NULL >.

+

Implements winstd::dplhandle< EapPacket *, NULL >.

@@ -359,7 +359,7 @@ static const T invalid diff --git a/classwinstd_1_1eap__runtime__error-members.html b/classwinstd_1_1eap__runtime__error-members.html index 00b48888..3f893c66 100644 --- a/classwinstd_1_1eap__runtime__error-members.html +++ b/classwinstd_1_1eap__runtime__error-members.html @@ -109,7 +109,7 @@ $(function() { diff --git a/classwinstd_1_1eap__runtime__error.html b/classwinstd_1_1eap__runtime__error.html index ddd2bbd5..49e8c06a 100644 --- a/classwinstd_1_1eap__runtime__error.html +++ b/classwinstd_1_1eap__runtime__error.html @@ -305,7 +305,7 @@ typedef DWORD error_type diff --git a/classwinstd_1_1event__data-members.html b/classwinstd_1_1event__data-members.html index 2df02f9f..d9c2b661 100644 --- a/classwinstd_1_1event__data-members.html +++ b/classwinstd_1_1event__data-members.html @@ -95,7 +95,7 @@ $(function() { diff --git a/classwinstd_1_1event__data.html b/classwinstd_1_1event__data.html index ef2d2906..18f1b607 100644 --- a/classwinstd_1_1event__data.html +++ b/classwinstd_1_1event__data.html @@ -540,7 +540,7 @@ template<class _Elem , class _Traits , class _Ax > diff --git a/classwinstd_1_1event__fn__auto-members.html b/classwinstd_1_1event__fn__auto-members.html index 22e18121..1f43872c 100644 --- a/classwinstd_1_1event__fn__auto-members.html +++ b/classwinstd_1_1event__fn__auto-members.html @@ -92,7 +92,7 @@ $(function() { diff --git a/classwinstd_1_1event__fn__auto.html b/classwinstd_1_1event__fn__auto.html index 6f6b65db..d4e37779 100644 --- a/classwinstd_1_1event__fn__auto.html +++ b/classwinstd_1_1event__fn__auto.html @@ -138,7 +138,7 @@ EVENT_DATA_DESCRIPTOR m_fn diff --git a/classwinstd_1_1event__fn__auto__ret-members.html b/classwinstd_1_1event__fn__auto__ret-members.html index d0555a76..a31ad95a 100644 --- a/classwinstd_1_1event__fn__auto__ret-members.html +++ b/classwinstd_1_1event__fn__auto__ret-members.html @@ -93,7 +93,7 @@ $(function() { diff --git a/classwinstd_1_1event__fn__auto__ret.html b/classwinstd_1_1event__fn__auto__ret.html index 681923d1..e974fbd2 100644 --- a/classwinstd_1_1event__fn__auto__ret.html +++ b/classwinstd_1_1event__fn__auto__ret.html @@ -143,7 +143,7 @@ class winstd::event_fn_auto_ret< T >

Helper template to write an e

diff --git a/classwinstd_1_1event__log-members.html b/classwinstd_1_1event__log-members.html index 56474405..db37662d 100644 --- a/classwinstd_1_1event__log-members.html +++ b/classwinstd_1_1event__log-members.html @@ -107,7 +107,7 @@ $(function() { diff --git a/classwinstd_1_1event__log.html b/classwinstd_1_1event__log.html index 7348b44d..1f4fd217 100644 --- a/classwinstd_1_1event__log.html +++ b/classwinstd_1_1event__log.html @@ -258,7 +258,7 @@ static const HANDLE invali diff --git a/classwinstd_1_1event__provider-members.html b/classwinstd_1_1event__provider-members.html index a31ca147..3f5d7f64 100644 --- a/classwinstd_1_1event__provider-members.html +++ b/classwinstd_1_1event__provider-members.html @@ -115,7 +115,7 @@ $(function() { diff --git a/classwinstd_1_1event__provider.html b/classwinstd_1_1event__provider.html index 33f2dea4..b47e72c8 100644 --- a/classwinstd_1_1event__provider.html +++ b/classwinstd_1_1event__provider.html @@ -687,7 +687,7 @@ static const REGHANDLE inv diff --git a/classwinstd_1_1event__rec-members.html b/classwinstd_1_1event__rec-members.html index c5867611..c534ccdc 100644 --- a/classwinstd_1_1event__rec-members.html +++ b/classwinstd_1_1event__rec-members.html @@ -95,7 +95,7 @@ $(function() { diff --git a/classwinstd_1_1event__rec.html b/classwinstd_1_1event__rec.html index 786a4a43..5b626f13 100644 --- a/classwinstd_1_1event__rec.html +++ b/classwinstd_1_1event__rec.html @@ -531,7 +531,7 @@ Protected Member Functions diff --git a/classwinstd_1_1event__session-members.html b/classwinstd_1_1event__session-members.html index 388d64b0..c02f20fd 100644 --- a/classwinstd_1_1event__session-members.html +++ b/classwinstd_1_1event__session-members.html @@ -118,7 +118,7 @@ $(function() { diff --git a/classwinstd_1_1event__session.html b/classwinstd_1_1event__session.html index 71deebfb..35ff0029 100644 --- a/classwinstd_1_1event__session.html +++ b/classwinstd_1_1event__session.html @@ -691,7 +691,7 @@ static const TRACEHANDLE i diff --git a/classwinstd_1_1event__trace-members.html b/classwinstd_1_1event__trace-members.html index b361fc4c..632daa64 100644 --- a/classwinstd_1_1event__trace-members.html +++ b/classwinstd_1_1event__trace-members.html @@ -107,7 +107,7 @@ $(function() { diff --git a/classwinstd_1_1event__trace.html b/classwinstd_1_1event__trace.html index ec3b357a..d483450e 100644 --- a/classwinstd_1_1event__trace.html +++ b/classwinstd_1_1event__trace.html @@ -258,7 +258,7 @@ static const TRACEHANDLE i diff --git a/classwinstd_1_1event__trace__enabler-members.html b/classwinstd_1_1event__trace__enabler-members.html index a550f6f3..8bbd0ea9 100644 --- a/classwinstd_1_1event__trace__enabler-members.html +++ b/classwinstd_1_1event__trace__enabler-members.html @@ -96,7 +96,7 @@ $(function() { diff --git a/classwinstd_1_1event__trace__enabler.html b/classwinstd_1_1event__trace__enabler.html index 8d72e45b..150afaaa 100644 --- a/classwinstd_1_1event__trace__enabler.html +++ b/classwinstd_1_1event__trace__enabler.html @@ -351,7 +351,7 @@ PEVENT_FILTER_DESCRIPTOR m diff --git a/classwinstd_1_1find__file-members.html b/classwinstd_1_1find__file-members.html index e4d96e56..4d5c5cb7 100644 --- a/classwinstd_1_1find__file-members.html +++ b/classwinstd_1_1find__file-members.html @@ -107,7 +107,7 @@ $(function() { diff --git a/classwinstd_1_1find__file.html b/classwinstd_1_1find__file.html index 6bd14cbd..d3aeddb6 100644 --- a/classwinstd_1_1find__file.html +++ b/classwinstd_1_1find__file.html @@ -258,7 +258,7 @@ static const HANDLE invali diff --git a/classwinstd_1_1gdi__handle-members.html b/classwinstd_1_1gdi__handle-members.html index faa8b3e9..e3e3792d 100644 --- a/classwinstd_1_1gdi__handle-members.html +++ b/classwinstd_1_1gdi__handle-members.html @@ -107,7 +107,7 @@ $(function() { diff --git a/classwinstd_1_1gdi__handle.html b/classwinstd_1_1gdi__handle.html index 593fb0b2..1c31bb18 100644 --- a/classwinstd_1_1gdi__handle.html +++ b/classwinstd_1_1gdi__handle.html @@ -262,7 +262,7 @@ template<class T > diff --git a/classwinstd_1_1globalmem__accessor-members.html b/classwinstd_1_1globalmem__accessor-members.html new file mode 100644 index 00000000..0b4fac18 --- /dev/null +++ b/classwinstd_1_1globalmem__accessor-members.html @@ -0,0 +1,94 @@ + + + + + + + +WinStd: Member List + + + + + + + + + +
+
+ + + + + + +
+
WinStd +
+
Windows Win32 API using Standard C++
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
winstd::globalmem_accessor< T > Member List
+
+
+ +

This is the complete list of members for winstd::globalmem_accessor< T >, including all inherited members.

+ + + + + + +
data() const noexceptwinstd::globalmem_accessor< T >inline
globalmem_accessor(HGLOBAL hMem)winstd::globalmem_accessor< T >inline
m_datawinstd::globalmem_accessor< T >protected
m_hwinstd::globalmem_accessor< T >protected
~globalmem_accessor()winstd::globalmem_accessor< T >inlinevirtual
+ + + + diff --git a/classwinstd_1_1globalmem__accessor.html b/classwinstd_1_1globalmem__accessor.html new file mode 100644 index 00000000..49da7798 --- /dev/null +++ b/classwinstd_1_1globalmem__accessor.html @@ -0,0 +1,188 @@ + + + + + + + +WinStd: winstd::globalmem_accessor< T > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
WinStd +
+
Windows Win32 API using Standard C++
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
winstd::globalmem_accessor< T > Class Template Reference
+
+
+ +

Context scope automatic GlobalAlloc (un)access. + More...

+ +

#include <WinStd/Common.h>

+ + + + + + + + + + + +

+Public Member Functions

 globalmem_accessor (HGLOBAL hMem)
 Locks a global memory object and returns a pointer to the first byte of the object's memory block.
 
virtual ~globalmem_accessor ()
 Decrements the lock count associated with a memory object.
 
+T * data () const noexcept
 Return data pointer.
 
+ + + + + + + +

+Protected Attributes

+HGLOBAL m_h
 memory handle
 
+T * m_data
 memory pointer
 
+

Detailed Description

+
template<class T>
+class winstd::globalmem_accessor< T >

Context scope automatic GlobalAlloc (un)access.

+

Constructor & Destructor Documentation

+ +

◆ globalmem_accessor()

+ +
+
+
+template<class T >
+ + + + + +
+ + + + + + + + +
winstd::globalmem_accessor< T >::globalmem_accessor (HGLOBAL hMem)
+
+inline
+
+ +

Locks a global memory object and returns a pointer to the first byte of the object's memory block.

+
See also
SafeArrayAccessData function
+ +
+
+ +

◆ ~globalmem_accessor()

+ +
+
+
+template<class T >
+ + + + + +
+ + + + + + + +
virtual winstd::globalmem_accessor< T >::~globalmem_accessor ()
+
+inlinevirtual
+
+ +

Decrements the lock count associated with a memory object.

+
See also
GlobalUnlock function
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classwinstd_1_1handle-members.html b/classwinstd_1_1handle-members.html index 728bb366..39bbf64d 100644 --- a/classwinstd_1_1handle-members.html +++ b/classwinstd_1_1handle-members.html @@ -106,7 +106,7 @@ $(function() { diff --git a/classwinstd_1_1handle.html b/classwinstd_1_1handle.html index 17fc9502..86356cf0 100644 --- a/classwinstd_1_1handle.html +++ b/classwinstd_1_1handle.html @@ -102,7 +102,8 @@ Inheritance diagram for winstd::handle< T, INVAL >: winstd::dplhandle< HCRYPTHASH, NULL > winstd::dplhandle< HCRYPTKEY, NULL > winstd::dplhandle< EapPacket *, NULL > -winstd::dplhandle< T, INVAL > +winstd::dplhandle< SAFEARRAY *, NULL > +winstd::dplhandle< T, INVAL > @@ -367,7 +368,7 @@ template<class T , const T INVAL>

Abstract member function that must be implemented by child classes to do the actual object destruction.

-

Implemented in winstd::com_obj< T >, winstd::bstr, winstd::cert_context, winstd::cert_chain_context, winstd::cert_store, winstd::crypt_prov, winstd::crypt_hash, winstd::crypt_key, winstd::eap_packet, winstd::event_provider, winstd::event_session, winstd::event_trace, winstd::gdi_handle< T >, winstd::dc, winstd::window_dc, winstd::sec_credentials, winstd::sec_context, winstd::setup_device_info_list, winstd::win_handle< INVALID >, winstd::library, winstd::find_file, winstd::heap, winstd::vmemory, winstd::reg_key, winstd::security_id, winstd::event_log, winstd::sc_handle, winstd::addrinfo, winstd::waddrinfo, and winstd::wlan_handle.

+

Implemented in winstd::com_obj< T >, winstd::bstr, winstd::safearray, winstd::cert_context, winstd::cert_chain_context, winstd::cert_store, winstd::crypt_prov, winstd::crypt_hash, winstd::crypt_key, winstd::eap_packet, winstd::event_provider, winstd::event_session, winstd::event_trace, winstd::gdi_handle< T >, winstd::dc, winstd::window_dc, winstd::sec_credentials, winstd::sec_context, winstd::setup_device_info_list, winstd::win_handle< INVALID >, winstd::library, winstd::find_file, winstd::heap, winstd::vmemory, winstd::reg_key, winstd::security_id, winstd::event_log, winstd::sc_handle, winstd::addrinfo, winstd::waddrinfo, and winstd::wlan_handle.

@@ -850,7 +851,7 @@ template<class T , const T INVAL> diff --git a/classwinstd_1_1handle.png b/classwinstd_1_1handle.png index 6dd806ba..e92dfae3 100644 Binary files a/classwinstd_1_1handle.png and b/classwinstd_1_1handle.png differ diff --git a/classwinstd_1_1heap-members.html b/classwinstd_1_1heap-members.html index befcfad0..ea14b9fa 100644 --- a/classwinstd_1_1heap-members.html +++ b/classwinstd_1_1heap-members.html @@ -108,7 +108,7 @@ $(function() {
diff --git a/classwinstd_1_1heap.html b/classwinstd_1_1heap.html index 159eaded..f6e6983d 100644 --- a/classwinstd_1_1heap.html +++ b/classwinstd_1_1heap.html @@ -293,7 +293,7 @@ static const HANDLE invali diff --git a/classwinstd_1_1heap__allocator-members.html b/classwinstd_1_1heap__allocator-members.html index fc45dec4..9695a5d4 100644 --- a/classwinstd_1_1heap__allocator-members.html +++ b/classwinstd_1_1heap__allocator-members.html @@ -99,7 +99,7 @@ $(function() { diff --git a/classwinstd_1_1heap__allocator.html b/classwinstd_1_1heap__allocator.html index 9bc8bd35..51bebc44 100644 --- a/classwinstd_1_1heap__allocator.html +++ b/classwinstd_1_1heap__allocator.html @@ -461,7 +461,7 @@ template<class _Ty > diff --git a/classwinstd_1_1impersonator-members.html b/classwinstd_1_1impersonator-members.html index c21068ec..7bdcb692 100644 --- a/classwinstd_1_1impersonator-members.html +++ b/classwinstd_1_1impersonator-members.html @@ -87,7 +87,7 @@ $(function() { diff --git a/classwinstd_1_1impersonator.html b/classwinstd_1_1impersonator.html index 989d3edd..cff3e37e 100644 --- a/classwinstd_1_1impersonator.html +++ b/classwinstd_1_1impersonator.html @@ -155,7 +155,7 @@ BOOL m_cookie diff --git a/classwinstd_1_1library-members.html b/classwinstd_1_1library-members.html index b10ea3dc..5b5470f0 100644 --- a/classwinstd_1_1library-members.html +++ b/classwinstd_1_1library-members.html @@ -107,7 +107,7 @@ $(function() { diff --git a/classwinstd_1_1library.html b/classwinstd_1_1library.html index 8e9959ac..02166607 100644 --- a/classwinstd_1_1library.html +++ b/classwinstd_1_1library.html @@ -258,7 +258,7 @@ static const HMODULE inval diff --git a/classwinstd_1_1num__runtime__error-members.html b/classwinstd_1_1num__runtime__error-members.html index 184be5c8..0f3b7208 100644 --- a/classwinstd_1_1num__runtime__error-members.html +++ b/classwinstd_1_1num__runtime__error-members.html @@ -88,7 +88,7 @@ $(function() { diff --git a/classwinstd_1_1num__runtime__error.html b/classwinstd_1_1num__runtime__error.html index 540baef6..228de277 100644 --- a/classwinstd_1_1num__runtime__error.html +++ b/classwinstd_1_1num__runtime__error.html @@ -225,7 +225,7 @@ template<typename _Tn > diff --git a/classwinstd_1_1process__information-members.html b/classwinstd_1_1process__information-members.html index b554caa4..2299fcbb 100644 --- a/classwinstd_1_1process__information-members.html +++ b/classwinstd_1_1process__information-members.html @@ -85,7 +85,7 @@ $(function() { diff --git a/classwinstd_1_1process__information.html b/classwinstd_1_1process__information.html index 448f9f7e..1ef1fae9 100644 --- a/classwinstd_1_1process__information.html +++ b/classwinstd_1_1process__information.html @@ -111,7 +111,7 @@ Public Member Functions diff --git a/classwinstd_1_1ref__unique__ptr-members.html b/classwinstd_1_1ref__unique__ptr-members.html index 46278fc3..c17a904b 100644 --- a/classwinstd_1_1ref__unique__ptr-members.html +++ b/classwinstd_1_1ref__unique__ptr-members.html @@ -90,7 +90,7 @@ $(function() { diff --git a/classwinstd_1_1ref__unique__ptr.html b/classwinstd_1_1ref__unique__ptr.html index 3f2a0ce7..6e2fc73f 100644 --- a/classwinstd_1_1ref__unique__ptr.html +++ b/classwinstd_1_1ref__unique__ptr.html @@ -260,7 +260,7 @@ template<class _Ty , class _Dx > diff --git a/classwinstd_1_1ref__unique__ptr_3_01___ty_0f_0e_00_01___dx_01_4-members.html b/classwinstd_1_1ref__unique__ptr_3_01___ty_0f_0e_00_01___dx_01_4-members.html index 563107ea..151f23bc 100644 --- a/classwinstd_1_1ref__unique__ptr_3_01___ty_0f_0e_00_01___dx_01_4-members.html +++ b/classwinstd_1_1ref__unique__ptr_3_01___ty_0f_0e_00_01___dx_01_4-members.html @@ -90,7 +90,7 @@ $(function() { diff --git a/classwinstd_1_1ref__unique__ptr_3_01___ty_0f_0e_00_01___dx_01_4.html b/classwinstd_1_1ref__unique__ptr_3_01___ty_0f_0e_00_01___dx_01_4.html index 11513936..b05dbf3a 100644 --- a/classwinstd_1_1ref__unique__ptr_3_01___ty_0f_0e_00_01___dx_01_4.html +++ b/classwinstd_1_1ref__unique__ptr_3_01___ty_0f_0e_00_01___dx_01_4.html @@ -260,7 +260,7 @@ template<class _Ty , class _Dx > diff --git a/classwinstd_1_1reg__key-members.html b/classwinstd_1_1reg__key-members.html index 1b0f1625..3fef97de 100644 --- a/classwinstd_1_1reg__key-members.html +++ b/classwinstd_1_1reg__key-members.html @@ -108,7 +108,7 @@ $(function() { diff --git a/classwinstd_1_1reg__key.html b/classwinstd_1_1reg__key.html index bad80596..49f6fdf2 100644 --- a/classwinstd_1_1reg__key.html +++ b/classwinstd_1_1reg__key.html @@ -302,7 +302,7 @@ static const HKEY invalid< diff --git a/classwinstd_1_1safearray-members.html b/classwinstd_1_1safearray-members.html new file mode 100644 index 00000000..a6f781ff --- /dev/null +++ b/classwinstd_1_1safearray-members.html @@ -0,0 +1,122 @@ + + + + + + + +WinStd: Member List + + + + + + + + + +
+
+ + + + + + +
+
WinStd +
+
Windows Win32 API using Standard C++
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
winstd::safearray Member List
+
+
+ +

This is the complete list of members for winstd::safearray, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
attach(handle_type h) noexceptwinstd::handle< T, INVAL >inline
attach_duplicated(handle_type h)winstd::dplhandle< SAFEARRAY *, NULL >inline
detach()winstd::handle< T, INVAL >inline
dplhandle() noexceptwinstd::dplhandle< SAFEARRAY *, NULL >inline
dplhandle(handle_type h) noexceptwinstd::dplhandle< SAFEARRAY *, NULL >inline
dplhandle(const dplhandle< handle_type, INVAL > &h)winstd::dplhandle< SAFEARRAY *, NULL >inline
dplhandle(dplhandle< handle_type, INVAL > &&h) noexceptwinstd::dplhandle< SAFEARRAY *, NULL >inline
duplicate() constwinstd::dplhandle< SAFEARRAY *, NULL >inline
duplicate_internal(handle_type h) const overridewinstd::safearrayinlineprotectedvirtual
free()winstd::handle< T, INVAL >inline
free_internal() noexcept overridewinstd::safearrayinlineprotectedvirtual
handle() noexceptwinstd::handle< T, INVAL >inline
handle(handle_type h) noexceptwinstd::handle< T, INVAL >inline
handle(handle< handle_type, INVAL > &&h) noexceptwinstd::handle< T, INVAL >inline
handle_type typedefwinstd::handle< T, INVAL >
invalidwinstd::handle< T, INVAL >static
m_hwinstd::handle< T, INVAL >protected
operator handle_type() constwinstd::handle< T, INVAL >inline
operator!() constwinstd::handle< T, INVAL >inline
operator!=(handle_type h) constwinstd::handle< T, INVAL >inline
operator&()winstd::handle< T, INVAL >inline
operator*() constwinstd::handle< T, INVAL >inline
operator->() constwinstd::handle< T, INVAL >inline
operator<(handle_type h) constwinstd::handle< T, INVAL >inline
operator<=(handle_type h) constwinstd::handle< T, INVAL >inline
operator=(handle_type h) noexceptwinstd::dplhandle< SAFEARRAY *, NULL >inline
operator=(const dplhandle< handle_type, INVAL > &h) noexceptwinstd::dplhandle< SAFEARRAY *, NULL >inline
operator=(dplhandle< handle_type, INVAL > &&h) noexceptwinstd::dplhandle< SAFEARRAY *, NULL >inline
winstd::handle::operator=(handle< handle_type, INVAL > &&h) noexceptwinstd::handle< T, INVAL >inline
operator==(handle_type h) constwinstd::handle< T, INVAL >inline
operator>(handle_type h) constwinstd::handle< T, INVAL >inline
operator>=(handle_type h) constwinstd::handle< T, INVAL >inline
~safearray()winstd::safearrayinlinevirtual
+ + + + diff --git a/classwinstd_1_1safearray.html b/classwinstd_1_1safearray.html new file mode 100644 index 00000000..1f8d2c4b --- /dev/null +++ b/classwinstd_1_1safearray.html @@ -0,0 +1,337 @@ + + + + + + + +WinStd: winstd::safearray Class Reference + + + + + + + + + +
+
+ + + + + + +
+
WinStd +
+
Windows Win32 API using Standard C++
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+ +
+ +

SAFEARRAY string wrapper. + More...

+ +

#include <WinStd/COM.h>

+
+Inheritance diagram for winstd::safearray:
+
+
+ + +winstd::dplhandle< SAFEARRAY *, NULL > +winstd::handle< T, INVAL > + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

virtual ~safearray ()
 Destroys the array.
 
- Public Member Functions inherited from winstd::dplhandle< SAFEARRAY *, NULL >
dplhandle () noexcept
 Initializes a new class instance with the object handle set to INVAL.
 
 dplhandle (handle_type h) noexcept
 Initializes a new class instance with an already available object handle.
 
 dplhandle (const dplhandle< handle_type, INVAL > &h)
 Copy constructor.
 
 dplhandle (dplhandle< handle_type, INVAL > &&h) noexcept
 Move constructor.
 
dplhandle< handle_type, INVAL > & operator= (handle_type h) noexcept
 Attaches already available object handle.
 
dplhandle< handle_type, INVAL > & operator= (const dplhandle< handle_type, INVAL > &h) noexcept
 Duplicates the object.
 
dplhandle< handle_type, INVAL > & operator= (dplhandle< handle_type, INVAL > &&h) noexcept
 Moves the object.
 
handle_type duplicate () const
 Duplicates and returns a new object handle.
 
void attach_duplicated (handle_type h)
 Duplicates an object handle and sets a new object handle.
 
- Public Member Functions inherited from winstd::handle< T, INVAL >
handle () noexcept
 Initializes a new class instance with the object handle set to INVAL.
 
 handle (handle_type h) noexcept
 Initializes a new class instance with an already available object handle.
 
 handle (handle< handle_type, INVAL > &&h) noexcept
 Move constructor.
 
handle< handle_type, INVAL > & operator= (handle_type h) noexcept
 Attaches already available object handle.
 
handle< handle_type, INVAL > & operator= (handle< handle_type, INVAL > &&h) noexcept
 Move assignment.
 
 operator handle_type () const
 Auto-typecasting operator.
 
handle_type *& operator* () const
 Returns the object handle value when the object handle is a pointer to a value (class, struct, etc.).
 
handle_typeoperator& ()
 Returns the object handle reference.
 
handle_type operator-> () const
 Provides object handle member access when the object handle is a pointer to a class or struct.
 
bool operator! () const
 Tests if the object handle is invalid.
 
bool operator< (handle_type h) const
 Is handle less than?
 
bool operator<= (handle_type h) const
 Is handle less than or equal to?
 
bool operator>= (handle_type h) const
 Is handle greater than or equal to?
 
bool operator> (handle_type h) const
 Is handle greater than?
 
bool operator!= (handle_type h) const
 Is handle not equal to?
 
bool operator== (handle_type h) const
 Is handle equal to?
 
void attach (handle_type h) noexcept
 Sets a new object handle for the class.
 
handle_type detach ()
 Dismisses the object handle from this class.
 
+void free ()
 Destroys the object.
 
+ + + + + + + + + + + + + +

+Protected Member Functions

void free_internal () noexcept override
 Destroys the array.
 
handle_type duplicate_internal (handle_type h) const override
 Duplicates the array.
 
virtual handle_type duplicate_internal (handle_type h) const=0
 Abstract member function that must be implemented by child classes to do the actual object handle duplication. On failure, it should throw appropriate exception describing the cause, rather than return an invalid handle.
 
virtual void free_internal () noexcept=0
 Abstract member function that must be implemented by child classes to do the actual object destruction.
 
+ + + + + + + + + + + + + +

+Additional Inherited Members

- Public Types inherited from winstd::handle< T, INVAL >
+typedef T handle_type
 Datatype of the object handle this template class handles.
 
- Static Public Attributes inherited from winstd::handle< T, INVAL >
+static const T invalid = INVAL
 Invalid handle value.
 
- Protected Attributes inherited from winstd::handle< T, INVAL >
+handle_type m_h
 Object handle.
 
+

Detailed Description

+

SAFEARRAY string wrapper.

+

Constructor & Destructor Documentation

+ +

◆ ~safearray()

+ +
+
+ + + + + +
+ + + + + + + +
virtual winstd::safearray::~safearray ()
+
+inlinevirtual
+
+ +

Destroys the array.

+
See also
SafeArrayDestroy function
+ +
+
+

Member Function Documentation

+ +

◆ duplicate_internal()

+ +
+
+ + + + + +
+ + + + + + + + +
handle_type winstd::safearray::duplicate_internal (handle_type h) const
+
+inlineoverrideprotectedvirtual
+
+ +

Duplicates the array.

+
Parameters
+ + +
[in]hExisting array
+
+
+
Returns
Duplicated array
+
See also
SysAllocString function
+ +

Implements winstd::dplhandle< SAFEARRAY *, NULL >.

+ +
+
+ +

◆ free_internal()

+ +
+
+ + + + + +
+ + + + + + + +
void winstd::safearray::free_internal ()
+
+inlineoverrideprotectedvirtualnoexcept
+
+ +

Destroys the array.

+
See also
SafeArrayDestroy function
+ +

Implements winstd::handle< T, INVAL >.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classwinstd_1_1safearray.png b/classwinstd_1_1safearray.png new file mode 100644 index 00000000..7b58700d Binary files /dev/null and b/classwinstd_1_1safearray.png differ diff --git a/classwinstd_1_1safearray__accessor-members.html b/classwinstd_1_1safearray__accessor-members.html new file mode 100644 index 00000000..9df545f5 --- /dev/null +++ b/classwinstd_1_1safearray__accessor-members.html @@ -0,0 +1,94 @@ + + + + + + + +WinStd: Member List + + + + + + + + + +
+
+ + + + + + +
+
WinStd +
+
Windows Win32 API using Standard C++
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
winstd::safearray_accessor< T > Member List
+
+
+ +

This is the complete list of members for winstd::safearray_accessor< T >, including all inherited members.

+ + + + + + +
data() const noexceptwinstd::safearray_accessor< T >inline
m_datawinstd::safearray_accessor< T >protected
m_sawinstd::safearray_accessor< T >protected
safearray_accessor(SAFEARRAY *psa)winstd::safearray_accessor< T >inline
~safearray_accessor()winstd::safearray_accessor< T >inlinevirtual
+ + + + diff --git a/classwinstd_1_1safearray__accessor.html b/classwinstd_1_1safearray__accessor.html new file mode 100644 index 00000000..0b807f42 --- /dev/null +++ b/classwinstd_1_1safearray__accessor.html @@ -0,0 +1,188 @@ + + + + + + + +WinStd: winstd::safearray_accessor< T > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
WinStd +
+
Windows Win32 API using Standard C++
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
winstd::safearray_accessor< T > Class Template Reference
+
+
+ +

Context scope automatic SAFEARRAY (un)access. + More...

+ +

#include <WinStd/COM.h>

+ + + + + + + + + + + +

+Public Member Functions

 safearray_accessor (SAFEARRAY *psa)
 Increments the lock count of an array, and retrieves a pointer to the array data.
 
virtual ~safearray_accessor ()
 Decrements the lock count of an array.
 
+T HUGEP * data () const noexcept
 Return SAFEARRAY data pointer.
 
+ + + + + + + +

+Protected Attributes

+SAFEARRAY * m_sa
 SAFEARRAY.
 
+T HUGEP * m_data
 SAFEARRAY data.
 
+

Detailed Description

+
template<class T>
+class winstd::safearray_accessor< T >

Context scope automatic SAFEARRAY (un)access.

+

Constructor & Destructor Documentation

+ +

◆ safearray_accessor()

+ +
+
+
+template<class T >
+ + + + + +
+ + + + + + + + +
winstd::safearray_accessor< T >::safearray_accessor (SAFEARRAY * psa)
+
+inline
+
+ +

Increments the lock count of an array, and retrieves a pointer to the array data.

+
See also
SafeArrayAccessData function
+ +
+
+ +

◆ ~safearray_accessor()

+ +
+
+
+template<class T >
+ + + + + +
+ + + + + + + +
virtual winstd::safearray_accessor< T >::~safearray_accessor ()
+
+inlinevirtual
+
+ +

Decrements the lock count of an array.

+
See also
CoUninitialize function
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classwinstd_1_1sanitizing__allocator-members.html b/classwinstd_1_1sanitizing__allocator-members.html index a1984f23..a543061c 100644 --- a/classwinstd_1_1sanitizing__allocator-members.html +++ b/classwinstd_1_1sanitizing__allocator-members.html @@ -88,7 +88,7 @@ $(function() { diff --git a/classwinstd_1_1sanitizing__allocator.html b/classwinstd_1_1sanitizing__allocator.html index 76fa873c..03fa16b3 100644 --- a/classwinstd_1_1sanitizing__allocator.html +++ b/classwinstd_1_1sanitizing__allocator.html @@ -137,7 +137,7 @@ class winstd::sanitizing_allocator< _Ty >

An allocator template th

diff --git a/classwinstd_1_1sanitizing__blob-members.html b/classwinstd_1_1sanitizing__blob-members.html index fb6e3757..9a6476fd 100644 --- a/classwinstd_1_1sanitizing__blob-members.html +++ b/classwinstd_1_1sanitizing__blob-members.html @@ -86,7 +86,7 @@ $(function() { diff --git a/classwinstd_1_1sanitizing__blob.html b/classwinstd_1_1sanitizing__blob.html index 17031870..7f1b7d97 100644 --- a/classwinstd_1_1sanitizing__blob.html +++ b/classwinstd_1_1sanitizing__blob.html @@ -114,7 +114,7 @@ class winstd::sanitizing_blob< N >

Sanitizing BLOB.

diff --git a/classwinstd_1_1sc__handle-members.html b/classwinstd_1_1sc__handle-members.html index 5fb0516f..c88eedae 100644 --- a/classwinstd_1_1sc__handle-members.html +++ b/classwinstd_1_1sc__handle-members.html @@ -107,7 +107,7 @@ $(function() { diff --git a/classwinstd_1_1sc__handle.html b/classwinstd_1_1sc__handle.html index 14a46008..9b2d472f 100644 --- a/classwinstd_1_1sc__handle.html +++ b/classwinstd_1_1sc__handle.html @@ -257,7 +257,7 @@ static const SC_HANDLE inv diff --git a/classwinstd_1_1sec__buffer__desc-members.html b/classwinstd_1_1sec__buffer__desc-members.html index 59743a36..791a97ad 100644 --- a/classwinstd_1_1sec__buffer__desc-members.html +++ b/classwinstd_1_1sec__buffer__desc-members.html @@ -85,7 +85,7 @@ $(function() { diff --git a/classwinstd_1_1sec__buffer__desc.html b/classwinstd_1_1sec__buffer__desc.html index 4b249ec5..3823c828 100644 --- a/classwinstd_1_1sec__buffer__desc.html +++ b/classwinstd_1_1sec__buffer__desc.html @@ -139,7 +139,7 @@ Public Member Functions diff --git a/classwinstd_1_1sec__context-members.html b/classwinstd_1_1sec__context-members.html index 147e20e5..1d4b08fe 100644 --- a/classwinstd_1_1sec__context-members.html +++ b/classwinstd_1_1sec__context-members.html @@ -114,7 +114,7 @@ $(function() { diff --git a/classwinstd_1_1sec__context.html b/classwinstd_1_1sec__context.html index 1104c695..e1a0bb68 100644 --- a/classwinstd_1_1sec__context.html +++ b/classwinstd_1_1sec__context.html @@ -489,7 +489,7 @@ static const PCtxtHandle i diff --git a/classwinstd_1_1sec__credentials-members.html b/classwinstd_1_1sec__credentials-members.html index 0e422f2e..e26a556b 100644 --- a/classwinstd_1_1sec__credentials-members.html +++ b/classwinstd_1_1sec__credentials-members.html @@ -113,7 +113,7 @@ $(function() { diff --git a/classwinstd_1_1sec__credentials.html b/classwinstd_1_1sec__credentials.html index da296227..7982337f 100644 --- a/classwinstd_1_1sec__credentials.html +++ b/classwinstd_1_1sec__credentials.html @@ -468,7 +468,7 @@ static const PCredHandle i diff --git a/classwinstd_1_1sec__runtime__error-members.html b/classwinstd_1_1sec__runtime__error-members.html index 87c111f9..e136ca69 100644 --- a/classwinstd_1_1sec__runtime__error-members.html +++ b/classwinstd_1_1sec__runtime__error-members.html @@ -91,7 +91,7 @@ $(function() { diff --git a/classwinstd_1_1sec__runtime__error.html b/classwinstd_1_1sec__runtime__error.html index 19c9f7a0..dbb7a456 100644 --- a/classwinstd_1_1sec__runtime__error.html +++ b/classwinstd_1_1sec__runtime__error.html @@ -265,7 +265,7 @@ typedef SECURITY_STATUS er diff --git a/classwinstd_1_1security__attributes-members.html b/classwinstd_1_1security__attributes-members.html index bb01c690..d6cf0687 100644 --- a/classwinstd_1_1security__attributes-members.html +++ b/classwinstd_1_1security__attributes-members.html @@ -87,7 +87,7 @@ $(function() { diff --git a/classwinstd_1_1security__attributes.html b/classwinstd_1_1security__attributes.html index d6a359b7..7c6dc72c 100644 --- a/classwinstd_1_1security__attributes.html +++ b/classwinstd_1_1security__attributes.html @@ -112,7 +112,7 @@ Public Member Functions diff --git a/classwinstd_1_1security__id-members.html b/classwinstd_1_1security__id-members.html index 7c3a1c2a..c79d2a79 100644 --- a/classwinstd_1_1security__id-members.html +++ b/classwinstd_1_1security__id-members.html @@ -107,7 +107,7 @@ $(function() { diff --git a/classwinstd_1_1security__id.html b/classwinstd_1_1security__id.html index 15a3b5c9..e025d54a 100644 --- a/classwinstd_1_1security__id.html +++ b/classwinstd_1_1security__id.html @@ -257,7 +257,7 @@ static const PSID invalid< diff --git a/classwinstd_1_1setup__device__info__list-members.html b/classwinstd_1_1setup__device__info__list-members.html index 70c0c0f6..ae938904 100644 --- a/classwinstd_1_1setup__device__info__list-members.html +++ b/classwinstd_1_1setup__device__info__list-members.html @@ -107,7 +107,7 @@ $(function() { diff --git a/classwinstd_1_1setup__device__info__list.html b/classwinstd_1_1setup__device__info__list.html index 25476021..9ca19ffa 100644 --- a/classwinstd_1_1setup__device__info__list.html +++ b/classwinstd_1_1setup__device__info__list.html @@ -260,7 +260,7 @@ static const HDEVINFO inva diff --git a/classwinstd_1_1setup__driver__info__list__builder-members.html b/classwinstd_1_1setup__driver__info__list__builder-members.html index dd7ee068..def3685c 100644 --- a/classwinstd_1_1setup__driver__info__list__builder-members.html +++ b/classwinstd_1_1setup__driver__info__list__builder-members.html @@ -86,7 +86,7 @@ $(function() { diff --git a/classwinstd_1_1setup__driver__info__list__builder.html b/classwinstd_1_1setup__driver__info__list__builder.html index 1daaa24a..b77988e7 100644 --- a/classwinstd_1_1setup__driver__info__list__builder.html +++ b/classwinstd_1_1setup__driver__info__list__builder.html @@ -209,7 +209,7 @@ Public Member Functions diff --git a/classwinstd_1_1string__guid-members.html b/classwinstd_1_1string__guid-members.html index 82330680..1ca5e50d 100644 --- a/classwinstd_1_1string__guid-members.html +++ b/classwinstd_1_1string__guid-members.html @@ -85,7 +85,7 @@ $(function() { diff --git a/classwinstd_1_1string__guid.html b/classwinstd_1_1string__guid.html index e775eb0f..b986d333 100644 --- a/classwinstd_1_1string__guid.html +++ b/classwinstd_1_1string__guid.html @@ -148,7 +148,7 @@ Public Member Functions diff --git a/classwinstd_1_1system__impersonator-members.html b/classwinstd_1_1system__impersonator-members.html index 06fd4df4..9777d83f 100644 --- a/classwinstd_1_1system__impersonator-members.html +++ b/classwinstd_1_1system__impersonator-members.html @@ -88,7 +88,7 @@ $(function() { diff --git a/classwinstd_1_1system__impersonator.html b/classwinstd_1_1system__impersonator.html index 1e71a2c6..a2188193 100644 --- a/classwinstd_1_1system__impersonator.html +++ b/classwinstd_1_1system__impersonator.html @@ -130,7 +130,7 @@ BOOL m_cookie diff --git a/classwinstd_1_1user__impersonator-members.html b/classwinstd_1_1user__impersonator-members.html index 374f1d17..0a29e610 100644 --- a/classwinstd_1_1user__impersonator-members.html +++ b/classwinstd_1_1user__impersonator-members.html @@ -88,7 +88,7 @@ $(function() { diff --git a/classwinstd_1_1user__impersonator.html b/classwinstd_1_1user__impersonator.html index 2f95054b..64974e63 100644 --- a/classwinstd_1_1user__impersonator.html +++ b/classwinstd_1_1user__impersonator.html @@ -165,7 +165,7 @@ BOOL m_cookie diff --git a/classwinstd_1_1variant-members.html b/classwinstd_1_1variant-members.html index 0d10432b..931c1fd1 100644 --- a/classwinstd_1_1variant-members.html +++ b/classwinstd_1_1variant-members.html @@ -114,7 +114,7 @@ $(function() { operator=(unsigned long long *pnSrc) noexceptwinstd::variantinline operator=(float *pfSrc) noexceptwinstd::variantinline operator=(double *pfSrc) noexceptwinstd::variantinline - operator=(const SAFEARRAY *pSrc) noexceptwinstd::variantinline + operator=(const SAFEARRAY *pSrc)winstd::variantinline operator==(const VARIANT &varSrc) const noexceptwinstd::variantinline operator>(const VARIANT &varSrc) const noexceptwinstd::variantinline operator>=(const VARIANT &varSrc) const noexceptwinstd::variantinline @@ -144,7 +144,7 @@ $(function() { diff --git a/classwinstd_1_1variant.html b/classwinstd_1_1variant.html index f6150e7c..f150e34c 100644 --- a/classwinstd_1_1variant.html +++ b/classwinstd_1_1variant.html @@ -306,10 +306,10 @@ virtual ~variant ()variant & operator= (double *pfSrc) noexcept  Copy from double reference.
  - -variantoperator= (const SAFEARRAY *pSrc) noexcept - Copy from SAFEARRAY.
-  + +variantoperator= (const SAFEARRAY *pSrc) + Copy from SAFEARRAY.
+  bool operator== (const VARIANT &varSrc) const noexcept  Is variant equal to?
  @@ -614,7 +614,7 @@ virtual ~variant () diff --git a/classwinstd_1_1vmemory-members.html b/classwinstd_1_1vmemory-members.html index 3ede94bc..33f52b4b 100644 --- a/classwinstd_1_1vmemory-members.html +++ b/classwinstd_1_1vmemory-members.html @@ -114,7 +114,7 @@ $(function() { diff --git a/classwinstd_1_1vmemory.html b/classwinstd_1_1vmemory.html index 9debdf7b..cdb0caa3 100644 --- a/classwinstd_1_1vmemory.html +++ b/classwinstd_1_1vmemory.html @@ -505,7 +505,7 @@ static const LPVOID invali diff --git a/classwinstd_1_1waddrinfo-members.html b/classwinstd_1_1waddrinfo-members.html index c33e2a9f..2642f415 100644 --- a/classwinstd_1_1waddrinfo-members.html +++ b/classwinstd_1_1waddrinfo-members.html @@ -107,7 +107,7 @@ $(function() { diff --git a/classwinstd_1_1waddrinfo.html b/classwinstd_1_1waddrinfo.html index 92bc2759..34bc7e8d 100644 --- a/classwinstd_1_1waddrinfo.html +++ b/classwinstd_1_1waddrinfo.html @@ -258,7 +258,7 @@ static const PADDRINFOW in diff --git a/classwinstd_1_1win__handle-members.html b/classwinstd_1_1win__handle-members.html index bfcc1a3d..d49774ca 100644 --- a/classwinstd_1_1win__handle-members.html +++ b/classwinstd_1_1win__handle-members.html @@ -107,7 +107,7 @@ $(function() { diff --git a/classwinstd_1_1win__handle.html b/classwinstd_1_1win__handle.html index 2e296d59..4b518c2f 100644 --- a/classwinstd_1_1win__handle.html +++ b/classwinstd_1_1win__handle.html @@ -262,7 +262,7 @@ template<HANDLE INVALID> diff --git a/classwinstd_1_1win__runtime__error-members.html b/classwinstd_1_1win__runtime__error-members.html index 6e4c8301..e072a9ef 100644 --- a/classwinstd_1_1win__runtime__error-members.html +++ b/classwinstd_1_1win__runtime__error-members.html @@ -93,7 +93,7 @@ $(function() { diff --git a/classwinstd_1_1win__runtime__error.html b/classwinstd_1_1win__runtime__error.html index b77e08ea..c446e1f6 100644 --- a/classwinstd_1_1win__runtime__error.html +++ b/classwinstd_1_1win__runtime__error.html @@ -335,7 +335,7 @@ typedef DWORD error_type diff --git a/classwinstd_1_1window__dc-members.html b/classwinstd_1_1window__dc-members.html index 39f49950..fdc8e4a2 100644 --- a/classwinstd_1_1window__dc-members.html +++ b/classwinstd_1_1window__dc-members.html @@ -112,7 +112,7 @@ $(function() { diff --git a/classwinstd_1_1window__dc.html b/classwinstd_1_1window__dc.html index b4e1d05c..5e414058 100644 --- a/classwinstd_1_1window__dc.html +++ b/classwinstd_1_1window__dc.html @@ -281,7 +281,7 @@ static const HDC invalid diff --git a/classwinstd_1_1wintrust-members.html b/classwinstd_1_1wintrust-members.html index db009ce7..7a9dc0e8 100644 --- a/classwinstd_1_1wintrust-members.html +++ b/classwinstd_1_1wintrust-members.html @@ -85,7 +85,7 @@ $(function() { diff --git a/classwinstd_1_1wintrust.html b/classwinstd_1_1wintrust.html index b022c93a..b7578bfa 100644 --- a/classwinstd_1_1wintrust.html +++ b/classwinstd_1_1wintrust.html @@ -105,7 +105,7 @@ virtual ~wintrust () diff --git a/classwinstd_1_1wlan__handle-members.html b/classwinstd_1_1wlan__handle-members.html index 3f81dca0..82c0bcfb 100644 --- a/classwinstd_1_1wlan__handle-members.html +++ b/classwinstd_1_1wlan__handle-members.html @@ -107,7 +107,7 @@ $(function() { diff --git a/classwinstd_1_1wlan__handle.html b/classwinstd_1_1wlan__handle.html index 04c6f0e5..d97ecafe 100644 --- a/classwinstd_1_1wlan__handle.html +++ b/classwinstd_1_1wlan__handle.html @@ -258,7 +258,7 @@ static const HANDLE invali diff --git a/classwinstd_1_1ws2__runtime__error-members.html b/classwinstd_1_1ws2__runtime__error-members.html index 6ea78a92..7c4ef038 100644 --- a/classwinstd_1_1ws2__runtime__error-members.html +++ b/classwinstd_1_1ws2__runtime__error-members.html @@ -93,7 +93,7 @@ $(function() { diff --git a/classwinstd_1_1ws2__runtime__error.html b/classwinstd_1_1ws2__runtime__error.html index 48eebd1c..bccebfec 100644 --- a/classwinstd_1_1ws2__runtime__error.html +++ b/classwinstd_1_1ws2__runtime__error.html @@ -334,7 +334,7 @@ typedef int error_type diff --git a/classwinstd_1_1wstring__guid-members.html b/classwinstd_1_1wstring__guid-members.html index ffbfa1ab..0f1fe018 100644 --- a/classwinstd_1_1wstring__guid-members.html +++ b/classwinstd_1_1wstring__guid-members.html @@ -85,7 +85,7 @@ $(function() { diff --git a/classwinstd_1_1wstring__guid.html b/classwinstd_1_1wstring__guid.html index 1cb273f7..8d607457 100644 --- a/classwinstd_1_1wstring__guid.html +++ b/classwinstd_1_1wstring__guid.html @@ -148,7 +148,7 @@ Public Member Functions diff --git a/dir_4be4f7b278e009bf0f1906cf31fb73bd.html b/dir_4be4f7b278e009bf0f1906cf31fb73bd.html index b7c45f69..d26d2ef9 100644 --- a/dir_4be4f7b278e009bf0f1906cf31fb73bd.html +++ b/dir_4be4f7b278e009bf0f1906cf31fb73bd.html @@ -86,7 +86,7 @@ Files diff --git a/dir_6f50bb204833d887b928571856c82fbe.html b/dir_6f50bb204833d887b928571856c82fbe.html index 7a65ee1d..602d7648 100644 --- a/dir_6f50bb204833d887b928571856c82fbe.html +++ b/dir_6f50bb204833d887b928571856c82fbe.html @@ -116,7 +116,7 @@ Files diff --git a/dir_d44c64559bbebec7f509842c48db8b23.html b/dir_d44c64559bbebec7f509842c48db8b23.html index ba32f043..08949aca 100644 --- a/dir_d44c64559bbebec7f509842c48db8b23.html +++ b/dir_d44c64559bbebec7f509842c48db8b23.html @@ -86,7 +86,7 @@ Directories diff --git a/files.html b/files.html index d805e834..38fc652f 100644 --- a/files.html +++ b/files.html @@ -100,7 +100,7 @@ $(function() { diff --git a/functions.html b/functions.html index d0fa92ce..850a0963 100644 --- a/functions.html +++ b/functions.html @@ -79,7 +79,7 @@ $(function() { diff --git a/functions_a.html b/functions_a.html index c03d44cf..c8932808 100644 --- a/functions_a.html +++ b/functions_a.html @@ -78,12 +78,12 @@ $(function() {
  • alloc() : winstd::vmemory
  • allocate() : winstd::heap_allocator< _Ty >
  • attach() : winstd::event_session, winstd::handle< T, INVAL >, winstd::vmemory
  • -
  • attach_duplicated() : winstd::dplhandle< T, INVAL >
  • +
  • attach_duplicated() : winstd::dplhandle< T, INVAL >
  • diff --git a/functions_b.html b/functions_b.html index 45b08ee0..fcaa128c 100644 --- a/functions_b.html +++ b/functions_b.html @@ -76,12 +76,12 @@ $(function() {
  • basic_string_guid() : winstd::basic_string_guid< _Elem, _Traits, _Ax >
  • basic_string_msg() : winstd::basic_string_msg< _Elem, _Traits, _Ax >
  • basic_string_printf() : winstd::basic_string_printf< _Elem, _Traits, _Ax >
  • -
  • bstr() : winstd::bstr
  • +
  • bstr() : winstd::bstr
  • diff --git a/functions_c.html b/functions_c.html index 729b57c3..80db1da8 100644 --- a/functions_c.html +++ b/functions_c.html @@ -75,12 +75,12 @@ $(function() {

    - c -

    diff --git a/functions_func_b.html b/functions_func_b.html index ed4dbec8..346cdc27 100644 --- a/functions_func_b.html +++ b/functions_func_b.html @@ -76,12 +76,12 @@ $(function() {
  • basic_string_guid() : winstd::basic_string_guid< _Elem, _Traits, _Ax >
  • basic_string_msg() : winstd::basic_string_msg< _Elem, _Traits, _Ax >
  • basic_string_printf() : winstd::basic_string_printf< _Elem, _Traits, _Ax >
  • -
  • bstr() : winstd::bstr
  • +
  • bstr() : winstd::bstr
  • diff --git a/functions_func_c.html b/functions_func_c.html index 5b1c5aaa..a9a878e7 100644 --- a/functions_func_c.html +++ b/functions_func_c.html @@ -75,10 +75,10 @@ $(function() {

    - c -

    • change_type() : winstd::variant
    • com_initializer() : winstd::com_initializer
    • -
    • com_obj() : winstd::com_obj< T >
    • +
    • com_obj() : winstd::com_obj< T >
    • com_runtime_error() : winstd::com_runtime_error
    • console_ctrl_handler() : winstd::console_ctrl_handler
    • -
    • construct() : winstd::heap_allocator< _Ty >
    • +
    • construct() : winstd::heap_allocator< _Ty >
    • CoTaskMemFree_delete() : winstd::CoTaskMemFree_delete
    • create() : winstd::eap_packet, winstd::event_provider, winstd::event_session
    • create_exp1() : winstd::crypt_key
    • @@ -89,7 +89,7 @@ $(function() { diff --git a/functions_func_d.html b/functions_func_d.html index e0b2f2d3..4401adf1 100644 --- a/functions_func_d.html +++ b/functions_func_d.html @@ -73,7 +73,7 @@ $(function() {  

      - d -

      diff --git a/functions_func_e.html b/functions_func_e.html index 67b89bac..0d07faf0 100644 --- a/functions_func_e.html +++ b/functions_func_e.html @@ -94,7 +94,7 @@ $(function() { diff --git a/functions_func_f.html b/functions_func_f.html index dde9fd06..df213dcc 100644 --- a/functions_func_f.html +++ b/functions_func_f.html @@ -74,12 +74,12 @@ $(function() {

      - f -

      diff --git a/functions_func_g.html b/functions_func_g.html new file mode 100644 index 00000000..04c4b351 --- /dev/null +++ b/functions_func_g.html @@ -0,0 +1,85 @@ + + + + + + + +WinStd: Class Members - Functions + + + + + + + + + +
      +
      + + + + + + +
      +
      WinStd +
      +
      Windows Win32 API using Standard C++
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      +
      +
      +
      +
      +
      Loading...
      +
      Searching...
      +
      No Matches
      +
      +
      +
      +
      + +
      +  + +

      - g -

      +
      + + + + diff --git a/functions_func_h.html b/functions_func_h.html index fc907012..ec74e579 100644 --- a/functions_func_h.html +++ b/functions_func_h.html @@ -80,7 +80,7 @@ $(function() { diff --git a/functions_func_i.html b/functions_func_i.html index 3d8f9202..df32bf15 100644 --- a/functions_func_i.html +++ b/functions_func_i.html @@ -79,7 +79,7 @@ $(function() { diff --git a/functions_func_l.html b/functions_func_l.html index 9af51536..42050d48 100644 --- a/functions_func_l.html +++ b/functions_func_l.html @@ -79,7 +79,7 @@ $(function() { diff --git a/functions_func_m.html b/functions_func_m.html index ddb123f7..955685ed 100644 --- a/functions_func_m.html +++ b/functions_func_m.html @@ -79,7 +79,7 @@ $(function() { diff --git a/functions_func_n.html b/functions_func_n.html index 58494632..07e802a1 100644 --- a/functions_func_n.html +++ b/functions_func_n.html @@ -80,7 +80,7 @@ $(function() { diff --git a/functions_func_o.html b/functions_func_o.html index 606e966e..dabbed13 100644 --- a/functions_func_o.html +++ b/functions_func_o.html @@ -82,12 +82,12 @@ $(function() {
    • operator!() : winstd::handle< T, INVAL >
    • operator!=() : winstd::cert_context, winstd::handle< T, INVAL >, winstd::variant
    • operator&() : winstd::handle< T, INVAL >
    • -
    • operator()() : winstd::CoTaskMemFree_delete, winstd::CredFree_delete< _Ty >, winstd::CredFree_delete< _Ty[]>, winstd::EapHostPeerFreeEapError_delete, winstd::EapHostPeerFreeErrorMemory_delete, winstd::EapHostPeerFreeMemory_delete, winstd::EapHostPeerFreeRuntimeMemory_delete, winstd::LocalFree_delete< _Ty >, winstd::LocalFree_delete< _Ty[]>, winstd::UnmapViewOfFile_delete< _Ty >, winstd::UnmapViewOfFile_delete< _Ty[]>, winstd::WlanFreeMemory_delete< _Ty >, winstd::WlanFreeMemory_delete< _Ty[]>
    • +
    • operator()() : winstd::CoTaskMemFree_delete, winstd::CredFree_delete< _Ty >, winstd::CredFree_delete< _Ty[]>, winstd::EapHostPeerFreeEapError_delete, winstd::EapHostPeerFreeErrorMemory_delete, winstd::EapHostPeerFreeMemory_delete, winstd::EapHostPeerFreeRuntimeMemory_delete, winstd::GlobalFree_delete, winstd::LocalFree_delete< _Ty >, winstd::LocalFree_delete< _Ty[]>, winstd::UnmapViewOfFile_delete< _Ty >, winstd::UnmapViewOfFile_delete< _Ty[]>, winstd::WlanFreeMemory_delete< _Ty >, winstd::WlanFreeMemory_delete< _Ty[]>
    • operator*() : winstd::handle< T, INVAL >
    • operator->() : winstd::handle< T, INVAL >
    • operator<() : winstd::cert_context, winstd::handle< T, INVAL >, winstd::variant
    • operator<=() : winstd::cert_context, winstd::handle< T, INVAL >, winstd::variant
    • -
    • operator=() : winstd::data_blob, winstd::dplhandle< T, INVAL >, winstd::eap_attr, winstd::eap_method_info_array, winstd::event_fn_auto, winstd::event_fn_auto_ret< T >, winstd::event_rec, winstd::event_session, winstd::handle< T, INVAL >, winstd::sec_context, winstd::sec_credentials, winstd::security_attributes, winstd::variant, winstd::vmemory, winstd::window_dc
    • +
    • operator=() : winstd::data_blob, winstd::dplhandle< T, INVAL >, winstd::eap_attr, winstd::eap_method_info_array, winstd::event_fn_auto, winstd::event_fn_auto_ret< T >, winstd::event_rec, winstd::event_session, winstd::handle< T, INVAL >, winstd::sec_context, winstd::sec_credentials, winstd::security_attributes, winstd::variant, winstd::vmemory, winstd::window_dc
    • operator==() : winstd::cert_context, winstd::handle< T, INVAL >, winstd::variant
    • operator>() : winstd::cert_context, winstd::handle< T, INVAL >, winstd::variant
    • operator>=() : winstd::cert_context, winstd::handle< T, INVAL >, winstd::variant
    • @@ -95,7 +95,7 @@ $(function() { diff --git a/functions_func_p.html b/functions_func_p.html index e297bf73..e5c03645 100644 --- a/functions_func_p.html +++ b/functions_func_p.html @@ -79,7 +79,7 @@ $(function() { diff --git a/functions_func_q.html b/functions_func_q.html index edd55bc7..ef334bff 100644 --- a/functions_func_q.html +++ b/functions_func_q.html @@ -78,7 +78,7 @@ $(function() { diff --git a/functions_func_r.html b/functions_func_r.html index 67fba297..f3bd43bd 100644 --- a/functions_func_r.html +++ b/functions_func_r.html @@ -83,7 +83,7 @@ $(function() { diff --git a/functions_func_s.html b/functions_func_s.html index 7b22eeb2..c873631c 100644 --- a/functions_func_s.html +++ b/functions_func_s.html @@ -73,13 +73,14 @@ $(function() {  

      - s -

        -
      • sanitizing_allocator() : winstd::sanitizing_allocator< _Ty >
      • +
      • safearray_accessor() : winstd::safearray_accessor< T >
      • +
      • sanitizing_allocator() : winstd::sanitizing_allocator< _Ty >
      • sanitizing_blob() : winstd::sanitizing_blob< N >
      • sec_buffer_desc() : winstd::sec_buffer_desc
      • sec_context() : winstd::sec_context
      • sec_credentials() : winstd::sec_credentials
      • sec_runtime_error() : winstd::sec_runtime_error
      • -
      • security_attributes() : winstd::security_attributes
      • +
      • security_attributes() : winstd::security_attributes
      • set_extended_data() : winstd::event_rec
      • set_extended_data_internal() : winstd::event_rec
      • set_user_data() : winstd::event_rec
      • @@ -93,7 +94,7 @@ $(function() { diff --git a/functions_func_t.html b/functions_func_t.html index 62b38505..852fec84 100644 --- a/functions_func_t.html +++ b/functions_func_t.html @@ -78,7 +78,7 @@ $(function() { diff --git a/functions_func_u.html b/functions_func_u.html index 9cfc46b8..6a855a7b 100644 --- a/functions_func_u.html +++ b/functions_func_u.html @@ -79,7 +79,7 @@ $(function() { diff --git a/functions_func_v.html b/functions_func_v.html index d0c9e50c..8514f2a1 100644 --- a/functions_func_v.html +++ b/functions_func_v.html @@ -79,7 +79,7 @@ $(function() { diff --git a/functions_func_w.html b/functions_func_w.html index 35c0492b..e238dc68 100644 --- a/functions_func_w.html +++ b/functions_func_w.html @@ -84,7 +84,7 @@ $(function() { diff --git a/functions_func_~.html b/functions_func_~.html index 279392df..ae50a7ff 100644 --- a/functions_func_~.html +++ b/functions_func_~.html @@ -102,12 +102,15 @@ $(function() {
      • ~event_trace_enabler() : winstd::event_trace_enabler
      • ~find_file() : winstd::find_file
      • ~gdi_handle() : winstd::gdi_handle< T >
      • +
      • ~globalmem_accessor() : winstd::globalmem_accessor< T >
      • ~heap() : winstd::heap
      • ~impersonator() : winstd::impersonator
      • ~library() : winstd::library
      • ~process_information() : winstd::process_information
      • ~ref_unique_ptr() : winstd::ref_unique_ptr< _Ty, _Dx >, winstd::ref_unique_ptr< _Ty[], _Dx >
      • ~reg_key() : winstd::reg_key
      • +
      • ~safearray() : winstd::safearray
      • +
      • ~safearray_accessor() : winstd::safearray_accessor< T >
      • ~sanitizing_blob() : winstd::sanitizing_blob< N >
      • ~sc_handle() : winstd::sc_handle
      • ~sec_buffer_desc() : winstd::sec_buffer_desc
      • @@ -128,7 +131,7 @@ $(function() { diff --git a/functions_g.html b/functions_g.html new file mode 100644 index 00000000..fab386ea --- /dev/null +++ b/functions_g.html @@ -0,0 +1,85 @@ + + + + + + + +WinStd: Class Members + + + + + + + + + +
        +
        + + + + + + +
        +
        WinStd +
        +
        Windows Win32 API using Standard C++
        +
        +
        + + + + + + + +
        + +
        +
        + + +
        +
        +
        +
        +
        +
        Loading...
        +
        Searching...
        +
        No Matches
        +
        +
        +
        +
        + +
        +
        Here is a list of all documented class members with links to the class documentation for each member:
        + +

        - g -

        +
        + + + + diff --git a/functions_h.html b/functions_h.html index 14f235bd..a67a9ca9 100644 --- a/functions_h.html +++ b/functions_h.html @@ -81,7 +81,7 @@ $(function() { diff --git a/functions_i.html b/functions_i.html index 500b55fb..41ab90db 100644 --- a/functions_i.html +++ b/functions_i.html @@ -80,7 +80,7 @@ $(function() { diff --git a/functions_l.html b/functions_l.html index 72e0e8f6..0417567e 100644 --- a/functions_l.html +++ b/functions_l.html @@ -79,7 +79,7 @@ $(function() { diff --git a/functions_m.html b/functions_m.html index 7d553a8c..fab19c6c 100644 --- a/functions_m.html +++ b/functions_m.html @@ -75,7 +75,7 @@ $(function() {

        - m -

        • m_attrib : winstd::sec_context
        • m_cookie : winstd::actctx_activator, winstd::console_ctrl_handler, winstd::impersonator
        • -
        • m_data : winstd::critical_section, winstd::sanitizing_blob< N >
        • +
        • m_data : winstd::critical_section, winstd::globalmem_accessor< T >, winstd::safearray_accessor< T >, winstd::sanitizing_blob< N >
        • m_desc : winstd::event_fn_auto_ret< T >
        • m_enable_filter_desc : winstd::event_trace_enabler
        • m_enable_property : winstd::event_trace_enabler
        • @@ -83,7 +83,7 @@ $(function() {
        • m_event_dest : winstd::event_fn_auto, winstd::event_fn_auto_ret< T >
        • m_expires : winstd::sec_context, winstd::sec_credentials
        • m_fn_name : winstd::event_fn_auto
        • -
        • m_h : winstd::handle< T, INVAL >
        • +
        • m_h : winstd::globalmem_accessor< T >, winstd::handle< T, INVAL >
        • m_handler : winstd::console_ctrl_handler
        • m_hdc : winstd::dc_selector
        • m_heap : winstd::heap_allocator< _Ty >
        • @@ -105,6 +105,7 @@ $(function() {
        • m_result : winstd::com_initializer, winstd::event_fn_auto_ret< T >
        • m_root_cause_desc : winstd::eap_runtime_error
        • m_root_cause_id : winstd::eap_runtime_error
        • +
        • m_sa : winstd::safearray_accessor< T >
        • m_source_id : winstd::event_trace_enabler
        • m_status : winstd::event_trace_enabler
        • m_trace_handle : winstd::event_trace_enabler
        • @@ -115,7 +116,7 @@ $(function() { diff --git a/functions_n.html b/functions_n.html index b6989edd..fc05e04e 100644 --- a/functions_n.html +++ b/functions_n.html @@ -80,7 +80,7 @@ $(function() { diff --git a/functions_o.html b/functions_o.html index 598aee6c..5972c80d 100644 --- a/functions_o.html +++ b/functions_o.html @@ -82,12 +82,12 @@ $(function() {
        • operator!() : winstd::handle< T, INVAL >
        • operator!=() : winstd::cert_context, winstd::handle< T, INVAL >, winstd::variant
        • operator&() : winstd::handle< T, INVAL >
        • -
        • operator()() : winstd::CoTaskMemFree_delete, winstd::CredFree_delete< _Ty >, winstd::CredFree_delete< _Ty[]>, winstd::EapHostPeerFreeEapError_delete, winstd::EapHostPeerFreeErrorMemory_delete, winstd::EapHostPeerFreeMemory_delete, winstd::EapHostPeerFreeRuntimeMemory_delete, winstd::LocalFree_delete< _Ty >, winstd::LocalFree_delete< _Ty[]>, winstd::UnmapViewOfFile_delete< _Ty >, winstd::UnmapViewOfFile_delete< _Ty[]>, winstd::WlanFreeMemory_delete< _Ty >, winstd::WlanFreeMemory_delete< _Ty[]>
        • +
        • operator()() : winstd::CoTaskMemFree_delete, winstd::CredFree_delete< _Ty >, winstd::CredFree_delete< _Ty[]>, winstd::EapHostPeerFreeEapError_delete, winstd::EapHostPeerFreeErrorMemory_delete, winstd::EapHostPeerFreeMemory_delete, winstd::EapHostPeerFreeRuntimeMemory_delete, winstd::GlobalFree_delete, winstd::LocalFree_delete< _Ty >, winstd::LocalFree_delete< _Ty[]>, winstd::UnmapViewOfFile_delete< _Ty >, winstd::UnmapViewOfFile_delete< _Ty[]>, winstd::WlanFreeMemory_delete< _Ty >, winstd::WlanFreeMemory_delete< _Ty[]>
        • operator*() : winstd::handle< T, INVAL >
        • operator->() : winstd::handle< T, INVAL >
        • operator<() : winstd::cert_context, winstd::handle< T, INVAL >, winstd::variant
        • operator<=() : winstd::cert_context, winstd::handle< T, INVAL >, winstd::variant
        • -
        • operator=() : winstd::data_blob, winstd::dplhandle< T, INVAL >, winstd::eap_attr, winstd::eap_method_info_array, winstd::event_fn_auto, winstd::event_fn_auto_ret< T >, winstd::event_rec, winstd::event_session, winstd::handle< T, INVAL >, winstd::sec_context, winstd::sec_credentials, winstd::security_attributes, winstd::variant, winstd::vmemory, winstd::window_dc
        • +
        • operator=() : winstd::data_blob, winstd::dplhandle< T, INVAL >, winstd::eap_attr, winstd::eap_method_info_array, winstd::event_fn_auto, winstd::event_fn_auto_ret< T >, winstd::event_rec, winstd::event_session, winstd::handle< T, INVAL >, winstd::sec_context, winstd::sec_credentials, winstd::security_attributes, winstd::variant, winstd::vmemory, winstd::window_dc
        • operator==() : winstd::cert_context, winstd::handle< T, INVAL >, winstd::variant
        • operator>() : winstd::cert_context, winstd::handle< T, INVAL >, winstd::variant
        • operator>=() : winstd::cert_context, winstd::handle< T, INVAL >, winstd::variant
        • @@ -96,7 +96,7 @@ $(function() { diff --git a/functions_p.html b/functions_p.html index ec0cf760..f2bb327b 100644 --- a/functions_p.html +++ b/functions_p.html @@ -80,7 +80,7 @@ $(function() { diff --git a/functions_q.html b/functions_q.html index d48a650c..aa901e05 100644 --- a/functions_q.html +++ b/functions_q.html @@ -78,7 +78,7 @@ $(function() { diff --git a/functions_r.html b/functions_r.html index 67abff8a..72691035 100644 --- a/functions_r.html +++ b/functions_r.html @@ -84,7 +84,7 @@ $(function() { diff --git a/functions_s.html b/functions_s.html index 5b133b39..4dcb0aee 100644 --- a/functions_s.html +++ b/functions_s.html @@ -73,7 +73,8 @@ $(function() {
          Here is a list of all documented class members with links to the class documentation for each member:

          - s -

            -
          • sanitizing_allocator() : winstd::sanitizing_allocator< _Ty >
          • +
          • safearray_accessor() : winstd::safearray_accessor< T >
          • +
          • sanitizing_allocator() : winstd::sanitizing_allocator< _Ty >
          • sanitizing_blob() : winstd::sanitizing_blob< N >
          • sec_buffer_desc() : winstd::sec_buffer_desc
          • sec_context() : winstd::sec_context
          • @@ -94,7 +95,7 @@ $(function() { diff --git a/functions_t.html b/functions_t.html index 49181263..0d076f4e 100644 --- a/functions_t.html +++ b/functions_t.html @@ -78,7 +78,7 @@ $(function() { diff --git a/functions_type.html b/functions_type.html index 51aa76c3..3806ae92 100644 --- a/functions_type.html +++ b/functions_type.html @@ -87,7 +87,7 @@ $(function() { diff --git a/functions_u.html b/functions_u.html index 43d63ab6..48bba594 100644 --- a/functions_u.html +++ b/functions_u.html @@ -79,7 +79,7 @@ $(function() { diff --git a/functions_v.html b/functions_v.html index cf4c5462..19206390 100644 --- a/functions_v.html +++ b/functions_v.html @@ -80,7 +80,7 @@ $(function() { diff --git a/functions_vars.html b/functions_vars.html index 57309eab..ee08d16d 100644 --- a/functions_vars.html +++ b/functions_vars.html @@ -80,7 +80,7 @@ $(function() {

            - m -

            • m_attrib : winstd::sec_context
            • m_cookie : winstd::actctx_activator, winstd::console_ctrl_handler, winstd::impersonator
            • -
            • m_data : winstd::critical_section, winstd::sanitizing_blob< N >
            • +
            • m_data : winstd::critical_section, winstd::globalmem_accessor< T >, winstd::safearray_accessor< T >, winstd::sanitizing_blob< N >
            • m_desc : winstd::event_fn_auto_ret< T >
            • m_enable_filter_desc : winstd::event_trace_enabler
            • m_enable_property : winstd::event_trace_enabler
            • @@ -88,7 +88,7 @@ $(function() {
            • m_event_dest : winstd::event_fn_auto, winstd::event_fn_auto_ret< T >
            • m_expires : winstd::sec_context, winstd::sec_credentials
            • m_fn_name : winstd::event_fn_auto
            • -
            • m_h : winstd::handle< T, INVAL >
            • +
            • m_h : winstd::globalmem_accessor< T >, winstd::handle< T, INVAL >
            • m_handler : winstd::console_ctrl_handler
            • m_hdc : winstd::dc_selector
            • m_heap : winstd::heap_allocator< _Ty >
            • @@ -110,6 +110,7 @@ $(function() {
            • m_result : winstd::com_initializer, winstd::event_fn_auto_ret< T >
            • m_root_cause_desc : winstd::eap_runtime_error
            • m_root_cause_id : winstd::eap_runtime_error
            • +
            • m_sa : winstd::safearray_accessor< T >
            • m_source_id : winstd::event_trace_enabler
            • m_status : winstd::event_trace_enabler
            • m_trace_handle : winstd::event_trace_enabler
            • @@ -118,7 +119,7 @@ $(function() { diff --git a/functions_w.html b/functions_w.html index d5ec7745..18b8168e 100644 --- a/functions_w.html +++ b/functions_w.html @@ -84,7 +84,7 @@ $(function() { diff --git a/functions_~.html b/functions_~.html index d1adf1e7..e42b606f 100644 --- a/functions_~.html +++ b/functions_~.html @@ -102,12 +102,15 @@ $(function() {
            • ~event_trace_enabler() : winstd::event_trace_enabler
            • ~find_file() : winstd::find_file
            • ~gdi_handle() : winstd::gdi_handle< T >
            • +
            • ~globalmem_accessor() : winstd::globalmem_accessor< T >
            • ~heap() : winstd::heap
            • ~impersonator() : winstd::impersonator
            • ~library() : winstd::library
            • ~process_information() : winstd::process_information
            • ~ref_unique_ptr() : winstd::ref_unique_ptr< _Ty, _Dx >, winstd::ref_unique_ptr< _Ty[], _Dx >
            • ~reg_key() : winstd::reg_key
            • +
            • ~safearray() : winstd::safearray
            • +
            • ~safearray_accessor() : winstd::safearray_accessor< T >
            • ~sanitizing_blob() : winstd::sanitizing_blob< N >
            • ~sc_handle() : winstd::sc_handle
            • ~sec_buffer_desc() : winstd::sec_buffer_desc
            • @@ -128,7 +131,7 @@ $(function() { diff --git a/group___setup_a_p_i.html b/group___setup_a_p_i.html index 38f45a23..5b1e4282 100644 --- a/group___setup_a_p_i.html +++ b/group___setup_a_p_i.html @@ -89,7 +89,7 @@ Classes diff --git a/group___win_sock2_a_p_i.html b/group___win_sock2_a_p_i.html index 82ecc4df..f441ea4f 100644 --- a/group___win_sock2_a_p_i.html +++ b/group___win_sock2_a_p_i.html @@ -213,7 +213,7 @@ Functions diff --git a/group___win_std_c_o_m.html b/group___win_std_c_o_m.html index fed6a50e..68010e06 100644 --- a/group___win_std_c_o_m.html +++ b/group___win_std_c_o_m.html @@ -91,6 +91,12 @@ Classes class  winstd::variant  VARIANT struct wrapper. More...
                +class  winstd::safearray + SAFEARRAY string wrapper. More...
              +  +class  winstd::safearray_accessor< T > + Context scope automatic SAFEARRAY (un)access. More...
              +  class  winstd::com_initializer  Context scope automatic COM (un)initialization. More...
                @@ -217,7 +223,7 @@ template<class T > diff --git a/group___win_std_cred_a_p_i.html b/group___win_std_cred_a_p_i.html index 411a801b..d6f36e06 100644 --- a/group___win_std_cred_a_p_i.html +++ b/group___win_std_cred_a_p_i.html @@ -442,7 +442,7 @@ template<class _Traits , class _Ax > diff --git a/group___win_std_crypto_a_p_i.html b/group___win_std_crypto_a_p_i.html index 633b6db2..acb2ca3d 100644 --- a/group___win_std_crypto_a_p_i.html +++ b/group___win_std_crypto_a_p_i.html @@ -1195,7 +1195,7 @@ template<class T > diff --git a/group___win_std_e_a_p_a_p_i.html b/group___win_std_e_a_p_a_p_i.html index ee7fe5d8..88ab5e33 100644 --- a/group___win_std_e_a_p_a_p_i.html +++ b/group___win_std_e_a_p_a_p_i.html @@ -344,7 +344,7 @@ static const EAP_ATTRIBUTE  diff --git a/group___win_std_e_t_w_a_p_i.html b/group___win_std_e_t_w_a_p_i.html index 19e71b7e..e283dc10 100644 --- a/group___win_std_e_t_w_a_p_i.html +++ b/group___win_std_e_t_w_a_p_i.html @@ -291,7 +291,7 @@ template<class _Ty , class _Ax > diff --git a/group___win_std_exceptions.html b/group___win_std_exceptions.html index a256b8de..0121a01d 100644 --- a/group___win_std_exceptions.html +++ b/group___win_std_exceptions.html @@ -98,7 +98,7 @@ Classes diff --git a/group___win_std_gdi_a_p_i.html b/group___win_std_gdi_a_p_i.html index b59aaf69..0b0ececc 100644 --- a/group___win_std_gdi_a_p_i.html +++ b/group___win_std_gdi_a_p_i.html @@ -95,7 +95,7 @@ Classes diff --git a/group___win_std_general.html b/group___win_std_general.html index a8ef3ebd..e4bd89d3 100644 --- a/group___win_std_general.html +++ b/group___win_std_general.html @@ -87,6 +87,12 @@ Classes struct  winstd::LocalFree_delete< _Ty[]>  Deleter for unique_ptr to array of unknown size using LocalFree. More...
                +struct  winstd::GlobalFree_delete + Deleter for unique_ptr using GlobalFree. More...
              +  +class  winstd::globalmem_accessor< T > + Context scope automatic GlobalAlloc (un)access. More...
              +  class  winstd::ref_unique_ptr< _Ty, _Dx >  Helper class for returning pointers to std::unique_ptr. More...
                @@ -284,7 +290,7 @@ template<class _Ty , class _Dx > diff --git a/group___win_std_m_s_i_a_p_i.html b/group___win_std_m_s_i_a_p_i.html index e4d561cc..68f92ae3 100644 --- a/group___win_std_m_s_i_a_p_i.html +++ b/group___win_std_m_s_i_a_p_i.html @@ -645,7 +645,7 @@ template<class _Ty , class _Ax > diff --git a/group___win_std_mem_sanitize.html b/group___win_std_mem_sanitize.html index bcc346e7..981e6d0d 100644 --- a/group___win_std_mem_sanitize.html +++ b/group___win_std_mem_sanitize.html @@ -138,7 +138,7 @@ typedef diff --git a/group___win_std_s_d_d_l.html b/group___win_std_s_d_d_l.html index e211d5d3..30f3913c 100644 --- a/group___win_std_s_d_d_l.html +++ b/group___win_std_s_d_d_l.html @@ -198,7 +198,7 @@ Functions diff --git a/group___win_std_security_a_p_i.html b/group___win_std_security_a_p_i.html index 7052085a..2230158e 100644 --- a/group___win_std_security_a_p_i.html +++ b/group___win_std_security_a_p_i.html @@ -92,7 +92,7 @@ Classes diff --git a/group___win_std_shell_w_a_p_i.html b/group___win_std_shell_w_a_p_i.html index e688112b..f66d377c 100644 --- a/group___win_std_shell_w_a_p_i.html +++ b/group___win_std_shell_w_a_p_i.html @@ -244,7 +244,7 @@ template<class _Traits , class _Ax > diff --git a/group___win_std_str_format.html b/group___win_std_str_format.html index 55f9517b..b9271fb9 100644 --- a/group___win_std_str_format.html +++ b/group___win_std_str_format.html @@ -183,7 +183,7 @@ Functions
              Example
              // Please note the PCSTR typecasting invokes an operator to return
              // pointer to formatted buffer rather than class reference itself.
              cout << (PCSTR)(winstd::string_printf("%i is less than %i.\n", 1, 5));
              -
              Base template class to support string formatting using printf() style templates.
              Definition: Common.h:1080
              +
              Base template class to support string formatting using printf() style templates.
              Definition: Common.h:1141

              Macro Definition Documentation

              @@ -566,7 +566,7 @@ template<class _Elem , class _Traits , class _Ax > diff --git a/group___win_std_sys_handles.html b/group___win_std_sys_handles.html index 1a6c3cf2..7b6bdc61 100644 --- a/group___win_std_sys_handles.html +++ b/group___win_std_sys_handles.html @@ -184,7 +184,7 @@ static const T winstd::han diff --git a/group___win_std_w_l_a_n_a_p_i.html b/group___win_std_w_l_a_n_a_p_i.html index cbcba367..dd09449a 100644 --- a/group___win_std_w_l_a_n_a_p_i.html +++ b/group___win_std_w_l_a_n_a_p_i.html @@ -203,7 +203,7 @@ template<class _Traits , class _Ax > diff --git a/group___win_std_win_a_p_i.html b/group___win_std_win_a_p_i.html index ea716f36..dfb6dadc 100644 --- a/group___win_std_win_a_p_i.html +++ b/group___win_std_win_a_p_i.html @@ -3568,7 +3568,7 @@ template<class _Traits1 , class _Ax1 , class _Traits2 , class _Ax2 > diff --git a/group___win_trust_a_p_i.html b/group___win_trust_a_p_i.html index 2e184055..d3af3940 100644 --- a/group___win_trust_a_p_i.html +++ b/group___win_trust_a_p_i.html @@ -86,7 +86,7 @@ Classes diff --git a/hierarchy.html b/hierarchy.html index c47cf1da..e7a08da4 100644 --- a/hierarchy.html +++ b/hierarchy.html @@ -112,114 +112,120 @@ $(function() {  CEVENT_RECORD  Cwinstd::event_recEVENT_RECORD wrapper  Cwinstd::event_trace_enablerHelper class to enable event provider in constructor and disables it in destructor - Cwinstd::handle< T, INVAL >Base abstract template class to support generic object handle keeping - Cwinstd::dplhandle< BSTR, NULL > - Cwinstd::bstrBSTR string wrapper - Cwinstd::dplhandle< PCCERT_CHAIN_CONTEXT, NULL > - Cwinstd::cert_chain_contextPCCERT_CHAIN_CONTEXT wrapper class - Cwinstd::dplhandle< PCCERT_CONTEXT, NULL > - Cwinstd::cert_contextPCCERT_CONTEXT wrapper class - Cwinstd::dplhandle< T *, NULL > - Cwinstd::com_obj< T >COM object wrapper template - Cwinstd::dplhandle< HCRYPTHASH, NULL > - Cwinstd::crypt_hashHCRYPTHASH wrapper class - Cwinstd::dplhandle< HCRYPTKEY, NULL > - Cwinstd::crypt_keyHCRYPTKEY wrapper class - Cwinstd::dplhandle< EapPacket *, NULL > - Cwinstd::eap_packetEapPacket wrapper class - Cwinstd::dplhandle< T, INVAL >Base abstract template class to support object handle keeping for objects that support trivial handle duplication - Cwinstd::handle< BSTR, INVAL > - Cwinstd::handle< EapPacket *, INVAL > - Cwinstd::handle< HANDLE, INVALID > - Cwinstd::win_handle< INVALID >Windows HANDLE wrapper class - Cwinstd::handle< HANDLE, INVALID_HANDLE_VALUE > - Cwinstd::find_fileFind-file handle wrapper - Cwinstd::handle< HANDLE, NULL > - Cwinstd::event_logEvent log handle wrapper - Cwinstd::heapHeap handle wrapper - Cwinstd::wlan_handleWLAN handle wrapper - Cwinstd::handle< HCERTSTORE, NULL > - Cwinstd::cert_storeHCERTSTORE wrapper class - Cwinstd::handle< HCRYPTHASH, INVAL > - Cwinstd::handle< HCRYPTKEY, INVAL > - Cwinstd::handle< HCRYPTPROV, NULL > - Cwinstd::crypt_provHCRYPTPROV wrapper class - Cwinstd::handle< HDC, NULL > - Cwinstd::dcDevice context wrapper class - Cwinstd::window_dcDevice context wrapper class - Cwinstd::handle< HDEVINFO, INVALID_HANDLE_VALUE > - Cwinstd::setup_device_info_listHDEVINFO wrapper class - Cwinstd::handle< HKEY, NULL > - Cwinstd::reg_keyRegistry key wrapper class - Cwinstd::handle< HMODULE, NULL > - Cwinstd::libraryModule handle wrapper - Cwinstd::handle< LPVOID, NULL > - Cwinstd::vmemoryMemory in virtual address space of a process handle wrapper - Cwinstd::handle< PADDRINFOA, NULL > - Cwinstd::addrinfoADDRINFOA wrapper class - Cwinstd::handle< PADDRINFOW, NULL > - Cwinstd::waddrinfoADDRINFOW wrapper class - Cwinstd::handle< PCCERT_CHAIN_CONTEXT, INVAL > - Cwinstd::handle< PCCERT_CONTEXT, INVAL > - Cwinstd::handle< PCredHandle, NULL > - Cwinstd::sec_credentialsPCredHandle wrapper class - Cwinstd::handle< PCtxtHandle, NULL > - Cwinstd::sec_contextPCtxtHandle wrapper class - Cwinstd::handle< PSID, NULL > - Cwinstd::security_idSID wrapper class - Cwinstd::handle< REGHANDLE, NULL > - Cwinstd::event_providerETW event provider - Cwinstd::handle< SC_HANDLE, NULL > - Cwinstd::sc_handleSC_HANDLE wrapper class - Cwinstd::handle< T *, INVAL > - Cwinstd::handle< T, NULL > - Cwinstd::gdi_handle< T >Windows HGDIOBJ wrapper class - Cwinstd::handle< TRACEHANDLE, 0 > - Cwinstd::event_sessionETW session - Cwinstd::handle< TRACEHANDLE, INVALID_PROCESSTRACE_HANDLE > - Cwinstd::event_traceETW trace - Cwinstd::heap_allocator< _Ty >HeapAlloc allocator - Cwinstd::impersonatorBase class for thread impersonation of another security context - Cwinstd::system_impersonatorLets the calling thread impersonate the security context of the SYSTEM user - Cwinstd::user_impersonatorLets the calling thread impersonate the security context of a logged-on user - Cwinstd::LocalFree_delete< _Ty >Deleter for unique_ptr using LocalFree - Cwinstd::LocalFree_delete< _Ty[]>Deleter for unique_ptr to array of unknown size using LocalFree - CPROCESS_INFORMATION - Cwinstd::process_informationPROCESS_INFORMATION struct wrapper - Cwinstd::heap_allocator< _Ty >::rebind< _Other >A structure that enables an allocator for objects of one type to allocate storage for objects of another type - Cwinstd::sanitizing_allocator< _Ty >::rebind< _Other >Convert this type to sanitizing_allocator<_Other> - Cwinstd::ref_unique_ptr< _Ty, _Dx >Helper class for returning pointers to std::unique_ptr - Cwinstd::ref_unique_ptr< _Ty[], _Dx >Helper class for returning pointers to std::unique_ptr (specialization for arrays) - Cstd::runtime_error - Cwinstd::num_runtime_error< HRESULT > - Cwinstd::com_runtime_errorCOM runtime error - Cwinstd::num_runtime_error< SECURITY_STATUS > - Cwinstd::sec_runtime_errorSecurity runtime error - Cwinstd::num_runtime_error< DWORD > - Cwinstd::win_runtime_errorWindows runtime error - Cwinstd::eap_runtime_errorEapHost runtime error - Cwinstd::num_runtime_error< int > - Cwinstd::ws2_runtime_errorWinSock2 runtime error - Cwinstd::num_runtime_error< _Tn >Numerical runtime error - Cwinstd::sanitizing_blob< N >Sanitizing BLOB - CSecBufferDesc - Cwinstd::sec_buffer_descSecBufferDesc wrapper class - CSECURITY_ATTRIBUTES - Cwinstd::security_attributes - Cwinstd::setup_driver_info_list_builderBuilds a list of drivers in constructor and deletes it in destructor - Cwinstd::UnmapViewOfFile_delete< _Ty >Deleter for unique_ptr using UnmapViewOfFile - Cwinstd::UnmapViewOfFile_delete< _Ty[]>Deleter for unique_ptr to array of unknown size using UnmapViewOfFile - CVARIANT - Cwinstd::variantVARIANT struct wrapper - Cwinstd::wintrustWinTrust engine wrapper class - Cwinstd::WlanFreeMemory_delete< _Ty >Deleter for unique_ptr using WlanFreeMemory - Cwinstd::WlanFreeMemory_delete< _Ty[]>Deleter for unique_ptr to array of unknown size using WlanFreeMemory + Cwinstd::GlobalFree_deleteDeleter for unique_ptr using GlobalFree + Cwinstd::globalmem_accessor< T >Context scope automatic GlobalAlloc (un)access + Cwinstd::handle< T, INVAL >Base abstract template class to support generic object handle keeping + Cwinstd::dplhandle< BSTR, NULL > + Cwinstd::bstrBSTR string wrapper + Cwinstd::dplhandle< PCCERT_CHAIN_CONTEXT, NULL > + Cwinstd::cert_chain_contextPCCERT_CHAIN_CONTEXT wrapper class + Cwinstd::dplhandle< PCCERT_CONTEXT, NULL > + Cwinstd::cert_contextPCCERT_CONTEXT wrapper class + Cwinstd::dplhandle< T *, NULL > + Cwinstd::com_obj< T >COM object wrapper template + Cwinstd::dplhandle< HCRYPTHASH, NULL > + Cwinstd::crypt_hashHCRYPTHASH wrapper class + Cwinstd::dplhandle< HCRYPTKEY, NULL > + Cwinstd::crypt_keyHCRYPTKEY wrapper class + Cwinstd::dplhandle< EapPacket *, NULL > + Cwinstd::eap_packetEapPacket wrapper class + Cwinstd::dplhandle< SAFEARRAY *, NULL > + Cwinstd::safearraySAFEARRAY string wrapper + Cwinstd::dplhandle< T, INVAL >Base abstract template class to support object handle keeping for objects that support trivial handle duplication + Cwinstd::handle< BSTR, INVAL > + Cwinstd::handle< EapPacket *, INVAL > + Cwinstd::handle< HANDLE, INVALID > + Cwinstd::win_handle< INVALID >Windows HANDLE wrapper class + Cwinstd::handle< HANDLE, INVALID_HANDLE_VALUE > + Cwinstd::find_fileFind-file handle wrapper + Cwinstd::handle< HANDLE, NULL > + Cwinstd::event_logEvent log handle wrapper + Cwinstd::heapHeap handle wrapper + Cwinstd::wlan_handleWLAN handle wrapper + Cwinstd::handle< HCERTSTORE, NULL > + Cwinstd::cert_storeHCERTSTORE wrapper class + Cwinstd::handle< HCRYPTHASH, INVAL > + Cwinstd::handle< HCRYPTKEY, INVAL > + Cwinstd::handle< HCRYPTPROV, NULL > + Cwinstd::crypt_provHCRYPTPROV wrapper class + Cwinstd::handle< HDC, NULL > + Cwinstd::dcDevice context wrapper class + Cwinstd::window_dcDevice context wrapper class + Cwinstd::handle< HDEVINFO, INVALID_HANDLE_VALUE > + Cwinstd::setup_device_info_listHDEVINFO wrapper class + Cwinstd::handle< HKEY, NULL > + Cwinstd::reg_keyRegistry key wrapper class + Cwinstd::handle< HMODULE, NULL > + Cwinstd::libraryModule handle wrapper + Cwinstd::handle< LPVOID, NULL > + Cwinstd::vmemoryMemory in virtual address space of a process handle wrapper + Cwinstd::handle< PADDRINFOA, NULL > + Cwinstd::addrinfoADDRINFOA wrapper class + Cwinstd::handle< PADDRINFOW, NULL > + Cwinstd::waddrinfoADDRINFOW wrapper class + Cwinstd::handle< PCCERT_CHAIN_CONTEXT, INVAL > + Cwinstd::handle< PCCERT_CONTEXT, INVAL > + Cwinstd::handle< PCredHandle, NULL > + Cwinstd::sec_credentialsPCredHandle wrapper class + Cwinstd::handle< PCtxtHandle, NULL > + Cwinstd::sec_contextPCtxtHandle wrapper class + Cwinstd::handle< PSID, NULL > + Cwinstd::security_idSID wrapper class + Cwinstd::handle< REGHANDLE, NULL > + Cwinstd::event_providerETW event provider + Cwinstd::handle< SAFEARRAY *, INVAL > + Cwinstd::handle< SC_HANDLE, NULL > + Cwinstd::sc_handleSC_HANDLE wrapper class + Cwinstd::handle< T *, INVAL > + Cwinstd::handle< T, NULL > + Cwinstd::gdi_handle< T >Windows HGDIOBJ wrapper class + Cwinstd::handle< TRACEHANDLE, 0 > + Cwinstd::event_sessionETW session + Cwinstd::handle< TRACEHANDLE, INVALID_PROCESSTRACE_HANDLE > + Cwinstd::event_traceETW trace + Cwinstd::heap_allocator< _Ty >HeapAlloc allocator + Cwinstd::impersonatorBase class for thread impersonation of another security context + Cwinstd::system_impersonatorLets the calling thread impersonate the security context of the SYSTEM user + Cwinstd::user_impersonatorLets the calling thread impersonate the security context of a logged-on user + Cwinstd::LocalFree_delete< _Ty >Deleter for unique_ptr using LocalFree + Cwinstd::LocalFree_delete< _Ty[]>Deleter for unique_ptr to array of unknown size using LocalFree + CPROCESS_INFORMATION + Cwinstd::process_informationPROCESS_INFORMATION struct wrapper + Cwinstd::heap_allocator< _Ty >::rebind< _Other >A structure that enables an allocator for objects of one type to allocate storage for objects of another type + Cwinstd::sanitizing_allocator< _Ty >::rebind< _Other >Convert this type to sanitizing_allocator<_Other> + Cwinstd::ref_unique_ptr< _Ty, _Dx >Helper class for returning pointers to std::unique_ptr + Cwinstd::ref_unique_ptr< _Ty[], _Dx >Helper class for returning pointers to std::unique_ptr (specialization for arrays) + Cstd::runtime_error + Cwinstd::num_runtime_error< HRESULT > + Cwinstd::com_runtime_errorCOM runtime error + Cwinstd::num_runtime_error< SECURITY_STATUS > + Cwinstd::sec_runtime_errorSecurity runtime error + Cwinstd::num_runtime_error< DWORD > + Cwinstd::win_runtime_errorWindows runtime error + Cwinstd::eap_runtime_errorEapHost runtime error + Cwinstd::num_runtime_error< int > + Cwinstd::ws2_runtime_errorWinSock2 runtime error + Cwinstd::num_runtime_error< _Tn >Numerical runtime error + Cwinstd::safearray_accessor< T >Context scope automatic SAFEARRAY (un)access + Cwinstd::sanitizing_blob< N >Sanitizing BLOB + CSecBufferDesc + Cwinstd::sec_buffer_descSecBufferDesc wrapper class + CSECURITY_ATTRIBUTES + Cwinstd::security_attributes + Cwinstd::setup_driver_info_list_builderBuilds a list of drivers in constructor and deletes it in destructor + Cwinstd::UnmapViewOfFile_delete< _Ty >Deleter for unique_ptr using UnmapViewOfFile + Cwinstd::UnmapViewOfFile_delete< _Ty[]>Deleter for unique_ptr to array of unknown size using UnmapViewOfFile + CVARIANT + Cwinstd::variantVARIANT struct wrapper + Cwinstd::wintrustWinTrust engine wrapper class + Cwinstd::WlanFreeMemory_delete< _Ty >Deleter for unique_ptr using WlanFreeMemory + Cwinstd::WlanFreeMemory_delete< _Ty[]>Deleter for unique_ptr to array of unknown size using WlanFreeMemory diff --git a/index.html b/index.html index 28b86134..2ca3eac0 100644 --- a/index.html +++ b/index.html @@ -110,7 +110,7 @@ Example
              if (dwMaxSendPacketSize < sizeof(EapPacket))
              throw std::invalid_argument(
              winstd::string_printf(
              -
              "Maximum packet size too small (minimum: %zu, available: %u).",
              +
              "Maximum packet size too small (minimum: %zu, available: %u)",
              sizeof(EapPacket) + 1,
              dwMaxSendPacketSize));

              @@ -143,7 +143,7 @@ Usage

              diff --git a/md__s_e_c_u_r_i_t_y.html b/md__s_e_c_u_r_i_t_y.html index 331fdf03..60106eda 100644 --- a/md__s_e_c_u_r_i_t_y.html +++ b/md__s_e_c_u_r_i_t_y.html @@ -89,7 +89,7 @@ Reporting a Vulnerability diff --git a/menudata.js b/menudata.js index 370c4967..2e0dc338 100644 --- a/menudata.js +++ b/menudata.js @@ -39,6 +39,7 @@ var menudata={children:[ {text:"d",url:"functions_d.html#index_d"}, {text:"e",url:"functions_e.html#index_e"}, {text:"f",url:"functions_f.html#index_f"}, +{text:"g",url:"functions_g.html#index_g"}, {text:"h",url:"functions_h.html#index_h"}, {text:"i",url:"functions_i.html#index_i"}, {text:"l",url:"functions_l.html#index_l"}, @@ -61,6 +62,7 @@ var menudata={children:[ {text:"d",url:"functions_func_d.html#index_d"}, {text:"e",url:"functions_func_e.html#index_e"}, {text:"f",url:"functions_func_f.html#index_f"}, +{text:"g",url:"functions_func_g.html#index_g"}, {text:"h",url:"functions_func_h.html#index_h"}, {text:"i",url:"functions_func_i.html#index_i"}, {text:"l",url:"functions_func_l.html#index_l"}, diff --git a/modules.html b/modules.html index 8a624d8e..d14ff704 100644 --- a/modules.html +++ b/modules.html @@ -100,7 +100,7 @@ $(function() { diff --git a/pages.html b/pages.html index ee4cfe28..e44fe5f4 100644 --- a/pages.html +++ b/pages.html @@ -81,7 +81,7 @@ $(function() { diff --git a/pch_8h_source.html b/pch_8h_source.html index 1eb23e07..c0c35b08 100644 --- a/pch_8h_source.html +++ b/pch_8h_source.html @@ -107,7 +107,7 @@ $(function() { diff --git a/search/all_1.js b/search/all_1.js index 24825947..285b68a2 100644 --- a/search/all_1.js +++ b/search/all_1.js @@ -7,6 +7,6 @@ var searchData= ['allocate_4',['allocate',['../classwinstd_1_1heap__allocator.html#a371eaa06a2056171126eba66d7023b03',1,'winstd::heap_allocator']]], ['allocateandinitializesid_5',['AllocateAndInitializeSid',['../group___win_std_win_a_p_i.html#ga588f0eb22a9ea276dc2c72d44f44781a',1,'Win.h']]], ['attach_6',['attach',['../classwinstd_1_1handle.html#ab2a98042c3b88fda687e34d370756f11',1,'winstd::handle::attach()'],['../classwinstd_1_1event__session.html#afe43f725628f047dadc8e44f4a8028b7',1,'winstd::event_session::attach()'],['../classwinstd_1_1vmemory.html#a70e3154374bf7a00c7ba1ea62c6f16a4',1,'winstd::vmemory::attach()']]], - ['attach_5fduplicated_7',['attach_duplicated',['../classwinstd_1_1dplhandle.html#a876c939da531b1c4f493c2e6ea042f65',1,'winstd::dplhandle']]], + ['attach_5fduplicated_7',['attach_duplicated',['../classwinstd_1_1dplhandle.html#a5563977cadc13e81808946174659d1d3',1,'winstd::dplhandle']]], ['auto_2dsanitize_20memory_20management_8',['Auto-sanitize Memory Management',['../group___win_std_mem_sanitize.html',1,'']]] ]; diff --git a/search/all_11.js b/search/all_11.js index b44543da..2eb6ac93 100644 --- a/search/all_11.js +++ b/search/all_11.js @@ -1,44 +1,46 @@ var searchData= [ - ['sanitizing_5fallocator_0',['sanitizing_allocator',['../classwinstd_1_1sanitizing__allocator.html#a63e7945c2c3e16de6676dea04d08ed16',1,'winstd::sanitizing_allocator::sanitizing_allocator(const sanitizing_allocator< _Other > &_Othr) noexcept'],['../classwinstd_1_1sanitizing__allocator.html#a1559d5205a26a17bec111649840f5825',1,'winstd::sanitizing_allocator::sanitizing_allocator(const sanitizing_allocator< _Ty > &_Othr)'],['../classwinstd_1_1sanitizing__allocator.html#af89279ba111029e2880c2a43189b4d4c',1,'winstd::sanitizing_allocator::sanitizing_allocator() noexcept'],['../classwinstd_1_1sanitizing__allocator.html',1,'winstd::sanitizing_allocator< _Ty >']]], - ['sanitizing_5fblob_1',['sanitizing_blob',['../classwinstd_1_1sanitizing__blob.html#a3fcdafa229e9a9f4c176b60fd6555685',1,'winstd::sanitizing_blob::sanitizing_blob()'],['../classwinstd_1_1sanitizing__blob.html',1,'winstd::sanitizing_blob< N >']]], - ['sanitizing_5fstring_2',['sanitizing_string',['../group___win_std_mem_sanitize.html#gafaf527687e080349d49b51c2362c32e8',1,'winstd']]], - ['sanitizing_5ftstring_3',['sanitizing_tstring',['../group___win_std_mem_sanitize.html#gaa149b89d04cc80c125023a14e241e8bd',1,'winstd']]], - ['sanitizing_5fwstring_4',['sanitizing_wstring',['../group___win_std_mem_sanitize.html#ga57776f4affaac5040ba220302003eedc',1,'winstd']]], - ['sc_5fhandle_5',['sc_handle',['../classwinstd_1_1sc__handle.html',1,'winstd']]], - ['sddl_6',['SDDL',['../group___win_std_s_d_d_l.html',1,'']]], - ['sec_5fbuffer_5fdesc_7',['sec_buffer_desc',['../classwinstd_1_1sec__buffer__desc.html#aed8a33ad87b31098a60facb3f656cea5',1,'winstd::sec_buffer_desc::sec_buffer_desc()'],['../classwinstd_1_1sec__buffer__desc.html',1,'winstd::sec_buffer_desc']]], - ['sec_5fcontext_8',['sec_context',['../classwinstd_1_1sec__context.html#a05356227fbaa04cf65cd8da86daac49e',1,'winstd::sec_context::sec_context(sec_context &&h) noexcept'],['../classwinstd_1_1sec__context.html#a5d41cc2cbe613fcc2bd37cc260de9763',1,'winstd::sec_context::sec_context()'],['../classwinstd_1_1sec__context.html',1,'winstd::sec_context']]], - ['sec_5fcredentials_9',['sec_credentials',['../classwinstd_1_1sec__credentials.html#a4cc86fe337998e5becc41c3f78563df8',1,'winstd::sec_credentials::sec_credentials()'],['../classwinstd_1_1sec__credentials.html#adac21d2b22fba61197ad315e8996f946',1,'winstd::sec_credentials::sec_credentials(handle_type h, const TimeStamp expires)'],['../classwinstd_1_1sec__credentials.html#ac9ece1c98aebffa3efc90a0b37f6d2ba',1,'winstd::sec_credentials::sec_credentials(sec_credentials &&h) noexcept'],['../classwinstd_1_1sec__credentials.html',1,'winstd::sec_credentials']]], - ['sec_5fruntime_5ferror_10',['sec_runtime_error',['../classwinstd_1_1sec__runtime__error.html#afc95fcf773b18fc72aaacf4ec025471b',1,'winstd::sec_runtime_error::sec_runtime_error(error_type num, const std::string &msg)'],['../classwinstd_1_1sec__runtime__error.html#ac9f3ac01e422ce43aebb8e5eae9290ce',1,'winstd::sec_runtime_error::sec_runtime_error(const sec_runtime_error &other)'],['../classwinstd_1_1sec__runtime__error.html#aa1d671d5c996a8217de62a816f39a5d4',1,'winstd::sec_runtime_error::sec_runtime_error(error_type num, const char *msg=nullptr)'],['../classwinstd_1_1sec__runtime__error.html',1,'winstd::sec_runtime_error']]], - ['securemultibytetowidechar_11',['SecureMultiByteToWideChar',['../group___win_std_win_a_p_i.html#ga9aaaa6113374b6cbad241626819d06c9',1,'SecureMultiByteToWideChar(UINT CodePage, DWORD dwFlags, const std::basic_string< char, _Traits1, _Ax1 > &sMultiByteStr, std::basic_string< wchar_t, _Traits2, _Ax2 > &sWideCharStr) noexcept: Win.h'],['../group___win_std_win_a_p_i.html#gaa15c8edc525c24109fafea640cdedfcb',1,'SecureMultiByteToWideChar(UINT CodePage, DWORD dwFlags, LPCSTR lpMultiByteStr, int cbMultiByte, std::vector< wchar_t, _Ax > &sWideCharStr) noexcept: Win.h'],['../group___win_std_win_a_p_i.html#gab02484a16fea41e3d9a5c64c2ee1da1a',1,'SecureMultiByteToWideChar(UINT CodePage, DWORD dwFlags, LPCSTR lpMultiByteStr, int cbMultiByte, std::basic_string< wchar_t, _Traits, _Ax > &sWideCharStr) noexcept: Win.h']]], - ['securewidechartomultibyte_12',['SecureWideCharToMultiByte',['../group___win_std_win_a_p_i.html#ga1a0accb3a54ae0ed34944fd483e0c329',1,'SecureWideCharToMultiByte(UINT CodePage, DWORD dwFlags, LPCWSTR lpWideCharStr, int cchWideChar, std::vector< char, _Ax > &sMultiByteStr, LPCSTR lpDefaultChar, LPBOOL lpUsedDefaultChar) noexcept: Win.h'],['../group___win_std_win_a_p_i.html#ga04f5e27a0e2066c85d7a421fe4e4c462',1,'SecureWideCharToMultiByte(UINT CodePage, DWORD dwFlags, LPCWSTR lpWideCharStr, int cchWideChar, std::basic_string< char, _Traits, _Ax > &sMultiByteStr, LPCSTR lpDefaultChar, LPBOOL lpUsedDefaultChar) noexcept: Win.h'],['../group___win_std_win_a_p_i.html#ga05ac1b43a241f1bbcbf1440cf26c6335',1,'SecureWideCharToMultiByte(UINT CodePage, DWORD dwFlags, std::basic_string< wchar_t, _Traits1, _Ax1 > sWideCharStr, std::basic_string< char, _Traits2, _Ax2 > &sMultiByteStr, LPCSTR lpDefaultChar, LPBOOL lpUsedDefaultChar) noexcept: Win.h']]], - ['security_20api_13',['Security API',['../group___win_std_security_a_p_i.html',1,'']]], - ['security_20policy_14',['Security Policy',['../md__s_e_c_u_r_i_t_y.html',1,'']]], - ['security_5fattributes_15',['security_attributes',['../classwinstd_1_1security__attributes.html#a230282fcc282814fd18aa239c7daaa17',1,'winstd::security_attributes::security_attributes(security_attributes &&a) noexcept'],['../classwinstd_1_1security__attributes.html#aa65302a5a16ca4dae9d76a2aea0788b2',1,'winstd::security_attributes::security_attributes() noexcept'],['../classwinstd_1_1security__attributes.html',1,'winstd::security_attributes']]], - ['security_5fid_16',['security_id',['../classwinstd_1_1security__id.html',1,'winstd']]], - ['set_5fextended_5fdata_17',['set_extended_data',['../classwinstd_1_1event__rec.html#abfab939c3bb27839c3b591b9a62f9470',1,'winstd::event_rec']]], - ['set_5fextended_5fdata_5finternal_18',['set_extended_data_internal',['../classwinstd_1_1event__rec.html#a0c1c63cc3a3e2f83924aa9f21a298f6c',1,'winstd::event_rec']]], - ['set_5fuser_5fdata_19',['set_user_data',['../classwinstd_1_1event__rec.html#a0df49a47cf45cb76003b85148d7d5098',1,'winstd::event_rec']]], - ['set_5fuser_5fdata_5finternal_20',['set_user_data_internal',['../classwinstd_1_1event__rec.html#af71cc10ff1b9f9935c824b7c7a4130b8',1,'winstd::event_rec']]], - ['setentriesinacla_21',['SetEntriesInAclA',['../group___win_std_win_a_p_i.html#ga78c62cf670ca44d4cd25fb838dfd06e8',1,'Win.h']]], - ['setentriesinaclw_22',['SetEntriesInAclW',['../group___win_std_win_a_p_i.html#ga473c00779893dfff195afab022a3113e',1,'Win.h']]], - ['setup_20api_23',['Setup API',['../group___setup_a_p_i.html',1,'']]], - ['setup_5fdevice_5finfo_5flist_24',['setup_device_info_list',['../classwinstd_1_1setup__device__info__list.html',1,'winstd']]], - ['setup_5fdriver_5finfo_5flist_5fbuilder_25',['setup_driver_info_list_builder',['../classwinstd_1_1setup__driver__info__list__builder.html#a4774edfbe680a3a496e243544a68c94f',1,'winstd::setup_driver_info_list_builder::setup_driver_info_list_builder()'],['../classwinstd_1_1setup__driver__info__list__builder.html',1,'winstd::setup_driver_info_list_builder']]], - ['shell_20api_26',['Shell API',['../group___win_std_shell_w_a_p_i.html',1,'']]], - ['size_27',['size',['../classwinstd_1_1data__blob.html#ab2ad06e271e8503d7158408773054d23',1,'winstd::data_blob::size()'],['../classwinstd_1_1eap__packet.html#a2534ad15ae47e2d46354d9f535f4031f',1,'winstd::eap_packet::size()']]], - ['size_5ftype_28',['size_type',['../classwinstd_1_1heap__allocator.html#a01815f4f9097b1447c7ddaa2de868f59',1,'winstd::heap_allocator']]], - ['sprintf_29',['sprintf',['../group___win_std_str_format.html#gac397f655a858a069b3e521940af64331',1,'Common.h']]], - ['start_30',['start',['../group___win_std_e_a_p_a_p_i.html#gga50f5584ca708165f43cec42c42243315aea2b2676c28c0db26d39331a336c6b92',1,'winstd']]], - ['status_31',['status',['../classwinstd_1_1setup__driver__info__list__builder.html#ae9c062e82afc1ee1eda5926a0567637e',1,'winstd::setup_driver_info_list_builder::status()'],['../classwinstd_1_1com__initializer.html#ac3c997f810e8439096d8ca14fecb5b7d',1,'winstd::com_initializer::status()'],['../classwinstd_1_1event__trace__enabler.html#a726b84e91002da1243d512c37a060293',1,'winstd::event_trace_enabler::status()'],['../classwinstd_1_1dc__selector.html#aacb4060094f2c4b1747ffa76455b235d',1,'winstd::dc_selector::status()']]], - ['string_20formatting_32',['String Formatting',['../group___win_std_str_format.html',1,'']]], - ['string_5fguid_33',['string_guid',['../classwinstd_1_1string__guid.html#a507ceea48ffeccc4179239dfb5f4cdb2',1,'winstd::string_guid::string_guid()'],['../classwinstd_1_1string__guid.html',1,'winstd::string_guid']]], - ['string_5fmsg_34',['string_msg',['../group___win_std_str_format.html#gae63195e25e08e2b3d9a9b9c2987f5740',1,'winstd']]], - ['string_5fprintf_35',['string_printf',['../group___win_std_str_format.html#ga9dda7a9a763b666f6fe00c4c6626621d',1,'winstd']]], - ['stringtoguid_36',['StringToGuid',['../group___win_std_win_a_p_i.html#gab9c35127ac48f8d941a5354b1a1b7abe',1,'Win.h']]], - ['stringtoguida_37',['StringToGuidA',['../group___win_std_win_a_p_i.html#ga0a3545c7b4d6509b77a9a156e882f32c',1,'Win.h']]], - ['stringtoguidw_38',['StringToGuidW',['../group___win_std_win_a_p_i.html#ga3411488c7daa5c8e03b2ad34764914aa',1,'Win.h']]], - ['system_20handles_39',['System Handles',['../group___win_std_sys_handles.html',1,'']]], - ['system_5fimpersonator_40',['system_impersonator',['../classwinstd_1_1system__impersonator.html#a5e46322f6b3a64e74b6e711cc9dd059b',1,'winstd::system_impersonator::system_impersonator()'],['../classwinstd_1_1system__impersonator.html',1,'winstd::system_impersonator']]] + ['safearray_0',['safearray',['../classwinstd_1_1safearray.html',1,'winstd']]], + ['safearray_5faccessor_1',['safearray_accessor',['../classwinstd_1_1safearray__accessor.html#a342127d409f57fafd97f6792ae4e4665',1,'winstd::safearray_accessor::safearray_accessor()'],['../classwinstd_1_1safearray__accessor.html',1,'winstd::safearray_accessor< T >']]], + ['sanitizing_5fallocator_2',['sanitizing_allocator',['../classwinstd_1_1sanitizing__allocator.html#a1559d5205a26a17bec111649840f5825',1,'winstd::sanitizing_allocator::sanitizing_allocator(const sanitizing_allocator< _Ty > &_Othr)'],['../classwinstd_1_1sanitizing__allocator.html#a63e7945c2c3e16de6676dea04d08ed16',1,'winstd::sanitizing_allocator::sanitizing_allocator(const sanitizing_allocator< _Other > &_Othr) noexcept'],['../classwinstd_1_1sanitizing__allocator.html#af89279ba111029e2880c2a43189b4d4c',1,'winstd::sanitizing_allocator::sanitizing_allocator() noexcept'],['../classwinstd_1_1sanitizing__allocator.html',1,'winstd::sanitizing_allocator< _Ty >']]], + ['sanitizing_5fblob_3',['sanitizing_blob',['../classwinstd_1_1sanitizing__blob.html#a3fcdafa229e9a9f4c176b60fd6555685',1,'winstd::sanitizing_blob::sanitizing_blob()'],['../classwinstd_1_1sanitizing__blob.html',1,'winstd::sanitizing_blob< N >']]], + ['sanitizing_5fstring_4',['sanitizing_string',['../group___win_std_mem_sanitize.html#gafaf527687e080349d49b51c2362c32e8',1,'winstd']]], + ['sanitizing_5ftstring_5',['sanitizing_tstring',['../group___win_std_mem_sanitize.html#gaa149b89d04cc80c125023a14e241e8bd',1,'winstd']]], + ['sanitizing_5fwstring_6',['sanitizing_wstring',['../group___win_std_mem_sanitize.html#ga57776f4affaac5040ba220302003eedc',1,'winstd']]], + ['sc_5fhandle_7',['sc_handle',['../classwinstd_1_1sc__handle.html',1,'winstd']]], + ['sddl_8',['SDDL',['../group___win_std_s_d_d_l.html',1,'']]], + ['sec_5fbuffer_5fdesc_9',['sec_buffer_desc',['../classwinstd_1_1sec__buffer__desc.html#aed8a33ad87b31098a60facb3f656cea5',1,'winstd::sec_buffer_desc::sec_buffer_desc()'],['../classwinstd_1_1sec__buffer__desc.html',1,'winstd::sec_buffer_desc']]], + ['sec_5fcontext_10',['sec_context',['../classwinstd_1_1sec__context.html#a5d41cc2cbe613fcc2bd37cc260de9763',1,'winstd::sec_context::sec_context()'],['../classwinstd_1_1sec__context.html#a05356227fbaa04cf65cd8da86daac49e',1,'winstd::sec_context::sec_context(sec_context &&h) noexcept'],['../classwinstd_1_1sec__context.html',1,'winstd::sec_context']]], + ['sec_5fcredentials_11',['sec_credentials',['../classwinstd_1_1sec__credentials.html#ac9ece1c98aebffa3efc90a0b37f6d2ba',1,'winstd::sec_credentials::sec_credentials(sec_credentials &&h) noexcept'],['../classwinstd_1_1sec__credentials.html#adac21d2b22fba61197ad315e8996f946',1,'winstd::sec_credentials::sec_credentials(handle_type h, const TimeStamp expires)'],['../classwinstd_1_1sec__credentials.html#a4cc86fe337998e5becc41c3f78563df8',1,'winstd::sec_credentials::sec_credentials()'],['../classwinstd_1_1sec__credentials.html',1,'winstd::sec_credentials']]], + ['sec_5fruntime_5ferror_12',['sec_runtime_error',['../classwinstd_1_1sec__runtime__error.html#afc95fcf773b18fc72aaacf4ec025471b',1,'winstd::sec_runtime_error::sec_runtime_error(error_type num, const std::string &msg)'],['../classwinstd_1_1sec__runtime__error.html#aa1d671d5c996a8217de62a816f39a5d4',1,'winstd::sec_runtime_error::sec_runtime_error(error_type num, const char *msg=nullptr)'],['../classwinstd_1_1sec__runtime__error.html#ac9f3ac01e422ce43aebb8e5eae9290ce',1,'winstd::sec_runtime_error::sec_runtime_error(const sec_runtime_error &other)'],['../classwinstd_1_1sec__runtime__error.html',1,'winstd::sec_runtime_error']]], + ['securemultibytetowidechar_13',['SecureMultiByteToWideChar',['../group___win_std_win_a_p_i.html#ga9aaaa6113374b6cbad241626819d06c9',1,'SecureMultiByteToWideChar(UINT CodePage, DWORD dwFlags, const std::basic_string< char, _Traits1, _Ax1 > &sMultiByteStr, std::basic_string< wchar_t, _Traits2, _Ax2 > &sWideCharStr) noexcept: Win.h'],['../group___win_std_win_a_p_i.html#gaa15c8edc525c24109fafea640cdedfcb',1,'SecureMultiByteToWideChar(UINT CodePage, DWORD dwFlags, LPCSTR lpMultiByteStr, int cbMultiByte, std::vector< wchar_t, _Ax > &sWideCharStr) noexcept: Win.h'],['../group___win_std_win_a_p_i.html#gab02484a16fea41e3d9a5c64c2ee1da1a',1,'SecureMultiByteToWideChar(UINT CodePage, DWORD dwFlags, LPCSTR lpMultiByteStr, int cbMultiByte, std::basic_string< wchar_t, _Traits, _Ax > &sWideCharStr) noexcept: Win.h']]], + ['securewidechartomultibyte_14',['SecureWideCharToMultiByte',['../group___win_std_win_a_p_i.html#ga05ac1b43a241f1bbcbf1440cf26c6335',1,'SecureWideCharToMultiByte(UINT CodePage, DWORD dwFlags, std::basic_string< wchar_t, _Traits1, _Ax1 > sWideCharStr, std::basic_string< char, _Traits2, _Ax2 > &sMultiByteStr, LPCSTR lpDefaultChar, LPBOOL lpUsedDefaultChar) noexcept: Win.h'],['../group___win_std_win_a_p_i.html#ga1a0accb3a54ae0ed34944fd483e0c329',1,'SecureWideCharToMultiByte(UINT CodePage, DWORD dwFlags, LPCWSTR lpWideCharStr, int cchWideChar, std::vector< char, _Ax > &sMultiByteStr, LPCSTR lpDefaultChar, LPBOOL lpUsedDefaultChar) noexcept: Win.h'],['../group___win_std_win_a_p_i.html#ga04f5e27a0e2066c85d7a421fe4e4c462',1,'SecureWideCharToMultiByte(UINT CodePage, DWORD dwFlags, LPCWSTR lpWideCharStr, int cchWideChar, std::basic_string< char, _Traits, _Ax > &sMultiByteStr, LPCSTR lpDefaultChar, LPBOOL lpUsedDefaultChar) noexcept: Win.h']]], + ['security_20api_15',['Security API',['../group___win_std_security_a_p_i.html',1,'']]], + ['security_20policy_16',['Security Policy',['../md__s_e_c_u_r_i_t_y.html',1,'']]], + ['security_5fattributes_17',['security_attributes',['../classwinstd_1_1security__attributes.html#a230282fcc282814fd18aa239c7daaa17',1,'winstd::security_attributes::security_attributes(security_attributes &&a) noexcept'],['../classwinstd_1_1security__attributes.html#aa65302a5a16ca4dae9d76a2aea0788b2',1,'winstd::security_attributes::security_attributes() noexcept'],['../classwinstd_1_1security__attributes.html',1,'winstd::security_attributes']]], + ['security_5fid_18',['security_id',['../classwinstd_1_1security__id.html',1,'winstd']]], + ['set_5fextended_5fdata_19',['set_extended_data',['../classwinstd_1_1event__rec.html#abfab939c3bb27839c3b591b9a62f9470',1,'winstd::event_rec']]], + ['set_5fextended_5fdata_5finternal_20',['set_extended_data_internal',['../classwinstd_1_1event__rec.html#a0c1c63cc3a3e2f83924aa9f21a298f6c',1,'winstd::event_rec']]], + ['set_5fuser_5fdata_21',['set_user_data',['../classwinstd_1_1event__rec.html#a0df49a47cf45cb76003b85148d7d5098',1,'winstd::event_rec']]], + ['set_5fuser_5fdata_5finternal_22',['set_user_data_internal',['../classwinstd_1_1event__rec.html#af71cc10ff1b9f9935c824b7c7a4130b8',1,'winstd::event_rec']]], + ['setentriesinacla_23',['SetEntriesInAclA',['../group___win_std_win_a_p_i.html#ga78c62cf670ca44d4cd25fb838dfd06e8',1,'Win.h']]], + ['setentriesinaclw_24',['SetEntriesInAclW',['../group___win_std_win_a_p_i.html#ga473c00779893dfff195afab022a3113e',1,'Win.h']]], + ['setup_20api_25',['Setup API',['../group___setup_a_p_i.html',1,'']]], + ['setup_5fdevice_5finfo_5flist_26',['setup_device_info_list',['../classwinstd_1_1setup__device__info__list.html',1,'winstd']]], + ['setup_5fdriver_5finfo_5flist_5fbuilder_27',['setup_driver_info_list_builder',['../classwinstd_1_1setup__driver__info__list__builder.html#a4774edfbe680a3a496e243544a68c94f',1,'winstd::setup_driver_info_list_builder::setup_driver_info_list_builder()'],['../classwinstd_1_1setup__driver__info__list__builder.html',1,'winstd::setup_driver_info_list_builder']]], + ['shell_20api_28',['Shell API',['../group___win_std_shell_w_a_p_i.html',1,'']]], + ['size_29',['size',['../classwinstd_1_1data__blob.html#ab2ad06e271e8503d7158408773054d23',1,'winstd::data_blob::size()'],['../classwinstd_1_1eap__packet.html#a2534ad15ae47e2d46354d9f535f4031f',1,'winstd::eap_packet::size()']]], + ['size_5ftype_30',['size_type',['../classwinstd_1_1heap__allocator.html#a01815f4f9097b1447c7ddaa2de868f59',1,'winstd::heap_allocator']]], + ['sprintf_31',['sprintf',['../group___win_std_str_format.html#gac397f655a858a069b3e521940af64331',1,'Common.h']]], + ['start_32',['start',['../group___win_std_e_a_p_a_p_i.html#gga50f5584ca708165f43cec42c42243315aea2b2676c28c0db26d39331a336c6b92',1,'winstd']]], + ['status_33',['status',['../classwinstd_1_1setup__driver__info__list__builder.html#ae9c062e82afc1ee1eda5926a0567637e',1,'winstd::setup_driver_info_list_builder::status()'],['../classwinstd_1_1com__initializer.html#ac3c997f810e8439096d8ca14fecb5b7d',1,'winstd::com_initializer::status()'],['../classwinstd_1_1event__trace__enabler.html#a726b84e91002da1243d512c37a060293',1,'winstd::event_trace_enabler::status()'],['../classwinstd_1_1dc__selector.html#aacb4060094f2c4b1747ffa76455b235d',1,'winstd::dc_selector::status()']]], + ['string_20formatting_34',['String Formatting',['../group___win_std_str_format.html',1,'']]], + ['string_5fguid_35',['string_guid',['../classwinstd_1_1string__guid.html#a507ceea48ffeccc4179239dfb5f4cdb2',1,'winstd::string_guid::string_guid()'],['../classwinstd_1_1string__guid.html',1,'winstd::string_guid']]], + ['string_5fmsg_36',['string_msg',['../group___win_std_str_format.html#gae63195e25e08e2b3d9a9b9c2987f5740',1,'winstd']]], + ['string_5fprintf_37',['string_printf',['../group___win_std_str_format.html#ga9dda7a9a763b666f6fe00c4c6626621d',1,'winstd']]], + ['stringtoguid_38',['StringToGuid',['../group___win_std_win_a_p_i.html#gab9c35127ac48f8d941a5354b1a1b7abe',1,'Win.h']]], + ['stringtoguida_39',['StringToGuidA',['../group___win_std_win_a_p_i.html#ga0a3545c7b4d6509b77a9a156e882f32c',1,'Win.h']]], + ['stringtoguidw_40',['StringToGuidW',['../group___win_std_win_a_p_i.html#ga3411488c7daa5c8e03b2ad34764914aa',1,'Win.h']]], + ['system_20handles_41',['System Handles',['../group___win_std_sys_handles.html',1,'']]], + ['system_5fimpersonator_42',['system_impersonator',['../classwinstd_1_1system__impersonator.html#a5e46322f6b3a64e74b6e711cc9dd059b',1,'winstd::system_impersonator::system_impersonator()'],['../classwinstd_1_1system__impersonator.html',1,'winstd::system_impersonator']]] ]; diff --git a/search/all_16.js b/search/all_16.js index 016dc9ff..7712ff42 100644 --- a/search/all_16.js +++ b/search/all_16.js @@ -29,26 +29,29 @@ var searchData= ['_7eevent_5ftrace_5fenabler_26',['~event_trace_enabler',['../classwinstd_1_1event__trace__enabler.html#a6be72a0a5dc8da579e26b74a1ac24a4f',1,'winstd::event_trace_enabler']]], ['_7efind_5ffile_27',['~find_file',['../classwinstd_1_1find__file.html#a5135c1a0bf6b1c5f4ab695f208a87607',1,'winstd::find_file']]], ['_7egdi_5fhandle_28',['~gdi_handle',['../classwinstd_1_1gdi__handle.html#aae79abc9495f415a548d7f1f1ce4dab2',1,'winstd::gdi_handle']]], - ['_7eheap_29',['~heap',['../classwinstd_1_1heap.html#aecb12bb6a2677638a6061510bdda868b',1,'winstd::heap']]], - ['_7eimpersonator_30',['~impersonator',['../classwinstd_1_1impersonator.html#a272883abcb25c9563ca5b919c0d9d71d',1,'winstd::impersonator']]], - ['_7elibrary_31',['~library',['../classwinstd_1_1library.html#ae33e87cbe9236861b5e8d37e8e544716',1,'winstd::library']]], - ['_7eprocess_5finformation_32',['~process_information',['../classwinstd_1_1process__information.html#a0a176161ac9779e203f3fd8942115196',1,'winstd::process_information']]], - ['_7eref_5funique_5fptr_33',['~ref_unique_ptr',['../classwinstd_1_1ref__unique__ptr.html#a7bf6de1a715ad7d84f0df0470a102275',1,'winstd::ref_unique_ptr::~ref_unique_ptr()'],['../classwinstd_1_1ref__unique__ptr_3_01___ty_0f_0e_00_01___dx_01_4.html#a3595501185edb49fc4a596e9a966a030',1,'winstd::ref_unique_ptr< _Ty[], _Dx >::~ref_unique_ptr()']]], - ['_7ereg_5fkey_34',['~reg_key',['../classwinstd_1_1reg__key.html#ae54556effe6fe91942f87fc8c8ff5d7c',1,'winstd::reg_key']]], - ['_7esanitizing_5fblob_35',['~sanitizing_blob',['../classwinstd_1_1sanitizing__blob.html#ad478c9b04cc75d3ad1053ba9b23ea065',1,'winstd::sanitizing_blob']]], - ['_7esc_5fhandle_36',['~sc_handle',['../classwinstd_1_1sc__handle.html#a92d104320ed6db39eaf092d7fb465885',1,'winstd::sc_handle']]], - ['_7esec_5fbuffer_5fdesc_37',['~sec_buffer_desc',['../classwinstd_1_1sec__buffer__desc.html#a70ebe23821ab3f90eb20e4a5e69c49c4',1,'winstd::sec_buffer_desc']]], - ['_7esec_5fcontext_38',['~sec_context',['../classwinstd_1_1sec__context.html#a2307770cc707a4f8e815c3fea57ac8a9',1,'winstd::sec_context']]], - ['_7esec_5fcredentials_39',['~sec_credentials',['../classwinstd_1_1sec__credentials.html#ad8b34c3a231201fd201e56a28235b9c3',1,'winstd::sec_credentials']]], - ['_7esecurity_5fattributes_40',['~security_attributes',['../classwinstd_1_1security__attributes.html#a81c96818e1a244dc9fde2e0703d654e0',1,'winstd::security_attributes']]], - ['_7esecurity_5fid_41',['~security_id',['../classwinstd_1_1security__id.html#ac26d9d505eed5f5104e3ce8278913683',1,'winstd::security_id']]], - ['_7esetup_5fdevice_5finfo_5flist_42',['~setup_device_info_list',['../classwinstd_1_1setup__device__info__list.html#a25368d32a4f4bfe23cb9749464daa487',1,'winstd::setup_device_info_list']]], - ['_7esetup_5fdriver_5finfo_5flist_5fbuilder_43',['~setup_driver_info_list_builder',['../classwinstd_1_1setup__driver__info__list__builder.html#a836a7bb6c3c78c7c78965a32cfc2750e',1,'winstd::setup_driver_info_list_builder']]], - ['_7evariant_44',['~variant',['../classwinstd_1_1variant.html#a69b429a61582fc777b07541daad7887b',1,'winstd::variant']]], - ['_7evmemory_45',['~vmemory',['../classwinstd_1_1vmemory.html#aa0d2edd7c1986736662b54a553695d51',1,'winstd::vmemory']]], - ['_7ewaddrinfo_46',['~waddrinfo',['../classwinstd_1_1waddrinfo.html#a2b1209904bd7486acefd833ff5c4bcca',1,'winstd::waddrinfo']]], - ['_7ewin_5fhandle_47',['~win_handle',['../classwinstd_1_1win__handle.html#a6b8070a3be4dede99a1c764b7f341a36',1,'winstd::win_handle']]], - ['_7ewindow_5fdc_48',['~window_dc',['../classwinstd_1_1window__dc.html#a3fd01c5264443520462cb7cab886a79b',1,'winstd::window_dc']]], - ['_7ewintrust_49',['~wintrust',['../classwinstd_1_1wintrust.html#ac529a244b4f2f4eb85bcdf594ff723c3',1,'winstd::wintrust']]], - ['_7ewlan_5fhandle_50',['~wlan_handle',['../classwinstd_1_1wlan__handle.html#a57e97a572a121f6e28673e6d84493de9',1,'winstd::wlan_handle']]] + ['_7eglobalmem_5faccessor_29',['~globalmem_accessor',['../classwinstd_1_1globalmem__accessor.html#a508a4187d2e6de81365d5ca9961ad950',1,'winstd::globalmem_accessor']]], + ['_7eheap_30',['~heap',['../classwinstd_1_1heap.html#aecb12bb6a2677638a6061510bdda868b',1,'winstd::heap']]], + ['_7eimpersonator_31',['~impersonator',['../classwinstd_1_1impersonator.html#a272883abcb25c9563ca5b919c0d9d71d',1,'winstd::impersonator']]], + ['_7elibrary_32',['~library',['../classwinstd_1_1library.html#ae33e87cbe9236861b5e8d37e8e544716',1,'winstd::library']]], + ['_7eprocess_5finformation_33',['~process_information',['../classwinstd_1_1process__information.html#a0a176161ac9779e203f3fd8942115196',1,'winstd::process_information']]], + ['_7eref_5funique_5fptr_34',['~ref_unique_ptr',['../classwinstd_1_1ref__unique__ptr.html#a7bf6de1a715ad7d84f0df0470a102275',1,'winstd::ref_unique_ptr::~ref_unique_ptr()'],['../classwinstd_1_1ref__unique__ptr_3_01___ty_0f_0e_00_01___dx_01_4.html#a3595501185edb49fc4a596e9a966a030',1,'winstd::ref_unique_ptr< _Ty[], _Dx >::~ref_unique_ptr()']]], + ['_7ereg_5fkey_35',['~reg_key',['../classwinstd_1_1reg__key.html#ae54556effe6fe91942f87fc8c8ff5d7c',1,'winstd::reg_key']]], + ['_7esafearray_36',['~safearray',['../classwinstd_1_1safearray.html#a77541ec05da9d75931560bb5883ea601',1,'winstd::safearray']]], + ['_7esafearray_5faccessor_37',['~safearray_accessor',['../classwinstd_1_1safearray__accessor.html#ac950581e34df79260b6ba997b4a4d2d8',1,'winstd::safearray_accessor']]], + ['_7esanitizing_5fblob_38',['~sanitizing_blob',['../classwinstd_1_1sanitizing__blob.html#ad478c9b04cc75d3ad1053ba9b23ea065',1,'winstd::sanitizing_blob']]], + ['_7esc_5fhandle_39',['~sc_handle',['../classwinstd_1_1sc__handle.html#a92d104320ed6db39eaf092d7fb465885',1,'winstd::sc_handle']]], + ['_7esec_5fbuffer_5fdesc_40',['~sec_buffer_desc',['../classwinstd_1_1sec__buffer__desc.html#a70ebe23821ab3f90eb20e4a5e69c49c4',1,'winstd::sec_buffer_desc']]], + ['_7esec_5fcontext_41',['~sec_context',['../classwinstd_1_1sec__context.html#a2307770cc707a4f8e815c3fea57ac8a9',1,'winstd::sec_context']]], + ['_7esec_5fcredentials_42',['~sec_credentials',['../classwinstd_1_1sec__credentials.html#ad8b34c3a231201fd201e56a28235b9c3',1,'winstd::sec_credentials']]], + ['_7esecurity_5fattributes_43',['~security_attributes',['../classwinstd_1_1security__attributes.html#a81c96818e1a244dc9fde2e0703d654e0',1,'winstd::security_attributes']]], + ['_7esecurity_5fid_44',['~security_id',['../classwinstd_1_1security__id.html#ac26d9d505eed5f5104e3ce8278913683',1,'winstd::security_id']]], + ['_7esetup_5fdevice_5finfo_5flist_45',['~setup_device_info_list',['../classwinstd_1_1setup__device__info__list.html#a25368d32a4f4bfe23cb9749464daa487',1,'winstd::setup_device_info_list']]], + ['_7esetup_5fdriver_5finfo_5flist_5fbuilder_46',['~setup_driver_info_list_builder',['../classwinstd_1_1setup__driver__info__list__builder.html#a836a7bb6c3c78c7c78965a32cfc2750e',1,'winstd::setup_driver_info_list_builder']]], + ['_7evariant_47',['~variant',['../classwinstd_1_1variant.html#a69b429a61582fc777b07541daad7887b',1,'winstd::variant']]], + ['_7evmemory_48',['~vmemory',['../classwinstd_1_1vmemory.html#aa0d2edd7c1986736662b54a553695d51',1,'winstd::vmemory']]], + ['_7ewaddrinfo_49',['~waddrinfo',['../classwinstd_1_1waddrinfo.html#a2b1209904bd7486acefd833ff5c4bcca',1,'winstd::waddrinfo']]], + ['_7ewin_5fhandle_50',['~win_handle',['../classwinstd_1_1win__handle.html#a6b8070a3be4dede99a1c764b7f341a36',1,'winstd::win_handle']]], + ['_7ewindow_5fdc_51',['~window_dc',['../classwinstd_1_1window__dc.html#a3fd01c5264443520462cb7cab886a79b',1,'winstd::window_dc']]], + ['_7ewintrust_52',['~wintrust',['../classwinstd_1_1wintrust.html#ac529a244b4f2f4eb85bcdf594ff723c3',1,'winstd::wintrust']]], + ['_7ewlan_5fhandle_53',['~wlan_handle',['../classwinstd_1_1wlan__handle.html#a57e97a572a121f6e28673e6d84493de9',1,'winstd::wlan_handle']]] ]; diff --git a/search/all_2.js b/search/all_2.js index f0d308e7..ac9aa123 100644 --- a/search/all_2.js +++ b/search/all_2.js @@ -7,5 +7,5 @@ var searchData= ['basic_5fstring_5fprintf_4',['basic_string_printf',['../classwinstd_1_1basic__string__printf.html#a409c94cb80a202d0bd628930514b64ba',1,'winstd::basic_string_printf::basic_string_printf(const _Elem *format,...)'],['../classwinstd_1_1basic__string__printf.html#ab258ccf8da028fc5e8511336401213ba',1,'winstd::basic_string_printf::basic_string_printf(HINSTANCE hInstance, UINT nFormatID,...)'],['../classwinstd_1_1basic__string__printf.html#a532bc995c0509b41f92612a77e169a83',1,'winstd::basic_string_printf::basic_string_printf(HINSTANCE hInstance, WORD wLanguageID, UINT nFormatID,...)'],['../classwinstd_1_1basic__string__printf.html',1,'winstd::basic_string_printf< _Elem, _Traits, _Ax >']]], ['blank_5feap_5fattr_5',['blank_eap_attr',['../group___win_std_e_a_p_a_p_i.html#gaeeb21f5241c6b605b67c3e6e4128f972',1,'winstd']]], ['blank_5fevent_5fdata_6',['blank_event_data',['../group___win_std_e_t_w_a_p_i.html#gaf7a60dde62523f074610aef107bd5d9d',1,'winstd']]], - ['bstr_7',['bstr',['../classwinstd_1_1bstr.html#a16c6d6d9c6d1494ed278e74f9f83ccff',1,'winstd::bstr::bstr(LPCOLESTR src) noexcept'],['../classwinstd_1_1bstr.html#a80f1ae42fd8233f38ad846305f7db781',1,'winstd::bstr::bstr(LPCOLESTR src, UINT len) noexcept'],['../classwinstd_1_1bstr.html#a4bd2cc3556ee3875d23d9aa902c31077',1,'winstd::bstr::bstr(const std::basic_string< wchar_t, _Traits, _Ax > &src) noexcept'],['../classwinstd_1_1bstr.html',1,'winstd::bstr']]] + ['bstr_7',['bstr',['../classwinstd_1_1bstr.html#a01b4deb6467c16d9d8e8e14fe6c057fa',1,'winstd::bstr::bstr(LPCOLESTR src)'],['../classwinstd_1_1bstr.html#aafb65f4d4ab54a13147912c2de8adc54',1,'winstd::bstr::bstr(LPCOLESTR src, UINT len)'],['../classwinstd_1_1bstr.html#a068d796beaad2d2978ea6cab60688be4',1,'winstd::bstr::bstr(const std::basic_string< wchar_t, _Traits, _Ax > &src)'],['../classwinstd_1_1bstr.html',1,'winstd::bstr']]] ]; diff --git a/search/all_3.js b/search/all_3.js index 11c2f1c7..2bbc30cd 100644 --- a/search/all_3.js +++ b/search/all_3.js @@ -12,7 +12,7 @@ var searchData= ['cogetobject_9',['CoGetObject',['../group___win_std_c_o_m.html#ga825b73e9a34b1f496c577a951441b6f1',1,'COM.h']]], ['com_20object_20management_10',['COM Object Management',['../group___win_std_c_o_m.html',1,'']]], ['com_5finitializer_11',['com_initializer',['../classwinstd_1_1com__initializer.html#a2e1dceaa4a658f2d35b93fe85d71e109',1,'winstd::com_initializer::com_initializer(LPVOID pvReserved) noexcept'],['../classwinstd_1_1com__initializer.html#a20c89f6e237eb97166aac61f0dbdcbf6',1,'winstd::com_initializer::com_initializer(LPVOID pvReserved, DWORD dwCoInit) noexcept'],['../classwinstd_1_1com__initializer.html',1,'winstd::com_initializer']]], - ['com_5fobj_12',['com_obj',['../classwinstd_1_1com__obj.html#aa2c8f855aaad8e35c1da6cfd9f32e01e',1,'winstd::com_obj::com_obj(_Other *other)'],['../classwinstd_1_1com__obj.html#aace64e8520e9caf7c258ae207a5ef874',1,'winstd::com_obj::com_obj(com_obj< _Other > &other)'],['../classwinstd_1_1com__obj.html',1,'winstd::com_obj< T >']]], + ['com_5fobj_12',['com_obj',['../classwinstd_1_1com__obj.html#a1983f51468452e51890a3a561d3d2627',1,'winstd::com_obj::com_obj(REFCLSID rclsid, LPUNKNOWN pUnkOuter, DWORD dwClsContext)'],['../classwinstd_1_1com__obj.html#aa2c8f855aaad8e35c1da6cfd9f32e01e',1,'winstd::com_obj::com_obj(_Other *other)'],['../classwinstd_1_1com__obj.html#aace64e8520e9caf7c258ae207a5ef874',1,'winstd::com_obj::com_obj(com_obj< _Other > &other)'],['../classwinstd_1_1com__obj.html',1,'winstd::com_obj< T >']]], ['com_5fruntime_5ferror_13',['com_runtime_error',['../classwinstd_1_1com__runtime__error.html#a75030cbe7acc6532140c73caf4b15ed8',1,'winstd::com_runtime_error::com_runtime_error(error_type num, const std::string &msg)'],['../classwinstd_1_1com__runtime__error.html#aa1b65214e16b18bf8b9b191abff254b7',1,'winstd::com_runtime_error::com_runtime_error(error_type num, const char *msg=nullptr)'],['../classwinstd_1_1com__runtime__error.html',1,'winstd::com_runtime_error']]], ['console_5fctrl_5fhandler_14',['console_ctrl_handler',['../classwinstd_1_1console__ctrl__handler.html#a1c05134a4453123739ac5b45f62fe13a',1,'winstd::console_ctrl_handler::console_ctrl_handler()'],['../classwinstd_1_1console__ctrl__handler.html',1,'winstd::console_ctrl_handler']]], ['const_5fpointer_15',['const_pointer',['../classwinstd_1_1heap__allocator.html#adc56ad9f2484d7d34299bef73709ef9c',1,'winstd::heap_allocator']]], @@ -28,7 +28,7 @@ var searchData= ['credentials_20api_25',['Credentials API',['../group___win_std_cred_a_p_i.html',1,'']]], ['credenumeratea_26',['CredEnumerateA',['../group___win_std_cred_a_p_i.html#ga6d7c3256a227574ba9e726a1e020fceb',1,'Cred.h']]], ['credenumeratew_27',['CredEnumerateW',['../group___win_std_cred_a_p_i.html#ga71e6a2a069cd781252492021d70843da',1,'Cred.h']]], - ['credfree_5fdelete_28',['CredFree_delete',['../structwinstd_1_1_cred_free__delete_3_01___ty_0f_0e_4.html#aad102423f4fb96fd105b57a88a6031ab',1,'winstd::CredFree_delete< _Ty[]>::CredFree_delete()'],['../structwinstd_1_1_cred_free__delete.html#ac4cc203e783bcc1c71011cde00ddf9ad',1,'winstd::CredFree_delete::CredFree_delete(const CredFree_delete< _Ty2 > &)'],['../structwinstd_1_1_cred_free__delete.html#a3959d2b3727e557e19d8b0f5c449b57a',1,'winstd::CredFree_delete::CredFree_delete()'],['../structwinstd_1_1_cred_free__delete.html',1,'winstd::CredFree_delete< _Ty >']]], + ['credfree_5fdelete_28',['CredFree_delete',['../structwinstd_1_1_cred_free__delete.html#ac4cc203e783bcc1c71011cde00ddf9ad',1,'winstd::CredFree_delete::CredFree_delete()'],['../structwinstd_1_1_cred_free__delete_3_01___ty_0f_0e_4.html#aad102423f4fb96fd105b57a88a6031ab',1,'winstd::CredFree_delete< _Ty[]>::CredFree_delete()'],['../structwinstd_1_1_cred_free__delete.html#a3959d2b3727e557e19d8b0f5c449b57a',1,'winstd::CredFree_delete::CredFree_delete()'],['../structwinstd_1_1_cred_free__delete.html',1,'winstd::CredFree_delete< _Ty >']]], ['credfree_5fdelete_3c_20_5fty_5b_5d_3e_29',['CredFree_delete< _Ty[]>',['../structwinstd_1_1_cred_free__delete_3_01___ty_0f_0e_4.html',1,'winstd']]], ['credprotecta_30',['CredProtectA',['../group___win_std_cred_a_p_i.html#ga66f305cb6a0bf6d4f2c6f2f49180df9b',1,'Cred.h']]], ['credprotectw_31',['CredProtectW',['../group___win_std_cred_a_p_i.html#gaa140d15e40f91b075ad1fa69429a0922',1,'Cred.h']]], diff --git a/search/all_4.js b/search/all_4.js index c009d620..fea3b980 100644 --- a/search/all_4.js +++ b/search/all_4.js @@ -1,24 +1,25 @@ var searchData= [ - ['data_0',['data',['../classwinstd_1_1data__blob.html#a3cb5b805288c8d74cd103cac3acf10bf',1,'winstd::data_blob::data() noexcept'],['../classwinstd_1_1data__blob.html#a498ffe8fa857c8fee0c68803049e9528',1,'winstd::data_blob::data() const noexcept']]], + ['data_0',['data',['../classwinstd_1_1data__blob.html#a3cb5b805288c8d74cd103cac3acf10bf',1,'winstd::data_blob::data() noexcept'],['../classwinstd_1_1data__blob.html#a498ffe8fa857c8fee0c68803049e9528',1,'winstd::data_blob::data() const noexcept'],['../classwinstd_1_1safearray__accessor.html#a8b019e527bbd7a26abb9df734272cfd5',1,'winstd::safearray_accessor::data()'],['../classwinstd_1_1globalmem__accessor.html#a6fa33d36095bda00675cd0eb4b1df0ef',1,'winstd::globalmem_accessor::data()']]], ['data_5fblob_1',['data_blob',['../classwinstd_1_1data__blob.html#a5cfa94091e87f259bde521a7050f27c7',1,'winstd::data_blob::data_blob(data_blob &&other) noexcept'],['../classwinstd_1_1data__blob.html#a11968f5b76e8a46784f7bcee3a8f00cc',1,'winstd::data_blob::data_blob(const DATA_BLOB &other)'],['../classwinstd_1_1data__blob.html#a66a5574a42c6c5c76051261a342a43a8',1,'winstd::data_blob::data_blob(BYTE *data, DWORD size) noexcept'],['../classwinstd_1_1data__blob.html#a5bed8028538f9688eea5dc8353ff69d8',1,'winstd::data_blob::data_blob() noexcept'],['../classwinstd_1_1data__blob.html',1,'winstd::data_blob']]], ['dc_2',['dc',['../classwinstd_1_1dc.html',1,'winstd']]], ['dc_5fselector_3',['dc_selector',['../classwinstd_1_1dc__selector.html#a4cb5b528376651a59eb9bbb8471c3f22',1,'winstd::dc_selector::dc_selector()'],['../classwinstd_1_1dc__selector.html',1,'winstd::dc_selector']]], - ['deallocate_4',['deallocate',['../classwinstd_1_1heap__allocator.html#aa4dcda946d03a9a382ea9c0f0f140462',1,'winstd::heap_allocator::deallocate()'],['../classwinstd_1_1sanitizing__allocator.html#a2c208920fad2171f4448ec6e7817522a',1,'winstd::sanitizing_allocator::deallocate()']]], + ['deallocate_4',['deallocate',['../classwinstd_1_1sanitizing__allocator.html#a2c208920fad2171f4448ec6e7817522a',1,'winstd::sanitizing_allocator::deallocate()'],['../classwinstd_1_1heap__allocator.html#aa4dcda946d03a9a382ea9c0f0f140462',1,'winstd::heap_allocator::deallocate()']]], ['delete_5fsubkey_5',['delete_subkey',['../classwinstd_1_1reg__key.html#a5b8ee8731e0caa51c84b271f43604f54',1,'winstd::reg_key']]], ['destroy_6',['destroy',['../classwinstd_1_1heap__allocator.html#aef179f33ca0ad99ffda16f004b146143',1,'winstd::heap_allocator']]], ['detach_7',['detach',['../classwinstd_1_1handle.html#ad5acf6ce53e092b8d4d53f909cf321f9',1,'winstd::handle']]], ['difference_5ftype_8',['difference_type',['../classwinstd_1_1heap__allocator.html#a4b39b8176ea30e1ceb02642c44de7b43',1,'winstd::heap_allocator']]], ['disable_5ftrace_9',['disable_trace',['../classwinstd_1_1event__session.html#a86ff12521bc1c863ea685b8a689fd81b',1,'winstd::event_session']]], - ['dplhandle_10',['dplhandle',['../classwinstd_1_1dplhandle.html#ac1aa19e060402006d8ff8404be6b07c3',1,'winstd::dplhandle::dplhandle(dplhandle< handle_type, INVAL > &&h) noexcept'],['../classwinstd_1_1dplhandle.html#ac95cbfb481c0d5e6c60d130f3c270b59',1,'winstd::dplhandle::dplhandle() noexcept'],['../classwinstd_1_1dplhandle.html#ab1ac74d5f212fddc217d1a8190a01177',1,'winstd::dplhandle::dplhandle(handle_type h) noexcept'],['../classwinstd_1_1dplhandle.html#a726938d9b7df787204025f6c36a04507',1,'winstd::dplhandle::dplhandle(const dplhandle< handle_type, INVAL > &h) noexcept'],['../classwinstd_1_1dplhandle.html',1,'winstd::dplhandle< T, INVAL >']]], + ['dplhandle_10',['dplhandle',['../classwinstd_1_1dplhandle.html#ac1aa19e060402006d8ff8404be6b07c3',1,'winstd::dplhandle::dplhandle(dplhandle< handle_type, INVAL > &&h) noexcept'],['../classwinstd_1_1dplhandle.html#ac7439fc22a5754f8aeb2b0e1afd25b9c',1,'winstd::dplhandle::dplhandle(const dplhandle< handle_type, INVAL > &h)'],['../classwinstd_1_1dplhandle.html#ab1ac74d5f212fddc217d1a8190a01177',1,'winstd::dplhandle::dplhandle(handle_type h) noexcept'],['../classwinstd_1_1dplhandle.html#ac95cbfb481c0d5e6c60d130f3c270b59',1,'winstd::dplhandle::dplhandle() noexcept'],['../classwinstd_1_1dplhandle.html',1,'winstd::dplhandle< T, INVAL >']]], ['dplhandle_3c_20bstr_2c_20null_20_3e_11',['dplhandle< BSTR, NULL >',['../classwinstd_1_1dplhandle.html',1,'winstd']]], ['dplhandle_3c_20eappacket_20_2a_2c_20null_20_3e_12',['dplhandle< EapPacket *, NULL >',['../classwinstd_1_1dplhandle.html',1,'winstd']]], ['dplhandle_3c_20hcrypthash_2c_20null_20_3e_13',['dplhandle< HCRYPTHASH, NULL >',['../classwinstd_1_1dplhandle.html',1,'winstd']]], ['dplhandle_3c_20hcryptkey_2c_20null_20_3e_14',['dplhandle< HCRYPTKEY, NULL >',['../classwinstd_1_1dplhandle.html',1,'winstd']]], ['dplhandle_3c_20pccert_5fchain_5fcontext_2c_20null_20_3e_15',['dplhandle< PCCERT_CHAIN_CONTEXT, NULL >',['../classwinstd_1_1dplhandle.html',1,'winstd']]], ['dplhandle_3c_20pccert_5fcontext_2c_20null_20_3e_16',['dplhandle< PCCERT_CONTEXT, NULL >',['../classwinstd_1_1dplhandle.html',1,'winstd']]], - ['dplhandle_3c_20t_20_2a_2c_20null_20_3e_17',['dplhandle< T *, NULL >',['../classwinstd_1_1dplhandle.html',1,'winstd']]], - ['duplicate_18',['duplicate',['../classwinstd_1_1dplhandle.html#a48e66c8979560019e339867de944a265',1,'winstd::dplhandle']]], - ['duplicate_5finternal_19',['duplicate_internal',['../classwinstd_1_1com__obj.html#a1460be29bd94af55d27b5179e971b3b4',1,'winstd::com_obj::duplicate_internal()'],['../classwinstd_1_1bstr.html#a4a9986fac6bf82d8a8887a7cb80e6351',1,'winstd::bstr::duplicate_internal()'],['../classwinstd_1_1dplhandle.html#aa6ec5fd1ce258a3dd66da1cfb4d6dfb8',1,'winstd::dplhandle::duplicate_internal()'],['../classwinstd_1_1cert__context.html#a3d0ee01002ccef041ffb164151cab14b',1,'winstd::cert_context::duplicate_internal()'],['../classwinstd_1_1cert__chain__context.html#a1cded78d368c01b0513364f00be26385',1,'winstd::cert_chain_context::duplicate_internal()'],['../classwinstd_1_1crypt__hash.html#af6b7999d5e29f1caaecb5b0bde90b76e',1,'winstd::crypt_hash::duplicate_internal()'],['../classwinstd_1_1crypt__key.html#aa9983160147883cf7526e9df1889b7bf',1,'winstd::crypt_key::duplicate_internal()'],['../classwinstd_1_1eap__packet.html#a5c5bc551e5c467e814e13f6d05d17ac2',1,'winstd::eap_packet::duplicate_internal()']]], - ['duplicatetokenex_20',['DuplicateTokenEx',['../group___win_std_win_a_p_i.html#ga760bb977738a422eabd9a226eb5acdb4',1,'Win.h']]] + ['dplhandle_3c_20safearray_20_2a_2c_20null_20_3e_17',['dplhandle< SAFEARRAY *, NULL >',['../classwinstd_1_1dplhandle.html',1,'winstd']]], + ['dplhandle_3c_20t_20_2a_2c_20null_20_3e_18',['dplhandle< T *, NULL >',['../classwinstd_1_1dplhandle.html',1,'winstd']]], + ['duplicate_19',['duplicate',['../classwinstd_1_1dplhandle.html#a48e66c8979560019e339867de944a265',1,'winstd::dplhandle']]], + ['duplicate_5finternal_20',['duplicate_internal',['../classwinstd_1_1com__obj.html#a5967604886ffa8c41db730f8c21f10f2',1,'winstd::com_obj::duplicate_internal()'],['../classwinstd_1_1bstr.html#a1c6f4421d370e6029dfbf71315cdedc0',1,'winstd::bstr::duplicate_internal()'],['../classwinstd_1_1safearray.html#a7b4972e8b65210cf5b6a50610dcb4b8d',1,'winstd::safearray::duplicate_internal()'],['../classwinstd_1_1dplhandle.html#a0d7900f44fdc921b41e07517abdc1ec6',1,'winstd::dplhandle::duplicate_internal()'],['../classwinstd_1_1cert__context.html#ae39c2de0d8e9d69e524404db812e7ba7',1,'winstd::cert_context::duplicate_internal()'],['../classwinstd_1_1cert__chain__context.html#afbb8bf6ef0627268fd327059f51b121a',1,'winstd::cert_chain_context::duplicate_internal()'],['../classwinstd_1_1crypt__hash.html#af18ed660a44a2356c05e88fe04b7c722',1,'winstd::crypt_hash::duplicate_internal()'],['../classwinstd_1_1crypt__key.html#a304f9d565576b6984f6e06bacb8571b3',1,'winstd::crypt_key::duplicate_internal()'],['../classwinstd_1_1eap__packet.html#af7e0415d3a524c0e79fc429f3911c809',1,'winstd::eap_packet::duplicate_internal()']]], + ['duplicatetokenex_21',['DuplicateTokenEx',['../group___win_std_win_a_p_i.html#ga760bb977738a422eabd9a226eb5acdb4',1,'Win.h']]] ]; diff --git a/search/all_6.js b/search/all_6.js index dd1b6570..9a319656 100644 --- a/search/all_6.js +++ b/search/all_6.js @@ -5,5 +5,5 @@ var searchData= ['find_5ffile_2',['find_file',['../classwinstd_1_1find__file.html',1,'winstd']]], ['formatmessage_3',['FormatMessage',['../group___win_std_str_format.html#gaebf39378c982c5116ea0110a69eb2f75',1,'FormatMessage(DWORD dwFlags, LPCVOID lpSource, DWORD dwMessageId, DWORD dwLanguageId, std::basic_string< wchar_t, _Traits, _Ax > &str, va_list *Arguments): Common.h'],['../group___win_std_str_format.html#ga78bf19793ce080f2826f56f228d64623',1,'FormatMessage(DWORD dwFlags, LPCVOID lpSource, DWORD dwMessageId, DWORD dwLanguageId, std::basic_string< char, _Traits, _Ax > &str, va_list *Arguments): Common.h']]], ['free_4',['free',['../classwinstd_1_1handle.html#a706aaab7691a472c608890f8e5dd0d96',1,'winstd::handle']]], - ['free_5finternal_5',['free_internal',['../classwinstd_1_1win__handle.html#a456fe19828113913f42e901f112c6455',1,'winstd::win_handle::free_internal()'],['../classwinstd_1_1com__obj.html#a028b86f770253f74a62ca3eaebb14de5',1,'winstd::com_obj::free_internal()'],['../classwinstd_1_1bstr.html#a87edcb348af7d69ad86709e32b519870',1,'winstd::bstr::free_internal()'],['../classwinstd_1_1handle.html#a137560600851eb4c3e4b80e25d4da629',1,'winstd::handle::free_internal()'],['../classwinstd_1_1cert__context.html#a1615ec6693eb68764543456ad418a970',1,'winstd::cert_context::free_internal()'],['../classwinstd_1_1wlan__handle.html#a86e2b4aa2a5177b6ebac0258099f9261',1,'winstd::wlan_handle::free_internal()'],['../classwinstd_1_1waddrinfo.html#a479f7602b60a4c4205a9327f91e25f66',1,'winstd::waddrinfo::free_internal()'],['../classwinstd_1_1addrinfo.html#a279ad84ce2877b22797eedbec80cd55f',1,'winstd::addrinfo::free_internal()'],['../classwinstd_1_1sc__handle.html#a3db1b2080f7e26c896aa9c47c230e64d',1,'winstd::sc_handle::free_internal()'],['../classwinstd_1_1event__log.html#a3e7c083403f5692926aff600f6ead52e',1,'winstd::event_log::free_internal()'],['../classwinstd_1_1security__id.html#a464626311e64ea1273fd6bca9ef93a73',1,'winstd::security_id::free_internal()'],['../classwinstd_1_1reg__key.html#a3dba00d2105a1c633c571d8ad3131f54',1,'winstd::reg_key::free_internal()'],['../classwinstd_1_1vmemory.html#a616dbfba873b9a3dcf393cff6504fc2e',1,'winstd::vmemory::free_internal()'],['../classwinstd_1_1heap.html#ae25434d96356a74d27c0b3b0e268df45',1,'winstd::heap::free_internal()'],['../classwinstd_1_1find__file.html#a5bb4f7e12689153f991ffcb08dbbe703',1,'winstd::find_file::free_internal()'],['../classwinstd_1_1library.html#a0c602319cb498fa2b6a5c4eda4a150aa',1,'winstd::library::free_internal()'],['../classwinstd_1_1cert__chain__context.html#ae15044b1a7be10d96643d3921e149ee6',1,'winstd::cert_chain_context::free_internal()'],['../classwinstd_1_1setup__device__info__list.html#a41f013a37e16074f1972fd279f8c1437',1,'winstd::setup_device_info_list::free_internal()'],['../classwinstd_1_1sec__context.html#afe8682a77fe50e5818ee6c4c741f36d9',1,'winstd::sec_context::free_internal()'],['../classwinstd_1_1sec__credentials.html#a6156649d1a93696c8369361cb426e260',1,'winstd::sec_credentials::free_internal()'],['../classwinstd_1_1window__dc.html#a351bae4203ad766c94f4fc6eac74e98a',1,'winstd::window_dc::free_internal()'],['../classwinstd_1_1dc.html#ad3dc9d48645022e7a1adcdb9ea01a557',1,'winstd::dc::free_internal()'],['../classwinstd_1_1gdi__handle.html#a777cd2403d6b8d0fb0a4b69c82fcca87',1,'winstd::gdi_handle::free_internal()'],['../classwinstd_1_1event__trace.html#ad8ef9b0616775c44e911d9db4676b19c',1,'winstd::event_trace::free_internal()'],['../classwinstd_1_1event__session.html#a4701ad4ae9d18e890ed4066473680751',1,'winstd::event_session::free_internal()'],['../classwinstd_1_1event__provider.html#ad0d7ed652fe897a94f2ef198dd3f41a1',1,'winstd::event_provider::free_internal()'],['../classwinstd_1_1eap__packet.html#a6d68149b92c1564b2683ddb3a87b60f0',1,'winstd::eap_packet::free_internal()'],['../classwinstd_1_1crypt__key.html#acf2f2ad35dd7602adcdeef17f605e391',1,'winstd::crypt_key::free_internal()'],['../classwinstd_1_1crypt__hash.html#a3c19a87b4ff646d9e87524feac4e41b5',1,'winstd::crypt_hash::free_internal()'],['../classwinstd_1_1crypt__prov.html#aa351d2dbc42daf51dddcf847fd95c39f',1,'winstd::crypt_prov::free_internal()'],['../classwinstd_1_1cert__store.html#ab709fe692a4117173eae26e741da2069',1,'winstd::cert_store::free_internal()']]] + ['free_5finternal_5',['free_internal',['../classwinstd_1_1win__handle.html#a456fe19828113913f42e901f112c6455',1,'winstd::win_handle::free_internal()'],['../classwinstd_1_1com__obj.html#a028b86f770253f74a62ca3eaebb14de5',1,'winstd::com_obj::free_internal()'],['../classwinstd_1_1bstr.html#a87edcb348af7d69ad86709e32b519870',1,'winstd::bstr::free_internal()'],['../classwinstd_1_1safearray.html#adc2ad157b72074ed1b306237819d3685',1,'winstd::safearray::free_internal()'],['../classwinstd_1_1handle.html#a137560600851eb4c3e4b80e25d4da629',1,'winstd::handle::free_internal()'],['../classwinstd_1_1wlan__handle.html#a86e2b4aa2a5177b6ebac0258099f9261',1,'winstd::wlan_handle::free_internal()'],['../classwinstd_1_1waddrinfo.html#a479f7602b60a4c4205a9327f91e25f66',1,'winstd::waddrinfo::free_internal()'],['../classwinstd_1_1addrinfo.html#a279ad84ce2877b22797eedbec80cd55f',1,'winstd::addrinfo::free_internal()'],['../classwinstd_1_1sc__handle.html#a3db1b2080f7e26c896aa9c47c230e64d',1,'winstd::sc_handle::free_internal()'],['../classwinstd_1_1event__log.html#a3e7c083403f5692926aff600f6ead52e',1,'winstd::event_log::free_internal()'],['../classwinstd_1_1security__id.html#a464626311e64ea1273fd6bca9ef93a73',1,'winstd::security_id::free_internal()'],['../classwinstd_1_1reg__key.html#a3dba00d2105a1c633c571d8ad3131f54',1,'winstd::reg_key::free_internal()'],['../classwinstd_1_1vmemory.html#a616dbfba873b9a3dcf393cff6504fc2e',1,'winstd::vmemory::free_internal()'],['../classwinstd_1_1heap.html#ae25434d96356a74d27c0b3b0e268df45',1,'winstd::heap::free_internal()'],['../classwinstd_1_1find__file.html#a5bb4f7e12689153f991ffcb08dbbe703',1,'winstd::find_file::free_internal()'],['../classwinstd_1_1library.html#a0c602319cb498fa2b6a5c4eda4a150aa',1,'winstd::library::free_internal()'],['../classwinstd_1_1cert__context.html#a1615ec6693eb68764543456ad418a970',1,'winstd::cert_context::free_internal()'],['../classwinstd_1_1setup__device__info__list.html#a41f013a37e16074f1972fd279f8c1437',1,'winstd::setup_device_info_list::free_internal()'],['../classwinstd_1_1sec__context.html#afe8682a77fe50e5818ee6c4c741f36d9',1,'winstd::sec_context::free_internal()'],['../classwinstd_1_1sec__credentials.html#a6156649d1a93696c8369361cb426e260',1,'winstd::sec_credentials::free_internal()'],['../classwinstd_1_1window__dc.html#a351bae4203ad766c94f4fc6eac74e98a',1,'winstd::window_dc::free_internal()'],['../classwinstd_1_1dc.html#ad3dc9d48645022e7a1adcdb9ea01a557',1,'winstd::dc::free_internal()'],['../classwinstd_1_1gdi__handle.html#a777cd2403d6b8d0fb0a4b69c82fcca87',1,'winstd::gdi_handle::free_internal()'],['../classwinstd_1_1event__trace.html#ad8ef9b0616775c44e911d9db4676b19c',1,'winstd::event_trace::free_internal()'],['../classwinstd_1_1event__session.html#a4701ad4ae9d18e890ed4066473680751',1,'winstd::event_session::free_internal()'],['../classwinstd_1_1event__provider.html#ad0d7ed652fe897a94f2ef198dd3f41a1',1,'winstd::event_provider::free_internal()'],['../classwinstd_1_1eap__packet.html#a6d68149b92c1564b2683ddb3a87b60f0',1,'winstd::eap_packet::free_internal()'],['../classwinstd_1_1crypt__key.html#acf2f2ad35dd7602adcdeef17f605e391',1,'winstd::crypt_key::free_internal()'],['../classwinstd_1_1crypt__hash.html#a3c19a87b4ff646d9e87524feac4e41b5',1,'winstd::crypt_hash::free_internal()'],['../classwinstd_1_1crypt__prov.html#aa351d2dbc42daf51dddcf847fd95c39f',1,'winstd::crypt_prov::free_internal()'],['../classwinstd_1_1cert__store.html#ab709fe692a4117173eae26e741da2069',1,'winstd::cert_store::free_internal()'],['../classwinstd_1_1cert__chain__context.html#ae15044b1a7be10d96643d3921e149ee6',1,'winstd::cert_chain_context::free_internal()']]] ]; diff --git a/search/all_7.js b/search/all_7.js index 4acec5da..82e52c37 100644 --- a/search/all_7.js +++ b/search/all_7.js @@ -15,9 +15,11 @@ var searchData= ['gettokeninformation_12',['GetTokenInformation',['../group___win_std_win_a_p_i.html#ga75b761473822ee6e9cf336d28b30b073',1,'Win.h']]], ['getwindowtexta_13',['GetWindowTextA',['../group___win_std_win_a_p_i.html#ga11fd1f3e9a51e636f6e0f060e604c1aa',1,'Win.h']]], ['getwindowtextw_14',['GetWindowTextW',['../group___win_std_win_a_p_i.html#gacab04e9e5cbbc759fe83cf70fb891acc',1,'Win.h']]], - ['gtc_15',['gtc',['../group___win_std_e_a_p_a_p_i.html#gga50f5584ca708165f43cec42c42243315a3761e7920c97542314b1aa50434f9293',1,'winstd']]], - ['gtcp_16',['gtcp',['../group___win_std_e_a_p_a_p_i.html#gga50f5584ca708165f43cec42c42243315a811f41353a6e1e0ecf7a03308c4f8e0e',1,'winstd']]], - ['guidtostring_17',['GuidToString',['../group___win_std_win_a_p_i.html#gad08dfb2a0d1254918a2a4ed45061a50d',1,'Win.h']]], - ['guidtostringa_18',['GuidToStringA',['../group___win_std_win_a_p_i.html#ga2ec9f457e182c451486333fa0a994313',1,'Win.h']]], - ['guidtostringw_19',['GuidToStringW',['../group___win_std_win_a_p_i.html#gad8dcada3be8a9e8c0d2f0db263c2a5e3',1,'Win.h']]] + ['globalfree_5fdelete_15',['GlobalFree_delete',['../structwinstd_1_1_global_free__delete.html#a07068a1b6ecc0628d16fc4a5d22d69a1',1,'winstd::GlobalFree_delete::GlobalFree_delete()'],['../structwinstd_1_1_global_free__delete.html',1,'winstd::GlobalFree_delete']]], + ['globalmem_5faccessor_16',['globalmem_accessor',['../classwinstd_1_1globalmem__accessor.html#a7c13c963c94e5aa17dd67943c27b02c0',1,'winstd::globalmem_accessor::globalmem_accessor()'],['../classwinstd_1_1globalmem__accessor.html',1,'winstd::globalmem_accessor< T >']]], + ['gtc_17',['gtc',['../group___win_std_e_a_p_a_p_i.html#gga50f5584ca708165f43cec42c42243315a3761e7920c97542314b1aa50434f9293',1,'winstd']]], + ['gtcp_18',['gtcp',['../group___win_std_e_a_p_a_p_i.html#gga50f5584ca708165f43cec42c42243315a811f41353a6e1e0ecf7a03308c4f8e0e',1,'winstd']]], + ['guidtostring_19',['GuidToString',['../group___win_std_win_a_p_i.html#gad08dfb2a0d1254918a2a4ed45061a50d',1,'Win.h']]], + ['guidtostringa_20',['GuidToStringA',['../group___win_std_win_a_p_i.html#ga2ec9f457e182c451486333fa0a994313',1,'Win.h']]], + ['guidtostringw_21',['GuidToStringW',['../group___win_std_win_a_p_i.html#gad8dcada3be8a9e8c0d2f0db263c2a5e3',1,'Win.h']]] ]; diff --git a/search/all_8.js b/search/all_8.js index 1095c8f3..98bb5322 100644 --- a/search/all_8.js +++ b/search/all_8.js @@ -23,13 +23,14 @@ var searchData= ['handle_3c_20pctxthandle_2c_20null_20_3e_20',['handle< PCtxtHandle, NULL >',['../classwinstd_1_1handle.html',1,'winstd']]], ['handle_3c_20psid_2c_20null_20_3e_21',['handle< PSID, NULL >',['../classwinstd_1_1handle.html',1,'winstd']]], ['handle_3c_20reghandle_2c_20null_20_3e_22',['handle< REGHANDLE, NULL >',['../classwinstd_1_1handle.html',1,'winstd']]], - ['handle_3c_20sc_5fhandle_2c_20null_20_3e_23',['handle< SC_HANDLE, NULL >',['../classwinstd_1_1handle.html',1,'winstd']]], - ['handle_3c_20t_20_2a_2c_20inval_20_3e_24',['handle< T *, INVAL >',['../classwinstd_1_1handle.html',1,'winstd']]], - ['handle_3c_20t_2c_20null_20_3e_25',['handle< T, NULL >',['../classwinstd_1_1handle.html',1,'winstd']]], - ['handle_3c_20tracehandle_2c_200_20_3e_26',['handle< TRACEHANDLE, 0 >',['../classwinstd_1_1handle.html',1,'winstd']]], - ['handle_3c_20tracehandle_2c_20invalid_5fprocesstrace_5fhandle_20_3e_27',['handle< TRACEHANDLE, INVALID_PROCESSTRACE_HANDLE >',['../classwinstd_1_1handle.html',1,'winstd']]], - ['handle_5ftype_28',['handle_type',['../classwinstd_1_1handle.html#a3dda19199ecfbc378c932e7d84d0ea81',1,'winstd::handle']]], - ['heap_29',['heap',['../classwinstd_1_1heap.html',1,'winstd']]], - ['heap_5fallocator_30',['heap_allocator',['../classwinstd_1_1heap__allocator.html#a71fbccc1260209b367f2ddfe96c5825a',1,'winstd::heap_allocator::heap_allocator(HANDLE heap)'],['../classwinstd_1_1heap__allocator.html#a12f843aaf554b4ca91ea69f7a321daf3',1,'winstd::heap_allocator::heap_allocator(const heap_allocator< _Other > &other)'],['../classwinstd_1_1heap__allocator.html',1,'winstd::heap_allocator< _Ty >']]], - ['help_5flink_5fid_31',['help_link_id',['../classwinstd_1_1eap__runtime__error.html#af7179a9cc9ff633a0e7d5983a4680171',1,'winstd::eap_runtime_error']]] + ['handle_3c_20safearray_20_2a_2c_20inval_20_3e_23',['handle< SAFEARRAY *, INVAL >',['../classwinstd_1_1handle.html',1,'winstd']]], + ['handle_3c_20sc_5fhandle_2c_20null_20_3e_24',['handle< SC_HANDLE, NULL >',['../classwinstd_1_1handle.html',1,'winstd']]], + ['handle_3c_20t_20_2a_2c_20inval_20_3e_25',['handle< T *, INVAL >',['../classwinstd_1_1handle.html',1,'winstd']]], + ['handle_3c_20t_2c_20null_20_3e_26',['handle< T, NULL >',['../classwinstd_1_1handle.html',1,'winstd']]], + ['handle_3c_20tracehandle_2c_200_20_3e_27',['handle< TRACEHANDLE, 0 >',['../classwinstd_1_1handle.html',1,'winstd']]], + ['handle_3c_20tracehandle_2c_20invalid_5fprocesstrace_5fhandle_20_3e_28',['handle< TRACEHANDLE, INVALID_PROCESSTRACE_HANDLE >',['../classwinstd_1_1handle.html',1,'winstd']]], + ['handle_5ftype_29',['handle_type',['../classwinstd_1_1handle.html#a3dda19199ecfbc378c932e7d84d0ea81',1,'winstd::handle']]], + ['heap_30',['heap',['../classwinstd_1_1heap.html',1,'winstd']]], + ['heap_5fallocator_31',['heap_allocator',['../classwinstd_1_1heap__allocator.html#a71fbccc1260209b367f2ddfe96c5825a',1,'winstd::heap_allocator::heap_allocator(HANDLE heap)'],['../classwinstd_1_1heap__allocator.html#a12f843aaf554b4ca91ea69f7a321daf3',1,'winstd::heap_allocator::heap_allocator(const heap_allocator< _Other > &other)'],['../classwinstd_1_1heap__allocator.html',1,'winstd::heap_allocator< _Ty >']]], + ['help_5flink_5fid_32',['help_link_id',['../classwinstd_1_1eap__runtime__error.html#af7179a9cc9ff633a0e7d5983a4680171',1,'winstd::eap_runtime_error']]] ]; diff --git a/search/all_b.js b/search/all_b.js index 847c47d0..4f2ab860 100644 --- a/search/all_b.js +++ b/search/all_b.js @@ -2,7 +2,7 @@ var searchData= [ ['m_5fattrib_0',['m_attrib',['../classwinstd_1_1sec__context.html#a8a211355b63585e9cc633639d801a13f',1,'winstd::sec_context']]], ['m_5fcookie_1',['m_cookie',['../classwinstd_1_1actctx__activator.html#ab3556f1baf628459929c8c394341a9a6',1,'winstd::actctx_activator::m_cookie()'],['../classwinstd_1_1console__ctrl__handler.html#ae46848a80c517f95fc3fd7c1ee832134',1,'winstd::console_ctrl_handler::m_cookie()'],['../classwinstd_1_1impersonator.html#acf82d1c062fce491af05b7e89c09d3f2',1,'winstd::impersonator::m_cookie()']]], - ['m_5fdata_2',['m_data',['../classwinstd_1_1sanitizing__blob.html#a38187ccd591a6a7cfa4a9d0a6f6f7701',1,'winstd::sanitizing_blob::m_data()'],['../classwinstd_1_1critical__section.html#a55b9b9e7f38b94cd5c3fc15a319a6719',1,'winstd::critical_section::m_data()']]], + ['m_5fdata_2',['m_data',['../classwinstd_1_1safearray__accessor.html#ae4a6744c6fc119a673701a4e0b3af1d4',1,'winstd::safearray_accessor::m_data()'],['../classwinstd_1_1globalmem__accessor.html#a65be5938136bfa1ec65b7571cfccb3b7',1,'winstd::globalmem_accessor::m_data()'],['../classwinstd_1_1sanitizing__blob.html#a38187ccd591a6a7cfa4a9d0a6f6f7701',1,'winstd::sanitizing_blob::m_data()'],['../classwinstd_1_1critical__section.html#a55b9b9e7f38b94cd5c3fc15a319a6719',1,'winstd::critical_section::m_data()']]], ['m_5fdesc_3',['m_desc',['../classwinstd_1_1event__fn__auto__ret.html#a23fa88c6a7aea86536cc0e4bee2746cf',1,'winstd::event_fn_auto_ret']]], ['m_5fenable_5ffilter_5fdesc_4',['m_enable_filter_desc',['../classwinstd_1_1event__trace__enabler.html#a358d20e2dbbc7dcaccbe8d3d303cc3c4',1,'winstd::event_trace_enabler']]], ['m_5fenable_5fproperty_5',['m_enable_property',['../classwinstd_1_1event__trace__enabler.html#afa99363e0122b520280f1e4a6f0a6c35',1,'winstd::event_trace_enabler']]], @@ -10,7 +10,7 @@ var searchData= ['m_5fevent_5fdest_7',['m_event_dest',['../classwinstd_1_1event__fn__auto.html#a03080fbd3201b899cce1ab5bb59dca2f',1,'winstd::event_fn_auto::m_event_dest()'],['../classwinstd_1_1event__fn__auto__ret.html#a8d168be3f57047c78fa329ff3eb2e700',1,'winstd::event_fn_auto_ret::m_event_dest()']]], ['m_5fexpires_8',['m_expires',['../classwinstd_1_1sec__credentials.html#ab2b392dc45e270c5855245fe4c8d159a',1,'winstd::sec_credentials::m_expires()'],['../classwinstd_1_1sec__context.html#a8ea323950689fbfa34e945825f013304',1,'winstd::sec_context::m_expires()']]], ['m_5ffn_5fname_9',['m_fn_name',['../classwinstd_1_1event__fn__auto.html#ad17409fc9cdaa8b78a9f38e39e21a9f0',1,'winstd::event_fn_auto']]], - ['m_5fh_10',['m_h',['../classwinstd_1_1handle.html#aabde3f16fd98b06b3b0282ef7806eb59',1,'winstd::handle']]], + ['m_5fh_10',['m_h',['../classwinstd_1_1handle.html#aabde3f16fd98b06b3b0282ef7806eb59',1,'winstd::handle::m_h()'],['../classwinstd_1_1globalmem__accessor.html#a192f021a0694ab58dae6e2d63a5c66b8',1,'winstd::globalmem_accessor::m_h()']]], ['m_5fhandler_11',['m_handler',['../classwinstd_1_1console__ctrl__handler.html#a9ef863ec7a6cd26788acb94430948e60',1,'winstd::console_ctrl_handler']]], ['m_5fhdc_12',['m_hdc',['../classwinstd_1_1dc__selector.html#ab2d1223cd41529b6b2c9bb09c34568e3',1,'winstd::dc_selector']]], ['m_5fheap_13',['m_heap',['../classwinstd_1_1heap__allocator.html#a36fb89d5fca7564d2718ba54a519eadd',1,'winstd::heap_allocator']]], @@ -25,33 +25,34 @@ var searchData= ['m_5fproc_22',['m_proc',['../classwinstd_1_1vmemory.html#af448989be292da246dd25469d7a70b87',1,'winstd::vmemory']]], ['m_5fprop_23',['m_prop',['../classwinstd_1_1event__session.html#ad2b5e63572d44c37dc3f4f64feefa3cc',1,'winstd::event_session']]], ['m_5fprovider_5fid_24',['m_provider_id',['../classwinstd_1_1event__trace__enabler.html#ade3cdf424d3a4eb85f0fdc554dfcf673',1,'winstd::event_trace_enabler']]], - ['m_5fptr_25',['m_ptr',['../classwinstd_1_1ref__unique__ptr_3_01___ty_0f_0e_00_01___dx_01_4.html#a8d9eb2287c86ebcb89a0417842410d0b',1,'winstd::ref_unique_ptr< _Ty[], _Dx >::m_ptr()'],['../classwinstd_1_1ref__unique__ptr.html#a72486d304d712600e6b222fab19d1032',1,'winstd::ref_unique_ptr::m_ptr()']]], + ['m_5fptr_25',['m_ptr',['../classwinstd_1_1ref__unique__ptr.html#a72486d304d712600e6b222fab19d1032',1,'winstd::ref_unique_ptr::m_ptr()'],['../classwinstd_1_1ref__unique__ptr_3_01___ty_0f_0e_00_01___dx_01_4.html#a8d9eb2287c86ebcb89a0417842410d0b',1,'winstd::ref_unique_ptr< _Ty[], _Dx >::m_ptr()']]], ['m_5freason_26',['m_reason',['../classwinstd_1_1eap__runtime__error.html#af7d0e9785475719f4b1b0b59c4ae49e3',1,'winstd::eap_runtime_error']]], ['m_5frepair_5fdesc_27',['m_repair_desc',['../classwinstd_1_1eap__runtime__error.html#a2b237993f0c860b8b0ad83416d499f18',1,'winstd::eap_runtime_error']]], ['m_5frepair_5fid_28',['m_repair_id',['../classwinstd_1_1eap__runtime__error.html#a526d2ae63c12d1a439d69412e7f13ec7',1,'winstd::eap_runtime_error']]], ['m_5fresult_29',['m_result',['../classwinstd_1_1com__initializer.html#ae9478fd05b5b1c82e0f762c2b517155b',1,'winstd::com_initializer::m_result()'],['../classwinstd_1_1event__fn__auto__ret.html#a69f1ae5c23f90aaa4da012b1eb0b8f81',1,'winstd::event_fn_auto_ret::m_result()']]], ['m_5froot_5fcause_5fdesc_30',['m_root_cause_desc',['../classwinstd_1_1eap__runtime__error.html#aea17d371de31216ac0754c1ed1f0b99a',1,'winstd::eap_runtime_error']]], ['m_5froot_5fcause_5fid_31',['m_root_cause_id',['../classwinstd_1_1eap__runtime__error.html#a084ddacb051932c211a995872fb67b57',1,'winstd::eap_runtime_error']]], - ['m_5fsource_5fid_32',['m_source_id',['../classwinstd_1_1event__trace__enabler.html#ae6269d27652b694435656906784e3a7a',1,'winstd::event_trace_enabler']]], - ['m_5fstatus_33',['m_status',['../classwinstd_1_1event__trace__enabler.html#a576839d3b1e1db676ea1175329b02c9f',1,'winstd::event_trace_enabler']]], - ['m_5ftrace_5fhandle_34',['m_trace_handle',['../classwinstd_1_1event__trace__enabler.html#a5ef48960265e3786fb94fe7f64587909',1,'winstd::event_trace_enabler']]], - ['m_5ftype_35',['m_type',['../classwinstd_1_1eap__runtime__error.html#a4d7e04b38831f029d862990b607333aa',1,'winstd::eap_runtime_error']]], - ['max_5fsize_36',['max_size',['../classwinstd_1_1heap__allocator.html#ab2018e74ee3bc84eb3841fae8bc71b01',1,'winstd::heap_allocator']]], - ['md5_5fchallenge_37',['md5_challenge',['../group___win_std_e_a_p_a_p_i.html#gga50f5584ca708165f43cec42c42243315a1f61e547b81232a658f0704e85488a6c',1,'winstd']]], - ['microsoft_20installer_20api_38',['Microsoft Installer API',['../group___win_std_m_s_i_a_p_i.html',1,'']]], - ['ms_5fauth_5ftlv_39',['ms_auth_tlv',['../group___win_std_e_a_p_a_p_i.html#gga50f5584ca708165f43cec42c42243315ae19141eb8aa04ffb76d616409efcdf03',1,'winstd']]], - ['mschapv2_40',['mschapv2',['../group___win_std_e_a_p_a_p_i.html#gga50f5584ca708165f43cec42c42243315af579ec4460aed7126de9ed539845a0f4',1,'winstd']]], - ['msg_41',['msg',['../classwinstd_1_1win__runtime__error.html#a868231adfa74636792a474a6362aeea7',1,'winstd::win_runtime_error::msg()'],['../classwinstd_1_1ws2__runtime__error.html#af6984de4ac18e732a6844f379d67c52f',1,'winstd::ws2_runtime_error::msg()']]], - ['msiformatrecorda_42',['MsiFormatRecordA',['../group___win_std_m_s_i_a_p_i.html#ga7cb245425b74bdf9b89c754636486f0c',1,'MSI.h']]], - ['msiformatrecordw_43',['MsiFormatRecordW',['../group___win_std_m_s_i_a_p_i.html#ga016f87f038892fe3121a2dd5232468d2',1,'MSI.h']]], - ['msigetcomponentpatha_44',['MsiGetComponentPathA',['../group___win_std_m_s_i_a_p_i.html#ga41c26288267e69f5bba73f9b125bf2a3',1,'MSI.h']]], - ['msigetcomponentpathw_45',['MsiGetComponentPathW',['../group___win_std_m_s_i_a_p_i.html#gac4be55d9d370a31e064787675c518c58',1,'MSI.h']]], - ['msigetpropertya_46',['MsiGetPropertyA',['../group___win_std_m_s_i_a_p_i.html#ga7a5853cf74ed8adb1b5cd1289c39e385',1,'MSI.h']]], - ['msigetpropertyw_47',['MsiGetPropertyW',['../group___win_std_m_s_i_a_p_i.html#ga32e20a17013eb7660fda19f2b1de389d',1,'MSI.h']]], - ['msigettargetpatha_48',['MsiGetTargetPathA',['../group___win_std_m_s_i_a_p_i.html#ga340ee7efbd658e2d6ecfb199c41856bc',1,'MSI.h']]], - ['msigettargetpathw_49',['MsiGetTargetPathW',['../group___win_std_m_s_i_a_p_i.html#ga51696a19fb4b748eed04fa3b6a8f9eca',1,'MSI.h']]], - ['msirecordgetstringa_50',['MsiRecordGetStringA',['../group___win_std_m_s_i_a_p_i.html#gaedc818f42d945e54f6956c928b3ffc29',1,'MSI.h']]], - ['msirecordgetstringw_51',['MsiRecordGetStringW',['../group___win_std_m_s_i_a_p_i.html#ga487c38b4353054a4e518ca01d1397cf6',1,'MSI.h']]], - ['msirecordreadstream_52',['MsiRecordReadStream',['../group___win_std_m_s_i_a_p_i.html#ga83052d8dfbdf437cc45e6a4b46357036',1,'MSI.h']]], - ['multibytetowidechar_53',['MultiByteToWideChar',['../group___win_std_win_a_p_i.html#ga1a92ed50a4e4cdaea5d470a52291098c',1,'MultiByteToWideChar(UINT CodePage, DWORD dwFlags, LPCSTR lpMultiByteStr, int cbMultiByte, std::basic_string< wchar_t, _Traits, _Ax > &sWideCharStr) noexcept: Win.h'],['../group___win_std_win_a_p_i.html#gaeb4d134b8910610678988196480a29cc',1,'MultiByteToWideChar(UINT CodePage, DWORD dwFlags, LPCSTR lpMultiByteStr, int cbMultiByte, std::vector< wchar_t, _Ax > &sWideCharStr) noexcept: Win.h'],['../group___win_std_win_a_p_i.html#ga5fe48d031512d6acbd14095b6d4e182d',1,'MultiByteToWideChar(UINT CodePage, DWORD dwFlags, const std::basic_string< char, _Traits1, _Ax1 > &sMultiByteStr, std::basic_string< wchar_t, _Traits2, _Ax2 > &sWideCharStr) noexcept: Win.h']]] + ['m_5fsa_32',['m_sa',['../classwinstd_1_1safearray__accessor.html#ab192244352a22d42720b312d8a5323a8',1,'winstd::safearray_accessor']]], + ['m_5fsource_5fid_33',['m_source_id',['../classwinstd_1_1event__trace__enabler.html#ae6269d27652b694435656906784e3a7a',1,'winstd::event_trace_enabler']]], + ['m_5fstatus_34',['m_status',['../classwinstd_1_1event__trace__enabler.html#a576839d3b1e1db676ea1175329b02c9f',1,'winstd::event_trace_enabler']]], + ['m_5ftrace_5fhandle_35',['m_trace_handle',['../classwinstd_1_1event__trace__enabler.html#a5ef48960265e3786fb94fe7f64587909',1,'winstd::event_trace_enabler']]], + ['m_5ftype_36',['m_type',['../classwinstd_1_1eap__runtime__error.html#a4d7e04b38831f029d862990b607333aa',1,'winstd::eap_runtime_error']]], + ['max_5fsize_37',['max_size',['../classwinstd_1_1heap__allocator.html#ab2018e74ee3bc84eb3841fae8bc71b01',1,'winstd::heap_allocator']]], + ['md5_5fchallenge_38',['md5_challenge',['../group___win_std_e_a_p_a_p_i.html#gga50f5584ca708165f43cec42c42243315a1f61e547b81232a658f0704e85488a6c',1,'winstd']]], + ['microsoft_20installer_20api_39',['Microsoft Installer API',['../group___win_std_m_s_i_a_p_i.html',1,'']]], + ['ms_5fauth_5ftlv_40',['ms_auth_tlv',['../group___win_std_e_a_p_a_p_i.html#gga50f5584ca708165f43cec42c42243315ae19141eb8aa04ffb76d616409efcdf03',1,'winstd']]], + ['mschapv2_41',['mschapv2',['../group___win_std_e_a_p_a_p_i.html#gga50f5584ca708165f43cec42c42243315af579ec4460aed7126de9ed539845a0f4',1,'winstd']]], + ['msg_42',['msg',['../classwinstd_1_1win__runtime__error.html#a868231adfa74636792a474a6362aeea7',1,'winstd::win_runtime_error::msg()'],['../classwinstd_1_1ws2__runtime__error.html#af6984de4ac18e732a6844f379d67c52f',1,'winstd::ws2_runtime_error::msg()']]], + ['msiformatrecorda_43',['MsiFormatRecordA',['../group___win_std_m_s_i_a_p_i.html#ga7cb245425b74bdf9b89c754636486f0c',1,'MSI.h']]], + ['msiformatrecordw_44',['MsiFormatRecordW',['../group___win_std_m_s_i_a_p_i.html#ga016f87f038892fe3121a2dd5232468d2',1,'MSI.h']]], + ['msigetcomponentpatha_45',['MsiGetComponentPathA',['../group___win_std_m_s_i_a_p_i.html#ga41c26288267e69f5bba73f9b125bf2a3',1,'MSI.h']]], + ['msigetcomponentpathw_46',['MsiGetComponentPathW',['../group___win_std_m_s_i_a_p_i.html#gac4be55d9d370a31e064787675c518c58',1,'MSI.h']]], + ['msigetpropertya_47',['MsiGetPropertyA',['../group___win_std_m_s_i_a_p_i.html#ga7a5853cf74ed8adb1b5cd1289c39e385',1,'MSI.h']]], + ['msigetpropertyw_48',['MsiGetPropertyW',['../group___win_std_m_s_i_a_p_i.html#ga32e20a17013eb7660fda19f2b1de389d',1,'MSI.h']]], + ['msigettargetpatha_49',['MsiGetTargetPathA',['../group___win_std_m_s_i_a_p_i.html#ga340ee7efbd658e2d6ecfb199c41856bc',1,'MSI.h']]], + ['msigettargetpathw_50',['MsiGetTargetPathW',['../group___win_std_m_s_i_a_p_i.html#ga51696a19fb4b748eed04fa3b6a8f9eca',1,'MSI.h']]], + ['msirecordgetstringa_51',['MsiRecordGetStringA',['../group___win_std_m_s_i_a_p_i.html#gaedc818f42d945e54f6956c928b3ffc29',1,'MSI.h']]], + ['msirecordgetstringw_52',['MsiRecordGetStringW',['../group___win_std_m_s_i_a_p_i.html#ga487c38b4353054a4e518ca01d1397cf6',1,'MSI.h']]], + ['msirecordreadstream_53',['MsiRecordReadStream',['../group___win_std_m_s_i_a_p_i.html#ga83052d8dfbdf437cc45e6a4b46357036',1,'MSI.h']]], + ['multibytetowidechar_54',['MultiByteToWideChar',['../group___win_std_win_a_p_i.html#ga1a92ed50a4e4cdaea5d470a52291098c',1,'MultiByteToWideChar(UINT CodePage, DWORD dwFlags, LPCSTR lpMultiByteStr, int cbMultiByte, std::basic_string< wchar_t, _Traits, _Ax > &sWideCharStr) noexcept: Win.h'],['../group___win_std_win_a_p_i.html#gaeb4d134b8910610678988196480a29cc',1,'MultiByteToWideChar(UINT CodePage, DWORD dwFlags, LPCSTR lpMultiByteStr, int cbMultiByte, std::vector< wchar_t, _Ax > &sWideCharStr) noexcept: Win.h'],['../group___win_std_win_a_p_i.html#ga5fe48d031512d6acbd14095b6d4e182d',1,'MultiByteToWideChar(UINT CodePage, DWORD dwFlags, const std::basic_string< char, _Traits1, _Ax1 > &sMultiByteStr, std::basic_string< wchar_t, _Traits2, _Ax2 > &sWideCharStr) noexcept: Win.h']]] ]; diff --git a/search/all_d.js b/search/all_d.js index 52779319..a7d0feb2 100644 --- a/search/all_d.js +++ b/search/all_d.js @@ -10,12 +10,12 @@ var searchData= ['operator_21_7',['operator!',['../classwinstd_1_1handle.html#a5df08ecb32b9040bf7342479aee2286c',1,'winstd::handle']]], ['operator_21_3d_8',['operator!=',['../group___win_std_e_a_p_a_p_i.html#gac742802fadd5c08227ed40026c21524a',1,'operator!=(): EAP.h'],['../classwinstd_1_1variant.html#a70dc99253ef9de24b443e6d48b662643',1,'winstd::variant::operator!=()'],['../classwinstd_1_1handle.html#a6df58f6c131ab4288acb96d5b8f3012e',1,'winstd::handle::operator!=()'],['../classwinstd_1_1cert__context.html#adfad0db8dd947143a8406f2f988d04ad',1,'winstd::cert_context::operator!=()']]], ['operator_26_9',['operator&',['../classwinstd_1_1handle.html#a2bd2de7bb89dcebe2c9379dd54ee79c1',1,'winstd::handle']]], - ['operator_28_29_10',['operator()',['../structwinstd_1_1_eap_host_peer_free_eap_error__delete.html#ae6aa071d5b9824f6062746360478a683',1,'winstd::EapHostPeerFreeEapError_delete::operator()()'],['../structwinstd_1_1_wlan_free_memory__delete_3_01___ty_0f_0e_4.html#a3b0a5a8db35677a63c3583a45658df1b',1,'winstd::WlanFreeMemory_delete< _Ty[]>::operator()(_Other *) const'],['../structwinstd_1_1_wlan_free_memory__delete_3_01___ty_0f_0e_4.html#a60d22784612a4cfd16ca8ad6629a77e4',1,'winstd::WlanFreeMemory_delete< _Ty[]>::operator()(_Ty *_Ptr) const'],['../structwinstd_1_1_wlan_free_memory__delete.html#a5013eb2213d92798d755cbb9fa24e26b',1,'winstd::WlanFreeMemory_delete::operator()()'],['../structwinstd_1_1_unmap_view_of_file__delete_3_01___ty_0f_0e_4.html#a8a44a95dd279b699a8f3ff2c5f8dd31a',1,'winstd::UnmapViewOfFile_delete< _Ty[]>::operator()(_Other *) const'],['../structwinstd_1_1_unmap_view_of_file__delete_3_01___ty_0f_0e_4.html#aa9bfce548f756da75283fb781ea2da75',1,'winstd::UnmapViewOfFile_delete< _Ty[]>::operator()(_Ty *_Ptr) const'],['../structwinstd_1_1_unmap_view_of_file__delete.html#aa3611bebc2deaf9acaed4e09e193032d',1,'winstd::UnmapViewOfFile_delete::operator()()'],['../structwinstd_1_1_eap_host_peer_free_error_memory__delete.html#a5dd9a56b7344ef66c378041a97fdb307',1,'winstd::EapHostPeerFreeErrorMemory_delete::operator()()'],['../structwinstd_1_1_eap_host_peer_free_runtime_memory__delete.html#a4c573463394fc3ea6781f796d29fe26e',1,'winstd::EapHostPeerFreeRuntimeMemory_delete::operator()()'],['../structwinstd_1_1_eap_host_peer_free_memory__delete.html#a20b97a65abb2063a31fc8fd7a9cb0f1f',1,'winstd::EapHostPeerFreeMemory_delete::operator()()'],['../structwinstd_1_1_cred_free__delete_3_01___ty_0f_0e_4.html#acc62d6419d7dea72f237ab2788171f48',1,'winstd::CredFree_delete< _Ty[]>::operator()(_Other *) const'],['../structwinstd_1_1_cred_free__delete_3_01___ty_0f_0e_4.html#aea662a4ce3e32723646313a9a56c4c9a',1,'winstd::CredFree_delete< _Ty[]>::operator()(_Ty *_Ptr) const noexcept'],['../structwinstd_1_1_cred_free__delete.html#a247d6f53f119468b6ccb08ff01338465',1,'winstd::CredFree_delete::operator()()'],['../structwinstd_1_1_local_free__delete_3_01___ty_0f_0e_4.html#abd0fd61b2b66c5e514755f84a655384b',1,'winstd::LocalFree_delete< _Ty[]>::operator()(_Other *) const'],['../structwinstd_1_1_local_free__delete_3_01___ty_0f_0e_4.html#abf0ecfcfbb58493103f7e0905272d8d8',1,'winstd::LocalFree_delete< _Ty[]>::operator()(_Ty *_Ptr) const noexcept'],['../structwinstd_1_1_local_free__delete.html#ad96c48c15a2dea2704073d8db5b72542',1,'winstd::LocalFree_delete::operator()()'],['../structwinstd_1_1_co_task_mem_free__delete.html#a66d6fbd417d9073624387c4664db782f',1,'winstd::CoTaskMemFree_delete::operator()()']]], + ['operator_28_29_10',['operator()',['../structwinstd_1_1_eap_host_peer_free_error_memory__delete.html#a5dd9a56b7344ef66c378041a97fdb307',1,'winstd::EapHostPeerFreeErrorMemory_delete::operator()()'],['../structwinstd_1_1_wlan_free_memory__delete_3_01___ty_0f_0e_4.html#a3b0a5a8db35677a63c3583a45658df1b',1,'winstd::WlanFreeMemory_delete< _Ty[]>::operator()(_Other *) const'],['../structwinstd_1_1_wlan_free_memory__delete_3_01___ty_0f_0e_4.html#a60d22784612a4cfd16ca8ad6629a77e4',1,'winstd::WlanFreeMemory_delete< _Ty[]>::operator()(_Ty *_Ptr) const'],['../structwinstd_1_1_wlan_free_memory__delete.html#a5013eb2213d92798d755cbb9fa24e26b',1,'winstd::WlanFreeMemory_delete::operator()()'],['../structwinstd_1_1_unmap_view_of_file__delete_3_01___ty_0f_0e_4.html#a8a44a95dd279b699a8f3ff2c5f8dd31a',1,'winstd::UnmapViewOfFile_delete< _Ty[]>::operator()(_Other *) const'],['../structwinstd_1_1_unmap_view_of_file__delete_3_01___ty_0f_0e_4.html#aa9bfce548f756da75283fb781ea2da75',1,'winstd::UnmapViewOfFile_delete< _Ty[]>::operator()(_Ty *_Ptr) const'],['../structwinstd_1_1_unmap_view_of_file__delete.html#aa3611bebc2deaf9acaed4e09e193032d',1,'winstd::UnmapViewOfFile_delete::operator()()'],['../structwinstd_1_1_eap_host_peer_free_eap_error__delete.html#ae6aa071d5b9824f6062746360478a683',1,'winstd::EapHostPeerFreeEapError_delete::operator()()'],['../structwinstd_1_1_eap_host_peer_free_runtime_memory__delete.html#a4c573463394fc3ea6781f796d29fe26e',1,'winstd::EapHostPeerFreeRuntimeMemory_delete::operator()()'],['../structwinstd_1_1_eap_host_peer_free_memory__delete.html#a20b97a65abb2063a31fc8fd7a9cb0f1f',1,'winstd::EapHostPeerFreeMemory_delete::operator()()'],['../structwinstd_1_1_cred_free__delete_3_01___ty_0f_0e_4.html#acc62d6419d7dea72f237ab2788171f48',1,'winstd::CredFree_delete< _Ty[]>::operator()(_Other *) const'],['../structwinstd_1_1_cred_free__delete_3_01___ty_0f_0e_4.html#aea662a4ce3e32723646313a9a56c4c9a',1,'winstd::CredFree_delete< _Ty[]>::operator()(_Ty *_Ptr) const noexcept'],['../structwinstd_1_1_cred_free__delete.html#a247d6f53f119468b6ccb08ff01338465',1,'winstd::CredFree_delete::operator()()'],['../structwinstd_1_1_global_free__delete.html#a51cf3b37e54bcaf481d2ab03dcc2ae74',1,'winstd::GlobalFree_delete::operator()()'],['../structwinstd_1_1_local_free__delete_3_01___ty_0f_0e_4.html#abd0fd61b2b66c5e514755f84a655384b',1,'winstd::LocalFree_delete< _Ty[]>::operator()(_Other *) const'],['../structwinstd_1_1_local_free__delete_3_01___ty_0f_0e_4.html#abf0ecfcfbb58493103f7e0905272d8d8',1,'winstd::LocalFree_delete< _Ty[]>::operator()(_Ty *_Ptr) const noexcept'],['../structwinstd_1_1_local_free__delete.html#ad96c48c15a2dea2704073d8db5b72542',1,'winstd::LocalFree_delete::operator()()'],['../structwinstd_1_1_co_task_mem_free__delete.html#a66d6fbd417d9073624387c4664db782f',1,'winstd::CoTaskMemFree_delete::operator()()']]], ['operator_2a_11',['operator*',['../classwinstd_1_1handle.html#a0f1ac60cf62e41c24394bf0e3457fbd9',1,'winstd::handle']]], ['operator_2d_3e_12',['operator->',['../classwinstd_1_1handle.html#a285ada5936fe7afdd12eed70b38c2084',1,'winstd::handle']]], - ['operator_3c_13',['operator<',['../classwinstd_1_1handle.html#a4c4515d0d1071cab5c675e926aa2dc92',1,'winstd::handle::operator<()'],['../classwinstd_1_1cert__context.html#a92881d07b0b41b81c4119ed8d8868c3b',1,'winstd::cert_context::operator<()'],['../classwinstd_1_1variant.html#ac03c0c14bb91f7511425946ef7f3e725',1,'winstd::variant::operator<()']]], + ['operator_3c_13',['operator<',['../classwinstd_1_1variant.html#ac03c0c14bb91f7511425946ef7f3e725',1,'winstd::variant::operator<()'],['../classwinstd_1_1cert__context.html#a92881d07b0b41b81c4119ed8d8868c3b',1,'winstd::cert_context::operator<()'],['../classwinstd_1_1handle.html#a4c4515d0d1071cab5c675e926aa2dc92',1,'winstd::handle::operator<(handle_type h) const']]], ['operator_3c_3d_14',['operator<=',['../classwinstd_1_1handle.html#af9e9538d58b952799db4a1c68b0184b9',1,'winstd::handle::operator<=()'],['../classwinstd_1_1cert__context.html#a042240321d22636cddc379b198c7fd84',1,'winstd::cert_context::operator<=()'],['../classwinstd_1_1variant.html#a02366b97c9a937f57806640dc942ecaf',1,'winstd::variant::operator<=()']]], - ['operator_3d_15',['operator=',['../classwinstd_1_1eap__method__info__array.html#aea48aefd91b676cdbeb9511640108f2a',1,'winstd::eap_method_info_array::operator=()'],['../classwinstd_1_1variant.html#a2ea74c1b7a770188f7f59d7eb6923dbe',1,'winstd::variant::operator=()'],['../classwinstd_1_1eap__attr.html#a242766666ce3cbb83429ddd0eaeb9cc6',1,'winstd::eap_attr::operator=(eap_attr &&a) noexcept'],['../classwinstd_1_1eap__attr.html#aa5909d52c15557908ff584f4712eea05',1,'winstd::eap_attr::operator=(const EAP_ATTRIBUTE &a)'],['../classwinstd_1_1data__blob.html#a637b625d29bacc0875d543c69da351c2',1,'winstd::data_blob::operator=(data_blob &&other) noexcept'],['../classwinstd_1_1data__blob.html#ac818a3116ab5fc0af960f82aa505b6ae',1,'winstd::data_blob::operator=(const DATA_BLOB &other)'],['../classwinstd_1_1dplhandle.html#a546f1f737bc3da0c9b19967d849776d3',1,'winstd::dplhandle::operator=(dplhandle< handle_type, INVAL > &&h) noexcept'],['../classwinstd_1_1dplhandle.html#abcccb97671b96da3623f700a93bb5c39',1,'winstd::dplhandle::operator=(const dplhandle< handle_type, INVAL > &h) noexcept'],['../classwinstd_1_1dplhandle.html#a31cec3cdf4ee749b1aef4b4cd7652fb7',1,'winstd::dplhandle::operator=(handle_type h) noexcept'],['../classwinstd_1_1handle.html#a6326bbc54ec3441e41f30bc1ec4d6a6c',1,'winstd::handle::operator=(handle< handle_type, INVAL > &&h) noexcept'],['../classwinstd_1_1handle.html#a591e006af92e4d088fb9c1ed974c0923',1,'winstd::handle::operator=(handle_type h) noexcept'],['../classwinstd_1_1variant.html#a39d9e97b57c37f3d876574cc2fd6e0a5',1,'winstd::variant::operator=()'],['../classwinstd_1_1event__rec.html#aa5287b5572575d440f881c1d8c17bac3',1,'winstd::event_rec::operator=(const event_rec &other)'],['../classwinstd_1_1event__rec.html#a41f64986df27cea4fdaa8ee8ce2d3875',1,'winstd::event_rec::operator=(const EVENT_RECORD &other)'],['../classwinstd_1_1event__rec.html#a22ab332b9c7e3c21e6107e909703da0f',1,'winstd::event_rec::operator=(event_rec &&other) noexcept'],['../classwinstd_1_1event__session.html#a4e436a74c83a75aab21800bc9d954228',1,'winstd::event_session::operator=()'],['../classwinstd_1_1event__fn__auto.html#acb8dddbdd22399d26d4c5db2998afc1d',1,'winstd::event_fn_auto::operator=(const event_fn_auto &other)'],['../classwinstd_1_1event__fn__auto.html#ab64dd267c58d816b4ef5549e704a8949',1,'winstd::event_fn_auto::operator=(event_fn_auto &&other) noexcept'],['../classwinstd_1_1event__fn__auto__ret.html#a6bb69bf1ac97231ef47c2aed99921bc9',1,'winstd::event_fn_auto_ret::operator=(const event_fn_auto_ret< T > &other)'],['../classwinstd_1_1event__fn__auto__ret.html#ade4fd767e5e743649480b93cd0a5ba69',1,'winstd::event_fn_auto_ret::operator=(event_fn_auto_ret< T > &&other)'],['../classwinstd_1_1window__dc.html#ad5d431027a698fef783407ba9e9d167b',1,'winstd::window_dc::operator=()'],['../classwinstd_1_1security__attributes.html#a85cc5cc2ce94a8876e888ee6646779d7',1,'winstd::security_attributes::operator=()'],['../classwinstd_1_1sec__credentials.html#af0c3ec1f8e1b060cd4dd99b4d34d4623',1,'winstd::sec_credentials::operator=()'],['../classwinstd_1_1sec__context.html#aba957329771358ef9ca65c5e1176fc52',1,'winstd::sec_context::operator=()'],['../classwinstd_1_1vmemory.html#a17a902c8f0ce17d3f06b69ec3e01a331',1,'winstd::vmemory::operator=()'],['../classwinstd_1_1variant.html#af5e22f4158921eb49c2207335d7c7593',1,'winstd::variant::operator=(IDispatch *pSrc)'],['../classwinstd_1_1variant.html#ad4a0fd8999d8d526bb232ebf70c18887',1,'winstd::variant::operator=(unsigned long long *pnSrc) noexcept'],['../classwinstd_1_1variant.html#aff536ecc3c3a074fea648b7c60522a83',1,'winstd::variant::operator=(const VARIANT &varSrc)'],['../classwinstd_1_1variant.html#aeec12d33002777506b59d73f2c43421c',1,'winstd::variant::operator=(VARIANT &&varSrc) noexcept'],['../classwinstd_1_1variant.html#a355fecf0ce80d31377c9395f2ed1aada',1,'winstd::variant::operator=(bool bSrc) noexcept'],['../classwinstd_1_1variant.html#a63e75ec57af2d8f59830b029afeb3b68',1,'winstd::variant::operator=(char cSrc) noexcept'],['../classwinstd_1_1variant.html#a602751a752d5a7442ade0f4437646231',1,'winstd::variant::operator=(unsigned char nSrc) noexcept'],['../classwinstd_1_1variant.html#a5886220d7a2ff006d29cd4448a2a33ac',1,'winstd::variant::operator=(short nSrc) noexcept'],['../classwinstd_1_1variant.html#a5c2733a19c37248f69a07771b8e939f1',1,'winstd::variant::operator=(unsigned short nSrc) noexcept'],['../classwinstd_1_1variant.html#a71fb3ee2710ad470329e0b5c4f7f5ba4',1,'winstd::variant::operator=(int nSrc) noexcept'],['../classwinstd_1_1variant.html#a05ad6d2f51763b24d7528078a2c30e49',1,'winstd::variant::operator=(unsigned int nSrc) noexcept'],['../classwinstd_1_1variant.html#a360da15526269bd64a2fb670e9e280ff',1,'winstd::variant::operator=(long nSrc) noexcept'],['../classwinstd_1_1variant.html#a07980ff84773ac25807d0713dd05090a',1,'winstd::variant::operator=(unsigned long nSrc) noexcept'],['../classwinstd_1_1variant.html#af1898a82e4199d1f34924d448867f68f',1,'winstd::variant::operator=(long long nSrc) noexcept'],['../classwinstd_1_1variant.html#aebabfcb503a43abecc9f3c07629f591f',1,'winstd::variant::operator=(unsigned long long nSrc) noexcept'],['../classwinstd_1_1variant.html#aa01c928f87788c505b818b7930c0f3a0',1,'winstd::variant::operator=(unsigned int *pnSrc) noexcept'],['../classwinstd_1_1variant.html#ad0ef65b5a3f40b1a812ac78ca5e5eb50',1,'winstd::variant::operator=(long long *pnSrc) noexcept'],['../classwinstd_1_1variant.html#a1df6086270e7799b83ee2889e2b88d9e',1,'winstd::variant::operator=(float *pfSrc) noexcept'],['../classwinstd_1_1variant.html#a1786d099ef012c301c0774f98af0f13a',1,'winstd::variant::operator=(float fltSrc) noexcept'],['../classwinstd_1_1variant.html#af86e9a10fd9dbe6e18b33a59d04f3b44',1,'winstd::variant::operator=(unsigned long *pnSrc) noexcept'],['../classwinstd_1_1variant.html#aa321e1785731055f02abcf7789383912',1,'winstd::variant::operator=(long *pnSrc) noexcept'],['../classwinstd_1_1variant.html#a30ba85931db8557713e5ee32d48ceecc',1,'winstd::variant::operator=(int *pnSrc) noexcept'],['../classwinstd_1_1variant.html#accf863f76609d78946f51ec07a52690e',1,'winstd::variant::operator=(unsigned short *pnSrc) noexcept'],['../classwinstd_1_1variant.html#aa8c701dc6deac688a83d04ed9afdd4b5',1,'winstd::variant::operator=(short *pnSrc) noexcept'],['../classwinstd_1_1variant.html#a5bc092e989de74c42d92de5647248a57',1,'winstd::variant::operator=(unsigned char *pbSrc) noexcept'],['../classwinstd_1_1variant.html#a55f962bb7a077f87aaa4a6bec03c10da',1,'winstd::variant::operator=(IUnknown *pSrc)'],['../classwinstd_1_1variant.html#a984b2e054639678f06a40e3f57abf4d7',1,'winstd::variant::operator=(LPCOLESTR lpszSrc) noexcept'],['../classwinstd_1_1variant.html#a935f6cff8004781f60d66b04a01c2330',1,'winstd::variant::operator=(CY cySrc) noexcept'],['../classwinstd_1_1variant.html#a6fa877e7a098dba125c6342bd5e1c896',1,'winstd::variant::operator=(double dblSrc) noexcept']]], + ['operator_3d_15',['operator=',['../classwinstd_1_1eap__method__info__array.html#aea48aefd91b676cdbeb9511640108f2a',1,'winstd::eap_method_info_array::operator=()'],['../classwinstd_1_1variant.html#a2ea74c1b7a770188f7f59d7eb6923dbe',1,'winstd::variant::operator=()'],['../classwinstd_1_1eap__attr.html#a242766666ce3cbb83429ddd0eaeb9cc6',1,'winstd::eap_attr::operator=()'],['../classwinstd_1_1variant.html#af5e22f4158921eb49c2207335d7c7593',1,'winstd::variant::operator=()'],['../classwinstd_1_1eap__attr.html#aa5909d52c15557908ff584f4712eea05',1,'winstd::eap_attr::operator=()'],['../classwinstd_1_1data__blob.html#a637b625d29bacc0875d543c69da351c2',1,'winstd::data_blob::operator=(data_blob &&other) noexcept'],['../classwinstd_1_1data__blob.html#ac818a3116ab5fc0af960f82aa505b6ae',1,'winstd::data_blob::operator=(const DATA_BLOB &other)'],['../classwinstd_1_1dplhandle.html#a546f1f737bc3da0c9b19967d849776d3',1,'winstd::dplhandle::operator=(dplhandle< handle_type, INVAL > &&h) noexcept'],['../classwinstd_1_1dplhandle.html#abcccb97671b96da3623f700a93bb5c39',1,'winstd::dplhandle::operator=(const dplhandle< handle_type, INVAL > &h) noexcept'],['../classwinstd_1_1dplhandle.html#a31cec3cdf4ee749b1aef4b4cd7652fb7',1,'winstd::dplhandle::operator=(handle_type h) noexcept'],['../classwinstd_1_1handle.html#a6326bbc54ec3441e41f30bc1ec4d6a6c',1,'winstd::handle::operator=(handle< handle_type, INVAL > &&h) noexcept'],['../classwinstd_1_1handle.html#a591e006af92e4d088fb9c1ed974c0923',1,'winstd::handle::operator=(handle_type h) noexcept'],['../classwinstd_1_1variant.html#a309d7d2356741ab49e5c2a200e8a5449',1,'winstd::variant::operator=()'],['../classwinstd_1_1event__rec.html#aa5287b5572575d440f881c1d8c17bac3',1,'winstd::event_rec::operator=(const event_rec &other)'],['../classwinstd_1_1event__rec.html#a41f64986df27cea4fdaa8ee8ce2d3875',1,'winstd::event_rec::operator=(const EVENT_RECORD &other)'],['../classwinstd_1_1event__rec.html#a22ab332b9c7e3c21e6107e909703da0f',1,'winstd::event_rec::operator=(event_rec &&other) noexcept'],['../classwinstd_1_1event__session.html#a4e436a74c83a75aab21800bc9d954228',1,'winstd::event_session::operator=()'],['../classwinstd_1_1event__fn__auto.html#acb8dddbdd22399d26d4c5db2998afc1d',1,'winstd::event_fn_auto::operator=(const event_fn_auto &other)'],['../classwinstd_1_1event__fn__auto.html#ab64dd267c58d816b4ef5549e704a8949',1,'winstd::event_fn_auto::operator=(event_fn_auto &&other) noexcept'],['../classwinstd_1_1event__fn__auto__ret.html#a6bb69bf1ac97231ef47c2aed99921bc9',1,'winstd::event_fn_auto_ret::operator=(const event_fn_auto_ret< T > &other)'],['../classwinstd_1_1event__fn__auto__ret.html#ade4fd767e5e743649480b93cd0a5ba69',1,'winstd::event_fn_auto_ret::operator=(event_fn_auto_ret< T > &&other)'],['../classwinstd_1_1window__dc.html#ad5d431027a698fef783407ba9e9d167b',1,'winstd::window_dc::operator=()'],['../classwinstd_1_1security__attributes.html#a85cc5cc2ce94a8876e888ee6646779d7',1,'winstd::security_attributes::operator=()'],['../classwinstd_1_1sec__credentials.html#af0c3ec1f8e1b060cd4dd99b4d34d4623',1,'winstd::sec_credentials::operator=()'],['../classwinstd_1_1sec__context.html#aba957329771358ef9ca65c5e1176fc52',1,'winstd::sec_context::operator=()'],['../classwinstd_1_1vmemory.html#a17a902c8f0ce17d3f06b69ec3e01a331',1,'winstd::vmemory::operator=()'],['../classwinstd_1_1variant.html#ad4a0fd8999d8d526bb232ebf70c18887',1,'winstd::variant::operator=(unsigned long long *pnSrc) noexcept'],['../classwinstd_1_1variant.html#aff536ecc3c3a074fea648b7c60522a83',1,'winstd::variant::operator=(const VARIANT &varSrc)'],['../classwinstd_1_1variant.html#aeec12d33002777506b59d73f2c43421c',1,'winstd::variant::operator=(VARIANT &&varSrc) noexcept'],['../classwinstd_1_1variant.html#a355fecf0ce80d31377c9395f2ed1aada',1,'winstd::variant::operator=(bool bSrc) noexcept'],['../classwinstd_1_1variant.html#a63e75ec57af2d8f59830b029afeb3b68',1,'winstd::variant::operator=(char cSrc) noexcept'],['../classwinstd_1_1variant.html#a602751a752d5a7442ade0f4437646231',1,'winstd::variant::operator=(unsigned char nSrc) noexcept'],['../classwinstd_1_1variant.html#a5886220d7a2ff006d29cd4448a2a33ac',1,'winstd::variant::operator=(short nSrc) noexcept'],['../classwinstd_1_1variant.html#a5c2733a19c37248f69a07771b8e939f1',1,'winstd::variant::operator=(unsigned short nSrc) noexcept'],['../classwinstd_1_1variant.html#a71fb3ee2710ad470329e0b5c4f7f5ba4',1,'winstd::variant::operator=(int nSrc) noexcept'],['../classwinstd_1_1variant.html#a05ad6d2f51763b24d7528078a2c30e49',1,'winstd::variant::operator=(unsigned int nSrc) noexcept'],['../classwinstd_1_1variant.html#a360da15526269bd64a2fb670e9e280ff',1,'winstd::variant::operator=(long nSrc) noexcept'],['../classwinstd_1_1variant.html#a07980ff84773ac25807d0713dd05090a',1,'winstd::variant::operator=(unsigned long nSrc) noexcept'],['../classwinstd_1_1variant.html#af1898a82e4199d1f34924d448867f68f',1,'winstd::variant::operator=(long long nSrc) noexcept'],['../classwinstd_1_1variant.html#aebabfcb503a43abecc9f3c07629f591f',1,'winstd::variant::operator=(unsigned long long nSrc) noexcept'],['../classwinstd_1_1variant.html#aa01c928f87788c505b818b7930c0f3a0',1,'winstd::variant::operator=(unsigned int *pnSrc) noexcept'],['../classwinstd_1_1variant.html#ad0ef65b5a3f40b1a812ac78ca5e5eb50',1,'winstd::variant::operator=(long long *pnSrc) noexcept'],['../classwinstd_1_1variant.html#a1df6086270e7799b83ee2889e2b88d9e',1,'winstd::variant::operator=(float *pfSrc) noexcept'],['../classwinstd_1_1variant.html#a1786d099ef012c301c0774f98af0f13a',1,'winstd::variant::operator=(float fltSrc) noexcept'],['../classwinstd_1_1variant.html#af86e9a10fd9dbe6e18b33a59d04f3b44',1,'winstd::variant::operator=(unsigned long *pnSrc) noexcept'],['../classwinstd_1_1variant.html#aa321e1785731055f02abcf7789383912',1,'winstd::variant::operator=(long *pnSrc) noexcept'],['../classwinstd_1_1variant.html#a30ba85931db8557713e5ee32d48ceecc',1,'winstd::variant::operator=(int *pnSrc) noexcept'],['../classwinstd_1_1variant.html#accf863f76609d78946f51ec07a52690e',1,'winstd::variant::operator=(unsigned short *pnSrc) noexcept'],['../classwinstd_1_1variant.html#aa8c701dc6deac688a83d04ed9afdd4b5',1,'winstd::variant::operator=(short *pnSrc) noexcept'],['../classwinstd_1_1variant.html#a5bc092e989de74c42d92de5647248a57',1,'winstd::variant::operator=(unsigned char *pbSrc) noexcept'],['../classwinstd_1_1variant.html#a55f962bb7a077f87aaa4a6bec03c10da',1,'winstd::variant::operator=(IUnknown *pSrc)'],['../classwinstd_1_1variant.html#a984b2e054639678f06a40e3f57abf4d7',1,'winstd::variant::operator=(LPCOLESTR lpszSrc) noexcept'],['../classwinstd_1_1variant.html#a935f6cff8004781f60d66b04a01c2330',1,'winstd::variant::operator=(CY cySrc) noexcept'],['../classwinstd_1_1variant.html#a6fa877e7a098dba125c6342bd5e1c896',1,'winstd::variant::operator=(double dblSrc) noexcept']]], ['operator_3d_3d_16',['operator==',['../classwinstd_1_1variant.html#a7e4c402b1b8d459aa2d73fb5b5e83853',1,'winstd::variant::operator==()'],['../classwinstd_1_1handle.html#ab6021e9c11accef6b813948dc4601ddc',1,'winstd::handle::operator==()'],['../classwinstd_1_1cert__context.html#a2f3ad38a637fce69d8c2a5ee3460a296',1,'winstd::cert_context::operator==()'],['../group___win_std_e_a_p_a_p_i.html#ga4fac0d35e8ca3fa63c53f85a9d10fa80',1,'operator==(): EAP.h']]], ['operator_3e_17',['operator>',['../classwinstd_1_1variant.html#a323955b7123424305aed08eea20f9381',1,'winstd::variant::operator>()'],['../classwinstd_1_1cert__context.html#a7224d1fe6c57bfe903fa8a6df32d2466',1,'winstd::cert_context::operator>()'],['../classwinstd_1_1handle.html#ae7361f6159006e3f87cbe10ba2a76329',1,'winstd::handle::operator>(handle_type h) const']]], ['operator_3e_3d_18',['operator>=',['../classwinstd_1_1handle.html#a20e325dde8a25d1e3a7efb50b431641b',1,'winstd::handle::operator>=()'],['../classwinstd_1_1cert__context.html#a6c9f09455ef40e581accc6499222040c',1,'winstd::cert_context::operator>=()'],['../classwinstd_1_1variant.html#aa7ea26592a0d6b6c529eb87130ebd820',1,'winstd::variant::operator>=()']]], diff --git a/search/classes_3.js b/search/classes_3.js index 6207d082..b4fc2422 100644 --- a/search/classes_3.js +++ b/search/classes_3.js @@ -10,5 +10,6 @@ var searchData= ['dplhandle_3c_20hcryptkey_2c_20null_20_3e_7',['dplhandle< HCRYPTKEY, NULL >',['../classwinstd_1_1dplhandle.html',1,'winstd']]], ['dplhandle_3c_20pccert_5fchain_5fcontext_2c_20null_20_3e_8',['dplhandle< PCCERT_CHAIN_CONTEXT, NULL >',['../classwinstd_1_1dplhandle.html',1,'winstd']]], ['dplhandle_3c_20pccert_5fcontext_2c_20null_20_3e_9',['dplhandle< PCCERT_CONTEXT, NULL >',['../classwinstd_1_1dplhandle.html',1,'winstd']]], - ['dplhandle_3c_20t_20_2a_2c_20null_20_3e_10',['dplhandle< T *, NULL >',['../classwinstd_1_1dplhandle.html',1,'winstd']]] + ['dplhandle_3c_20safearray_20_2a_2c_20null_20_3e_10',['dplhandle< SAFEARRAY *, NULL >',['../classwinstd_1_1dplhandle.html',1,'winstd']]], + ['dplhandle_3c_20t_20_2a_2c_20null_20_3e_11',['dplhandle< T *, NULL >',['../classwinstd_1_1dplhandle.html',1,'winstd']]] ]; diff --git a/search/classes_6.js b/search/classes_6.js index 47f4473f..8f1f26a5 100644 --- a/search/classes_6.js +++ b/search/classes_6.js @@ -1,4 +1,6 @@ var searchData= [ - ['gdi_5fhandle_0',['gdi_handle',['../classwinstd_1_1gdi__handle.html',1,'winstd']]] + ['gdi_5fhandle_0',['gdi_handle',['../classwinstd_1_1gdi__handle.html',1,'winstd']]], + ['globalfree_5fdelete_1',['GlobalFree_delete',['../structwinstd_1_1_global_free__delete.html',1,'winstd']]], + ['globalmem_5faccessor_2',['globalmem_accessor',['../classwinstd_1_1globalmem__accessor.html',1,'winstd']]] ]; diff --git a/search/classes_7.js b/search/classes_7.js index ddebd4fb..9b644afc 100644 --- a/search/classes_7.js +++ b/search/classes_7.js @@ -23,11 +23,12 @@ var searchData= ['handle_3c_20pctxthandle_2c_20null_20_3e_20',['handle< PCtxtHandle, NULL >',['../classwinstd_1_1handle.html',1,'winstd']]], ['handle_3c_20psid_2c_20null_20_3e_21',['handle< PSID, NULL >',['../classwinstd_1_1handle.html',1,'winstd']]], ['handle_3c_20reghandle_2c_20null_20_3e_22',['handle< REGHANDLE, NULL >',['../classwinstd_1_1handle.html',1,'winstd']]], - ['handle_3c_20sc_5fhandle_2c_20null_20_3e_23',['handle< SC_HANDLE, NULL >',['../classwinstd_1_1handle.html',1,'winstd']]], - ['handle_3c_20t_20_2a_2c_20inval_20_3e_24',['handle< T *, INVAL >',['../classwinstd_1_1handle.html',1,'winstd']]], - ['handle_3c_20t_2c_20null_20_3e_25',['handle< T, NULL >',['../classwinstd_1_1handle.html',1,'winstd']]], - ['handle_3c_20tracehandle_2c_200_20_3e_26',['handle< TRACEHANDLE, 0 >',['../classwinstd_1_1handle.html',1,'winstd']]], - ['handle_3c_20tracehandle_2c_20invalid_5fprocesstrace_5fhandle_20_3e_27',['handle< TRACEHANDLE, INVALID_PROCESSTRACE_HANDLE >',['../classwinstd_1_1handle.html',1,'winstd']]], - ['heap_28',['heap',['../classwinstd_1_1heap.html',1,'winstd']]], - ['heap_5fallocator_29',['heap_allocator',['../classwinstd_1_1heap__allocator.html',1,'winstd']]] + ['handle_3c_20safearray_20_2a_2c_20inval_20_3e_23',['handle< SAFEARRAY *, INVAL >',['../classwinstd_1_1handle.html',1,'winstd']]], + ['handle_3c_20sc_5fhandle_2c_20null_20_3e_24',['handle< SC_HANDLE, NULL >',['../classwinstd_1_1handle.html',1,'winstd']]], + ['handle_3c_20t_20_2a_2c_20inval_20_3e_25',['handle< T *, INVAL >',['../classwinstd_1_1handle.html',1,'winstd']]], + ['handle_3c_20t_2c_20null_20_3e_26',['handle< T, NULL >',['../classwinstd_1_1handle.html',1,'winstd']]], + ['handle_3c_20tracehandle_2c_200_20_3e_27',['handle< TRACEHANDLE, 0 >',['../classwinstd_1_1handle.html',1,'winstd']]], + ['handle_3c_20tracehandle_2c_20invalid_5fprocesstrace_5fhandle_20_3e_28',['handle< TRACEHANDLE, INVALID_PROCESSTRACE_HANDLE >',['../classwinstd_1_1handle.html',1,'winstd']]], + ['heap_29',['heap',['../classwinstd_1_1heap.html',1,'winstd']]], + ['heap_5fallocator_30',['heap_allocator',['../classwinstd_1_1heap__allocator.html',1,'winstd']]] ]; diff --git a/search/classes_d.js b/search/classes_d.js index 6677a55a..8d2abdd8 100644 --- a/search/classes_d.js +++ b/search/classes_d.js @@ -1,16 +1,18 @@ var searchData= [ - ['sanitizing_5fallocator_0',['sanitizing_allocator',['../classwinstd_1_1sanitizing__allocator.html',1,'winstd']]], - ['sanitizing_5fblob_1',['sanitizing_blob',['../classwinstd_1_1sanitizing__blob.html',1,'winstd']]], - ['sc_5fhandle_2',['sc_handle',['../classwinstd_1_1sc__handle.html',1,'winstd']]], - ['sec_5fbuffer_5fdesc_3',['sec_buffer_desc',['../classwinstd_1_1sec__buffer__desc.html',1,'winstd']]], - ['sec_5fcontext_4',['sec_context',['../classwinstd_1_1sec__context.html',1,'winstd']]], - ['sec_5fcredentials_5',['sec_credentials',['../classwinstd_1_1sec__credentials.html',1,'winstd']]], - ['sec_5fruntime_5ferror_6',['sec_runtime_error',['../classwinstd_1_1sec__runtime__error.html',1,'winstd']]], - ['security_5fattributes_7',['security_attributes',['../classwinstd_1_1security__attributes.html',1,'winstd']]], - ['security_5fid_8',['security_id',['../classwinstd_1_1security__id.html',1,'winstd']]], - ['setup_5fdevice_5finfo_5flist_9',['setup_device_info_list',['../classwinstd_1_1setup__device__info__list.html',1,'winstd']]], - ['setup_5fdriver_5finfo_5flist_5fbuilder_10',['setup_driver_info_list_builder',['../classwinstd_1_1setup__driver__info__list__builder.html',1,'winstd']]], - ['string_5fguid_11',['string_guid',['../classwinstd_1_1string__guid.html',1,'winstd']]], - ['system_5fimpersonator_12',['system_impersonator',['../classwinstd_1_1system__impersonator.html',1,'winstd']]] + ['safearray_0',['safearray',['../classwinstd_1_1safearray.html',1,'winstd']]], + ['safearray_5faccessor_1',['safearray_accessor',['../classwinstd_1_1safearray__accessor.html',1,'winstd']]], + ['sanitizing_5fallocator_2',['sanitizing_allocator',['../classwinstd_1_1sanitizing__allocator.html',1,'winstd']]], + ['sanitizing_5fblob_3',['sanitizing_blob',['../classwinstd_1_1sanitizing__blob.html',1,'winstd']]], + ['sc_5fhandle_4',['sc_handle',['../classwinstd_1_1sc__handle.html',1,'winstd']]], + ['sec_5fbuffer_5fdesc_5',['sec_buffer_desc',['../classwinstd_1_1sec__buffer__desc.html',1,'winstd']]], + ['sec_5fcontext_6',['sec_context',['../classwinstd_1_1sec__context.html',1,'winstd']]], + ['sec_5fcredentials_7',['sec_credentials',['../classwinstd_1_1sec__credentials.html',1,'winstd']]], + ['sec_5fruntime_5ferror_8',['sec_runtime_error',['../classwinstd_1_1sec__runtime__error.html',1,'winstd']]], + ['security_5fattributes_9',['security_attributes',['../classwinstd_1_1security__attributes.html',1,'winstd']]], + ['security_5fid_10',['security_id',['../classwinstd_1_1security__id.html',1,'winstd']]], + ['setup_5fdevice_5finfo_5flist_11',['setup_device_info_list',['../classwinstd_1_1setup__device__info__list.html',1,'winstd']]], + ['setup_5fdriver_5finfo_5flist_5fbuilder_12',['setup_driver_info_list_builder',['../classwinstd_1_1setup__driver__info__list__builder.html',1,'winstd']]], + ['string_5fguid_13',['string_guid',['../classwinstd_1_1string__guid.html',1,'winstd']]], + ['system_5fimpersonator_14',['system_impersonator',['../classwinstd_1_1system__impersonator.html',1,'winstd']]] ]; diff --git a/search/functions_0.js b/search/functions_0.js index 6526eed4..ea11416c 100644 --- a/search/functions_0.js +++ b/search/functions_0.js @@ -6,5 +6,5 @@ var searchData= ['allocate_3',['allocate',['../classwinstd_1_1heap__allocator.html#a371eaa06a2056171126eba66d7023b03',1,'winstd::heap_allocator']]], ['allocateandinitializesid_4',['AllocateAndInitializeSid',['../group___win_std_win_a_p_i.html#ga588f0eb22a9ea276dc2c72d44f44781a',1,'Win.h']]], ['attach_5',['attach',['../classwinstd_1_1handle.html#ab2a98042c3b88fda687e34d370756f11',1,'winstd::handle::attach()'],['../classwinstd_1_1event__session.html#afe43f725628f047dadc8e44f4a8028b7',1,'winstd::event_session::attach()'],['../classwinstd_1_1vmemory.html#a70e3154374bf7a00c7ba1ea62c6f16a4',1,'winstd::vmemory::attach()']]], - ['attach_5fduplicated_6',['attach_duplicated',['../classwinstd_1_1dplhandle.html#a876c939da531b1c4f493c2e6ea042f65',1,'winstd::dplhandle']]] + ['attach_5fduplicated_6',['attach_duplicated',['../classwinstd_1_1dplhandle.html#a5563977cadc13e81808946174659d1d3',1,'winstd::dplhandle']]] ]; diff --git a/search/functions_1.js b/search/functions_1.js index 7ba7b84e..8ff4d434 100644 --- a/search/functions_1.js +++ b/search/functions_1.js @@ -3,5 +3,5 @@ var searchData= ['basic_5fstring_5fguid_0',['basic_string_guid',['../classwinstd_1_1basic__string__guid.html#a69e6b961f17e862b55ff02dcb6e90c3e',1,'winstd::basic_string_guid']]], ['basic_5fstring_5fmsg_1',['basic_string_msg',['../classwinstd_1_1basic__string__msg.html#a736a3e3559471ede3f8b7144ed908c46',1,'winstd::basic_string_msg::basic_string_msg(const _Elem *format,...)'],['../classwinstd_1_1basic__string__msg.html#a9203b643c2070c1954c595e5c6e519d5',1,'winstd::basic_string_msg::basic_string_msg(HINSTANCE hInstance, UINT nFormatID,...)'],['../classwinstd_1_1basic__string__msg.html#a6225c3a78cad401124dd7cafdd95ad31',1,'winstd::basic_string_msg::basic_string_msg(HINSTANCE hInstance, WORD wLanguageID, UINT nFormatID,...)'],['../classwinstd_1_1basic__string__msg.html#a72842f64e4015027811f4f8bd36b86ee',1,'winstd::basic_string_msg::basic_string_msg(DWORD dwFlags, LPCVOID lpSource, DWORD dwMessageId, DWORD dwLanguageId, va_list *Arguments)'],['../classwinstd_1_1basic__string__msg.html#a0b20861e7b0a943c80774b36f77924b9',1,'winstd::basic_string_msg::basic_string_msg(DWORD dwFlags, LPCVOID lpSource, DWORD dwMessageId, DWORD dwLanguageId, DWORD_PTR *Arguments)'],['../classwinstd_1_1basic__string__msg.html#a3fe77c26d3e41426fae90d6255455403',1,'winstd::basic_string_msg::basic_string_msg(DWORD dwFlags, LPCTSTR pszFormat, va_list *Arguments)'],['../classwinstd_1_1basic__string__msg.html#aee54bb91aa476ab3e7cd7fd118becf56',1,'winstd::basic_string_msg::basic_string_msg(DWORD dwFlags, LPCTSTR pszFormat, DWORD_PTR *Arguments)']]], ['basic_5fstring_5fprintf_2',['basic_string_printf',['../classwinstd_1_1basic__string__printf.html#a409c94cb80a202d0bd628930514b64ba',1,'winstd::basic_string_printf::basic_string_printf(const _Elem *format,...)'],['../classwinstd_1_1basic__string__printf.html#ab258ccf8da028fc5e8511336401213ba',1,'winstd::basic_string_printf::basic_string_printf(HINSTANCE hInstance, UINT nFormatID,...)'],['../classwinstd_1_1basic__string__printf.html#a532bc995c0509b41f92612a77e169a83',1,'winstd::basic_string_printf::basic_string_printf(HINSTANCE hInstance, WORD wLanguageID, UINT nFormatID,...)']]], - ['bstr_3',['bstr',['../classwinstd_1_1bstr.html#a16c6d6d9c6d1494ed278e74f9f83ccff',1,'winstd::bstr::bstr(LPCOLESTR src) noexcept'],['../classwinstd_1_1bstr.html#a80f1ae42fd8233f38ad846305f7db781',1,'winstd::bstr::bstr(LPCOLESTR src, UINT len) noexcept'],['../classwinstd_1_1bstr.html#a4bd2cc3556ee3875d23d9aa902c31077',1,'winstd::bstr::bstr(const std::basic_string< wchar_t, _Traits, _Ax > &src) noexcept']]] + ['bstr_3',['bstr',['../classwinstd_1_1bstr.html#a01b4deb6467c16d9d8e8e14fe6c057fa',1,'winstd::bstr::bstr(LPCOLESTR src)'],['../classwinstd_1_1bstr.html#aafb65f4d4ab54a13147912c2de8adc54',1,'winstd::bstr::bstr(LPCOLESTR src, UINT len)'],['../classwinstd_1_1bstr.html#a068d796beaad2d2978ea6cab60688be4',1,'winstd::bstr::bstr(const std::basic_string< wchar_t, _Traits, _Ax > &src)']]] ]; diff --git a/search/functions_10.js b/search/functions_10.js index a9e3ee0d..1baed98c 100644 --- a/search/functions_10.js +++ b/search/functions_10.js @@ -1,26 +1,27 @@ var searchData= [ - ['sanitizing_5fallocator_0',['sanitizing_allocator',['../classwinstd_1_1sanitizing__allocator.html#a1559d5205a26a17bec111649840f5825',1,'winstd::sanitizing_allocator::sanitizing_allocator(const sanitizing_allocator< _Ty > &_Othr)'],['../classwinstd_1_1sanitizing__allocator.html#a63e7945c2c3e16de6676dea04d08ed16',1,'winstd::sanitizing_allocator::sanitizing_allocator(const sanitizing_allocator< _Other > &_Othr) noexcept'],['../classwinstd_1_1sanitizing__allocator.html#af89279ba111029e2880c2a43189b4d4c',1,'winstd::sanitizing_allocator::sanitizing_allocator() noexcept']]], - ['sanitizing_5fblob_1',['sanitizing_blob',['../classwinstd_1_1sanitizing__blob.html#a3fcdafa229e9a9f4c176b60fd6555685',1,'winstd::sanitizing_blob']]], - ['sec_5fbuffer_5fdesc_2',['sec_buffer_desc',['../classwinstd_1_1sec__buffer__desc.html#aed8a33ad87b31098a60facb3f656cea5',1,'winstd::sec_buffer_desc']]], - ['sec_5fcontext_3',['sec_context',['../classwinstd_1_1sec__context.html#a5d41cc2cbe613fcc2bd37cc260de9763',1,'winstd::sec_context::sec_context()'],['../classwinstd_1_1sec__context.html#a05356227fbaa04cf65cd8da86daac49e',1,'winstd::sec_context::sec_context(sec_context &&h) noexcept']]], - ['sec_5fcredentials_4',['sec_credentials',['../classwinstd_1_1sec__credentials.html#a4cc86fe337998e5becc41c3f78563df8',1,'winstd::sec_credentials::sec_credentials()'],['../classwinstd_1_1sec__credentials.html#adac21d2b22fba61197ad315e8996f946',1,'winstd::sec_credentials::sec_credentials(handle_type h, const TimeStamp expires)'],['../classwinstd_1_1sec__credentials.html#ac9ece1c98aebffa3efc90a0b37f6d2ba',1,'winstd::sec_credentials::sec_credentials(sec_credentials &&h) noexcept']]], - ['sec_5fruntime_5ferror_5',['sec_runtime_error',['../classwinstd_1_1sec__runtime__error.html#afc95fcf773b18fc72aaacf4ec025471b',1,'winstd::sec_runtime_error::sec_runtime_error(error_type num, const std::string &msg)'],['../classwinstd_1_1sec__runtime__error.html#aa1d671d5c996a8217de62a816f39a5d4',1,'winstd::sec_runtime_error::sec_runtime_error(error_type num, const char *msg=nullptr)'],['../classwinstd_1_1sec__runtime__error.html#ac9f3ac01e422ce43aebb8e5eae9290ce',1,'winstd::sec_runtime_error::sec_runtime_error(const sec_runtime_error &other)']]], - ['securemultibytetowidechar_6',['SecureMultiByteToWideChar',['../group___win_std_win_a_p_i.html#gab02484a16fea41e3d9a5c64c2ee1da1a',1,'SecureMultiByteToWideChar(UINT CodePage, DWORD dwFlags, LPCSTR lpMultiByteStr, int cbMultiByte, std::basic_string< wchar_t, _Traits, _Ax > &sWideCharStr) noexcept: Win.h'],['../group___win_std_win_a_p_i.html#gaa15c8edc525c24109fafea640cdedfcb',1,'SecureMultiByteToWideChar(UINT CodePage, DWORD dwFlags, LPCSTR lpMultiByteStr, int cbMultiByte, std::vector< wchar_t, _Ax > &sWideCharStr) noexcept: Win.h'],['../group___win_std_win_a_p_i.html#ga9aaaa6113374b6cbad241626819d06c9',1,'SecureMultiByteToWideChar(UINT CodePage, DWORD dwFlags, const std::basic_string< char, _Traits1, _Ax1 > &sMultiByteStr, std::basic_string< wchar_t, _Traits2, _Ax2 > &sWideCharStr) noexcept: Win.h']]], - ['securewidechartomultibyte_7',['SecureWideCharToMultiByte',['../group___win_std_win_a_p_i.html#ga05ac1b43a241f1bbcbf1440cf26c6335',1,'SecureWideCharToMultiByte(UINT CodePage, DWORD dwFlags, std::basic_string< wchar_t, _Traits1, _Ax1 > sWideCharStr, std::basic_string< char, _Traits2, _Ax2 > &sMultiByteStr, LPCSTR lpDefaultChar, LPBOOL lpUsedDefaultChar) noexcept: Win.h'],['../group___win_std_win_a_p_i.html#ga1a0accb3a54ae0ed34944fd483e0c329',1,'SecureWideCharToMultiByte(UINT CodePage, DWORD dwFlags, LPCWSTR lpWideCharStr, int cchWideChar, std::vector< char, _Ax > &sMultiByteStr, LPCSTR lpDefaultChar, LPBOOL lpUsedDefaultChar) noexcept: Win.h'],['../group___win_std_win_a_p_i.html#ga04f5e27a0e2066c85d7a421fe4e4c462',1,'SecureWideCharToMultiByte(UINT CodePage, DWORD dwFlags, LPCWSTR lpWideCharStr, int cchWideChar, std::basic_string< char, _Traits, _Ax > &sMultiByteStr, LPCSTR lpDefaultChar, LPBOOL lpUsedDefaultChar) noexcept: Win.h']]], - ['security_5fattributes_8',['security_attributes',['../classwinstd_1_1security__attributes.html#a230282fcc282814fd18aa239c7daaa17',1,'winstd::security_attributes::security_attributes(security_attributes &&a) noexcept'],['../classwinstd_1_1security__attributes.html#aa65302a5a16ca4dae9d76a2aea0788b2',1,'winstd::security_attributes::security_attributes() noexcept']]], - ['set_5fextended_5fdata_9',['set_extended_data',['../classwinstd_1_1event__rec.html#abfab939c3bb27839c3b591b9a62f9470',1,'winstd::event_rec']]], - ['set_5fextended_5fdata_5finternal_10',['set_extended_data_internal',['../classwinstd_1_1event__rec.html#a0c1c63cc3a3e2f83924aa9f21a298f6c',1,'winstd::event_rec']]], - ['set_5fuser_5fdata_11',['set_user_data',['../classwinstd_1_1event__rec.html#a0df49a47cf45cb76003b85148d7d5098',1,'winstd::event_rec']]], - ['set_5fuser_5fdata_5finternal_12',['set_user_data_internal',['../classwinstd_1_1event__rec.html#af71cc10ff1b9f9935c824b7c7a4130b8',1,'winstd::event_rec']]], - ['setentriesinacla_13',['SetEntriesInAclA',['../group___win_std_win_a_p_i.html#ga78c62cf670ca44d4cd25fb838dfd06e8',1,'Win.h']]], - ['setentriesinaclw_14',['SetEntriesInAclW',['../group___win_std_win_a_p_i.html#ga473c00779893dfff195afab022a3113e',1,'Win.h']]], - ['setup_5fdriver_5finfo_5flist_5fbuilder_15',['setup_driver_info_list_builder',['../classwinstd_1_1setup__driver__info__list__builder.html#a4774edfbe680a3a496e243544a68c94f',1,'winstd::setup_driver_info_list_builder']]], - ['size_16',['size',['../classwinstd_1_1eap__packet.html#a2534ad15ae47e2d46354d9f535f4031f',1,'winstd::eap_packet::size()'],['../classwinstd_1_1data__blob.html#ab2ad06e271e8503d7158408773054d23',1,'winstd::data_blob::size()']]], - ['sprintf_17',['sprintf',['../group___win_std_str_format.html#gac397f655a858a069b3e521940af64331',1,'Common.h']]], - ['status_18',['status',['../classwinstd_1_1setup__driver__info__list__builder.html#ae9c062e82afc1ee1eda5926a0567637e',1,'winstd::setup_driver_info_list_builder::status()'],['../classwinstd_1_1dc__selector.html#aacb4060094f2c4b1747ffa76455b235d',1,'winstd::dc_selector::status()'],['../classwinstd_1_1event__trace__enabler.html#a726b84e91002da1243d512c37a060293',1,'winstd::event_trace_enabler::status()'],['../classwinstd_1_1com__initializer.html#ac3c997f810e8439096d8ca14fecb5b7d',1,'winstd::com_initializer::status()']]], - ['string_5fguid_19',['string_guid',['../classwinstd_1_1string__guid.html#a507ceea48ffeccc4179239dfb5f4cdb2',1,'winstd::string_guid']]], - ['stringtoguida_20',['StringToGuidA',['../group___win_std_win_a_p_i.html#ga0a3545c7b4d6509b77a9a156e882f32c',1,'Win.h']]], - ['stringtoguidw_21',['StringToGuidW',['../group___win_std_win_a_p_i.html#ga3411488c7daa5c8e03b2ad34764914aa',1,'Win.h']]], - ['system_5fimpersonator_22',['system_impersonator',['../classwinstd_1_1system__impersonator.html#a5e46322f6b3a64e74b6e711cc9dd059b',1,'winstd::system_impersonator']]] + ['safearray_5faccessor_0',['safearray_accessor',['../classwinstd_1_1safearray__accessor.html#a342127d409f57fafd97f6792ae4e4665',1,'winstd::safearray_accessor']]], + ['sanitizing_5fallocator_1',['sanitizing_allocator',['../classwinstd_1_1sanitizing__allocator.html#af89279ba111029e2880c2a43189b4d4c',1,'winstd::sanitizing_allocator::sanitizing_allocator() noexcept'],['../classwinstd_1_1sanitizing__allocator.html#a63e7945c2c3e16de6676dea04d08ed16',1,'winstd::sanitizing_allocator::sanitizing_allocator(const sanitizing_allocator< _Other > &_Othr) noexcept'],['../classwinstd_1_1sanitizing__allocator.html#a1559d5205a26a17bec111649840f5825',1,'winstd::sanitizing_allocator::sanitizing_allocator(const sanitizing_allocator< _Ty > &_Othr)']]], + ['sanitizing_5fblob_2',['sanitizing_blob',['../classwinstd_1_1sanitizing__blob.html#a3fcdafa229e9a9f4c176b60fd6555685',1,'winstd::sanitizing_blob']]], + ['sec_5fbuffer_5fdesc_3',['sec_buffer_desc',['../classwinstd_1_1sec__buffer__desc.html#aed8a33ad87b31098a60facb3f656cea5',1,'winstd::sec_buffer_desc']]], + ['sec_5fcontext_4',['sec_context',['../classwinstd_1_1sec__context.html#a5d41cc2cbe613fcc2bd37cc260de9763',1,'winstd::sec_context::sec_context()'],['../classwinstd_1_1sec__context.html#a05356227fbaa04cf65cd8da86daac49e',1,'winstd::sec_context::sec_context(sec_context &&h) noexcept']]], + ['sec_5fcredentials_5',['sec_credentials',['../classwinstd_1_1sec__credentials.html#a4cc86fe337998e5becc41c3f78563df8',1,'winstd::sec_credentials::sec_credentials()'],['../classwinstd_1_1sec__credentials.html#adac21d2b22fba61197ad315e8996f946',1,'winstd::sec_credentials::sec_credentials(handle_type h, const TimeStamp expires)'],['../classwinstd_1_1sec__credentials.html#ac9ece1c98aebffa3efc90a0b37f6d2ba',1,'winstd::sec_credentials::sec_credentials(sec_credentials &&h) noexcept']]], + ['sec_5fruntime_5ferror_6',['sec_runtime_error',['../classwinstd_1_1sec__runtime__error.html#afc95fcf773b18fc72aaacf4ec025471b',1,'winstd::sec_runtime_error::sec_runtime_error(error_type num, const std::string &msg)'],['../classwinstd_1_1sec__runtime__error.html#aa1d671d5c996a8217de62a816f39a5d4',1,'winstd::sec_runtime_error::sec_runtime_error(error_type num, const char *msg=nullptr)'],['../classwinstd_1_1sec__runtime__error.html#ac9f3ac01e422ce43aebb8e5eae9290ce',1,'winstd::sec_runtime_error::sec_runtime_error(const sec_runtime_error &other)']]], + ['securemultibytetowidechar_7',['SecureMultiByteToWideChar',['../group___win_std_win_a_p_i.html#gaa15c8edc525c24109fafea640cdedfcb',1,'SecureMultiByteToWideChar(UINT CodePage, DWORD dwFlags, LPCSTR lpMultiByteStr, int cbMultiByte, std::vector< wchar_t, _Ax > &sWideCharStr) noexcept: Win.h'],['../group___win_std_win_a_p_i.html#ga9aaaa6113374b6cbad241626819d06c9',1,'SecureMultiByteToWideChar(UINT CodePage, DWORD dwFlags, const std::basic_string< char, _Traits1, _Ax1 > &sMultiByteStr, std::basic_string< wchar_t, _Traits2, _Ax2 > &sWideCharStr) noexcept: Win.h'],['../group___win_std_win_a_p_i.html#gab02484a16fea41e3d9a5c64c2ee1da1a',1,'SecureMultiByteToWideChar(UINT CodePage, DWORD dwFlags, LPCSTR lpMultiByteStr, int cbMultiByte, std::basic_string< wchar_t, _Traits, _Ax > &sWideCharStr) noexcept: Win.h']]], + ['securewidechartomultibyte_8',['SecureWideCharToMultiByte',['../group___win_std_win_a_p_i.html#ga05ac1b43a241f1bbcbf1440cf26c6335',1,'SecureWideCharToMultiByte(UINT CodePage, DWORD dwFlags, std::basic_string< wchar_t, _Traits1, _Ax1 > sWideCharStr, std::basic_string< char, _Traits2, _Ax2 > &sMultiByteStr, LPCSTR lpDefaultChar, LPBOOL lpUsedDefaultChar) noexcept: Win.h'],['../group___win_std_win_a_p_i.html#ga1a0accb3a54ae0ed34944fd483e0c329',1,'SecureWideCharToMultiByte(UINT CodePage, DWORD dwFlags, LPCWSTR lpWideCharStr, int cchWideChar, std::vector< char, _Ax > &sMultiByteStr, LPCSTR lpDefaultChar, LPBOOL lpUsedDefaultChar) noexcept: Win.h'],['../group___win_std_win_a_p_i.html#ga04f5e27a0e2066c85d7a421fe4e4c462',1,'SecureWideCharToMultiByte(UINT CodePage, DWORD dwFlags, LPCWSTR lpWideCharStr, int cchWideChar, std::basic_string< char, _Traits, _Ax > &sMultiByteStr, LPCSTR lpDefaultChar, LPBOOL lpUsedDefaultChar) noexcept: Win.h']]], + ['security_5fattributes_9',['security_attributes',['../classwinstd_1_1security__attributes.html#a230282fcc282814fd18aa239c7daaa17',1,'winstd::security_attributes::security_attributes(security_attributes &&a) noexcept'],['../classwinstd_1_1security__attributes.html#aa65302a5a16ca4dae9d76a2aea0788b2',1,'winstd::security_attributes::security_attributes() noexcept']]], + ['set_5fextended_5fdata_10',['set_extended_data',['../classwinstd_1_1event__rec.html#abfab939c3bb27839c3b591b9a62f9470',1,'winstd::event_rec']]], + ['set_5fextended_5fdata_5finternal_11',['set_extended_data_internal',['../classwinstd_1_1event__rec.html#a0c1c63cc3a3e2f83924aa9f21a298f6c',1,'winstd::event_rec']]], + ['set_5fuser_5fdata_12',['set_user_data',['../classwinstd_1_1event__rec.html#a0df49a47cf45cb76003b85148d7d5098',1,'winstd::event_rec']]], + ['set_5fuser_5fdata_5finternal_13',['set_user_data_internal',['../classwinstd_1_1event__rec.html#af71cc10ff1b9f9935c824b7c7a4130b8',1,'winstd::event_rec']]], + ['setentriesinacla_14',['SetEntriesInAclA',['../group___win_std_win_a_p_i.html#ga78c62cf670ca44d4cd25fb838dfd06e8',1,'Win.h']]], + ['setentriesinaclw_15',['SetEntriesInAclW',['../group___win_std_win_a_p_i.html#ga473c00779893dfff195afab022a3113e',1,'Win.h']]], + ['setup_5fdriver_5finfo_5flist_5fbuilder_16',['setup_driver_info_list_builder',['../classwinstd_1_1setup__driver__info__list__builder.html#a4774edfbe680a3a496e243544a68c94f',1,'winstd::setup_driver_info_list_builder']]], + ['size_17',['size',['../classwinstd_1_1eap__packet.html#a2534ad15ae47e2d46354d9f535f4031f',1,'winstd::eap_packet::size()'],['../classwinstd_1_1data__blob.html#ab2ad06e271e8503d7158408773054d23',1,'winstd::data_blob::size()']]], + ['sprintf_18',['sprintf',['../group___win_std_str_format.html#gac397f655a858a069b3e521940af64331',1,'Common.h']]], + ['status_19',['status',['../classwinstd_1_1setup__driver__info__list__builder.html#ae9c062e82afc1ee1eda5926a0567637e',1,'winstd::setup_driver_info_list_builder::status()'],['../classwinstd_1_1dc__selector.html#aacb4060094f2c4b1747ffa76455b235d',1,'winstd::dc_selector::status()'],['../classwinstd_1_1event__trace__enabler.html#a726b84e91002da1243d512c37a060293',1,'winstd::event_trace_enabler::status()'],['../classwinstd_1_1com__initializer.html#ac3c997f810e8439096d8ca14fecb5b7d',1,'winstd::com_initializer::status()']]], + ['string_5fguid_20',['string_guid',['../classwinstd_1_1string__guid.html#a507ceea48ffeccc4179239dfb5f4cdb2',1,'winstd::string_guid']]], + ['stringtoguida_21',['StringToGuidA',['../group___win_std_win_a_p_i.html#ga0a3545c7b4d6509b77a9a156e882f32c',1,'Win.h']]], + ['stringtoguidw_22',['StringToGuidW',['../group___win_std_win_a_p_i.html#ga3411488c7daa5c8e03b2ad34764914aa',1,'Win.h']]], + ['system_5fimpersonator_23',['system_impersonator',['../classwinstd_1_1system__impersonator.html#a5e46322f6b3a64e74b6e711cc9dd059b',1,'winstd::system_impersonator']]] ]; diff --git a/search/functions_15.js b/search/functions_15.js index 016dc9ff..7712ff42 100644 --- a/search/functions_15.js +++ b/search/functions_15.js @@ -29,26 +29,29 @@ var searchData= ['_7eevent_5ftrace_5fenabler_26',['~event_trace_enabler',['../classwinstd_1_1event__trace__enabler.html#a6be72a0a5dc8da579e26b74a1ac24a4f',1,'winstd::event_trace_enabler']]], ['_7efind_5ffile_27',['~find_file',['../classwinstd_1_1find__file.html#a5135c1a0bf6b1c5f4ab695f208a87607',1,'winstd::find_file']]], ['_7egdi_5fhandle_28',['~gdi_handle',['../classwinstd_1_1gdi__handle.html#aae79abc9495f415a548d7f1f1ce4dab2',1,'winstd::gdi_handle']]], - ['_7eheap_29',['~heap',['../classwinstd_1_1heap.html#aecb12bb6a2677638a6061510bdda868b',1,'winstd::heap']]], - ['_7eimpersonator_30',['~impersonator',['../classwinstd_1_1impersonator.html#a272883abcb25c9563ca5b919c0d9d71d',1,'winstd::impersonator']]], - ['_7elibrary_31',['~library',['../classwinstd_1_1library.html#ae33e87cbe9236861b5e8d37e8e544716',1,'winstd::library']]], - ['_7eprocess_5finformation_32',['~process_information',['../classwinstd_1_1process__information.html#a0a176161ac9779e203f3fd8942115196',1,'winstd::process_information']]], - ['_7eref_5funique_5fptr_33',['~ref_unique_ptr',['../classwinstd_1_1ref__unique__ptr.html#a7bf6de1a715ad7d84f0df0470a102275',1,'winstd::ref_unique_ptr::~ref_unique_ptr()'],['../classwinstd_1_1ref__unique__ptr_3_01___ty_0f_0e_00_01___dx_01_4.html#a3595501185edb49fc4a596e9a966a030',1,'winstd::ref_unique_ptr< _Ty[], _Dx >::~ref_unique_ptr()']]], - ['_7ereg_5fkey_34',['~reg_key',['../classwinstd_1_1reg__key.html#ae54556effe6fe91942f87fc8c8ff5d7c',1,'winstd::reg_key']]], - ['_7esanitizing_5fblob_35',['~sanitizing_blob',['../classwinstd_1_1sanitizing__blob.html#ad478c9b04cc75d3ad1053ba9b23ea065',1,'winstd::sanitizing_blob']]], - ['_7esc_5fhandle_36',['~sc_handle',['../classwinstd_1_1sc__handle.html#a92d104320ed6db39eaf092d7fb465885',1,'winstd::sc_handle']]], - ['_7esec_5fbuffer_5fdesc_37',['~sec_buffer_desc',['../classwinstd_1_1sec__buffer__desc.html#a70ebe23821ab3f90eb20e4a5e69c49c4',1,'winstd::sec_buffer_desc']]], - ['_7esec_5fcontext_38',['~sec_context',['../classwinstd_1_1sec__context.html#a2307770cc707a4f8e815c3fea57ac8a9',1,'winstd::sec_context']]], - ['_7esec_5fcredentials_39',['~sec_credentials',['../classwinstd_1_1sec__credentials.html#ad8b34c3a231201fd201e56a28235b9c3',1,'winstd::sec_credentials']]], - ['_7esecurity_5fattributes_40',['~security_attributes',['../classwinstd_1_1security__attributes.html#a81c96818e1a244dc9fde2e0703d654e0',1,'winstd::security_attributes']]], - ['_7esecurity_5fid_41',['~security_id',['../classwinstd_1_1security__id.html#ac26d9d505eed5f5104e3ce8278913683',1,'winstd::security_id']]], - ['_7esetup_5fdevice_5finfo_5flist_42',['~setup_device_info_list',['../classwinstd_1_1setup__device__info__list.html#a25368d32a4f4bfe23cb9749464daa487',1,'winstd::setup_device_info_list']]], - ['_7esetup_5fdriver_5finfo_5flist_5fbuilder_43',['~setup_driver_info_list_builder',['../classwinstd_1_1setup__driver__info__list__builder.html#a836a7bb6c3c78c7c78965a32cfc2750e',1,'winstd::setup_driver_info_list_builder']]], - ['_7evariant_44',['~variant',['../classwinstd_1_1variant.html#a69b429a61582fc777b07541daad7887b',1,'winstd::variant']]], - ['_7evmemory_45',['~vmemory',['../classwinstd_1_1vmemory.html#aa0d2edd7c1986736662b54a553695d51',1,'winstd::vmemory']]], - ['_7ewaddrinfo_46',['~waddrinfo',['../classwinstd_1_1waddrinfo.html#a2b1209904bd7486acefd833ff5c4bcca',1,'winstd::waddrinfo']]], - ['_7ewin_5fhandle_47',['~win_handle',['../classwinstd_1_1win__handle.html#a6b8070a3be4dede99a1c764b7f341a36',1,'winstd::win_handle']]], - ['_7ewindow_5fdc_48',['~window_dc',['../classwinstd_1_1window__dc.html#a3fd01c5264443520462cb7cab886a79b',1,'winstd::window_dc']]], - ['_7ewintrust_49',['~wintrust',['../classwinstd_1_1wintrust.html#ac529a244b4f2f4eb85bcdf594ff723c3',1,'winstd::wintrust']]], - ['_7ewlan_5fhandle_50',['~wlan_handle',['../classwinstd_1_1wlan__handle.html#a57e97a572a121f6e28673e6d84493de9',1,'winstd::wlan_handle']]] + ['_7eglobalmem_5faccessor_29',['~globalmem_accessor',['../classwinstd_1_1globalmem__accessor.html#a508a4187d2e6de81365d5ca9961ad950',1,'winstd::globalmem_accessor']]], + ['_7eheap_30',['~heap',['../classwinstd_1_1heap.html#aecb12bb6a2677638a6061510bdda868b',1,'winstd::heap']]], + ['_7eimpersonator_31',['~impersonator',['../classwinstd_1_1impersonator.html#a272883abcb25c9563ca5b919c0d9d71d',1,'winstd::impersonator']]], + ['_7elibrary_32',['~library',['../classwinstd_1_1library.html#ae33e87cbe9236861b5e8d37e8e544716',1,'winstd::library']]], + ['_7eprocess_5finformation_33',['~process_information',['../classwinstd_1_1process__information.html#a0a176161ac9779e203f3fd8942115196',1,'winstd::process_information']]], + ['_7eref_5funique_5fptr_34',['~ref_unique_ptr',['../classwinstd_1_1ref__unique__ptr.html#a7bf6de1a715ad7d84f0df0470a102275',1,'winstd::ref_unique_ptr::~ref_unique_ptr()'],['../classwinstd_1_1ref__unique__ptr_3_01___ty_0f_0e_00_01___dx_01_4.html#a3595501185edb49fc4a596e9a966a030',1,'winstd::ref_unique_ptr< _Ty[], _Dx >::~ref_unique_ptr()']]], + ['_7ereg_5fkey_35',['~reg_key',['../classwinstd_1_1reg__key.html#ae54556effe6fe91942f87fc8c8ff5d7c',1,'winstd::reg_key']]], + ['_7esafearray_36',['~safearray',['../classwinstd_1_1safearray.html#a77541ec05da9d75931560bb5883ea601',1,'winstd::safearray']]], + ['_7esafearray_5faccessor_37',['~safearray_accessor',['../classwinstd_1_1safearray__accessor.html#ac950581e34df79260b6ba997b4a4d2d8',1,'winstd::safearray_accessor']]], + ['_7esanitizing_5fblob_38',['~sanitizing_blob',['../classwinstd_1_1sanitizing__blob.html#ad478c9b04cc75d3ad1053ba9b23ea065',1,'winstd::sanitizing_blob']]], + ['_7esc_5fhandle_39',['~sc_handle',['../classwinstd_1_1sc__handle.html#a92d104320ed6db39eaf092d7fb465885',1,'winstd::sc_handle']]], + ['_7esec_5fbuffer_5fdesc_40',['~sec_buffer_desc',['../classwinstd_1_1sec__buffer__desc.html#a70ebe23821ab3f90eb20e4a5e69c49c4',1,'winstd::sec_buffer_desc']]], + ['_7esec_5fcontext_41',['~sec_context',['../classwinstd_1_1sec__context.html#a2307770cc707a4f8e815c3fea57ac8a9',1,'winstd::sec_context']]], + ['_7esec_5fcredentials_42',['~sec_credentials',['../classwinstd_1_1sec__credentials.html#ad8b34c3a231201fd201e56a28235b9c3',1,'winstd::sec_credentials']]], + ['_7esecurity_5fattributes_43',['~security_attributes',['../classwinstd_1_1security__attributes.html#a81c96818e1a244dc9fde2e0703d654e0',1,'winstd::security_attributes']]], + ['_7esecurity_5fid_44',['~security_id',['../classwinstd_1_1security__id.html#ac26d9d505eed5f5104e3ce8278913683',1,'winstd::security_id']]], + ['_7esetup_5fdevice_5finfo_5flist_45',['~setup_device_info_list',['../classwinstd_1_1setup__device__info__list.html#a25368d32a4f4bfe23cb9749464daa487',1,'winstd::setup_device_info_list']]], + ['_7esetup_5fdriver_5finfo_5flist_5fbuilder_46',['~setup_driver_info_list_builder',['../classwinstd_1_1setup__driver__info__list__builder.html#a836a7bb6c3c78c7c78965a32cfc2750e',1,'winstd::setup_driver_info_list_builder']]], + ['_7evariant_47',['~variant',['../classwinstd_1_1variant.html#a69b429a61582fc777b07541daad7887b',1,'winstd::variant']]], + ['_7evmemory_48',['~vmemory',['../classwinstd_1_1vmemory.html#aa0d2edd7c1986736662b54a553695d51',1,'winstd::vmemory']]], + ['_7ewaddrinfo_49',['~waddrinfo',['../classwinstd_1_1waddrinfo.html#a2b1209904bd7486acefd833ff5c4bcca',1,'winstd::waddrinfo']]], + ['_7ewin_5fhandle_50',['~win_handle',['../classwinstd_1_1win__handle.html#a6b8070a3be4dede99a1c764b7f341a36',1,'winstd::win_handle']]], + ['_7ewindow_5fdc_51',['~window_dc',['../classwinstd_1_1window__dc.html#a3fd01c5264443520462cb7cab886a79b',1,'winstd::window_dc']]], + ['_7ewintrust_52',['~wintrust',['../classwinstd_1_1wintrust.html#ac529a244b4f2f4eb85bcdf594ff723c3',1,'winstd::wintrust']]], + ['_7ewlan_5fhandle_53',['~wlan_handle',['../classwinstd_1_1wlan__handle.html#a57e97a572a121f6e28673e6d84493de9',1,'winstd::wlan_handle']]] ]; diff --git a/search/functions_2.js b/search/functions_2.js index a271e254..71dce8d7 100644 --- a/search/functions_2.js +++ b/search/functions_2.js @@ -8,10 +8,10 @@ var searchData= ['cocreateinstance_5',['CoCreateInstance',['../group___win_std_c_o_m.html#gaa05e677aa01b9b1f2f8b58571532c965',1,'COM.h']]], ['cogetobject_6',['CoGetObject',['../group___win_std_c_o_m.html#ga825b73e9a34b1f496c577a951441b6f1',1,'COM.h']]], ['com_5finitializer_7',['com_initializer',['../classwinstd_1_1com__initializer.html#a2e1dceaa4a658f2d35b93fe85d71e109',1,'winstd::com_initializer::com_initializer(LPVOID pvReserved) noexcept'],['../classwinstd_1_1com__initializer.html#a20c89f6e237eb97166aac61f0dbdcbf6',1,'winstd::com_initializer::com_initializer(LPVOID pvReserved, DWORD dwCoInit) noexcept']]], - ['com_5fobj_8',['com_obj',['../classwinstd_1_1com__obj.html#aa2c8f855aaad8e35c1da6cfd9f32e01e',1,'winstd::com_obj::com_obj(_Other *other)'],['../classwinstd_1_1com__obj.html#aace64e8520e9caf7c258ae207a5ef874',1,'winstd::com_obj::com_obj(com_obj< _Other > &other)']]], + ['com_5fobj_8',['com_obj',['../classwinstd_1_1com__obj.html#a1983f51468452e51890a3a561d3d2627',1,'winstd::com_obj::com_obj(REFCLSID rclsid, LPUNKNOWN pUnkOuter, DWORD dwClsContext)'],['../classwinstd_1_1com__obj.html#aa2c8f855aaad8e35c1da6cfd9f32e01e',1,'winstd::com_obj::com_obj(_Other *other)'],['../classwinstd_1_1com__obj.html#aace64e8520e9caf7c258ae207a5ef874',1,'winstd::com_obj::com_obj(com_obj< _Other > &other)']]], ['com_5fruntime_5ferror_9',['com_runtime_error',['../classwinstd_1_1com__runtime__error.html#a75030cbe7acc6532140c73caf4b15ed8',1,'winstd::com_runtime_error::com_runtime_error(error_type num, const std::string &msg)'],['../classwinstd_1_1com__runtime__error.html#aa1b65214e16b18bf8b9b191abff254b7',1,'winstd::com_runtime_error::com_runtime_error(error_type num, const char *msg=nullptr)']]], ['console_5fctrl_5fhandler_10',['console_ctrl_handler',['../classwinstd_1_1console__ctrl__handler.html#a1c05134a4453123739ac5b45f62fe13a',1,'winstd::console_ctrl_handler']]], - ['construct_11',['construct',['../classwinstd_1_1heap__allocator.html#ad307cb4c9eaf2dcbcd29b379bc01b463',1,'winstd::heap_allocator::construct(pointer ptr, const _Ty &val)'],['../classwinstd_1_1heap__allocator.html#a95485648de70d7896f81ef9cdad01fbf',1,'winstd::heap_allocator::construct(pointer ptr, _Ty &&val)']]], + ['construct_11',['construct',['../classwinstd_1_1heap__allocator.html#a95485648de70d7896f81ef9cdad01fbf',1,'winstd::heap_allocator::construct(pointer ptr, _Ty &&val)'],['../classwinstd_1_1heap__allocator.html#ad307cb4c9eaf2dcbcd29b379bc01b463',1,'winstd::heap_allocator::construct(pointer ptr, const _Ty &val)']]], ['convertstringsecuritydescriptortosecuritydescriptora_12',['ConvertStringSecurityDescriptorToSecurityDescriptorA',['../group___win_std_s_d_d_l.html#gaafcbc965140db7ed3d50d5dcc9dfb34c',1,'SDDL.h']]], ['convertstringsecuritydescriptortosecuritydescriptorw_13',['ConvertStringSecurityDescriptorToSecurityDescriptorW',['../group___win_std_s_d_d_l.html#gae88d6ef3f22c3fccba5950a94c436fb0',1,'SDDL.h']]], ['cotaskmemfree_5fdelete_14',['CoTaskMemFree_delete',['../structwinstd_1_1_co_task_mem_free__delete.html#a712d2e91abc99bebe8cf8d32ac649326',1,'winstd::CoTaskMemFree_delete']]], diff --git a/search/functions_3.js b/search/functions_3.js index 6a7fa982..c70b79f2 100644 --- a/search/functions_3.js +++ b/search/functions_3.js @@ -1,6 +1,6 @@ var searchData= [ - ['data_0',['data',['../classwinstd_1_1data__blob.html#a3cb5b805288c8d74cd103cac3acf10bf',1,'winstd::data_blob::data() noexcept'],['../classwinstd_1_1data__blob.html#a498ffe8fa857c8fee0c68803049e9528',1,'winstd::data_blob::data() const noexcept']]], + ['data_0',['data',['../classwinstd_1_1globalmem__accessor.html#a6fa33d36095bda00675cd0eb4b1df0ef',1,'winstd::globalmem_accessor::data()'],['../classwinstd_1_1data__blob.html#a498ffe8fa857c8fee0c68803049e9528',1,'winstd::data_blob::data() const noexcept'],['../classwinstd_1_1data__blob.html#a3cb5b805288c8d74cd103cac3acf10bf',1,'winstd::data_blob::data() noexcept'],['../classwinstd_1_1safearray__accessor.html#a8b019e527bbd7a26abb9df734272cfd5',1,'winstd::safearray_accessor::data()']]], ['data_5fblob_1',['data_blob',['../classwinstd_1_1data__blob.html#a5bed8028538f9688eea5dc8353ff69d8',1,'winstd::data_blob::data_blob() noexcept'],['../classwinstd_1_1data__blob.html#a66a5574a42c6c5c76051261a342a43a8',1,'winstd::data_blob::data_blob(BYTE *data, DWORD size) noexcept'],['../classwinstd_1_1data__blob.html#a11968f5b76e8a46784f7bcee3a8f00cc',1,'winstd::data_blob::data_blob(const DATA_BLOB &other)'],['../classwinstd_1_1data__blob.html#a5cfa94091e87f259bde521a7050f27c7',1,'winstd::data_blob::data_blob(data_blob &&other) noexcept']]], ['dc_5fselector_2',['dc_selector',['../classwinstd_1_1dc__selector.html#a4cb5b528376651a59eb9bbb8471c3f22',1,'winstd::dc_selector']]], ['deallocate_3',['deallocate',['../classwinstd_1_1sanitizing__allocator.html#a2c208920fad2171f4448ec6e7817522a',1,'winstd::sanitizing_allocator::deallocate()'],['../classwinstd_1_1heap__allocator.html#aa4dcda946d03a9a382ea9c0f0f140462',1,'winstd::heap_allocator::deallocate()']]], @@ -8,8 +8,8 @@ var searchData= ['destroy_5',['destroy',['../classwinstd_1_1heap__allocator.html#aef179f33ca0ad99ffda16f004b146143',1,'winstd::heap_allocator']]], ['detach_6',['detach',['../classwinstd_1_1handle.html#ad5acf6ce53e092b8d4d53f909cf321f9',1,'winstd::handle']]], ['disable_5ftrace_7',['disable_trace',['../classwinstd_1_1event__session.html#a86ff12521bc1c863ea685b8a689fd81b',1,'winstd::event_session']]], - ['dplhandle_8',['dplhandle',['../classwinstd_1_1dplhandle.html#ac95cbfb481c0d5e6c60d130f3c270b59',1,'winstd::dplhandle::dplhandle() noexcept'],['../classwinstd_1_1dplhandle.html#ac1aa19e060402006d8ff8404be6b07c3',1,'winstd::dplhandle::dplhandle(dplhandle< handle_type, INVAL > &&h) noexcept'],['../classwinstd_1_1dplhandle.html#a726938d9b7df787204025f6c36a04507',1,'winstd::dplhandle::dplhandle(const dplhandle< handle_type, INVAL > &h) noexcept'],['../classwinstd_1_1dplhandle.html#ab1ac74d5f212fddc217d1a8190a01177',1,'winstd::dplhandle::dplhandle(handle_type h) noexcept']]], + ['dplhandle_8',['dplhandle',['../classwinstd_1_1dplhandle.html#ac95cbfb481c0d5e6c60d130f3c270b59',1,'winstd::dplhandle::dplhandle() noexcept'],['../classwinstd_1_1dplhandle.html#ac1aa19e060402006d8ff8404be6b07c3',1,'winstd::dplhandle::dplhandle(dplhandle< handle_type, INVAL > &&h) noexcept'],['../classwinstd_1_1dplhandle.html#ac7439fc22a5754f8aeb2b0e1afd25b9c',1,'winstd::dplhandle::dplhandle(const dplhandle< handle_type, INVAL > &h)'],['../classwinstd_1_1dplhandle.html#ab1ac74d5f212fddc217d1a8190a01177',1,'winstd::dplhandle::dplhandle(handle_type h) noexcept']]], ['duplicate_9',['duplicate',['../classwinstd_1_1dplhandle.html#a48e66c8979560019e339867de944a265',1,'winstd::dplhandle']]], - ['duplicate_5finternal_10',['duplicate_internal',['../classwinstd_1_1com__obj.html#a1460be29bd94af55d27b5179e971b3b4',1,'winstd::com_obj::duplicate_internal()'],['../classwinstd_1_1bstr.html#a4a9986fac6bf82d8a8887a7cb80e6351',1,'winstd::bstr::duplicate_internal()'],['../classwinstd_1_1dplhandle.html#aa6ec5fd1ce258a3dd66da1cfb4d6dfb8',1,'winstd::dplhandle::duplicate_internal()'],['../classwinstd_1_1cert__context.html#a3d0ee01002ccef041ffb164151cab14b',1,'winstd::cert_context::duplicate_internal()'],['../classwinstd_1_1cert__chain__context.html#a1cded78d368c01b0513364f00be26385',1,'winstd::cert_chain_context::duplicate_internal()'],['../classwinstd_1_1crypt__hash.html#af6b7999d5e29f1caaecb5b0bde90b76e',1,'winstd::crypt_hash::duplicate_internal()'],['../classwinstd_1_1crypt__key.html#aa9983160147883cf7526e9df1889b7bf',1,'winstd::crypt_key::duplicate_internal()'],['../classwinstd_1_1eap__packet.html#a5c5bc551e5c467e814e13f6d05d17ac2',1,'winstd::eap_packet::duplicate_internal()']]], + ['duplicate_5finternal_10',['duplicate_internal',['../classwinstd_1_1com__obj.html#a5967604886ffa8c41db730f8c21f10f2',1,'winstd::com_obj::duplicate_internal()'],['../classwinstd_1_1bstr.html#a1c6f4421d370e6029dfbf71315cdedc0',1,'winstd::bstr::duplicate_internal()'],['../classwinstd_1_1safearray.html#a7b4972e8b65210cf5b6a50610dcb4b8d',1,'winstd::safearray::duplicate_internal()'],['../classwinstd_1_1dplhandle.html#a0d7900f44fdc921b41e07517abdc1ec6',1,'winstd::dplhandle::duplicate_internal()'],['../classwinstd_1_1cert__context.html#ae39c2de0d8e9d69e524404db812e7ba7',1,'winstd::cert_context::duplicate_internal()'],['../classwinstd_1_1cert__chain__context.html#afbb8bf6ef0627268fd327059f51b121a',1,'winstd::cert_chain_context::duplicate_internal()'],['../classwinstd_1_1crypt__hash.html#af18ed660a44a2356c05e88fe04b7c722',1,'winstd::crypt_hash::duplicate_internal()'],['../classwinstd_1_1crypt__key.html#a304f9d565576b6984f6e06bacb8571b3',1,'winstd::crypt_key::duplicate_internal()'],['../classwinstd_1_1eap__packet.html#af7e0415d3a524c0e79fc429f3911c809',1,'winstd::eap_packet::duplicate_internal()']]], ['duplicatetokenex_11',['DuplicateTokenEx',['../group___win_std_win_a_p_i.html#ga760bb977738a422eabd9a226eb5acdb4',1,'Win.h']]] ]; diff --git a/search/functions_5.js b/search/functions_5.js index 3c204a8d..44f386d7 100644 --- a/search/functions_5.js +++ b/search/functions_5.js @@ -2,5 +2,5 @@ var searchData= [ ['formatmessage_0',['FormatMessage',['../group___win_std_str_format.html#gaebf39378c982c5116ea0110a69eb2f75',1,'FormatMessage(DWORD dwFlags, LPCVOID lpSource, DWORD dwMessageId, DWORD dwLanguageId, std::basic_string< wchar_t, _Traits, _Ax > &str, va_list *Arguments): Common.h'],['../group___win_std_str_format.html#ga78bf19793ce080f2826f56f228d64623',1,'FormatMessage(DWORD dwFlags, LPCVOID lpSource, DWORD dwMessageId, DWORD dwLanguageId, std::basic_string< char, _Traits, _Ax > &str, va_list *Arguments): Common.h']]], ['free_1',['free',['../classwinstd_1_1handle.html#a706aaab7691a472c608890f8e5dd0d96',1,'winstd::handle']]], - ['free_5finternal_2',['free_internal',['../classwinstd_1_1wlan__handle.html#a86e2b4aa2a5177b6ebac0258099f9261',1,'winstd::wlan_handle::free_internal()'],['../classwinstd_1_1waddrinfo.html#a479f7602b60a4c4205a9327f91e25f66',1,'winstd::waddrinfo::free_internal()'],['../classwinstd_1_1addrinfo.html#a279ad84ce2877b22797eedbec80cd55f',1,'winstd::addrinfo::free_internal()'],['../classwinstd_1_1sc__handle.html#a3db1b2080f7e26c896aa9c47c230e64d',1,'winstd::sc_handle::free_internal()'],['../classwinstd_1_1event__log.html#a3e7c083403f5692926aff600f6ead52e',1,'winstd::event_log::free_internal()'],['../classwinstd_1_1security__id.html#a464626311e64ea1273fd6bca9ef93a73',1,'winstd::security_id::free_internal()'],['../classwinstd_1_1reg__key.html#a3dba00d2105a1c633c571d8ad3131f54',1,'winstd::reg_key::free_internal()'],['../classwinstd_1_1vmemory.html#a616dbfba873b9a3dcf393cff6504fc2e',1,'winstd::vmemory::free_internal()'],['../classwinstd_1_1heap.html#ae25434d96356a74d27c0b3b0e268df45',1,'winstd::heap::free_internal()'],['../classwinstd_1_1find__file.html#a5bb4f7e12689153f991ffcb08dbbe703',1,'winstd::find_file::free_internal()'],['../classwinstd_1_1library.html#a0c602319cb498fa2b6a5c4eda4a150aa',1,'winstd::library::free_internal()'],['../classwinstd_1_1win__handle.html#a456fe19828113913f42e901f112c6455',1,'winstd::win_handle::free_internal()'],['../classwinstd_1_1setup__device__info__list.html#a41f013a37e16074f1972fd279f8c1437',1,'winstd::setup_device_info_list::free_internal()'],['../classwinstd_1_1sec__context.html#afe8682a77fe50e5818ee6c4c741f36d9',1,'winstd::sec_context::free_internal()'],['../classwinstd_1_1sec__credentials.html#a6156649d1a93696c8369361cb426e260',1,'winstd::sec_credentials::free_internal()'],['../classwinstd_1_1window__dc.html#a351bae4203ad766c94f4fc6eac74e98a',1,'winstd::window_dc::free_internal()'],['../classwinstd_1_1dc.html#ad3dc9d48645022e7a1adcdb9ea01a557',1,'winstd::dc::free_internal()'],['../classwinstd_1_1gdi__handle.html#a777cd2403d6b8d0fb0a4b69c82fcca87',1,'winstd::gdi_handle::free_internal()'],['../classwinstd_1_1event__trace.html#ad8ef9b0616775c44e911d9db4676b19c',1,'winstd::event_trace::free_internal()'],['../classwinstd_1_1event__session.html#a4701ad4ae9d18e890ed4066473680751',1,'winstd::event_session::free_internal()'],['../classwinstd_1_1event__provider.html#ad0d7ed652fe897a94f2ef198dd3f41a1',1,'winstd::event_provider::free_internal()'],['../classwinstd_1_1eap__packet.html#a6d68149b92c1564b2683ddb3a87b60f0',1,'winstd::eap_packet::free_internal()'],['../classwinstd_1_1crypt__key.html#acf2f2ad35dd7602adcdeef17f605e391',1,'winstd::crypt_key::free_internal()'],['../classwinstd_1_1crypt__hash.html#a3c19a87b4ff646d9e87524feac4e41b5',1,'winstd::crypt_hash::free_internal()'],['../classwinstd_1_1crypt__prov.html#aa351d2dbc42daf51dddcf847fd95c39f',1,'winstd::crypt_prov::free_internal()'],['../classwinstd_1_1cert__store.html#ab709fe692a4117173eae26e741da2069',1,'winstd::cert_store::free_internal()'],['../classwinstd_1_1cert__chain__context.html#ae15044b1a7be10d96643d3921e149ee6',1,'winstd::cert_chain_context::free_internal()'],['../classwinstd_1_1cert__context.html#a1615ec6693eb68764543456ad418a970',1,'winstd::cert_context::free_internal()'],['../classwinstd_1_1handle.html#a137560600851eb4c3e4b80e25d4da629',1,'winstd::handle::free_internal()'],['../classwinstd_1_1bstr.html#a87edcb348af7d69ad86709e32b519870',1,'winstd::bstr::free_internal()'],['../classwinstd_1_1com__obj.html#a028b86f770253f74a62ca3eaebb14de5',1,'winstd::com_obj::free_internal()']]] + ['free_5finternal_2',['free_internal',['../classwinstd_1_1wlan__handle.html#a86e2b4aa2a5177b6ebac0258099f9261',1,'winstd::wlan_handle::free_internal()'],['../classwinstd_1_1waddrinfo.html#a479f7602b60a4c4205a9327f91e25f66',1,'winstd::waddrinfo::free_internal()'],['../classwinstd_1_1addrinfo.html#a279ad84ce2877b22797eedbec80cd55f',1,'winstd::addrinfo::free_internal()'],['../classwinstd_1_1sc__handle.html#a3db1b2080f7e26c896aa9c47c230e64d',1,'winstd::sc_handle::free_internal()'],['../classwinstd_1_1event__log.html#a3e7c083403f5692926aff600f6ead52e',1,'winstd::event_log::free_internal()'],['../classwinstd_1_1security__id.html#a464626311e64ea1273fd6bca9ef93a73',1,'winstd::security_id::free_internal()'],['../classwinstd_1_1reg__key.html#a3dba00d2105a1c633c571d8ad3131f54',1,'winstd::reg_key::free_internal()'],['../classwinstd_1_1vmemory.html#a616dbfba873b9a3dcf393cff6504fc2e',1,'winstd::vmemory::free_internal()'],['../classwinstd_1_1heap.html#ae25434d96356a74d27c0b3b0e268df45',1,'winstd::heap::free_internal()'],['../classwinstd_1_1find__file.html#a5bb4f7e12689153f991ffcb08dbbe703',1,'winstd::find_file::free_internal()'],['../classwinstd_1_1library.html#a0c602319cb498fa2b6a5c4eda4a150aa',1,'winstd::library::free_internal()'],['../classwinstd_1_1win__handle.html#a456fe19828113913f42e901f112c6455',1,'winstd::win_handle::free_internal()'],['../classwinstd_1_1setup__device__info__list.html#a41f013a37e16074f1972fd279f8c1437',1,'winstd::setup_device_info_list::free_internal()'],['../classwinstd_1_1sec__context.html#afe8682a77fe50e5818ee6c4c741f36d9',1,'winstd::sec_context::free_internal()'],['../classwinstd_1_1window__dc.html#a351bae4203ad766c94f4fc6eac74e98a',1,'winstd::window_dc::free_internal()'],['../classwinstd_1_1crypt__hash.html#a3c19a87b4ff646d9e87524feac4e41b5',1,'winstd::crypt_hash::free_internal()'],['../classwinstd_1_1com__obj.html#a028b86f770253f74a62ca3eaebb14de5',1,'winstd::com_obj::free_internal()'],['../classwinstd_1_1bstr.html#a87edcb348af7d69ad86709e32b519870',1,'winstd::bstr::free_internal()'],['../classwinstd_1_1safearray.html#adc2ad157b72074ed1b306237819d3685',1,'winstd::safearray::free_internal()'],['../classwinstd_1_1handle.html#a137560600851eb4c3e4b80e25d4da629',1,'winstd::handle::free_internal()'],['../classwinstd_1_1cert__context.html#a1615ec6693eb68764543456ad418a970',1,'winstd::cert_context::free_internal()'],['../classwinstd_1_1cert__chain__context.html#ae15044b1a7be10d96643d3921e149ee6',1,'winstd::cert_chain_context::free_internal()'],['../classwinstd_1_1cert__store.html#ab709fe692a4117173eae26e741da2069',1,'winstd::cert_store::free_internal()'],['../classwinstd_1_1crypt__prov.html#aa351d2dbc42daf51dddcf847fd95c39f',1,'winstd::crypt_prov::free_internal()'],['../classwinstd_1_1sec__credentials.html#a6156649d1a93696c8369361cb426e260',1,'winstd::sec_credentials::free_internal()'],['../classwinstd_1_1crypt__key.html#acf2f2ad35dd7602adcdeef17f605e391',1,'winstd::crypt_key::free_internal()'],['../classwinstd_1_1eap__packet.html#a6d68149b92c1564b2683ddb3a87b60f0',1,'winstd::eap_packet::free_internal()'],['../classwinstd_1_1event__provider.html#ad0d7ed652fe897a94f2ef198dd3f41a1',1,'winstd::event_provider::free_internal()'],['../classwinstd_1_1event__session.html#a4701ad4ae9d18e890ed4066473680751',1,'winstd::event_session::free_internal()'],['../classwinstd_1_1event__trace.html#ad8ef9b0616775c44e911d9db4676b19c',1,'winstd::event_trace::free_internal()'],['../classwinstd_1_1gdi__handle.html#a777cd2403d6b8d0fb0a4b69c82fcca87',1,'winstd::gdi_handle::free_internal()'],['../classwinstd_1_1dc.html#ad3dc9d48645022e7a1adcdb9ea01a557',1,'winstd::dc::free_internal()']]] ]; diff --git a/search/functions_6.js b/search/functions_6.js index c04d88d7..ca10ae6f 100644 --- a/search/functions_6.js +++ b/search/functions_6.js @@ -12,6 +12,8 @@ var searchData= ['gettokeninformation_9',['GetTokenInformation',['../group___win_std_win_a_p_i.html#ga75b761473822ee6e9cf336d28b30b073',1,'Win.h']]], ['getwindowtexta_10',['GetWindowTextA',['../group___win_std_win_a_p_i.html#ga11fd1f3e9a51e636f6e0f060e604c1aa',1,'Win.h']]], ['getwindowtextw_11',['GetWindowTextW',['../group___win_std_win_a_p_i.html#gacab04e9e5cbbc759fe83cf70fb891acc',1,'Win.h']]], - ['guidtostringa_12',['GuidToStringA',['../group___win_std_win_a_p_i.html#ga2ec9f457e182c451486333fa0a994313',1,'Win.h']]], - ['guidtostringw_13',['GuidToStringW',['../group___win_std_win_a_p_i.html#gad8dcada3be8a9e8c0d2f0db263c2a5e3',1,'Win.h']]] + ['globalfree_5fdelete_12',['GlobalFree_delete',['../structwinstd_1_1_global_free__delete.html#a07068a1b6ecc0628d16fc4a5d22d69a1',1,'winstd::GlobalFree_delete']]], + ['globalmem_5faccessor_13',['globalmem_accessor',['../classwinstd_1_1globalmem__accessor.html#a7c13c963c94e5aa17dd67943c27b02c0',1,'winstd::globalmem_accessor']]], + ['guidtostringa_14',['GuidToStringA',['../group___win_std_win_a_p_i.html#ga2ec9f457e182c451486333fa0a994313',1,'Win.h']]], + ['guidtostringw_15',['GuidToStringW',['../group___win_std_win_a_p_i.html#gad8dcada3be8a9e8c0d2f0db263c2a5e3',1,'Win.h']]] ]; diff --git a/search/functions_c.js b/search/functions_c.js index af7b3652..a48e1205 100644 --- a/search/functions_c.js +++ b/search/functions_c.js @@ -10,12 +10,12 @@ var searchData= ['operator_21_7',['operator!',['../classwinstd_1_1handle.html#a5df08ecb32b9040bf7342479aee2286c',1,'winstd::handle']]], ['operator_21_3d_8',['operator!=',['../group___win_std_e_a_p_a_p_i.html#gac742802fadd5c08227ed40026c21524a',1,'operator!=(): EAP.h'],['../classwinstd_1_1variant.html#a70dc99253ef9de24b443e6d48b662643',1,'winstd::variant::operator!=()'],['../classwinstd_1_1handle.html#a6df58f6c131ab4288acb96d5b8f3012e',1,'winstd::handle::operator!=()'],['../classwinstd_1_1cert__context.html#adfad0db8dd947143a8406f2f988d04ad',1,'winstd::cert_context::operator!=()']]], ['operator_26_9',['operator&',['../classwinstd_1_1handle.html#a2bd2de7bb89dcebe2c9379dd54ee79c1',1,'winstd::handle']]], - ['operator_28_29_10',['operator()',['../structwinstd_1_1_eap_host_peer_free_eap_error__delete.html#ae6aa071d5b9824f6062746360478a683',1,'winstd::EapHostPeerFreeEapError_delete::operator()()'],['../structwinstd_1_1_wlan_free_memory__delete_3_01___ty_0f_0e_4.html#a3b0a5a8db35677a63c3583a45658df1b',1,'winstd::WlanFreeMemory_delete< _Ty[]>::operator()(_Other *) const'],['../structwinstd_1_1_wlan_free_memory__delete_3_01___ty_0f_0e_4.html#a60d22784612a4cfd16ca8ad6629a77e4',1,'winstd::WlanFreeMemory_delete< _Ty[]>::operator()(_Ty *_Ptr) const'],['../structwinstd_1_1_wlan_free_memory__delete.html#a5013eb2213d92798d755cbb9fa24e26b',1,'winstd::WlanFreeMemory_delete::operator()()'],['../structwinstd_1_1_unmap_view_of_file__delete_3_01___ty_0f_0e_4.html#a8a44a95dd279b699a8f3ff2c5f8dd31a',1,'winstd::UnmapViewOfFile_delete< _Ty[]>::operator()(_Other *) const'],['../structwinstd_1_1_unmap_view_of_file__delete_3_01___ty_0f_0e_4.html#aa9bfce548f756da75283fb781ea2da75',1,'winstd::UnmapViewOfFile_delete< _Ty[]>::operator()(_Ty *_Ptr) const'],['../structwinstd_1_1_unmap_view_of_file__delete.html#aa3611bebc2deaf9acaed4e09e193032d',1,'winstd::UnmapViewOfFile_delete::operator()()'],['../structwinstd_1_1_eap_host_peer_free_error_memory__delete.html#a5dd9a56b7344ef66c378041a97fdb307',1,'winstd::EapHostPeerFreeErrorMemory_delete::operator()()'],['../structwinstd_1_1_eap_host_peer_free_runtime_memory__delete.html#a4c573463394fc3ea6781f796d29fe26e',1,'winstd::EapHostPeerFreeRuntimeMemory_delete::operator()()'],['../structwinstd_1_1_eap_host_peer_free_memory__delete.html#a20b97a65abb2063a31fc8fd7a9cb0f1f',1,'winstd::EapHostPeerFreeMemory_delete::operator()()'],['../structwinstd_1_1_cred_free__delete_3_01___ty_0f_0e_4.html#acc62d6419d7dea72f237ab2788171f48',1,'winstd::CredFree_delete< _Ty[]>::operator()(_Other *) const'],['../structwinstd_1_1_cred_free__delete_3_01___ty_0f_0e_4.html#aea662a4ce3e32723646313a9a56c4c9a',1,'winstd::CredFree_delete< _Ty[]>::operator()(_Ty *_Ptr) const noexcept'],['../structwinstd_1_1_cred_free__delete.html#a247d6f53f119468b6ccb08ff01338465',1,'winstd::CredFree_delete::operator()()'],['../structwinstd_1_1_local_free__delete_3_01___ty_0f_0e_4.html#abd0fd61b2b66c5e514755f84a655384b',1,'winstd::LocalFree_delete< _Ty[]>::operator()(_Other *) const'],['../structwinstd_1_1_local_free__delete_3_01___ty_0f_0e_4.html#abf0ecfcfbb58493103f7e0905272d8d8',1,'winstd::LocalFree_delete< _Ty[]>::operator()(_Ty *_Ptr) const noexcept'],['../structwinstd_1_1_local_free__delete.html#ad96c48c15a2dea2704073d8db5b72542',1,'winstd::LocalFree_delete::operator()()'],['../structwinstd_1_1_co_task_mem_free__delete.html#a66d6fbd417d9073624387c4664db782f',1,'winstd::CoTaskMemFree_delete::operator()()']]], + ['operator_28_29_10',['operator()',['../structwinstd_1_1_eap_host_peer_free_error_memory__delete.html#a5dd9a56b7344ef66c378041a97fdb307',1,'winstd::EapHostPeerFreeErrorMemory_delete::operator()()'],['../structwinstd_1_1_wlan_free_memory__delete_3_01___ty_0f_0e_4.html#a3b0a5a8db35677a63c3583a45658df1b',1,'winstd::WlanFreeMemory_delete< _Ty[]>::operator()(_Other *) const'],['../structwinstd_1_1_wlan_free_memory__delete_3_01___ty_0f_0e_4.html#a60d22784612a4cfd16ca8ad6629a77e4',1,'winstd::WlanFreeMemory_delete< _Ty[]>::operator()(_Ty *_Ptr) const'],['../structwinstd_1_1_wlan_free_memory__delete.html#a5013eb2213d92798d755cbb9fa24e26b',1,'winstd::WlanFreeMemory_delete::operator()()'],['../structwinstd_1_1_unmap_view_of_file__delete_3_01___ty_0f_0e_4.html#a8a44a95dd279b699a8f3ff2c5f8dd31a',1,'winstd::UnmapViewOfFile_delete< _Ty[]>::operator()(_Other *) const'],['../structwinstd_1_1_unmap_view_of_file__delete_3_01___ty_0f_0e_4.html#aa9bfce548f756da75283fb781ea2da75',1,'winstd::UnmapViewOfFile_delete< _Ty[]>::operator()(_Ty *_Ptr) const'],['../structwinstd_1_1_unmap_view_of_file__delete.html#aa3611bebc2deaf9acaed4e09e193032d',1,'winstd::UnmapViewOfFile_delete::operator()()'],['../structwinstd_1_1_eap_host_peer_free_eap_error__delete.html#ae6aa071d5b9824f6062746360478a683',1,'winstd::EapHostPeerFreeEapError_delete::operator()()'],['../structwinstd_1_1_eap_host_peer_free_runtime_memory__delete.html#a4c573463394fc3ea6781f796d29fe26e',1,'winstd::EapHostPeerFreeRuntimeMemory_delete::operator()()'],['../structwinstd_1_1_eap_host_peer_free_memory__delete.html#a20b97a65abb2063a31fc8fd7a9cb0f1f',1,'winstd::EapHostPeerFreeMemory_delete::operator()()'],['../structwinstd_1_1_cred_free__delete_3_01___ty_0f_0e_4.html#acc62d6419d7dea72f237ab2788171f48',1,'winstd::CredFree_delete< _Ty[]>::operator()(_Other *) const'],['../structwinstd_1_1_cred_free__delete_3_01___ty_0f_0e_4.html#aea662a4ce3e32723646313a9a56c4c9a',1,'winstd::CredFree_delete< _Ty[]>::operator()(_Ty *_Ptr) const noexcept'],['../structwinstd_1_1_cred_free__delete.html#a247d6f53f119468b6ccb08ff01338465',1,'winstd::CredFree_delete::operator()()'],['../structwinstd_1_1_global_free__delete.html#a51cf3b37e54bcaf481d2ab03dcc2ae74',1,'winstd::GlobalFree_delete::operator()()'],['../structwinstd_1_1_local_free__delete_3_01___ty_0f_0e_4.html#abd0fd61b2b66c5e514755f84a655384b',1,'winstd::LocalFree_delete< _Ty[]>::operator()(_Other *) const'],['../structwinstd_1_1_local_free__delete_3_01___ty_0f_0e_4.html#abf0ecfcfbb58493103f7e0905272d8d8',1,'winstd::LocalFree_delete< _Ty[]>::operator()(_Ty *_Ptr) const noexcept'],['../structwinstd_1_1_local_free__delete.html#ad96c48c15a2dea2704073d8db5b72542',1,'winstd::LocalFree_delete::operator()()'],['../structwinstd_1_1_co_task_mem_free__delete.html#a66d6fbd417d9073624387c4664db782f',1,'winstd::CoTaskMemFree_delete::operator()()']]], ['operator_2a_11',['operator*',['../classwinstd_1_1handle.html#a0f1ac60cf62e41c24394bf0e3457fbd9',1,'winstd::handle']]], ['operator_2d_3e_12',['operator->',['../classwinstd_1_1handle.html#a285ada5936fe7afdd12eed70b38c2084',1,'winstd::handle']]], - ['operator_3c_13',['operator<',['../classwinstd_1_1handle.html#a4c4515d0d1071cab5c675e926aa2dc92',1,'winstd::handle::operator<()'],['../classwinstd_1_1cert__context.html#a92881d07b0b41b81c4119ed8d8868c3b',1,'winstd::cert_context::operator<()'],['../classwinstd_1_1variant.html#ac03c0c14bb91f7511425946ef7f3e725',1,'winstd::variant::operator<()']]], - ['operator_3c_3d_14',['operator<=',['../classwinstd_1_1handle.html#af9e9538d58b952799db4a1c68b0184b9',1,'winstd::handle::operator<=()'],['../classwinstd_1_1cert__context.html#a042240321d22636cddc379b198c7fd84',1,'winstd::cert_context::operator<=()'],['../classwinstd_1_1variant.html#a02366b97c9a937f57806640dc942ecaf',1,'winstd::variant::operator<=()']]], - ['operator_3d_15',['operator=',['../classwinstd_1_1eap__method__info__array.html#aea48aefd91b676cdbeb9511640108f2a',1,'winstd::eap_method_info_array::operator=()'],['../classwinstd_1_1variant.html#a2ea74c1b7a770188f7f59d7eb6923dbe',1,'winstd::variant::operator=()'],['../classwinstd_1_1eap__attr.html#a242766666ce3cbb83429ddd0eaeb9cc6',1,'winstd::eap_attr::operator=(eap_attr &&a) noexcept'],['../classwinstd_1_1eap__attr.html#aa5909d52c15557908ff584f4712eea05',1,'winstd::eap_attr::operator=(const EAP_ATTRIBUTE &a)'],['../classwinstd_1_1data__blob.html#a637b625d29bacc0875d543c69da351c2',1,'winstd::data_blob::operator=(data_blob &&other) noexcept'],['../classwinstd_1_1data__blob.html#ac818a3116ab5fc0af960f82aa505b6ae',1,'winstd::data_blob::operator=(const DATA_BLOB &other)'],['../classwinstd_1_1dplhandle.html#a546f1f737bc3da0c9b19967d849776d3',1,'winstd::dplhandle::operator=(dplhandle< handle_type, INVAL > &&h) noexcept'],['../classwinstd_1_1dplhandle.html#abcccb97671b96da3623f700a93bb5c39',1,'winstd::dplhandle::operator=(const dplhandle< handle_type, INVAL > &h) noexcept'],['../classwinstd_1_1dplhandle.html#a31cec3cdf4ee749b1aef4b4cd7652fb7',1,'winstd::dplhandle::operator=(handle_type h) noexcept'],['../classwinstd_1_1handle.html#a6326bbc54ec3441e41f30bc1ec4d6a6c',1,'winstd::handle::operator=(handle< handle_type, INVAL > &&h) noexcept'],['../classwinstd_1_1handle.html#a591e006af92e4d088fb9c1ed974c0923',1,'winstd::handle::operator=(handle_type h) noexcept'],['../classwinstd_1_1variant.html#a39d9e97b57c37f3d876574cc2fd6e0a5',1,'winstd::variant::operator=()'],['../classwinstd_1_1event__rec.html#aa5287b5572575d440f881c1d8c17bac3',1,'winstd::event_rec::operator=(const event_rec &other)'],['../classwinstd_1_1event__rec.html#a41f64986df27cea4fdaa8ee8ce2d3875',1,'winstd::event_rec::operator=(const EVENT_RECORD &other)'],['../classwinstd_1_1event__rec.html#a22ab332b9c7e3c21e6107e909703da0f',1,'winstd::event_rec::operator=(event_rec &&other) noexcept'],['../classwinstd_1_1event__session.html#a4e436a74c83a75aab21800bc9d954228',1,'winstd::event_session::operator=()'],['../classwinstd_1_1event__fn__auto.html#acb8dddbdd22399d26d4c5db2998afc1d',1,'winstd::event_fn_auto::operator=(const event_fn_auto &other)'],['../classwinstd_1_1event__fn__auto.html#ab64dd267c58d816b4ef5549e704a8949',1,'winstd::event_fn_auto::operator=(event_fn_auto &&other) noexcept'],['../classwinstd_1_1event__fn__auto__ret.html#a6bb69bf1ac97231ef47c2aed99921bc9',1,'winstd::event_fn_auto_ret::operator=(const event_fn_auto_ret< T > &other)'],['../classwinstd_1_1event__fn__auto__ret.html#ade4fd767e5e743649480b93cd0a5ba69',1,'winstd::event_fn_auto_ret::operator=(event_fn_auto_ret< T > &&other)'],['../classwinstd_1_1window__dc.html#ad5d431027a698fef783407ba9e9d167b',1,'winstd::window_dc::operator=()'],['../classwinstd_1_1security__attributes.html#a85cc5cc2ce94a8876e888ee6646779d7',1,'winstd::security_attributes::operator=()'],['../classwinstd_1_1sec__credentials.html#af0c3ec1f8e1b060cd4dd99b4d34d4623',1,'winstd::sec_credentials::operator=()'],['../classwinstd_1_1sec__context.html#aba957329771358ef9ca65c5e1176fc52',1,'winstd::sec_context::operator=()'],['../classwinstd_1_1vmemory.html#a17a902c8f0ce17d3f06b69ec3e01a331',1,'winstd::vmemory::operator=()'],['../classwinstd_1_1variant.html#a984b2e054639678f06a40e3f57abf4d7',1,'winstd::variant::operator=(LPCOLESTR lpszSrc) noexcept'],['../classwinstd_1_1variant.html#ad4a0fd8999d8d526bb232ebf70c18887',1,'winstd::variant::operator=(unsigned long long *pnSrc) noexcept'],['../classwinstd_1_1variant.html#aff536ecc3c3a074fea648b7c60522a83',1,'winstd::variant::operator=(const VARIANT &varSrc)'],['../classwinstd_1_1variant.html#aeec12d33002777506b59d73f2c43421c',1,'winstd::variant::operator=(VARIANT &&varSrc) noexcept'],['../classwinstd_1_1variant.html#a355fecf0ce80d31377c9395f2ed1aada',1,'winstd::variant::operator=(bool bSrc) noexcept'],['../classwinstd_1_1variant.html#a63e75ec57af2d8f59830b029afeb3b68',1,'winstd::variant::operator=(char cSrc) noexcept'],['../classwinstd_1_1variant.html#a602751a752d5a7442ade0f4437646231',1,'winstd::variant::operator=(unsigned char nSrc) noexcept'],['../classwinstd_1_1variant.html#a5886220d7a2ff006d29cd4448a2a33ac',1,'winstd::variant::operator=(short nSrc) noexcept'],['../classwinstd_1_1variant.html#a5c2733a19c37248f69a07771b8e939f1',1,'winstd::variant::operator=(unsigned short nSrc) noexcept'],['../classwinstd_1_1variant.html#a71fb3ee2710ad470329e0b5c4f7f5ba4',1,'winstd::variant::operator=(int nSrc) noexcept'],['../classwinstd_1_1variant.html#a05ad6d2f51763b24d7528078a2c30e49',1,'winstd::variant::operator=(unsigned int nSrc) noexcept'],['../classwinstd_1_1variant.html#a360da15526269bd64a2fb670e9e280ff',1,'winstd::variant::operator=(long nSrc) noexcept'],['../classwinstd_1_1variant.html#a07980ff84773ac25807d0713dd05090a',1,'winstd::variant::operator=(unsigned long nSrc) noexcept'],['../classwinstd_1_1variant.html#af1898a82e4199d1f34924d448867f68f',1,'winstd::variant::operator=(long long nSrc) noexcept'],['../classwinstd_1_1variant.html#aebabfcb503a43abecc9f3c07629f591f',1,'winstd::variant::operator=(unsigned long long nSrc) noexcept'],['../classwinstd_1_1variant.html#a6fa877e7a098dba125c6342bd5e1c896',1,'winstd::variant::operator=(double dblSrc) noexcept'],['../classwinstd_1_1variant.html#a935f6cff8004781f60d66b04a01c2330',1,'winstd::variant::operator=(CY cySrc) noexcept'],['../classwinstd_1_1variant.html#af5e22f4158921eb49c2207335d7c7593',1,'winstd::variant::operator=(IDispatch *pSrc)'],['../classwinstd_1_1variant.html#a55f962bb7a077f87aaa4a6bec03c10da',1,'winstd::variant::operator=(IUnknown *pSrc)'],['../classwinstd_1_1variant.html#a5bc092e989de74c42d92de5647248a57',1,'winstd::variant::operator=(unsigned char *pbSrc) noexcept'],['../classwinstd_1_1variant.html#aa8c701dc6deac688a83d04ed9afdd4b5',1,'winstd::variant::operator=(short *pnSrc) noexcept'],['../classwinstd_1_1variant.html#accf863f76609d78946f51ec07a52690e',1,'winstd::variant::operator=(unsigned short *pnSrc) noexcept'],['../classwinstd_1_1variant.html#a30ba85931db8557713e5ee32d48ceecc',1,'winstd::variant::operator=(int *pnSrc) noexcept'],['../classwinstd_1_1variant.html#aa01c928f87788c505b818b7930c0f3a0',1,'winstd::variant::operator=(unsigned int *pnSrc) noexcept'],['../classwinstd_1_1variant.html#aa321e1785731055f02abcf7789383912',1,'winstd::variant::operator=(long *pnSrc) noexcept'],['../classwinstd_1_1variant.html#af86e9a10fd9dbe6e18b33a59d04f3b44',1,'winstd::variant::operator=(unsigned long *pnSrc) noexcept'],['../classwinstd_1_1variant.html#a1df6086270e7799b83ee2889e2b88d9e',1,'winstd::variant::operator=(float *pfSrc) noexcept'],['../classwinstd_1_1variant.html#a1786d099ef012c301c0774f98af0f13a',1,'winstd::variant::operator=(float fltSrc) noexcept'],['../classwinstd_1_1variant.html#ad0ef65b5a3f40b1a812ac78ca5e5eb50',1,'winstd::variant::operator=(long long *pnSrc) noexcept']]], + ['operator_3c_13',['operator<',['../classwinstd_1_1variant.html#ac03c0c14bb91f7511425946ef7f3e725',1,'winstd::variant::operator<()'],['../classwinstd_1_1cert__context.html#a92881d07b0b41b81c4119ed8d8868c3b',1,'winstd::cert_context::operator<()'],['../classwinstd_1_1handle.html#a4c4515d0d1071cab5c675e926aa2dc92',1,'winstd::handle::operator<(handle_type h) const']]], + ['operator_3c_3d_14',['operator<=',['../classwinstd_1_1handle.html#af9e9538d58b952799db4a1c68b0184b9',1,'winstd::handle::operator<=()'],['../classwinstd_1_1cert__context.html#a042240321d22636cddc379b198c7fd84',1,'winstd::cert_context::operator<=()'],['../classwinstd_1_1variant.html#a02366b97c9a937f57806640dc942ecaf',1,'winstd::variant::operator<=(const VARIANT &varSrc) const noexcept']]], + ['operator_3d_15',['operator=',['../classwinstd_1_1variant.html#a935f6cff8004781f60d66b04a01c2330',1,'winstd::variant::operator=(CY cySrc) noexcept'],['../classwinstd_1_1variant.html#a2ea74c1b7a770188f7f59d7eb6923dbe',1,'winstd::variant::operator=(double *pfSrc) noexcept'],['../classwinstd_1_1eap__method__info__array.html#aea48aefd91b676cdbeb9511640108f2a',1,'winstd::eap_method_info_array::operator=()'],['../classwinstd_1_1eap__attr.html#a242766666ce3cbb83429ddd0eaeb9cc6',1,'winstd::eap_attr::operator=(eap_attr &&a) noexcept'],['../classwinstd_1_1eap__attr.html#aa5909d52c15557908ff584f4712eea05',1,'winstd::eap_attr::operator=(const EAP_ATTRIBUTE &a)'],['../classwinstd_1_1data__blob.html#a637b625d29bacc0875d543c69da351c2',1,'winstd::data_blob::operator=(data_blob &&other) noexcept'],['../classwinstd_1_1data__blob.html#ac818a3116ab5fc0af960f82aa505b6ae',1,'winstd::data_blob::operator=(const DATA_BLOB &other)'],['../classwinstd_1_1dplhandle.html#a546f1f737bc3da0c9b19967d849776d3',1,'winstd::dplhandle::operator=(dplhandle< handle_type, INVAL > &&h) noexcept'],['../classwinstd_1_1dplhandle.html#abcccb97671b96da3623f700a93bb5c39',1,'winstd::dplhandle::operator=(const dplhandle< handle_type, INVAL > &h) noexcept'],['../classwinstd_1_1dplhandle.html#a31cec3cdf4ee749b1aef4b4cd7652fb7',1,'winstd::dplhandle::operator=(handle_type h) noexcept'],['../classwinstd_1_1handle.html#a6326bbc54ec3441e41f30bc1ec4d6a6c',1,'winstd::handle::operator=(handle< handle_type, INVAL > &&h) noexcept'],['../classwinstd_1_1handle.html#a591e006af92e4d088fb9c1ed974c0923',1,'winstd::handle::operator=(handle_type h) noexcept'],['../classwinstd_1_1variant.html#a309d7d2356741ab49e5c2a200e8a5449',1,'winstd::variant::operator=()'],['../classwinstd_1_1event__rec.html#aa5287b5572575d440f881c1d8c17bac3',1,'winstd::event_rec::operator=(const event_rec &other)'],['../classwinstd_1_1event__rec.html#a41f64986df27cea4fdaa8ee8ce2d3875',1,'winstd::event_rec::operator=(const EVENT_RECORD &other)'],['../classwinstd_1_1event__rec.html#a22ab332b9c7e3c21e6107e909703da0f',1,'winstd::event_rec::operator=(event_rec &&other) noexcept'],['../classwinstd_1_1event__session.html#a4e436a74c83a75aab21800bc9d954228',1,'winstd::event_session::operator=()'],['../classwinstd_1_1event__fn__auto.html#acb8dddbdd22399d26d4c5db2998afc1d',1,'winstd::event_fn_auto::operator=(const event_fn_auto &other)'],['../classwinstd_1_1event__fn__auto.html#ab64dd267c58d816b4ef5549e704a8949',1,'winstd::event_fn_auto::operator=(event_fn_auto &&other) noexcept'],['../classwinstd_1_1event__fn__auto__ret.html#a6bb69bf1ac97231ef47c2aed99921bc9',1,'winstd::event_fn_auto_ret::operator=(const event_fn_auto_ret< T > &other)'],['../classwinstd_1_1event__fn__auto__ret.html#ade4fd767e5e743649480b93cd0a5ba69',1,'winstd::event_fn_auto_ret::operator=(event_fn_auto_ret< T > &&other)'],['../classwinstd_1_1window__dc.html#ad5d431027a698fef783407ba9e9d167b',1,'winstd::window_dc::operator=()'],['../classwinstd_1_1security__attributes.html#a85cc5cc2ce94a8876e888ee6646779d7',1,'winstd::security_attributes::operator=()'],['../classwinstd_1_1sec__credentials.html#af0c3ec1f8e1b060cd4dd99b4d34d4623',1,'winstd::sec_credentials::operator=()'],['../classwinstd_1_1sec__context.html#aba957329771358ef9ca65c5e1176fc52',1,'winstd::sec_context::operator=()'],['../classwinstd_1_1vmemory.html#a17a902c8f0ce17d3f06b69ec3e01a331',1,'winstd::vmemory::operator=()'],['../classwinstd_1_1variant.html#ad4a0fd8999d8d526bb232ebf70c18887',1,'winstd::variant::operator=(unsigned long long *pnSrc) noexcept'],['../classwinstd_1_1variant.html#aff536ecc3c3a074fea648b7c60522a83',1,'winstd::variant::operator=(const VARIANT &varSrc)'],['../classwinstd_1_1variant.html#aeec12d33002777506b59d73f2c43421c',1,'winstd::variant::operator=(VARIANT &&varSrc) noexcept'],['../classwinstd_1_1variant.html#a355fecf0ce80d31377c9395f2ed1aada',1,'winstd::variant::operator=(bool bSrc) noexcept'],['../classwinstd_1_1variant.html#a63e75ec57af2d8f59830b029afeb3b68',1,'winstd::variant::operator=(char cSrc) noexcept'],['../classwinstd_1_1variant.html#a602751a752d5a7442ade0f4437646231',1,'winstd::variant::operator=(unsigned char nSrc) noexcept'],['../classwinstd_1_1variant.html#a5886220d7a2ff006d29cd4448a2a33ac',1,'winstd::variant::operator=(short nSrc) noexcept'],['../classwinstd_1_1variant.html#a5c2733a19c37248f69a07771b8e939f1',1,'winstd::variant::operator=(unsigned short nSrc) noexcept'],['../classwinstd_1_1variant.html#a71fb3ee2710ad470329e0b5c4f7f5ba4',1,'winstd::variant::operator=(int nSrc) noexcept'],['../classwinstd_1_1variant.html#a05ad6d2f51763b24d7528078a2c30e49',1,'winstd::variant::operator=(unsigned int nSrc) noexcept'],['../classwinstd_1_1variant.html#a360da15526269bd64a2fb670e9e280ff',1,'winstd::variant::operator=(long nSrc) noexcept'],['../classwinstd_1_1variant.html#a07980ff84773ac25807d0713dd05090a',1,'winstd::variant::operator=(unsigned long nSrc) noexcept'],['../classwinstd_1_1variant.html#af1898a82e4199d1f34924d448867f68f',1,'winstd::variant::operator=(long long nSrc) noexcept'],['../classwinstd_1_1variant.html#aebabfcb503a43abecc9f3c07629f591f',1,'winstd::variant::operator=(unsigned long long nSrc) noexcept'],['../classwinstd_1_1variant.html#a6fa877e7a098dba125c6342bd5e1c896',1,'winstd::variant::operator=(double dblSrc) noexcept'],['../classwinstd_1_1variant.html#a984b2e054639678f06a40e3f57abf4d7',1,'winstd::variant::operator=(LPCOLESTR lpszSrc) noexcept'],['../classwinstd_1_1variant.html#af5e22f4158921eb49c2207335d7c7593',1,'winstd::variant::operator=(IDispatch *pSrc)'],['../classwinstd_1_1variant.html#a55f962bb7a077f87aaa4a6bec03c10da',1,'winstd::variant::operator=(IUnknown *pSrc)'],['../classwinstd_1_1variant.html#a5bc092e989de74c42d92de5647248a57',1,'winstd::variant::operator=(unsigned char *pbSrc) noexcept'],['../classwinstd_1_1variant.html#aa8c701dc6deac688a83d04ed9afdd4b5',1,'winstd::variant::operator=(short *pnSrc) noexcept'],['../classwinstd_1_1variant.html#accf863f76609d78946f51ec07a52690e',1,'winstd::variant::operator=(unsigned short *pnSrc) noexcept'],['../classwinstd_1_1variant.html#a30ba85931db8557713e5ee32d48ceecc',1,'winstd::variant::operator=(int *pnSrc) noexcept'],['../classwinstd_1_1variant.html#aa01c928f87788c505b818b7930c0f3a0',1,'winstd::variant::operator=(unsigned int *pnSrc) noexcept'],['../classwinstd_1_1variant.html#aa321e1785731055f02abcf7789383912',1,'winstd::variant::operator=(long *pnSrc) noexcept'],['../classwinstd_1_1variant.html#af86e9a10fd9dbe6e18b33a59d04f3b44',1,'winstd::variant::operator=(unsigned long *pnSrc) noexcept'],['../classwinstd_1_1variant.html#a1df6086270e7799b83ee2889e2b88d9e',1,'winstd::variant::operator=(float *pfSrc) noexcept'],['../classwinstd_1_1variant.html#a1786d099ef012c301c0774f98af0f13a',1,'winstd::variant::operator=(float fltSrc) noexcept'],['../classwinstd_1_1variant.html#ad0ef65b5a3f40b1a812ac78ca5e5eb50',1,'winstd::variant::operator=(long long *pnSrc) noexcept']]], ['operator_3d_3d_16',['operator==',['../classwinstd_1_1cert__context.html#a2f3ad38a637fce69d8c2a5ee3460a296',1,'winstd::cert_context::operator==()'],['../group___win_std_e_a_p_a_p_i.html#ga4fac0d35e8ca3fa63c53f85a9d10fa80',1,'operator==(): EAP.h'],['../classwinstd_1_1handle.html#ab6021e9c11accef6b813948dc4601ddc',1,'winstd::handle::operator==()'],['../classwinstd_1_1variant.html#a7e4c402b1b8d459aa2d73fb5b5e83853',1,'winstd::variant::operator==()']]], ['operator_3e_17',['operator>',['../classwinstd_1_1handle.html#ae7361f6159006e3f87cbe10ba2a76329',1,'winstd::handle::operator>()'],['../classwinstd_1_1cert__context.html#a7224d1fe6c57bfe903fa8a6df32d2466',1,'winstd::cert_context::operator>()'],['../classwinstd_1_1variant.html#a323955b7123424305aed08eea20f9381',1,'winstd::variant::operator>(const VARIANT &varSrc) const noexcept']]], ['operator_3e_3d_18',['operator>=',['../classwinstd_1_1variant.html#aa7ea26592a0d6b6c529eb87130ebd820',1,'winstd::variant::operator>=()'],['../classwinstd_1_1handle.html#a20e325dde8a25d1e3a7efb50b431641b',1,'winstd::handle::operator>=()'],['../classwinstd_1_1cert__context.html#a6c9f09455ef40e581accc6499222040c',1,'winstd::cert_context::operator>=()']]], diff --git a/search/variables_2.js b/search/variables_2.js index 231713cc..722d649f 100644 --- a/search/variables_2.js +++ b/search/variables_2.js @@ -2,15 +2,15 @@ var searchData= [ ['m_5fattrib_0',['m_attrib',['../classwinstd_1_1sec__context.html#a8a211355b63585e9cc633639d801a13f',1,'winstd::sec_context']]], ['m_5fcookie_1',['m_cookie',['../classwinstd_1_1actctx__activator.html#ab3556f1baf628459929c8c394341a9a6',1,'winstd::actctx_activator::m_cookie()'],['../classwinstd_1_1console__ctrl__handler.html#ae46848a80c517f95fc3fd7c1ee832134',1,'winstd::console_ctrl_handler::m_cookie()'],['../classwinstd_1_1impersonator.html#acf82d1c062fce491af05b7e89c09d3f2',1,'winstd::impersonator::m_cookie()']]], - ['m_5fdata_2',['m_data',['../classwinstd_1_1sanitizing__blob.html#a38187ccd591a6a7cfa4a9d0a6f6f7701',1,'winstd::sanitizing_blob::m_data()'],['../classwinstd_1_1critical__section.html#a55b9b9e7f38b94cd5c3fc15a319a6719',1,'winstd::critical_section::m_data()']]], + ['m_5fdata_2',['m_data',['../classwinstd_1_1safearray__accessor.html#ae4a6744c6fc119a673701a4e0b3af1d4',1,'winstd::safearray_accessor::m_data()'],['../classwinstd_1_1globalmem__accessor.html#a65be5938136bfa1ec65b7571cfccb3b7',1,'winstd::globalmem_accessor::m_data()'],['../classwinstd_1_1sanitizing__blob.html#a38187ccd591a6a7cfa4a9d0a6f6f7701',1,'winstd::sanitizing_blob::m_data()'],['../classwinstd_1_1critical__section.html#a55b9b9e7f38b94cd5c3fc15a319a6719',1,'winstd::critical_section::m_data()']]], ['m_5fdesc_3',['m_desc',['../classwinstd_1_1event__fn__auto__ret.html#a23fa88c6a7aea86536cc0e4bee2746cf',1,'winstd::event_fn_auto_ret']]], ['m_5fenable_5ffilter_5fdesc_4',['m_enable_filter_desc',['../classwinstd_1_1event__trace__enabler.html#a358d20e2dbbc7dcaccbe8d3d303cc3c4',1,'winstd::event_trace_enabler']]], ['m_5fenable_5fproperty_5',['m_enable_property',['../classwinstd_1_1event__trace__enabler.html#afa99363e0122b520280f1e4a6f0a6c35',1,'winstd::event_trace_enabler']]], ['m_5fep_6',['m_ep',['../classwinstd_1_1event__fn__auto.html#acbfdaed91d8a3aa3346d33d1a548457a',1,'winstd::event_fn_auto::m_ep()'],['../classwinstd_1_1event__fn__auto__ret.html#a52a16bf54fa9fc800e7c18d3fd75fb53',1,'winstd::event_fn_auto_ret::m_ep()']]], - ['m_5fevent_5fdest_7',['m_event_dest',['../classwinstd_1_1event__fn__auto.html#a03080fbd3201b899cce1ab5bb59dca2f',1,'winstd::event_fn_auto::m_event_dest()'],['../classwinstd_1_1event__fn__auto__ret.html#a8d168be3f57047c78fa329ff3eb2e700',1,'winstd::event_fn_auto_ret::m_event_dest()']]], + ['m_5fevent_5fdest_7',['m_event_dest',['../classwinstd_1_1event__fn__auto__ret.html#a8d168be3f57047c78fa329ff3eb2e700',1,'winstd::event_fn_auto_ret::m_event_dest()'],['../classwinstd_1_1event__fn__auto.html#a03080fbd3201b899cce1ab5bb59dca2f',1,'winstd::event_fn_auto::m_event_dest()']]], ['m_5fexpires_8',['m_expires',['../classwinstd_1_1sec__credentials.html#ab2b392dc45e270c5855245fe4c8d159a',1,'winstd::sec_credentials::m_expires()'],['../classwinstd_1_1sec__context.html#a8ea323950689fbfa34e945825f013304',1,'winstd::sec_context::m_expires()']]], ['m_5ffn_5fname_9',['m_fn_name',['../classwinstd_1_1event__fn__auto.html#ad17409fc9cdaa8b78a9f38e39e21a9f0',1,'winstd::event_fn_auto']]], - ['m_5fh_10',['m_h',['../classwinstd_1_1handle.html#aabde3f16fd98b06b3b0282ef7806eb59',1,'winstd::handle']]], + ['m_5fh_10',['m_h',['../classwinstd_1_1globalmem__accessor.html#a192f021a0694ab58dae6e2d63a5c66b8',1,'winstd::globalmem_accessor::m_h()'],['../classwinstd_1_1handle.html#aabde3f16fd98b06b3b0282ef7806eb59',1,'winstd::handle::m_h()']]], ['m_5fhandler_11',['m_handler',['../classwinstd_1_1console__ctrl__handler.html#a9ef863ec7a6cd26788acb94430948e60',1,'winstd::console_ctrl_handler']]], ['m_5fhdc_12',['m_hdc',['../classwinstd_1_1dc__selector.html#ab2d1223cd41529b6b2c9bb09c34568e3',1,'winstd::dc_selector']]], ['m_5fheap_13',['m_heap',['../classwinstd_1_1heap__allocator.html#a36fb89d5fca7564d2718ba54a519eadd',1,'winstd::heap_allocator']]], @@ -32,8 +32,9 @@ var searchData= ['m_5fresult_29',['m_result',['../classwinstd_1_1com__initializer.html#ae9478fd05b5b1c82e0f762c2b517155b',1,'winstd::com_initializer::m_result()'],['../classwinstd_1_1event__fn__auto__ret.html#a69f1ae5c23f90aaa4da012b1eb0b8f81',1,'winstd::event_fn_auto_ret::m_result()']]], ['m_5froot_5fcause_5fdesc_30',['m_root_cause_desc',['../classwinstd_1_1eap__runtime__error.html#aea17d371de31216ac0754c1ed1f0b99a',1,'winstd::eap_runtime_error']]], ['m_5froot_5fcause_5fid_31',['m_root_cause_id',['../classwinstd_1_1eap__runtime__error.html#a084ddacb051932c211a995872fb67b57',1,'winstd::eap_runtime_error']]], - ['m_5fsource_5fid_32',['m_source_id',['../classwinstd_1_1event__trace__enabler.html#ae6269d27652b694435656906784e3a7a',1,'winstd::event_trace_enabler']]], - ['m_5fstatus_33',['m_status',['../classwinstd_1_1event__trace__enabler.html#a576839d3b1e1db676ea1175329b02c9f',1,'winstd::event_trace_enabler']]], - ['m_5ftrace_5fhandle_34',['m_trace_handle',['../classwinstd_1_1event__trace__enabler.html#a5ef48960265e3786fb94fe7f64587909',1,'winstd::event_trace_enabler']]], - ['m_5ftype_35',['m_type',['../classwinstd_1_1eap__runtime__error.html#a4d7e04b38831f029d862990b607333aa',1,'winstd::eap_runtime_error']]] + ['m_5fsa_32',['m_sa',['../classwinstd_1_1safearray__accessor.html#ab192244352a22d42720b312d8a5323a8',1,'winstd::safearray_accessor']]], + ['m_5fsource_5fid_33',['m_source_id',['../classwinstd_1_1event__trace__enabler.html#ae6269d27652b694435656906784e3a7a',1,'winstd::event_trace_enabler']]], + ['m_5fstatus_34',['m_status',['../classwinstd_1_1event__trace__enabler.html#a576839d3b1e1db676ea1175329b02c9f',1,'winstd::event_trace_enabler']]], + ['m_5ftrace_5fhandle_35',['m_trace_handle',['../classwinstd_1_1event__trace__enabler.html#a5ef48960265e3786fb94fe7f64587909',1,'winstd::event_trace_enabler']]], + ['m_5ftype_36',['m_type',['../classwinstd_1_1eap__runtime__error.html#a4d7e04b38831f029d862990b607333aa',1,'winstd::eap_runtime_error']]] ]; diff --git a/structwinstd_1_1_co_task_mem_free__delete-members.html b/structwinstd_1_1_co_task_mem_free__delete-members.html index 06d36b37..8ee89fdf 100644 --- a/structwinstd_1_1_co_task_mem_free__delete-members.html +++ b/structwinstd_1_1_co_task_mem_free__delete-members.html @@ -85,7 +85,7 @@ $(function() { diff --git a/structwinstd_1_1_co_task_mem_free__delete.html b/structwinstd_1_1_co_task_mem_free__delete.html index 72ccf2ee..1d6b070f 100644 --- a/structwinstd_1_1_co_task_mem_free__delete.html +++ b/structwinstd_1_1_co_task_mem_free__delete.html @@ -137,7 +137,7 @@ template<class _T > diff --git a/structwinstd_1_1_cred_free__delete-members.html b/structwinstd_1_1_cred_free__delete-members.html index 8bce2352..680507ee 100644 --- a/structwinstd_1_1_cred_free__delete-members.html +++ b/structwinstd_1_1_cred_free__delete-members.html @@ -87,7 +87,7 @@ $(function() { diff --git a/structwinstd_1_1_cred_free__delete.html b/structwinstd_1_1_cred_free__delete.html index ec7dc089..b24a4931 100644 --- a/structwinstd_1_1_cred_free__delete.html +++ b/structwinstd_1_1_cred_free__delete.html @@ -150,7 +150,7 @@ template<class _Ty > diff --git a/structwinstd_1_1_cred_free__delete_3_01___ty_0f_0e_4-members.html b/structwinstd_1_1_cred_free__delete_3_01___ty_0f_0e_4-members.html index 54adae60..ae50ba98 100644 --- a/structwinstd_1_1_cred_free__delete_3_01___ty_0f_0e_4-members.html +++ b/structwinstd_1_1_cred_free__delete_3_01___ty_0f_0e_4-members.html @@ -87,7 +87,7 @@ $(function() { diff --git a/structwinstd_1_1_cred_free__delete_3_01___ty_0f_0e_4.html b/structwinstd_1_1_cred_free__delete_3_01___ty_0f_0e_4.html index 461665bd..489b751b 100644 --- a/structwinstd_1_1_cred_free__delete_3_01___ty_0f_0e_4.html +++ b/structwinstd_1_1_cred_free__delete_3_01___ty_0f_0e_4.html @@ -182,7 +182,7 @@ template<class _Ty > diff --git a/structwinstd_1_1_eap_host_peer_free_eap_error__delete-members.html b/structwinstd_1_1_eap_host_peer_free_eap_error__delete-members.html index 004466ef..908969e1 100644 --- a/structwinstd_1_1_eap_host_peer_free_eap_error__delete-members.html +++ b/structwinstd_1_1_eap_host_peer_free_eap_error__delete-members.html @@ -85,7 +85,7 @@ $(function() { diff --git a/structwinstd_1_1_eap_host_peer_free_eap_error__delete.html b/structwinstd_1_1_eap_host_peer_free_eap_error__delete.html index 6456e36e..9865b4ed 100644 --- a/structwinstd_1_1_eap_host_peer_free_eap_error__delete.html +++ b/structwinstd_1_1_eap_host_peer_free_eap_error__delete.html @@ -134,7 +134,7 @@ Public Member Functions diff --git a/structwinstd_1_1_eap_host_peer_free_error_memory__delete-members.html b/structwinstd_1_1_eap_host_peer_free_error_memory__delete-members.html index e2491a2b..4e1af616 100644 --- a/structwinstd_1_1_eap_host_peer_free_error_memory__delete-members.html +++ b/structwinstd_1_1_eap_host_peer_free_error_memory__delete-members.html @@ -85,7 +85,7 @@ $(function() { diff --git a/structwinstd_1_1_eap_host_peer_free_error_memory__delete.html b/structwinstd_1_1_eap_host_peer_free_error_memory__delete.html index a1d28da0..3d11f8e0 100644 --- a/structwinstd_1_1_eap_host_peer_free_error_memory__delete.html +++ b/structwinstd_1_1_eap_host_peer_free_error_memory__delete.html @@ -134,7 +134,7 @@ Public Member Functions diff --git a/structwinstd_1_1_eap_host_peer_free_memory__delete-members.html b/structwinstd_1_1_eap_host_peer_free_memory__delete-members.html index a92a8f7f..a98523d0 100644 --- a/structwinstd_1_1_eap_host_peer_free_memory__delete-members.html +++ b/structwinstd_1_1_eap_host_peer_free_memory__delete-members.html @@ -85,7 +85,7 @@ $(function() { diff --git a/structwinstd_1_1_eap_host_peer_free_memory__delete.html b/structwinstd_1_1_eap_host_peer_free_memory__delete.html index b048dc80..d21f1cac 100644 --- a/structwinstd_1_1_eap_host_peer_free_memory__delete.html +++ b/structwinstd_1_1_eap_host_peer_free_memory__delete.html @@ -137,7 +137,7 @@ template<class _T > diff --git a/structwinstd_1_1_eap_host_peer_free_runtime_memory__delete-members.html b/structwinstd_1_1_eap_host_peer_free_runtime_memory__delete-members.html index 8a407360..fe57d657 100644 --- a/structwinstd_1_1_eap_host_peer_free_runtime_memory__delete-members.html +++ b/structwinstd_1_1_eap_host_peer_free_runtime_memory__delete-members.html @@ -85,7 +85,7 @@ $(function() { diff --git a/structwinstd_1_1_eap_host_peer_free_runtime_memory__delete.html b/structwinstd_1_1_eap_host_peer_free_runtime_memory__delete.html index 4d2d3a1a..8084b52f 100644 --- a/structwinstd_1_1_eap_host_peer_free_runtime_memory__delete.html +++ b/structwinstd_1_1_eap_host_peer_free_runtime_memory__delete.html @@ -106,7 +106,7 @@ template<class _T > diff --git a/structwinstd_1_1_global_free__delete-members.html b/structwinstd_1_1_global_free__delete-members.html new file mode 100644 index 00000000..75d18a16 --- /dev/null +++ b/structwinstd_1_1_global_free__delete-members.html @@ -0,0 +1,91 @@ + + + + + + + +WinStd: Member List + + + + + + + + + +
              +
              + + + + + + +
              +
              WinStd +
              +
              Windows Win32 API using Standard C++
              +
              +
              + + + + + + + + +
              +
              + + +
              +
              +
              +
              +
              +
              Loading...
              +
              Searching...
              +
              No Matches
              +
              +
              +
              +
              + + +
              +
              +
              winstd::GlobalFree_delete Member List
              +
              +
              + +

              This is the complete list of members for winstd::GlobalFree_delete, including all inherited members.

              + + + +
              GlobalFree_delete()winstd::GlobalFree_deleteinline
              operator()(HGLOBAL _Ptr) constwinstd::GlobalFree_deleteinline
              + + + + diff --git a/structwinstd_1_1_global_free__delete.html b/structwinstd_1_1_global_free__delete.html new file mode 100644 index 00000000..0ec81cad --- /dev/null +++ b/structwinstd_1_1_global_free__delete.html @@ -0,0 +1,140 @@ + + + + + + + +WinStd: winstd::GlobalFree_delete Struct Reference + + + + + + + + + +
              +
              + + + + + + +
              +
              WinStd +
              +
              Windows Win32 API using Standard C++
              +
              +
              + + + + + + + + +
              +
              + + +
              +
              +
              +
              +
              +
              Loading...
              +
              Searching...
              +
              No Matches
              +
              +
              +
              +
              + + +
              +
              + +
              winstd::GlobalFree_delete Struct Reference
              +
              +
              + +

              Deleter for unique_ptr using GlobalFree. + More...

              + +

              #include <WinStd/Common.h>

              + + + + + + + + +

              +Public Member Functions

              GlobalFree_delete ()
               Default construct.
               
              void operator() (HGLOBAL _Ptr) const
               Delete a pointer.
               
              +

              Detailed Description

              +

              Deleter for unique_ptr using GlobalFree.

              +

              Member Function Documentation

              + +

              ◆ operator()()

              + +
              +
              + + + + + +
              + + + + + + + + +
              void winstd::GlobalFree_delete::operator() (HGLOBAL _Ptr) const
              +
              +inline
              +
              + +

              Delete a pointer.

              +
              See also
              GlobalFree function
              + +
              +
              +
              The documentation for this struct was generated from the following file: +
              + + + + diff --git a/structwinstd_1_1_local_free__delete-members.html b/structwinstd_1_1_local_free__delete-members.html index 8f1bc1fd..fa66cdfc 100644 --- a/structwinstd_1_1_local_free__delete-members.html +++ b/structwinstd_1_1_local_free__delete-members.html @@ -87,7 +87,7 @@ $(function() { diff --git a/structwinstd_1_1_local_free__delete.html b/structwinstd_1_1_local_free__delete.html index 4d9f9df7..bde608f5 100644 --- a/structwinstd_1_1_local_free__delete.html +++ b/structwinstd_1_1_local_free__delete.html @@ -150,7 +150,7 @@ template<class _Ty > diff --git a/structwinstd_1_1_local_free__delete_3_01___ty_0f_0e_4-members.html b/structwinstd_1_1_local_free__delete_3_01___ty_0f_0e_4-members.html index d9e00343..b5eccd0c 100644 --- a/structwinstd_1_1_local_free__delete_3_01___ty_0f_0e_4-members.html +++ b/structwinstd_1_1_local_free__delete_3_01___ty_0f_0e_4-members.html @@ -87,7 +87,7 @@ $(function() { diff --git a/structwinstd_1_1_local_free__delete_3_01___ty_0f_0e_4.html b/structwinstd_1_1_local_free__delete_3_01___ty_0f_0e_4.html index 36c9dd03..5e3d391c 100644 --- a/structwinstd_1_1_local_free__delete_3_01___ty_0f_0e_4.html +++ b/structwinstd_1_1_local_free__delete_3_01___ty_0f_0e_4.html @@ -152,7 +152,7 @@ template<class _Other > diff --git a/structwinstd_1_1_unmap_view_of_file__delete-members.html b/structwinstd_1_1_unmap_view_of_file__delete-members.html index 602c01ac..8040902b 100644 --- a/structwinstd_1_1_unmap_view_of_file__delete-members.html +++ b/structwinstd_1_1_unmap_view_of_file__delete-members.html @@ -87,7 +87,7 @@ $(function() { diff --git a/structwinstd_1_1_unmap_view_of_file__delete.html b/structwinstd_1_1_unmap_view_of_file__delete.html index 07ab620a..8bbfcf17 100644 --- a/structwinstd_1_1_unmap_view_of_file__delete.html +++ b/structwinstd_1_1_unmap_view_of_file__delete.html @@ -119,7 +119,7 @@ struct winstd::UnmapViewOfFile_delete< _Ty >

              Deleter for unique_pt

              diff --git a/structwinstd_1_1_unmap_view_of_file__delete_3_01___ty_0f_0e_4-members.html b/structwinstd_1_1_unmap_view_of_file__delete_3_01___ty_0f_0e_4-members.html index 270cb577..2e398314 100644 --- a/structwinstd_1_1_unmap_view_of_file__delete_3_01___ty_0f_0e_4-members.html +++ b/structwinstd_1_1_unmap_view_of_file__delete_3_01___ty_0f_0e_4-members.html @@ -87,7 +87,7 @@ $(function() { diff --git a/structwinstd_1_1_unmap_view_of_file__delete_3_01___ty_0f_0e_4.html b/structwinstd_1_1_unmap_view_of_file__delete_3_01___ty_0f_0e_4.html index 80de3568..19069e75 100644 --- a/structwinstd_1_1_unmap_view_of_file__delete_3_01___ty_0f_0e_4.html +++ b/structwinstd_1_1_unmap_view_of_file__delete_3_01___ty_0f_0e_4.html @@ -119,7 +119,7 @@ struct winstd::UnmapViewOfFile_delete< _Ty[]>

              Deleter for unique_p

              diff --git a/structwinstd_1_1_wlan_free_memory__delete-members.html b/structwinstd_1_1_wlan_free_memory__delete-members.html index bbe985e3..8eafa751 100644 --- a/structwinstd_1_1_wlan_free_memory__delete-members.html +++ b/structwinstd_1_1_wlan_free_memory__delete-members.html @@ -87,7 +87,7 @@ $(function() { diff --git a/structwinstd_1_1_wlan_free_memory__delete.html b/structwinstd_1_1_wlan_free_memory__delete.html index 93342a69..93ab29bc 100644 --- a/structwinstd_1_1_wlan_free_memory__delete.html +++ b/structwinstd_1_1_wlan_free_memory__delete.html @@ -119,7 +119,7 @@ struct winstd::WlanFreeMemory_delete< _Ty >

              Deleter for unique_ptr

              diff --git a/structwinstd_1_1_wlan_free_memory__delete_3_01___ty_0f_0e_4-members.html b/structwinstd_1_1_wlan_free_memory__delete_3_01___ty_0f_0e_4-members.html index 96567c06..3f83101f 100644 --- a/structwinstd_1_1_wlan_free_memory__delete_3_01___ty_0f_0e_4-members.html +++ b/structwinstd_1_1_wlan_free_memory__delete_3_01___ty_0f_0e_4-members.html @@ -87,7 +87,7 @@ $(function() { diff --git a/structwinstd_1_1_wlan_free_memory__delete_3_01___ty_0f_0e_4.html b/structwinstd_1_1_wlan_free_memory__delete_3_01___ty_0f_0e_4.html index 0b3ad019..3d3370d4 100644 --- a/structwinstd_1_1_wlan_free_memory__delete_3_01___ty_0f_0e_4.html +++ b/structwinstd_1_1_wlan_free_memory__delete_3_01___ty_0f_0e_4.html @@ -119,7 +119,7 @@ struct winstd::WlanFreeMemory_delete< _Ty[]>

              Deleter for unique_pt

              diff --git a/structwinstd_1_1heap__allocator_1_1rebind-members.html b/structwinstd_1_1heap__allocator_1_1rebind-members.html index a0f52a15..f5f532ac 100644 --- a/structwinstd_1_1heap__allocator_1_1rebind-members.html +++ b/structwinstd_1_1heap__allocator_1_1rebind-members.html @@ -84,7 +84,7 @@ $(function() { diff --git a/structwinstd_1_1heap__allocator_1_1rebind.html b/structwinstd_1_1heap__allocator_1_1rebind.html index 5d9a2d28..f0657f99 100644 --- a/structwinstd_1_1heap__allocator_1_1rebind.html +++ b/structwinstd_1_1heap__allocator_1_1rebind.html @@ -103,7 +103,7 @@ struct winstd::heap_allocator< _Ty >::rebind< _Other >

              A str

              diff --git a/structwinstd_1_1sanitizing__allocator_1_1rebind-members.html b/structwinstd_1_1sanitizing__allocator_1_1rebind-members.html index 774f4f55..529d9681 100644 --- a/structwinstd_1_1sanitizing__allocator_1_1rebind-members.html +++ b/structwinstd_1_1sanitizing__allocator_1_1rebind-members.html @@ -84,7 +84,7 @@ $(function() { diff --git a/structwinstd_1_1sanitizing__allocator_1_1rebind.html b/structwinstd_1_1sanitizing__allocator_1_1rebind.html index 55e96e75..07f8bcf1 100644 --- a/structwinstd_1_1sanitizing__allocator_1_1rebind.html +++ b/structwinstd_1_1sanitizing__allocator_1_1rebind.html @@ -103,7 +103,7 @@ struct winstd::sanitizing_allocator< _Ty >::rebind< _Other >