diff --git a/_c_o_m_8h_source.html b/_c_o_m_8h_source.html index 77708229..390d6eca 100644 --- a/_c_o_m_8h_source.html +++ b/_c_o_m_8h_source.html @@ -116,776 +116,784 @@ $(function() {
83 WINSTD_DPLHANDLE_IMPL(com_obj, NULL)
84
85 public:
-
91 com_obj(_In_ REFCLSID rclsid, _In_opt_ LPUNKNOWN pUnkOuter = NULL, DWORD dwClsContext = CLSCTX_ALL)
-
92 {
-
93 CoCreateInstance(rclsid, pUnkOuter, dwClsContext, __uuidof(T), (LPVOID*)&m_h);
-
94 }
-
95
-
101 template <class _Other>
-
102 com_obj(_In_ _Other *other)
-
103 {
-
104 assert(other);
-
105 other->QueryInterface(__uuidof(T), (void**)&m_h);
-
106 }
-
107
-
113 template <class _Other>
-
114 com_obj(_In_ com_obj<_Other> &other)
-
115 {
-
116 other->QueryInterface(__uuidof(T), (void**)&m_h);
-
117 }
-
118
-
122 virtual ~com_obj()
-
123 {
-
124 if (m_h != invalid)
-
125 free_internal();
-
126 }
-
127
-
133 HRESULT create(_In_ REFCLSID rclsid, _In_opt_ LPUNKNOWN pUnkOuter = NULL, _In_ DWORD dwClsContext = CLSCTX_ALL)
-
134 {
-
135 handle_type h;
-
136 HRESULT hr = CoCreateInstance(rclsid, pUnkOuter, dwClsContext, __uuidof(T), (void**)&h);
-
137 if (SUCCEEDED(hr))
-
138 attach(h);
-
139 return hr;
-
140 }
-
141
-
147 template <class _Other>
-
148 HRESULT query_interface(_Out_ _Other **h) const
-
149 {
-
150 assert(h);
-
151 assert(m_h);
-
152 return m_h->QueryInterface(__uuidof(_Other), (void**)h);
-
153 }
-
154
-
160 template <class _Other>
-
161 HRESULT query_interface(_Out_ com_obj<_Other> &h) const
-
162 {
-
163 assert(m_h);
-
164 _Other *_h;
-
165 HRESULT hr = m_h->QueryInterface(__uuidof(_Other), (void**)&_h);
-
166 if (SUCCEEDED(hr))
-
167 h.attach(_h);
-
168 return hr;
-
169 }
-
170
-
171 protected:
-
177 void free_internal() noexcept override
-
178 {
-
179 m_h->Release();
-
180 }
-
181
-
191 handle_type duplicate_internal(_In_ handle_type h) const noexcept override
-
192 {
-
193 h->AddRef();
-
194 return h;
-
195 }
-
196 };
-
197
-
201 class bstr : public dplhandle<BSTR, NULL>
-
202 {
-
203 WINSTD_DPLHANDLE_IMPL(bstr, NULL)
-
204
-
205 public:
-
209 bstr(_In_ LPCOLESTR src) noexcept
-
210 {
-
211 m_h = SysAllocString(src);
-
212 }
-
213
-
217 bstr(_In_ LPCOLESTR src, _In_ UINT len) noexcept
-
218 {
-
219 m_h = SysAllocStringLen(src, len);
-
220 }
-
221
-
225 template<class _Traits, class _Ax>
-
226 bstr(_In_ const std::basic_string<wchar_t, _Traits, _Ax> &src) noexcept
-
227 {
-
228 m_h = SysAllocStringLen(src.c_str(), (UINT)src.length());
-
229 }
-
230
-
236 virtual ~bstr()
-
237 {
-
238 if (m_h != invalid)
-
239 free_internal();
-
240 }
-
241
-
247 UINT length() const noexcept
-
248 {
-
249 return SysStringLen(m_h);
-
250 }
-
251
-
252 protected:
-
258 void free_internal() noexcept override
-
259 {
-
260 SysFreeString(m_h);
-
261 }
-
262
-
272 handle_type duplicate_internal(_In_ handle_type h) const noexcept override
-
273 {
-
274 return SysAllocStringLen(h, SysStringLen(h));
-
275 }
-
276 };
-
277
-
281 #pragma warning(push)
-
282 #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.
-
283 class variant : public VARIANT
-
284 {
-
285 public:
-
289 variant() noexcept
-
290 {
-
291 VariantInit(this);
-
292 }
-
293
-
297 variant(_In_ const VARIANT& varSrc)
-
298 {
-
299 vt = VT_EMPTY;
-
300 const HRESULT hr = VariantCopy(this, &varSrc);
-
301 if (FAILED(hr))
-
302 throw winstd::com_runtime_error(hr, "VariantCopy failed.");
-
303 }
-
304
-
308 #pragma warning(suppress: 26495) // vt member is initialized as a result of memcpy()
-
309 variant(_Inout_ VARIANT&& varSrc) noexcept
-
310 {
-
311 memcpy(this, &varSrc, sizeof(VARIANT));
-
312 varSrc.vt = VT_EMPTY;
-
313 }
-
314
-
318 variant(_In_ bool bSrc) noexcept
-
319 {
-
320 vt = VT_BOOL;
-
321 boolVal = bSrc ? VARIANT_TRUE : VARIANT_FALSE;
-
322 }
-
323
-
327 variant(_In_ char cSrc) noexcept
-
328 {
-
329 vt = VT_I1;
-
330 cVal = cSrc;
-
331 }
-
332
-
336 variant(_In_ unsigned char nSrc) noexcept
-
337 {
-
338 vt = VT_UI1;
-
339 bVal = nSrc;
-
340 }
-
341
-
345 variant(_In_ short nSrc) noexcept
-
346 {
-
347 vt = VT_I2;
-
348 iVal = nSrc;
-
349 }
-
350
-
354 variant(_In_ unsigned short nSrc) noexcept
-
355 {
-
356 vt = VT_UI2;
-
357 uiVal = nSrc;
-
358 }
-
359
-
363 variant(_In_ int nSrc, _In_ VARTYPE vtSrc = VT_I4) noexcept
-
364 {
-
365 assert(vtSrc == VT_I4 || vtSrc == VT_INT);
-
366 vt = vtSrc;
-
367 intVal = nSrc;
-
368 }
-
369
-
373 variant(_In_ unsigned int nSrc, _In_ VARTYPE vtSrc = VT_UI4) noexcept
-
374 {
-
375 assert(vtSrc == VT_UI4 || vtSrc == VT_UINT);
-
376 vt = vtSrc;
-
377 uintVal= nSrc;
-
378 }
-
379
-
383 variant(_In_ long nSrc, _In_ VARTYPE vtSrc = VT_I4) noexcept
-
384 {
-
385 assert(vtSrc == VT_I4 || vtSrc == VT_ERROR);
-
386 vt = vtSrc;
-
387 lVal = nSrc;
-
388 }
-
389
-
393 variant(_In_ unsigned long nSrc) noexcept
-
394 {
-
395 vt = VT_UI4;
-
396 ulVal = nSrc;
-
397 }
-
398
-
402 variant(_In_ float fltSrc) noexcept
-
403 {
-
404 vt = VT_R4;
-
405 fltVal = fltSrc;
-
406 }
-
407
-
411 variant(_In_ double dblSrc, _In_ VARTYPE vtSrc = VT_R8) noexcept
-
412 {
-
413 assert(vtSrc == VT_R8 || vtSrc == VT_DATE);
-
414 vt = vtSrc;
-
415 dblVal = dblSrc;
-
416 }
-
417
-
421 variant(_In_ long long nSrc) noexcept
-
422 {
-
423 vt = VT_I8;
-
424 llVal = nSrc;
-
425 }
-
426
-
430 variant(_In_ unsigned long long nSrc) noexcept
-
431 {
-
432 vt = VT_UI8;
-
433 ullVal = nSrc;
-
434 }
-
435
-
439 variant(_In_ CY cySrc) noexcept
-
440 {
-
441 vt = VT_CY;
-
442 cyVal.Hi = cySrc.Hi;
-
443 cyVal.Lo = cySrc.Lo;
-
444 }
-
445
-
449 variant(_In_z_ LPCOLESTR lpszSrc) noexcept
-
450 {
-
451 vt = VT_EMPTY;
-
452 *this = lpszSrc;
-
453 }
-
454
-
458 variant(_In_z_ BSTR bstr) noexcept
-
459 {
-
460 vt = VT_EMPTY;
-
461 *this = bstr;
-
462 }
-
463
-
467 variant(_In_opt_ IDispatch* pSrc)
-
468 {
-
469 vt = VT_DISPATCH;
-
470 pdispVal = pSrc;
-
471
-
472 if (pdispVal != NULL)
-
473 pdispVal->AddRef();
-
474 }
-
475
-
479 variant(_In_opt_ IUnknown* pSrc)
-
480 {
-
481 vt = VT_UNKNOWN;
-
482 punkVal = pSrc;
-
483
-
484 if (punkVal != NULL)
-
485 punkVal->AddRef();
-
486 }
-
487
-
491 variant(_In_ const SAFEARRAY *pSrc)
-
492 {
-
493 assert(pSrc != NULL);
-
494
-
495 LPSAFEARRAY pCopy;
-
496 const HRESULT hr = SafeArrayCopy(const_cast<LPSAFEARRAY>(pSrc), &pCopy);
-
497 if (FAILED(hr))
-
498 throw winstd::com_runtime_error(hr, "SafeArrayCopy failed.");
-
499
-
500 SafeArrayGetVartype(const_cast<LPSAFEARRAY>(pSrc), &vt);
-
501 vt |= VT_ARRAY;
-
502 parray = pCopy;
-
503 }
-
504
-
508 virtual ~variant()
-
509 {
-
510 VariantClear(this);
-
511 }
-
512
-
516 variant& operator=(_In_ const VARIANT& varSrc)
-
517 {
-
518 if (this != &varSrc) {
-
519 const HRESULT hr = VariantCopy(this, &varSrc);
-
520 if (FAILED(hr))
-
521 throw winstd::com_runtime_error(hr, "VariantCopy failed.");
-
522 }
-
523 return *this;
-
524 }
-
525
-
529 variant& operator=(_Inout_ VARIANT&& varSrc) noexcept
-
530 {
-
531 if (this != &varSrc) {
-
532 VariantClear(this);
-
533 memcpy(this, &varSrc, sizeof(VARIANT));
-
534 varSrc.vt = VT_EMPTY;
-
535 }
-
536 return *this;
-
537 }
-
538
-
542 variant& operator=(_In_ bool bSrc) noexcept
-
543 {
-
544 if (vt != VT_BOOL) {
-
545 VariantClear(this);
-
546 vt = VT_BOOL;
-
547 }
-
548 boolVal = bSrc ? VARIANT_TRUE : VARIANT_FALSE;
-
549 return *this;
-
550 }
-
551
-
555 variant& operator=(_In_ char cSrc) noexcept
-
556 {
-
557 if (vt != VT_I1) {
-
558 VariantClear(this);
-
559 vt = VT_I1;
-
560 }
-
561 cVal = cSrc;
-
562 return *this;
-
563 }
-
564
-
568 variant& operator=(_In_ unsigned char nSrc) noexcept
-
569 {
-
570 if (vt != VT_UI1) {
-
571 VariantClear(this);
-
572 vt = VT_UI1;
-
573 }
-
574 bVal = nSrc;
-
575 return *this;
-
576 }
-
577
-
581 variant& operator=(_In_ short nSrc) noexcept
-
582 {
-
583 if (vt != VT_I2) {
-
584 VariantClear(this);
-
585 vt = VT_I2;
-
586 }
-
587 iVal = nSrc;
-
588 return *this;
-
589 }
-
590
-
594 variant& operator=(_In_ unsigned short nSrc) noexcept
-
595 {
-
596 if (vt != VT_UI2) {
-
597 VariantClear(this);
-
598 vt = VT_UI2;
-
599 }
-
600 uiVal = nSrc;
-
601 return *this;
-
602 }
-
603
-
607 variant& operator=(_In_ int nSrc) noexcept
-
608 {
-
609 if (vt != VT_I4) {
-
610 VariantClear(this);
-
611 vt = VT_I4;
-
612 }
-
613 intVal = nSrc;
-
614 return *this;
-
615 }
-
616
-
620 variant& operator=(_In_ unsigned int nSrc) noexcept
-
621 {
-
622 if (vt != VT_UI4) {
-
623 VariantClear(this);
-
624 vt = VT_UI4;
-
625 }
-
626 uintVal= nSrc;
-
627 return *this;
-
628 }
-
629
-
633 variant& operator=(_In_ long nSrc) noexcept
-
634 {
-
635 if (vt != VT_I4) {
-
636 VariantClear(this);
-
637 vt = VT_I4;
-
638 }
-
639 lVal = nSrc;
-
640 return *this;
-
641 }
-
642
-
646 variant& operator=(_In_ unsigned long nSrc) noexcept
-
647 {
-
648 if (vt != VT_UI4) {
-
649 VariantClear(this);
-
650 vt = VT_UI4;
-
651 }
-
652 ulVal = nSrc;
-
653 return *this;
-
654 }
-
655
-
659 variant& operator=(_In_ long long nSrc) noexcept
-
660 {
-
661 if (vt != VT_I8) {
-
662 VariantClear(this);
-
663 vt = VT_I8;
-
664 }
-
665 llVal = nSrc;
-
666 return *this;
-
667 }
-
668
-
672 variant& operator=(_In_ unsigned long long nSrc) noexcept
-
673 {
-
674 if (vt != VT_UI8) {
-
675 VariantClear(this);
-
676 vt = VT_UI8;
-
677 }
-
678 ullVal = nSrc;
-
679
-
680 return *this;
-
681 }
-
682
-
686 variant& operator=(_In_ float fltSrc) noexcept
-
687 {
-
688 if (vt != VT_R4) {
-
689 VariantClear(this);
-
690 vt = VT_R4;
-
691 }
-
692 fltVal = fltSrc;
-
693 return *this;
-
694 }
-
695
-
699 variant& operator=(_In_ double dblSrc) noexcept
-
700 {
-
701 if (vt != VT_R8) {
-
702 VariantClear(this);
-
703 vt = VT_R8;
-
704 }
-
705 dblVal = dblSrc;
-
706 return *this;
-
707 }
-
708
-
712 variant& operator=(_In_ CY cySrc) noexcept
-
713 {
-
714 if (vt != VT_CY) {
-
715 VariantClear(this);
-
716 vt = VT_CY;
-
717 }
-
718 cyVal.Hi = cySrc.Hi;
-
719 cyVal.Lo = cySrc.Lo;
-
720 return *this;
-
721 }
-
722
-
726 variant& operator=(_In_z_ LPCOLESTR lpszSrc) noexcept
-
727 {
-
728 VariantClear(this);
-
729 vt = VT_BSTR;
-
730 bstrVal = SysAllocString(lpszSrc);
-
731 return *this;
-
732 }
-
733
-
737 variant& operator=(_Inout_opt_ IDispatch* pSrc)
-
738 {
-
739 VariantClear(this);
-
740 vt = VT_DISPATCH;
-
741 pdispVal = pSrc;
-
742 if (pdispVal != NULL)
-
743 pdispVal->AddRef();
-
744 return *this;
-
745 }
-
746
-
750 variant& operator=(_Inout_opt_ IUnknown* pSrc)
-
751 {
-
752 VariantClear(this);
-
753 vt = VT_UNKNOWN;
-
754 punkVal = pSrc;
-
755 if (punkVal != NULL)
-
756 punkVal->AddRef();
-
757 return *this;
-
758 }
-
759
-
763 variant& operator=(_In_ unsigned char* pbSrc) noexcept
-
764 {
-
765 if (vt != (VT_UI1|VT_BYREF)) {
-
766 VariantClear(this);
-
767 vt = VT_UI1|VT_BYREF;
-
768 }
-
769 pbVal = pbSrc;
-
770 return *this;
-
771 }
-
772
-
776 variant& operator=(_In_ short* pnSrc) noexcept
-
777 {
-
778 if (vt != (VT_I2|VT_BYREF)) {
-
779 VariantClear(this);
-
780 vt = VT_I2|VT_BYREF;
-
781 }
-
782 piVal = pnSrc;
-
783 return *this;
-
784 }
-
785
-
789 variant& operator=(_In_ unsigned short* pnSrc) noexcept
-
790 {
-
791 if (vt != (VT_UI2|VT_BYREF)) {
-
792 VariantClear(this);
-
793 vt = VT_UI2|VT_BYREF;
-
794 }
-
795 puiVal = pnSrc;
-
796 return *this;
-
797 }
-
798
-
802 variant& operator=(_In_ int* pnSrc) noexcept
-
803 {
-
804 if (vt != (VT_I4|VT_BYREF)) {
-
805 VariantClear(this);
-
806 vt = VT_I4|VT_BYREF;
-
807 }
-
808 pintVal = pnSrc;
-
809 return *this;
-
810 }
-
811
-
815 variant& operator=(_In_ unsigned int* pnSrc) noexcept
-
816 {
-
817 if (vt != (VT_UI4|VT_BYREF)) {
-
818 VariantClear(this);
-
819 vt = VT_UI4|VT_BYREF;
-
820 }
-
821 puintVal = pnSrc;
-
822 return *this;
-
823 }
-
824
-
828 variant& operator=(_In_ long* pnSrc) noexcept
-
829 {
-
830 if (vt != (VT_I4|VT_BYREF)) {
-
831 VariantClear(this);
-
832 vt = VT_I4|VT_BYREF;
-
833 }
-
834 plVal = pnSrc;
-
835 return *this;
-
836 }
-
837
-
841 variant& operator=(_In_ unsigned long* pnSrc) noexcept
-
842 {
-
843 if (vt != (VT_UI4|VT_BYREF)) {
-
844 VariantClear(this);
-
845 vt = VT_UI4|VT_BYREF;
-
846 }
-
847 pulVal = pnSrc;
-
848 return *this;
-
849 }
-
850
-
854 variant& operator=(_In_ long long* pnSrc) noexcept
-
855 {
-
856 if (vt != (VT_I8|VT_BYREF)) {
-
857 VariantClear(this);
-
858 vt = VT_I8|VT_BYREF;
-
859 }
-
860 pllVal = pnSrc;
-
861 return *this;
-
862 }
-
863
-
867 variant& operator=(_In_ unsigned long long* pnSrc) noexcept
-
868 {
-
869 if (vt != (VT_UI8|VT_BYREF)) {
-
870 VariantClear(this);
-
871 vt = VT_UI8|VT_BYREF;
-
872 }
-
873 pullVal = pnSrc;
-
874 return *this;
-
875 }
-
876
-
880 variant& operator=(_In_ float* pfSrc) noexcept
-
881 {
-
882 if (vt != (VT_R4|VT_BYREF)) {
-
883 VariantClear(this);
-
884 vt = VT_R4|VT_BYREF;
-
885 }
-
886 pfltVal = pfSrc;
-
887 return *this;
-
888 }
-
889
-
893 variant& operator=(_In_ double* pfSrc) noexcept
-
894 {
-
895 if (vt != (VT_R8|VT_BYREF)) {
-
896 VariantClear(this);
-
897 vt = VT_R8|VT_BYREF;
-
898 }
-
899 pdblVal = pfSrc;
-
900 return *this;
-
901 }
-
902
-
906 variant& operator=(_In_ const SAFEARRAY *pSrc) noexcept
-
907 {
-
908 assert(pSrc != NULL);
-
909 VariantClear(this);
-
910
-
911 LPSAFEARRAY pCopy;
-
912 const HRESULT hr = SafeArrayCopy(const_cast<LPSAFEARRAY>(pSrc), &pCopy);
-
913 if (SUCCEEDED(hr)) {
-
914 SafeArrayGetVartype(const_cast<LPSAFEARRAY>(pSrc), &vt);
-
915 vt |= VT_ARRAY;
-
916 parray = pCopy;
-
917 } else
-
918 assert(0);
-
919
-
920 return *this;
-
921 }
-
922
-
923 public:
-
932 bool operator==(_In_ const VARIANT& varSrc) const noexcept
-
933 {
-
934 if (vt == VT_NULL && varSrc.vt == VT_NULL) return true;
-
935 if (vt != varSrc.vt) return false;
-
936 return compare(static_cast<const VARIANT&>(*this), varSrc, LOCALE_USER_DEFAULT, 0) == static_cast<HRESULT>(VARCMP_EQ);
-
937 }
-
938
-
947 bool operator!=(_In_ const VARIANT& varSrc) const noexcept
-
948 {
-
949 return !operator==(varSrc);
-
950 }
-
951
-
960 bool operator<(_In_ const VARIANT& varSrc) const noexcept
-
961 {
-
962 if (vt == VT_NULL && varSrc.vt == VT_NULL) return false;
-
963 return compare(static_cast<const VARIANT&>(*this), varSrc, LOCALE_USER_DEFAULT, 0)== static_cast<HRESULT>(VARCMP_LT);
-
964 }
-
965
-
974 bool operator>(_In_ const VARIANT& varSrc) const noexcept
-
975 {
-
976 if (vt == VT_NULL && varSrc.vt == VT_NULL) return false;
-
977 return compare(static_cast<const VARIANT&>(*this), varSrc, LOCALE_USER_DEFAULT, 0)== static_cast<HRESULT>(VARCMP_GT);
-
978 }
-
979
-
988 bool operator<=(_In_ const VARIANT& varSrc) const noexcept
-
989 {
-
990 return !operator>(varSrc);
-
991 }
-
992
-
1001 bool operator>=(_In_ const VARIANT& varSrc) const noexcept
-
1002 {
-
1003 return !operator<(varSrc);
-
1004 }
-
1005
-
1011 HRESULT change_type(_In_ VARTYPE _vt, _In_opt_ USHORT wFlags = 0) noexcept
-
1012 {
-
1013 return VariantChangeType(this, this, wFlags, _vt);
-
1014 }
-
1015
-
1016 private:
-
1018 HRESULT compare(_In_ const VARIANT &varLeft, _In_ const VARIANT &varRight, _In_ LCID lcid, _In_ ULONG dwFlags) const noexcept
-
1019 {
-
1020 switch(vt) {
-
1021 case VT_I1: return varLeft.cVal == varRight.cVal ? VARCMP_EQ : varLeft.cVal > varRight.cVal ? VARCMP_GT : VARCMP_LT;
-
1022 case VT_UI2: return varLeft.uiVal == varRight.uiVal ? VARCMP_EQ : varLeft.uiVal > varRight.uiVal ? VARCMP_GT : VARCMP_LT;
-
1023 case VT_UI4: return varLeft.uintVal == varRight.uintVal ? VARCMP_EQ : varLeft.uintVal > varRight.uintVal ? VARCMP_GT : VARCMP_LT;
-
1024 case VT_UI8: return varLeft.ullVal == varRight.ullVal ? VARCMP_EQ : varLeft.ullVal > varRight.ullVal ? VARCMP_GT : VARCMP_LT;
-
1025 default: return VarCmp(const_cast<LPVARIANT>(&varLeft), const_cast<LPVARIANT>(&varRight), lcid, dwFlags);
-
1026 }
-
1027 }
-
1029 };
-
1030 #pragma warning(pop)
-
1031
-
1035 class com_initializer
-
1036 {
-
1037 WINSTD_NONCOPYABLE(com_initializer)
-
1038 WINSTD_NONMOVABLE(com_initializer)
-
1039
-
1040 public:
-
1046 com_initializer(_In_opt_ LPVOID pvReserved) noexcept
-
1047 {
-
1048 m_result = CoInitialize(pvReserved);
-
1049 }
-
1050
-
1056 com_initializer(_In_opt_ LPVOID pvReserved, _In_ DWORD dwCoInit) noexcept
-
1057 {
-
1058 m_result = CoInitializeEx(pvReserved, dwCoInit);
-
1059 }
-
1060
-
1066 virtual ~com_initializer()
-
1067 {
-
1068 if (SUCCEEDED(m_result))
-
1069 CoUninitialize();
-
1070 }
-
1071
-
1077 HRESULT status() const noexcept
-
1078 {
-
1079 return m_result;
-
1080 }
-
1081
-
1082 protected:
-
1083 HRESULT m_result;
-
1084 };
-
1085
-
1087}
-
winstd::bstr
BSTR string wrapper.
Definition: COM.h:202
-
winstd::bstr::bstr
bstr(LPCOLESTR src) noexcept
Constructs BSTR from OLE string.
Definition: COM.h:209
-
winstd::bstr::~bstr
virtual ~bstr()
Destroys the string.
Definition: COM.h:236
-
winstd::bstr::duplicate_internal
handle_type duplicate_internal(handle_type h) const noexcept override
Duplicates the string.
Definition: COM.h:272
-
winstd::bstr::bstr
bstr(const std::basic_string< wchar_t, _Traits, _Ax > &src) noexcept
Constructs BSTR from std::basic_string.
Definition: COM.h:226
-
winstd::bstr::bstr
bstr(LPCOLESTR src, UINT len) noexcept
Constructs BSTR from OLE string with length.
Definition: COM.h:217
-
winstd::bstr::free_internal
void free_internal() noexcept override
Destroys the string.
Definition: COM.h:258
-
winstd::bstr::length
UINT length() const noexcept
Returns the length of the string.
Definition: COM.h:247
-
winstd::com_initializer
Context scope automatic COM (un)initialization.
Definition: COM.h:1036
-
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:1056
-
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:1046
-
winstd::com_initializer::status
HRESULT status() const noexcept
Return result of CoInitialize() call.
Definition: COM.h:1077
-
winstd::com_initializer::~com_initializer
virtual ~com_initializer()
Uninitializes COM.
Definition: COM.h:1066
-
winstd::com_initializer::m_result
HRESULT m_result
Result of CoInitialize call.
Definition: COM.h:1083
+
91 __declspec(deprecated("Use CoCreateInstance"))
+
92 com_obj(_In_ REFCLSID rclsid, _In_opt_ LPUNKNOWN pUnkOuter = NULL, DWORD dwClsContext = CLSCTX_ALL)
+
93 {
+
94 CoCreateInstance(rclsid, pUnkOuter, dwClsContext, __uuidof(T), (LPVOID*)&m_h);
+
95 }
+
96
+
102 template <class _Other>
+
103 com_obj(_In_ _Other *other)
+
104 {
+
105 assert(other);
+
106 other->QueryInterface(__uuidof(T), (void**)&m_h);
+
107 }
+
108
+
114 template <class _Other>
+
115 com_obj(_In_ com_obj<_Other> &other)
+
116 {
+
117 other->QueryInterface(__uuidof(T), (void**)&m_h);
+
118 }
+
119
+
123 virtual ~com_obj()
+
124 {
+
125 if (m_h != invalid)
+
126 free_internal();
+
127 }
+
128
+
134 __declspec(deprecated("Use CoCreateInstance"))
+
135 HRESULT create(_In_ REFCLSID rclsid, _In_opt_ LPUNKNOWN pUnkOuter = NULL, _In_ DWORD dwClsContext = CLSCTX_ALL)
+
136 {
+
137 handle_type h;
+
138 HRESULT hr = CoCreateInstance(rclsid, pUnkOuter, dwClsContext, __uuidof(T), (void**)&h);
+
139 if (SUCCEEDED(hr))
+
140 attach(h);
+
141 return hr;
+
142 }
+
143
+
149 template <class _Other>
+
150 HRESULT query_interface(_Out_ _Other **h) const
+
151 {
+
152 assert(h);
+
153 assert(m_h);
+
154 return m_h->QueryInterface(__uuidof(_Other), (void**)h);
+
155 }
+
156
+
162 template <class _Other>
+
163 HRESULT query_interface(_Out_ com_obj<_Other> &h) const
+
164 {
+
165 assert(m_h);
+
166 _Other *_h;
+
167 HRESULT hr = m_h->QueryInterface(__uuidof(_Other), (void**)&_h);
+
168 if (SUCCEEDED(hr))
+
169 h.attach(_h);
+
170 return hr;
+
171 }
+
172
+
173 protected:
+
179 void free_internal() noexcept override
+
180 {
+
181 m_h->Release();
+
182 }
+
183
+
193 handle_type duplicate_internal(_In_ handle_type h) const noexcept override
+
194 {
+
195 h->AddRef();
+
196 return h;
+
197 }
+
198 };
+
199
+
203 class bstr : public dplhandle<BSTR, NULL>
+
204 {
+
205 WINSTD_DPLHANDLE_IMPL(bstr, NULL)
+
206
+
207 public:
+
211 bstr(_In_ LPCOLESTR src) noexcept
+
212 {
+
213 m_h = SysAllocString(src);
+
214 }
+
215
+
219 bstr(_In_ LPCOLESTR src, _In_ UINT len) noexcept
+
220 {
+
221 m_h = SysAllocStringLen(src, len);
+
222 }
+
223
+
227 template<class _Traits, class _Ax>
+
228 bstr(_In_ const std::basic_string<wchar_t, _Traits, _Ax> &src) noexcept
+
229 {
+
230 m_h = SysAllocStringLen(src.c_str(), (UINT)src.length());
+
231 }
+
232
+
238 virtual ~bstr()
+
239 {
+
240 if (m_h != invalid)
+
241 free_internal();
+
242 }
+
243
+
249 UINT length() const noexcept
+
250 {
+
251 return SysStringLen(m_h);
+
252 }
+
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 noexcept override
+
275 {
+
276 return SysAllocStringLen(h, SysStringLen(h));
+
277 }
+
278 };
+
279
+
283 #pragma warning(push)
+
284 #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.
+
285 class variant : public VARIANT
+
286 {
+
287 public:
+
291 variant() noexcept
+
292 {
+
293 VariantInit(this);
+
294 }
+
295
+
299 variant(_In_ const VARIANT& varSrc)
+
300 {
+
301 vt = VT_EMPTY;
+
302 const HRESULT hr = VariantCopy(this, &varSrc);
+
303 if (FAILED(hr))
+
304 throw winstd::com_runtime_error(hr, "VariantCopy failed.");
+
305 }
+
306
+
310 #pragma warning(suppress: 26495) // vt member is initialized as a result of memcpy()
+
311 variant(_Inout_ VARIANT&& varSrc) noexcept
+
312 {
+
313 memcpy(this, &varSrc, sizeof(VARIANT));
+
314 varSrc.vt = VT_EMPTY;
+
315 }
+
316
+
320 variant(_In_ bool bSrc) noexcept
+
321 {
+
322 vt = VT_BOOL;
+
323 boolVal = bSrc ? VARIANT_TRUE : VARIANT_FALSE;
+
324 }
+
325
+
329 variant(_In_ char cSrc) noexcept
+
330 {
+
331 vt = VT_I1;
+
332 cVal = cSrc;
+
333 }
+
334
+
338 variant(_In_ unsigned char nSrc) noexcept
+
339 {
+
340 vt = VT_UI1;
+
341 bVal = nSrc;
+
342 }
+
343
+
347 variant(_In_ short nSrc) noexcept
+
348 {
+
349 vt = VT_I2;
+
350 iVal = nSrc;
+
351 }
+
352
+
356 variant(_In_ unsigned short nSrc) noexcept
+
357 {
+
358 vt = VT_UI2;
+
359 uiVal = nSrc;
+
360 }
+
361
+
365 variant(_In_ int nSrc, _In_ VARTYPE vtSrc = VT_I4) noexcept
+
366 {
+
367 assert(vtSrc == VT_I4 || vtSrc == VT_INT);
+
368 vt = vtSrc;
+
369 intVal = nSrc;
+
370 }
+
371
+
375 variant(_In_ unsigned int nSrc, _In_ VARTYPE vtSrc = VT_UI4) noexcept
+
376 {
+
377 assert(vtSrc == VT_UI4 || vtSrc == VT_UINT);
+
378 vt = vtSrc;
+
379 uintVal= nSrc;
+
380 }
+
381
+
385 variant(_In_ long nSrc, _In_ VARTYPE vtSrc = VT_I4) noexcept
+
386 {
+
387 assert(vtSrc == VT_I4 || vtSrc == VT_ERROR);
+
388 vt = vtSrc;
+
389 lVal = nSrc;
+
390 }
+
391
+
395 variant(_In_ unsigned long nSrc) noexcept
+
396 {
+
397 vt = VT_UI4;
+
398 ulVal = nSrc;
+
399 }
+
400
+
404 variant(_In_ float fltSrc) noexcept
+
405 {
+
406 vt = VT_R4;
+
407 fltVal = fltSrc;
+
408 }
+
409
+
413 variant(_In_ double dblSrc, _In_ VARTYPE vtSrc = VT_R8) noexcept
+
414 {
+
415 assert(vtSrc == VT_R8 || vtSrc == VT_DATE);
+
416 vt = vtSrc;
+
417 dblVal = dblSrc;
+
418 }
+
419
+
423 variant(_In_ long long nSrc) noexcept
+
424 {
+
425 vt = VT_I8;
+
426 llVal = nSrc;
+
427 }
+
428
+
432 variant(_In_ unsigned long long nSrc) noexcept
+
433 {
+
434 vt = VT_UI8;
+
435 ullVal = nSrc;
+
436 }
+
437
+
441 variant(_In_ CY cySrc) noexcept
+
442 {
+
443 vt = VT_CY;
+
444 cyVal.Hi = cySrc.Hi;
+
445 cyVal.Lo = cySrc.Lo;
+
446 }
+
447
+
451 variant(_In_z_ LPCOLESTR lpszSrc) noexcept
+
452 {
+
453 vt = VT_EMPTY;
+
454 *this = lpszSrc;
+
455 }
+
456
+
460 variant(_In_z_ BSTR bstr) noexcept
+
461 {
+
462 vt = VT_EMPTY;
+
463 *this = bstr;
+
464 }
+
465
+
469 variant(_In_opt_ IDispatch* pSrc)
+
470 {
+
471 vt = VT_DISPATCH;
+
472 pdispVal = pSrc;
+
473
+
474 if (pdispVal != NULL)
+
475 pdispVal->AddRef();
+
476 }
+
477
+
481 variant(_In_opt_ IUnknown* pSrc)
+
482 {
+
483 vt = VT_UNKNOWN;
+
484 punkVal = pSrc;
+
485
+
486 if (punkVal != NULL)
+
487 punkVal->AddRef();
+
488 }
+
489
+
493 variant(_In_ const SAFEARRAY *pSrc)
+
494 {
+
495 assert(pSrc != NULL);
+
496
+
497 LPSAFEARRAY pCopy;
+
498 const HRESULT hr = SafeArrayCopy(const_cast<LPSAFEARRAY>(pSrc), &pCopy);
+
499 if (FAILED(hr))
+
500 throw winstd::com_runtime_error(hr, "SafeArrayCopy failed.");
+
501
+
502 SafeArrayGetVartype(const_cast<LPSAFEARRAY>(pSrc), &vt);
+
503 vt |= VT_ARRAY;
+
504 parray = pCopy;
+
505 }
+
506
+
510 virtual ~variant()
+
511 {
+
512 VariantClear(this);
+
513 }
+
514
+
518 variant& operator=(_In_ const VARIANT& varSrc)
+
519 {
+
520 if (this != &varSrc) {
+
521 const HRESULT hr = VariantCopy(this, &varSrc);
+
522 if (FAILED(hr))
+
523 throw winstd::com_runtime_error(hr, "VariantCopy failed.");
+
524 }
+
525 return *this;
+
526 }
+
527
+
531 variant& operator=(_Inout_ VARIANT&& varSrc) noexcept
+
532 {
+
533 if (this != &varSrc) {
+
534 VariantClear(this);
+
535 memcpy(this, &varSrc, sizeof(VARIANT));
+
536 varSrc.vt = VT_EMPTY;
+
537 }
+
538 return *this;
+
539 }
+
540
+
544 variant& operator=(_In_ bool bSrc) noexcept
+
545 {
+
546 if (vt != VT_BOOL) {
+
547 VariantClear(this);
+
548 vt = VT_BOOL;
+
549 }
+
550 boolVal = bSrc ? VARIANT_TRUE : VARIANT_FALSE;
+
551 return *this;
+
552 }
+
553
+
557 variant& operator=(_In_ char cSrc) noexcept
+
558 {
+
559 if (vt != VT_I1) {
+
560 VariantClear(this);
+
561 vt = VT_I1;
+
562 }
+
563 cVal = cSrc;
+
564 return *this;
+
565 }
+
566
+
570 variant& operator=(_In_ unsigned char nSrc) noexcept
+
571 {
+
572 if (vt != VT_UI1) {
+
573 VariantClear(this);
+
574 vt = VT_UI1;
+
575 }
+
576 bVal = nSrc;
+
577 return *this;
+
578 }
+
579
+
583 variant& operator=(_In_ short nSrc) noexcept
+
584 {
+
585 if (vt != VT_I2) {
+
586 VariantClear(this);
+
587 vt = VT_I2;
+
588 }
+
589 iVal = nSrc;
+
590 return *this;
+
591 }
+
592
+
596 variant& operator=(_In_ unsigned short nSrc) noexcept
+
597 {
+
598 if (vt != VT_UI2) {
+
599 VariantClear(this);
+
600 vt = VT_UI2;
+
601 }
+
602 uiVal = nSrc;
+
603 return *this;
+
604 }
+
605
+
609 variant& operator=(_In_ int nSrc) noexcept
+
610 {
+
611 if (vt != VT_I4) {
+
612 VariantClear(this);
+
613 vt = VT_I4;
+
614 }
+
615 intVal = nSrc;
+
616 return *this;
+
617 }
+
618
+
622 variant& operator=(_In_ unsigned int nSrc) noexcept
+
623 {
+
624 if (vt != VT_UI4) {
+
625 VariantClear(this);
+
626 vt = VT_UI4;
+
627 }
+
628 uintVal= nSrc;
+
629 return *this;
+
630 }
+
631
+
635 variant& operator=(_In_ long nSrc) noexcept
+
636 {
+
637 if (vt != VT_I4) {
+
638 VariantClear(this);
+
639 vt = VT_I4;
+
640 }
+
641 lVal = nSrc;
+
642 return *this;
+
643 }
+
644
+
648 variant& operator=(_In_ unsigned long nSrc) noexcept
+
649 {
+
650 if (vt != VT_UI4) {
+
651 VariantClear(this);
+
652 vt = VT_UI4;
+
653 }
+
654 ulVal = nSrc;
+
655 return *this;
+
656 }
+
657
+
661 variant& operator=(_In_ long long nSrc) noexcept
+
662 {
+
663 if (vt != VT_I8) {
+
664 VariantClear(this);
+
665 vt = VT_I8;
+
666 }
+
667 llVal = nSrc;
+
668 return *this;
+
669 }
+
670
+
674 variant& operator=(_In_ unsigned long long nSrc) noexcept
+
675 {
+
676 if (vt != VT_UI8) {
+
677 VariantClear(this);
+
678 vt = VT_UI8;
+
679 }
+
680 ullVal = nSrc;
+
681
+
682 return *this;
+
683 }
+
684
+
688 variant& operator=(_In_ float fltSrc) noexcept
+
689 {
+
690 if (vt != VT_R4) {
+
691 VariantClear(this);
+
692 vt = VT_R4;
+
693 }
+
694 fltVal = fltSrc;
+
695 return *this;
+
696 }
+
697
+
701 variant& operator=(_In_ double dblSrc) noexcept
+
702 {
+
703 if (vt != VT_R8) {
+
704 VariantClear(this);
+
705 vt = VT_R8;
+
706 }
+
707 dblVal = dblSrc;
+
708 return *this;
+
709 }
+
710
+
714 variant& operator=(_In_ CY cySrc) noexcept
+
715 {
+
716 if (vt != VT_CY) {
+
717 VariantClear(this);
+
718 vt = VT_CY;
+
719 }
+
720 cyVal.Hi = cySrc.Hi;
+
721 cyVal.Lo = cySrc.Lo;
+
722 return *this;
+
723 }
+
724
+
728 variant& operator=(_In_z_ LPCOLESTR lpszSrc) noexcept
+
729 {
+
730 VariantClear(this);
+
731 vt = VT_BSTR;
+
732 bstrVal = SysAllocString(lpszSrc);
+
733 return *this;
+
734 }
+
735
+
739 variant& operator=(_Inout_opt_ IDispatch* pSrc)
+
740 {
+
741 VariantClear(this);
+
742 vt = VT_DISPATCH;
+
743 pdispVal = pSrc;
+
744 if (pdispVal != NULL)
+
745 pdispVal->AddRef();
+
746 return *this;
+
747 }
+
748
+
752 variant& operator=(_Inout_opt_ IUnknown* pSrc)
+
753 {
+
754 VariantClear(this);
+
755 vt = VT_UNKNOWN;
+
756 punkVal = pSrc;
+
757 if (punkVal != NULL)
+
758 punkVal->AddRef();
+
759 return *this;
+
760 }
+
761
+
765 variant& operator=(_In_ unsigned char* pbSrc) noexcept
+
766 {
+
767 if (vt != (VT_UI1|VT_BYREF)) {
+
768 VariantClear(this);
+
769 vt = VT_UI1|VT_BYREF;
+
770 }
+
771 pbVal = pbSrc;
+
772 return *this;
+
773 }
+
774
+
778 variant& operator=(_In_ short* pnSrc) noexcept
+
779 {
+
780 if (vt != (VT_I2|VT_BYREF)) {
+
781 VariantClear(this);
+
782 vt = VT_I2|VT_BYREF;
+
783 }
+
784 piVal = pnSrc;
+
785 return *this;
+
786 }
+
787
+
791 variant& operator=(_In_ unsigned short* pnSrc) noexcept
+
792 {
+
793 if (vt != (VT_UI2|VT_BYREF)) {
+
794 VariantClear(this);
+
795 vt = VT_UI2|VT_BYREF;
+
796 }
+
797 puiVal = pnSrc;
+
798 return *this;
+
799 }
+
800
+
804 variant& operator=(_In_ int* pnSrc) noexcept
+
805 {
+
806 if (vt != (VT_I4|VT_BYREF)) {
+
807 VariantClear(this);
+
808 vt = VT_I4|VT_BYREF;
+
809 }
+
810 pintVal = pnSrc;
+
811 return *this;
+
812 }
+
813
+
817 variant& operator=(_In_ unsigned int* pnSrc) noexcept
+
818 {
+
819 if (vt != (VT_UI4|VT_BYREF)) {
+
820 VariantClear(this);
+
821 vt = VT_UI4|VT_BYREF;
+
822 }
+
823 puintVal = pnSrc;
+
824 return *this;
+
825 }
+
826
+
830 variant& operator=(_In_ long* pnSrc) noexcept
+
831 {
+
832 if (vt != (VT_I4|VT_BYREF)) {
+
833 VariantClear(this);
+
834 vt = VT_I4|VT_BYREF;
+
835 }
+
836 plVal = pnSrc;
+
837 return *this;
+
838 }
+
839
+
843 variant& operator=(_In_ unsigned long* pnSrc) noexcept
+
844 {
+
845 if (vt != (VT_UI4|VT_BYREF)) {
+
846 VariantClear(this);
+
847 vt = VT_UI4|VT_BYREF;
+
848 }
+
849 pulVal = pnSrc;
+
850 return *this;
+
851 }
+
852
+
856 variant& operator=(_In_ long long* pnSrc) noexcept
+
857 {
+
858 if (vt != (VT_I8|VT_BYREF)) {
+
859 VariantClear(this);
+
860 vt = VT_I8|VT_BYREF;
+
861 }
+
862 pllVal = pnSrc;
+
863 return *this;
+
864 }
+
865
+
869 variant& operator=(_In_ unsigned long long* pnSrc) noexcept
+
870 {
+
871 if (vt != (VT_UI8|VT_BYREF)) {
+
872 VariantClear(this);
+
873 vt = VT_UI8|VT_BYREF;
+
874 }
+
875 pullVal = pnSrc;
+
876 return *this;
+
877 }
+
878
+
882 variant& operator=(_In_ float* pfSrc) noexcept
+
883 {
+
884 if (vt != (VT_R4|VT_BYREF)) {
+
885 VariantClear(this);
+
886 vt = VT_R4|VT_BYREF;
+
887 }
+
888 pfltVal = pfSrc;
+
889 return *this;
+
890 }
+
891
+
895 variant& operator=(_In_ double* pfSrc) noexcept
+
896 {
+
897 if (vt != (VT_R8|VT_BYREF)) {
+
898 VariantClear(this);
+
899 vt = VT_R8|VT_BYREF;
+
900 }
+
901 pdblVal = pfSrc;
+
902 return *this;
+
903 }
+
904
+
908 variant& operator=(_In_ const SAFEARRAY *pSrc) noexcept
+
909 {
+
910 assert(pSrc != NULL);
+
911 VariantClear(this);
+
912
+
913 LPSAFEARRAY pCopy;
+
914 const HRESULT hr = SafeArrayCopy(const_cast<LPSAFEARRAY>(pSrc), &pCopy);
+
915 if (SUCCEEDED(hr)) {
+
916 SafeArrayGetVartype(const_cast<LPSAFEARRAY>(pSrc), &vt);
+
917 vt |= VT_ARRAY;
+
918 parray = pCopy;
+
919 } else
+
920 assert(0);
+
921
+
922 return *this;
+
923 }
+
924
+
925 public:
+
934 bool operator==(_In_ const VARIANT& varSrc) const noexcept
+
935 {
+
936 if (vt == VT_NULL && varSrc.vt == VT_NULL) return true;
+
937 if (vt != varSrc.vt) return false;
+
938 return compare(static_cast<const VARIANT&>(*this), varSrc, LOCALE_USER_DEFAULT, 0) == static_cast<HRESULT>(VARCMP_EQ);
+
939 }
+
940
+
949 bool operator!=(_In_ const VARIANT& varSrc) const noexcept
+
950 {
+
951 return !operator==(varSrc);
+
952 }
+
953
+
962 bool operator<(_In_ const VARIANT& varSrc) const noexcept
+
963 {
+
964 if (vt == VT_NULL && varSrc.vt == VT_NULL) return false;
+
965 return compare(static_cast<const VARIANT&>(*this), varSrc, LOCALE_USER_DEFAULT, 0)== static_cast<HRESULT>(VARCMP_LT);
+
966 }
+
967
+
976 bool operator>(_In_ const VARIANT& varSrc) const noexcept
+
977 {
+
978 if (vt == VT_NULL && varSrc.vt == VT_NULL) return false;
+
979 return compare(static_cast<const VARIANT&>(*this), varSrc, LOCALE_USER_DEFAULT, 0)== static_cast<HRESULT>(VARCMP_GT);
+
980 }
+
981
+
990 bool operator<=(_In_ const VARIANT& varSrc) const noexcept
+
991 {
+
992 return !operator>(varSrc);
+
993 }
+
994
+
1003 bool operator>=(_In_ const VARIANT& varSrc) const noexcept
+
1004 {
+
1005 return !operator<(varSrc);
+
1006 }
+
1007
+
1013 HRESULT change_type(_In_ VARTYPE _vt, _In_opt_ USHORT wFlags = 0) noexcept
+
1014 {
+
1015 return VariantChangeType(this, this, wFlags, _vt);
+
1016 }
+
1017
+
1018 private:
+
1020 HRESULT compare(_In_ const VARIANT &varLeft, _In_ const VARIANT &varRight, _In_ LCID lcid, _In_ ULONG dwFlags) const noexcept
+
1021 {
+
1022 switch(vt) {
+
1023 case VT_I1: return varLeft.cVal == varRight.cVal ? VARCMP_EQ : varLeft.cVal > varRight.cVal ? VARCMP_GT : VARCMP_LT;
+
1024 case VT_UI2: return varLeft.uiVal == varRight.uiVal ? VARCMP_EQ : varLeft.uiVal > varRight.uiVal ? VARCMP_GT : VARCMP_LT;
+
1025 case VT_UI4: return varLeft.uintVal == varRight.uintVal ? VARCMP_EQ : varLeft.uintVal > varRight.uintVal ? VARCMP_GT : VARCMP_LT;
+
1026 case VT_UI8: return varLeft.ullVal == varRight.ullVal ? VARCMP_EQ : varLeft.ullVal > varRight.ullVal ? VARCMP_GT : VARCMP_LT;
+
1027 default: return VarCmp(const_cast<LPVARIANT>(&varLeft), const_cast<LPVARIANT>(&varRight), lcid, dwFlags);
+
1028 }
+
1029 }
+
1031 };
+
1032 #pragma warning(pop)
+
1033
+
1037 class com_initializer
+
1038 {
+
1039 WINSTD_NONCOPYABLE(com_initializer)
+
1040 WINSTD_NONMOVABLE(com_initializer)
+
1041
+
1042 public:
+
1048 com_initializer(_In_opt_ LPVOID pvReserved) noexcept
+
1049 {
+
1050 m_result = CoInitialize(pvReserved);
+
1051 }
+
1052
+
1058 com_initializer(_In_opt_ LPVOID pvReserved, _In_ DWORD dwCoInit) noexcept
+
1059 {
+
1060 m_result = CoInitializeEx(pvReserved, dwCoInit);
+
1061 }
+
1062
+
1068 virtual ~com_initializer()
+
1069 {
+
1070 if (SUCCEEDED(m_result))
+
1071 CoUninitialize();
+
1072 }
+
1073
+
1079 HRESULT status() const noexcept
+
1080 {
+
1081 return m_result;
+
1082 }
+
1083
+
1084 protected:
+
1085 HRESULT m_result;
+
1086 };
+
1087
+
1089}
+
1090
+
1093
+
1099template <class T>
+
1100static _Check_return_ HRESULT CoCreateInstance(_In_ REFCLSID rclsid, _In_opt_ LPUNKNOWN pUnkOuter, _In_ DWORD dwClsContext, _Inout_ winstd::com_obj<T> &v)
+
1101{
+
1102 T* ppv;
+
1103 HRESULT hr = CoCreateInstance(rclsid, pUnkOuter, dwClsContext, __uuidof(T), (LPVOID*)&ppv);
+
1104 if (SUCCEEDED(hr))
+
1105 v.attach(ppv);
+
1106 return hr;
+
1107}
+
1108
+
winstd::bstr
BSTR string wrapper.
Definition: COM.h:204
+
winstd::bstr::bstr
bstr(LPCOLESTR src) noexcept
Constructs BSTR from OLE string.
Definition: COM.h:211
+
winstd::bstr::~bstr
virtual ~bstr()
Destroys the string.
Definition: COM.h:238
+
winstd::bstr::duplicate_internal
handle_type duplicate_internal(handle_type h) const noexcept override
Duplicates the string.
Definition: COM.h:274
+
winstd::bstr::bstr
bstr(const std::basic_string< wchar_t, _Traits, _Ax > &src) noexcept
Constructs BSTR from std::basic_string.
Definition: COM.h:228
+
winstd::bstr::bstr
bstr(LPCOLESTR src, UINT len) noexcept
Constructs BSTR from OLE string with length.
Definition: COM.h:219
+
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::com_initializer
Context scope automatic COM (un)initialization.
Definition: COM.h:1038
+
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:1058
+
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:1048
+
winstd::com_initializer::status
HRESULT status() const noexcept
Return result of CoInitialize() call.
Definition: COM.h:1079
+
winstd::com_initializer::~com_initializer
virtual ~com_initializer()
Uninitializes COM.
Definition: COM.h:1068
+
winstd::com_initializer::m_result
HRESULT m_result
Result of CoInitialize call.
Definition: COM.h:1085
winstd::com_obj
COM object wrapper template.
Definition: COM.h:82
-
winstd::com_obj::free_internal
void free_internal() noexcept override
Releases the object by decrementing reference counter.
Definition: COM.h:177
-
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:191
-
winstd::com_obj::query_interface
HRESULT query_interface(_Other **h) const
Queries the object for another interface.
Definition: COM.h:148
-
winstd::com_obj::create
HRESULT create(REFCLSID rclsid, LPUNKNOWN pUnkOuter=NULL, DWORD dwClsContext=CLSCTX_ALL)
Creates a new object.
Definition: COM.h:133
-
winstd::com_obj::query_interface
HRESULT query_interface(com_obj< _Other > &h) const
Queries the object for another interface.
Definition: COM.h:161
-
winstd::com_obj::~com_obj
virtual ~com_obj()
Releases object.
Definition: COM.h:122
-
winstd::com_obj::com_obj
com_obj(_Other *other)
Queries the object for another interface and creates new class with it.
Definition: COM.h:102
-
winstd::com_obj::com_obj
com_obj(REFCLSID rclsid, LPUNKNOWN pUnkOuter=NULL, DWORD dwClsContext=CLSCTX_ALL)
Constructs a new object and creates a new class with it.
Definition: COM.h:91
-
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:114
+
winstd::com_obj::__declspec
__declspec(deprecated("Use CoCreateInstance")) com_obj(REFCLSID rclsid
Constructs a new object and creates a new class with it.
winstd::com_runtime_error
COM runtime error.
Definition: COM.h:24
winstd::com_runtime_error::com_runtime_error
com_runtime_error(error_type num, const std::string &msg)
Constructs an exception.
Definition: COM.h:32
winstd::com_runtime_error::com_runtime_error
com_runtime_error(error_type num, const char *msg=nullptr)
Constructs an exception.
Definition: COM.h:42
winstd::dplhandle
Base abstract template class to support object handle keeping for objects that support trivial handle...
Definition: Common.h:865
+
winstd::dplhandle< T *, NULL >::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::handle< T *, INVAL >::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< T *, INVAL >::handle_type
T * handle_type
Datatype of the object handle this template class handles.
Definition: Common.h:608
winstd::handle< T *, INVAL >::m_h
handle_type m_h
Object handle.
Definition: Common.h:854
winstd::handle< T *, INVAL >::attach
void attach(handle_type h) noexcept
Sets a new object handle for the class.
Definition: Common.h:817
winstd::num_runtime_error
Numerical runtime error.
Definition: Common.h:1002
winstd::num_runtime_error< HRESULT >::error_type
HRESULT error_type
Error number type.
Definition: Common.h:1004
-
winstd::variant
VARIANT struct wrapper.
Definition: COM.h:284
-
winstd::variant::operator<=
bool operator<=(const VARIANT &varSrc) const noexcept
Is variant less than or equal to?
Definition: COM.h:988
-
winstd::variant::variant
variant(bool bSrc) noexcept
Constructs VARIANT from bool.
Definition: COM.h:318
-
winstd::variant::operator=
variant & operator=(unsigned int nSrc) noexcept
Copy from unsigned int value.
Definition: COM.h:620
-
winstd::variant::operator=
variant & operator=(unsigned long nSrc) noexcept
Copy from unsigned long value.
Definition: COM.h:646
-
winstd::variant::variant
variant(float fltSrc) noexcept
Constructs VARIANT from float.
Definition: COM.h:402
-
winstd::variant::variant
variant(VARIANT &&varSrc) noexcept
Moves VARIANT from another.
Definition: COM.h:309
-
winstd::variant::operator=
variant & operator=(float fltSrc) noexcept
Copy from float value.
Definition: COM.h:686
-
winstd::variant::operator=
variant & operator=(float *pfSrc) noexcept
Copy from float reference.
Definition: COM.h:880
-
winstd::variant::variant
variant(IDispatch *pSrc)
Constructs VARIANT from IDispatch.
Definition: COM.h:467
-
winstd::variant::variant
variant(int nSrc, VARTYPE vtSrc=VT_I4) noexcept
Constructs VARIANT from integer.
Definition: COM.h:363
-
winstd::variant::variant
variant(const SAFEARRAY *pSrc)
Constructs VARIANT from SAFEARRAY.
Definition: COM.h:491
-
winstd::variant::operator=
variant & operator=(double *pfSrc) noexcept
Copy from double reference.
Definition: COM.h:893
-
winstd::variant::operator=
variant & operator=(int *pnSrc) noexcept
Copy from int reference.
Definition: COM.h:802
-
winstd::variant::operator>
bool operator>(const VARIANT &varSrc) const noexcept
Is variant greater than?
Definition: COM.h:974
-
winstd::variant::operator=
variant & operator=(bool bSrc) noexcept
Copy from bool value.
Definition: COM.h:542
-
winstd::variant::operator=
variant & operator=(long nSrc) noexcept
Copy from long value.
Definition: COM.h:633
-
winstd::variant::operator=
variant & operator=(const SAFEARRAY *pSrc) noexcept
Copy from SAFEARRAY.
Definition: COM.h:906
-
winstd::variant::change_type
HRESULT change_type(VARTYPE _vt, USHORT wFlags=0) noexcept
Converts a variant from one type to another.
Definition: COM.h:1011
-
winstd::variant::operator=
variant & operator=(IUnknown *pSrc)
Copy from IUnknown.
Definition: COM.h:750
-
winstd::variant::operator=
variant & operator=(short nSrc) noexcept
Copy from short value.
Definition: COM.h:581
-
winstd::variant::operator=
variant & operator=(unsigned char *pbSrc) noexcept
Copy from unsigned char reference.
Definition: COM.h:763
-
winstd::variant::operator=
variant & operator=(unsigned short nSrc) noexcept
Copy from unsigned short value.
Definition: COM.h:594
-
winstd::variant::operator=
variant & operator=(unsigned char nSrc) noexcept
Copy from unsigned char value.
Definition: COM.h:568
-
winstd::variant::operator=
variant & operator=(char cSrc) noexcept
Copy from char value.
Definition: COM.h:555
-
winstd::variant::variant
variant(LPCOLESTR lpszSrc) noexcept
Constructs VARIANT from OLE string.
Definition: COM.h:449
-
winstd::variant::~variant
virtual ~variant()
Destroys VARIANT.
Definition: COM.h:508
-
winstd::variant::variant
variant(const VARIANT &varSrc)
Constructs VARIANT from another.
Definition: COM.h:297
-
winstd::variant::variant
variant(unsigned char nSrc) noexcept
Constructs VARIANT from byte.
Definition: COM.h:336
-
winstd::variant::operator=
variant & operator=(double dblSrc) noexcept
Copy from double value.
Definition: COM.h:699
-
winstd::variant::operator!=
bool operator!=(const VARIANT &varSrc) const noexcept
Is variant not equal to?
Definition: COM.h:947
-
winstd::variant::operator=
variant & operator=(int nSrc) noexcept
Copy from int value.
Definition: COM.h:607
-
winstd::variant::variant
variant(unsigned long nSrc) noexcept
Constructs VARIANT from unsigned long.
Definition: COM.h:393
-
winstd::variant::operator==
bool operator==(const VARIANT &varSrc) const noexcept
Is variant equal to?
Definition: COM.h:932
-
winstd::variant::variant
variant(IUnknown *pSrc)
Constructs VARIANT from IUnknown.
Definition: COM.h:479
-
winstd::variant::variant
variant(unsigned int nSrc, VARTYPE vtSrc=VT_UI4) noexcept
Constructs VARIANT from unsigned integer.
Definition: COM.h:373
-
winstd::variant::operator=
variant & operator=(CY cySrc) noexcept
Copy from CY value.
Definition: COM.h:712
-
winstd::variant::operator=
variant & operator=(LPCOLESTR lpszSrc) noexcept
Copy from OLE string value.
Definition: COM.h:726
-
winstd::variant::variant
variant(long long nSrc) noexcept
Constructs VARIANT from 64-bit integer.
Definition: COM.h:421
-
winstd::variant::operator=
variant & operator=(unsigned int *pnSrc) noexcept
Copy from unsigned int reference.
Definition: COM.h:815
-
winstd::variant::variant
variant(long nSrc, VARTYPE vtSrc=VT_I4) noexcept
Constructs VARIANT from long.
Definition: COM.h:383
-
winstd::variant::operator=
variant & operator=(long *pnSrc) noexcept
Copy from long reference.
Definition: COM.h:828
-
winstd::variant::variant
variant(unsigned short nSrc) noexcept
Constructs VARIANT from unsigned short.
Definition: COM.h:354
-
winstd::variant::operator>=
bool operator>=(const VARIANT &varSrc) const noexcept
Is variant greater than or equal to?
Definition: COM.h:1001
-
winstd::variant::operator=
variant & operator=(short *pnSrc) noexcept
Copy from short reference.
Definition: COM.h:776
-
winstd::variant::variant
variant() noexcept
Constructs blank VARIANT.
Definition: COM.h:289
-
winstd::variant::operator<
bool operator<(const VARIANT &varSrc) const noexcept
Is variant less than?
Definition: COM.h:960
-
winstd::variant::variant
variant(unsigned long long nSrc) noexcept
Constructs VARIANT from unsigned integer.
Definition: COM.h:430
-
winstd::variant::variant
variant(char cSrc) noexcept
Constructs VARIANT from character.
Definition: COM.h:327
-
winstd::variant::operator=
variant & operator=(unsigned short *pnSrc) noexcept
Copy from unsigned short reference.
Definition: COM.h:789
-
winstd::variant::operator=
variant & operator=(long long *pnSrc) noexcept
Copy from long long reference.
Definition: COM.h:854
-
winstd::variant::variant
variant(BSTR bstr) noexcept
Constructs VARIANT from BSTR.
Definition: COM.h:458
-
winstd::variant::operator=
variant & operator=(unsigned long long *pnSrc) noexcept
Copy from unsigned long long reference.
Definition: COM.h:867
-
winstd::variant::variant
variant(double dblSrc, VARTYPE vtSrc=VT_R8) noexcept
Constructs VARIANT from double or variant date.
Definition: COM.h:411
-
winstd::variant::variant
variant(short nSrc) noexcept
Constructs VARIANT from short.
Definition: COM.h:345
-
winstd::variant::variant
variant(CY cySrc) noexcept
Constructs VARIANT from CY (64-bit integer)
Definition: COM.h:439
-
winstd::variant::operator=
variant & operator=(unsigned long long nSrc) noexcept
Copy from unsigned long long value.
Definition: COM.h:672
-
winstd::variant::operator=
variant & operator=(VARIANT &&varSrc) noexcept
Moves from another VARIANT.
Definition: COM.h:529
-
winstd::variant::operator=
variant & operator=(long long nSrc) noexcept
Copy from long long value.
Definition: COM.h:659
-
winstd::variant::operator=
variant & operator=(IDispatch *pSrc)
Copy from IDispatch.
Definition: COM.h:737
-
winstd::variant::operator=
variant & operator=(unsigned long *pnSrc) noexcept
Copy from unsigned long reference.
Definition: COM.h:841
-
winstd::variant::operator=
variant & operator=(const VARIANT &varSrc)
Copy from another VARIANT.
Definition: COM.h:516
+
winstd::variant
VARIANT struct wrapper.
Definition: COM.h:286
+
winstd::variant::operator<=
bool operator<=(const VARIANT &varSrc) const noexcept
Is variant less than or equal to?
Definition: COM.h:990
+
winstd::variant::variant
variant(bool bSrc) noexcept
Constructs VARIANT from bool.
Definition: COM.h:320
+
winstd::variant::operator=
variant & operator=(unsigned int nSrc) noexcept
Copy from unsigned int value.
Definition: COM.h:622
+
winstd::variant::operator=
variant & operator=(unsigned long nSrc) noexcept
Copy from unsigned long value.
Definition: COM.h:648
+
winstd::variant::variant
variant(float fltSrc) noexcept
Constructs VARIANT from float.
Definition: COM.h:404
+
winstd::variant::variant
variant(VARIANT &&varSrc) noexcept
Moves VARIANT from another.
Definition: COM.h:311
+
winstd::variant::operator=
variant & operator=(float fltSrc) noexcept
Copy from float value.
Definition: COM.h:688
+
winstd::variant::operator=
variant & operator=(float *pfSrc) noexcept
Copy from float reference.
Definition: COM.h:882
+
winstd::variant::variant
variant(IDispatch *pSrc)
Constructs VARIANT from IDispatch.
Definition: COM.h:469
+
winstd::variant::variant
variant(int nSrc, VARTYPE vtSrc=VT_I4) noexcept
Constructs VARIANT from integer.
Definition: COM.h:365
+
winstd::variant::variant
variant(const SAFEARRAY *pSrc)
Constructs VARIANT from SAFEARRAY.
Definition: COM.h:493
+
winstd::variant::operator=
variant & operator=(double *pfSrc) noexcept
Copy from double reference.
Definition: COM.h:895
+
winstd::variant::operator=
variant & operator=(int *pnSrc) noexcept
Copy from int reference.
Definition: COM.h:804
+
winstd::variant::operator>
bool operator>(const VARIANT &varSrc) const noexcept
Is variant greater than?
Definition: COM.h:976
+
winstd::variant::operator=
variant & operator=(bool bSrc) noexcept
Copy from bool value.
Definition: COM.h:544
+
winstd::variant::operator=
variant & operator=(long nSrc) noexcept
Copy from long value.
Definition: COM.h:635
+
winstd::variant::operator=
variant & operator=(const SAFEARRAY *pSrc) noexcept
Copy from SAFEARRAY.
Definition: COM.h:908
+
winstd::variant::change_type
HRESULT change_type(VARTYPE _vt, USHORT wFlags=0) noexcept
Converts a variant from one type to another.
Definition: COM.h:1013
+
winstd::variant::operator=
variant & operator=(IUnknown *pSrc)
Copy from IUnknown.
Definition: COM.h:752
+
winstd::variant::operator=
variant & operator=(short nSrc) noexcept
Copy from short value.
Definition: COM.h:583
+
winstd::variant::operator=
variant & operator=(unsigned char *pbSrc) noexcept
Copy from unsigned char reference.
Definition: COM.h:765
+
winstd::variant::operator=
variant & operator=(unsigned short nSrc) noexcept
Copy from unsigned short value.
Definition: COM.h:596
+
winstd::variant::operator=
variant & operator=(unsigned char nSrc) noexcept
Copy from unsigned char value.
Definition: COM.h:570
+
winstd::variant::operator=
variant & operator=(char cSrc) noexcept
Copy from char value.
Definition: COM.h:557
+
winstd::variant::variant
variant(LPCOLESTR lpszSrc) noexcept
Constructs VARIANT from OLE string.
Definition: COM.h:451
+
winstd::variant::~variant
virtual ~variant()
Destroys VARIANT.
Definition: COM.h:510
+
winstd::variant::variant
variant(const VARIANT &varSrc)
Constructs VARIANT from another.
Definition: COM.h:299
+
winstd::variant::variant
variant(unsigned char nSrc) noexcept
Constructs VARIANT from byte.
Definition: COM.h:338
+
winstd::variant::operator=
variant & operator=(double dblSrc) noexcept
Copy from double value.
Definition: COM.h:701
+
winstd::variant::operator!=
bool operator!=(const VARIANT &varSrc) const noexcept
Is variant not equal to?
Definition: COM.h:949
+
winstd::variant::operator=
variant & operator=(int nSrc) noexcept
Copy from int value.
Definition: COM.h:609
+
winstd::variant::variant
variant(unsigned long nSrc) noexcept
Constructs VARIANT from unsigned long.
Definition: COM.h:395
+
winstd::variant::operator==
bool operator==(const VARIANT &varSrc) const noexcept
Is variant equal to?
Definition: COM.h:934
+
winstd::variant::variant
variant(IUnknown *pSrc)
Constructs VARIANT from IUnknown.
Definition: COM.h:481
+
winstd::variant::variant
variant(unsigned int nSrc, VARTYPE vtSrc=VT_UI4) noexcept
Constructs VARIANT from unsigned integer.
Definition: COM.h:375
+
winstd::variant::operator=
variant & operator=(CY cySrc) noexcept
Copy from CY value.
Definition: COM.h:714
+
winstd::variant::operator=
variant & operator=(LPCOLESTR lpszSrc) noexcept
Copy from OLE string value.
Definition: COM.h:728
+
winstd::variant::variant
variant(long long nSrc) noexcept
Constructs VARIANT from 64-bit integer.
Definition: COM.h:423
+
winstd::variant::operator=
variant & operator=(unsigned int *pnSrc) noexcept
Copy from unsigned int reference.
Definition: COM.h:817
+
winstd::variant::variant
variant(long nSrc, VARTYPE vtSrc=VT_I4) noexcept
Constructs VARIANT from long.
Definition: COM.h:385
+
winstd::variant::operator=
variant & operator=(long *pnSrc) noexcept
Copy from long reference.
Definition: COM.h:830
+
winstd::variant::variant
variant(unsigned short nSrc) noexcept
Constructs VARIANT from unsigned short.
Definition: COM.h:356
+
winstd::variant::operator>=
bool operator>=(const VARIANT &varSrc) const noexcept
Is variant greater than or equal to?
Definition: COM.h:1003
+
winstd::variant::operator=
variant & operator=(short *pnSrc) noexcept
Copy from short reference.
Definition: COM.h:778
+
winstd::variant::variant
variant() noexcept
Constructs blank VARIANT.
Definition: COM.h:291
+
winstd::variant::operator<
bool operator<(const VARIANT &varSrc) const noexcept
Is variant less than?
Definition: COM.h:962
+
winstd::variant::variant
variant(unsigned long long nSrc) noexcept
Constructs VARIANT from unsigned integer.
Definition: COM.h:432
+
winstd::variant::variant
variant(char cSrc) noexcept
Constructs VARIANT from character.
Definition: COM.h:329
+
winstd::variant::operator=
variant & operator=(unsigned short *pnSrc) noexcept
Copy from unsigned short reference.
Definition: COM.h:791
+
winstd::variant::operator=
variant & operator=(long long *pnSrc) noexcept
Copy from long long reference.
Definition: COM.h:856
+
winstd::variant::variant
variant(BSTR bstr) noexcept
Constructs VARIANT from BSTR.
Definition: COM.h:460
+
winstd::variant::operator=
variant & operator=(unsigned long long *pnSrc) noexcept
Copy from unsigned long long reference.
Definition: COM.h:869
+
winstd::variant::variant
variant(double dblSrc, VARTYPE vtSrc=VT_R8) noexcept
Constructs VARIANT from double or variant date.
Definition: COM.h:413
+
winstd::variant::variant
variant(short nSrc) noexcept
Constructs VARIANT from short.
Definition: COM.h:347
+
winstd::variant::variant
variant(CY cySrc) noexcept
Constructs VARIANT from CY (64-bit integer)
Definition: COM.h:441
+
winstd::variant::operator=
variant & operator=(unsigned long long nSrc) noexcept
Copy from unsigned long long value.
Definition: COM.h:674
+
winstd::variant::operator=
variant & operator=(VARIANT &&varSrc) noexcept
Moves from another VARIANT.
Definition: COM.h:531
+
winstd::variant::operator=
variant & operator=(long long nSrc) noexcept
Copy from long long value.
Definition: COM.h:661
+
winstd::variant::operator=
variant & operator=(IDispatch *pSrc)
Copy from IDispatch.
Definition: COM.h:739
+
winstd::variant::operator=
variant & operator=(unsigned long *pnSrc) noexcept
Copy from unsigned long reference.
Definition: COM.h:843
+
winstd::variant::operator=
variant & operator=(const VARIANT &varSrc)
Copy from another VARIANT.
Definition: COM.h:518
WINSTD_NONCOPYABLE
#define WINSTD_NONCOPYABLE(C)
Declares a class as non-copyable.
Definition: Common.h:52
WINSTD_NONMOVABLE
#define WINSTD_NONMOVABLE(C)
Declares a class as non-movable.
Definition: Common.h:60
WINSTD_DPLHANDLE_IMPL
#define WINSTD_DPLHANDLE_IMPL(C, INVAL)
Implements default constructors and operators to prevent their auto-generation by compiler.
Definition: Common.h:173
@@ -896,7 +904,7 @@ $(function() { diff --git a/_common_8h_source.html b/_common_8h_source.html index 0f1d5694..a028c945 100644 --- a/_common_8h_source.html +++ b/_common_8h_source.html @@ -1036,7 +1036,7 @@ $(function() { diff --git a/_cred_8h_source.html b/_cred_8h_source.html index 1d090a44..8f955611 100644 --- a/_cred_8h_source.html +++ b/_cred_8h_source.html @@ -239,7 +239,7 @@ $(function() { diff --git a/_crypt_8h_source.html b/_crypt_8h_source.html index 4ab857ac..7510dd58 100644 --- a/_crypt_8h_source.html +++ b/_crypt_8h_source.html @@ -274,466 +274,553 @@ $(function() {
264 free_internal();
265 }
266
-
276 bool create(_In_ DWORD dwCertEncodingType, _In_ LPCBYTE pbCertEncoded, _In_ DWORD cbCertEncoded) noexcept
-
277 {
-
278 handle_type h = CertCreateCertificateContext(dwCertEncodingType, pbCertEncoded, cbCertEncoded);
-
279 if (h != invalid) {
-
280 attach(h);
-
281 return true;
-
282 } else
-
283 return false;
-
284 }
-
285
-
294 bool operator==(_In_ const handle_type &other) const noexcept
-
295 {
-
296 // TODO: [Crypto] Make constant time.
-
297 return
-
298 m_h == other ||
-
299 m_h->cbCertEncoded == other->cbCertEncoded && memcmp(m_h->pbCertEncoded, other->pbCertEncoded, m_h->cbCertEncoded) == 0;
-
300 }
-
301
-
310 bool operator!=(_In_ const handle_type &other) const noexcept
-
311 {
-
312 return !operator==(other);
-
313 }
-
314
-
323 bool operator<(_In_ const handle_type &other) const noexcept
-
324 {
-
325 // TODO: [Crypto] Make constant time.
-
326 const int r = memcmp(m_h->pbCertEncoded, other->pbCertEncoded, std::min<DWORD>(m_h->cbCertEncoded, other->cbCertEncoded));
-
327 return r < 0 || r == 0 && m_h->cbCertEncoded < other->cbCertEncoded;
-
328 }
-
329
-
338 bool operator>(_In_ const handle_type &other) const noexcept
-
339 {
-
340 // TODO: [Crypto] Make constant time.
-
341 const int r = memcmp(m_h->pbCertEncoded, other->pbCertEncoded, std::min<DWORD>(m_h->cbCertEncoded, other->cbCertEncoded));
-
342 return r > 0 || r == 0 && m_h->cbCertEncoded > other->cbCertEncoded;
-
343 }
-
344
-
353 bool operator<=(_In_ const handle_type &other) const noexcept
-
354 {
-
355 return !operator>(other);
-
356 }
-
357
-
366 bool operator>=(_In_ const handle_type &other) const noexcept
-
367 {
-
368 return !operator<(other);
-
369 }
-
370
-
371 protected:
-
377 void free_internal() noexcept override
-
378 {
-
379 CertFreeCertificateContext(m_h);
-
380 }
-
381
-
391 handle_type duplicate_internal(_In_ handle_type h) const noexcept override
-
392 {
-
393 return CertDuplicateCertificateContext(h);
-
394 }
-
395 };
-
396
-
400 class cert_chain_context : public dplhandle<PCCERT_CHAIN_CONTEXT, NULL>
-
401 {
-
402 WINSTD_DPLHANDLE_IMPL(cert_chain_context, NULL)
-
403
-
404 public:
-
410 virtual ~cert_chain_context()
-
411 {
-
412 if (m_h != invalid)
-
413 free_internal();
-
414 }
-
415
-
425 bool create(_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 = NULL) noexcept
-
426 {
-
427 handle_type h;
-
428 if (CertGetCertificateChain(hChainEngine, pCertContext, pTime, hAdditionalStore, pChainPara, dwFlags, pvReserved, &h)) {
-
429 attach(h);
-
430 return true;
-
431 } else
-
432 return false;
-
433 }
-
434
-
435 protected:
-
441 void free_internal() noexcept override
-
442 {
-
443 CertFreeCertificateChain(m_h);
-
444 }
-
445
-
455 handle_type duplicate_internal(_In_ handle_type h) const noexcept override
-
456 {
-
457 return CertDuplicateCertificateChain(h);
-
458 }
-
459 };
-
460
-
464 class cert_store : public handle<HCERTSTORE, NULL>
-
465 {
-
466 WINSTD_HANDLE_IMPL(cert_store, NULL)
-
467
-
468 public:
-
474 virtual ~cert_store()
-
475 {
-
476 if (m_h != invalid)
-
477 free_internal();
-
478 }
-
479
-
489 bool create(_In_ LPCSTR lpszStoreProvider, _In_ DWORD dwEncodingType, _In_opt_ HCRYPTPROV_LEGACY hCryptProv, _In_ DWORD dwFlags, _In_opt_ const void *pvPara) noexcept
-
490 {
-
491 handle_type h = CertOpenStore(lpszStoreProvider, dwEncodingType, hCryptProv, dwFlags, pvPara);
-
492 if (h != invalid) {
-
493 attach(h);
-
494 return true;
-
495 } else
-
496 return false;
-
497 }
-
498
-
508 bool create(_In_opt_ HCRYPTPROV_LEGACY hCryptProv, _In_z_ LPCTSTR szSubsystemProtocol) noexcept
-
509 {
-
510 handle_type h = CertOpenSystemStore(hCryptProv, szSubsystemProtocol);
-
511 if (h != invalid) {
-
512 attach(h);
-
513 return true;
-
514 } else
-
515 return false;
-
516 }
-
517
-
518 protected:
-
524 void free_internal() noexcept override
-
525 {
-
526 CertCloseStore(m_h, 0);
-
527 }
-
528 };
-
529
-
533 class crypt_prov : public handle<HCRYPTPROV, NULL>
-
534 {
-
535 WINSTD_HANDLE_IMPL(crypt_prov, NULL)
-
536
-
537 public:
-
543 virtual ~crypt_prov()
-
544 {
-
545 if (m_h != invalid)
-
546 free_internal();
-
547 }
-
548
-
558 bool create(_In_opt_z_ LPCTSTR szContainer, _In_opt_z_ LPCTSTR szProvider, _In_ DWORD dwProvType, _In_ DWORD dwFlags = 0) noexcept
-
559 {
-
560 handle_type h;
-
561 if (CryptAcquireContext(&h, szContainer, szProvider, dwProvType, dwFlags)) {
-
562 attach(h);
-
563 return true;
-
564 } else
-
565 return false;
-
566 }
-
567
-
568 protected:
-
574 void free_internal() noexcept override
-
575 {
-
576 CryptReleaseContext(m_h, 0);
-
577 }
-
578 };
-
579
-
583 class crypt_hash : public dplhandle<HCRYPTHASH, NULL>
-
584 {
-
585 WINSTD_DPLHANDLE_IMPL(crypt_hash, NULL)
-
586
-
587 public:
-
593 virtual ~crypt_hash()
-
594 {
-
595 if (m_h != invalid)
-
596 free_internal();
-
597 }
-
598
-
608 bool create(_In_ HCRYPTPROV hProv, _In_ ALG_ID Algid, _In_opt_ HCRYPTKEY hKey = NULL, _In_opt_ DWORD dwFlags = 0) noexcept
-
609 {
-
610 handle_type h;
-
611 if (CryptCreateHash(hProv, Algid, hKey, dwFlags, &h)) {
-
612 attach(h);
-
613 return true;
-
614 } else
-
615 return false;
-
616 }
-
617
-
618 protected:
-
624 void free_internal() noexcept override
-
625 {
-
626 CryptDestroyHash(m_h);
-
627 }
-
628
-
638 handle_type duplicate_internal(_In_ handle_type h) const noexcept override
-
639 {
-
640 handle_type hNew = invalid;
-
641 return CryptDuplicateHash(h, NULL, 0, &hNew) ? hNew : invalid;
-
642 }
-
643 };
-
644
-
648 class crypt_key : public dplhandle<HCRYPTKEY, NULL>
-
649 {
-
650 WINSTD_DPLHANDLE_IMPL(crypt_key, NULL)
-
651
-
652 public:
-
658 virtual ~crypt_key()
-
659 {
-
660 if (m_h != invalid)
-
661 free_internal();
-
662 }
-
663
-
669 bool generate(_In_ HCRYPTPROV hProv, _In_ ALG_ID Algid, _In_ DWORD dwFlags) noexcept
-
670 {
-
671 handle_type h;
-
672 if (CryptGenKey(hProv, Algid, dwFlags, &h)) {
-
673 attach(h);
-
674 return true;
-
675 } else
-
676 return false;
-
677 }
-
678
-
684 bool import(_In_ HCRYPTPROV hProv, __in_bcount(dwDataLen) LPCBYTE pbData, _In_ DWORD dwDataLen, _In_ HCRYPTKEY hPubKey, _In_ DWORD dwFlags) noexcept
-
685 {
-
686 handle_type h;
-
687 if (CryptImportKey(hProv, pbData, dwDataLen, hPubKey, dwFlags, &h)) {
-
688 attach(h);
-
689 return true;
-
690 } else
-
691 return false;
-
692 }
-
693
-
699 bool import_public(_In_ HCRYPTPROV hCryptProv, _In_ DWORD dwCertEncodingType, _In_ PCERT_PUBLIC_KEY_INFO pInfo) noexcept
-
700 {
-
701 handle_type h;
-
702 if (CryptImportPublicKeyInfo(hCryptProv, dwCertEncodingType, pInfo, &h)) {
-
703 attach(h);
-
704 return true;
-
705 } else
-
706 return false;
-
707 }
-
708
-
714 bool derive(_In_ HCRYPTPROV hProv, _In_ ALG_ID Algid, _In_ HCRYPTHASH hBaseData, _In_ DWORD dwFlags) noexcept
-
715 {
-
716 handle_type h;
-
717 if (CryptDeriveKey(hProv, Algid, hBaseData, dwFlags, &h)) {
-
718 attach(h);
-
719 return true;
-
720 } else
-
721 return false;
-
722 }
-
723
-
732 bool create_exp1(_In_ HCRYPTPROV hProv, _In_ DWORD dwKeySpec)
-
733 {
-
734 if (dwKeySpec != AT_KEYEXCHANGE && dwKeySpec != AT_SIGNATURE) {
-
735 SetLastError(ERROR_INVALID_PARAMETER);
-
736 return false;
-
737 }
-
738
-
739 // Generate the private key.
-
740 handle_type h;
-
741 if (CryptGenKey(hProv, dwKeySpec, CRYPT_EXPORTABLE, &h)) {
-
742 // Export the private key, we'll convert it to a private exponent of one key.
-
743 std::vector<BYTE, sanitizing_allocator<BYTE>> key_blob;
-
744 if (CryptExportKey(h, 0, PRIVATEKEYBLOB, 0, key_blob)) {
-
745 CryptDestroyKey(h);
-
746
-
747 // Get the byte length of the key.
-
748 size_t
-
749 size_key = *reinterpret_cast<DWORD*>(&key_blob[12])/8,
-
750 size_prime = size_key/2;
-
751
-
752 // Modify the Exponent in Key BLOB format
-
753 // Key BLOB format is documented in SDK
-
754
-
755 // Convert pubexp in rsapubkey to 1
-
756 LPBYTE ptr = &key_blob[16];
-
757 *reinterpret_cast<DWORD*>(ptr) = 1;
-
758 ptr += sizeof(DWORD);
-
759
-
760 // Skip modulus, prime1, prime2
-
761 ptr += size_key;
-
762 ptr += size_prime;
-
763 ptr += size_prime;
+
276 __declspec(deprecated("Use CertCreateCertificateContext"))
+
277 bool create(_In_ DWORD dwCertEncodingType, _In_ LPCBYTE pbCertEncoded, _In_ DWORD cbCertEncoded) noexcept
+
278 {
+
279 handle_type h = CertCreateCertificateContext(dwCertEncodingType, pbCertEncoded, cbCertEncoded);
+
280 if (h != invalid) {
+
281 attach(h);
+
282 return true;
+
283 } else
+
284 return false;
+
285 }
+
286
+
295 bool operator==(_In_ const handle_type &other) const noexcept
+
296 {
+
297 // TODO: [Crypto] Make constant time.
+
298 return
+
299 m_h == other ||
+
300 m_h->cbCertEncoded == other->cbCertEncoded && memcmp(m_h->pbCertEncoded, other->pbCertEncoded, m_h->cbCertEncoded) == 0;
+
301 }
+
302
+
311 bool operator!=(_In_ const handle_type &other) const noexcept
+
312 {
+
313 return !operator==(other);
+
314 }
+
315
+
324 bool operator<(_In_ const handle_type &other) const noexcept
+
325 {
+
326 // TODO: [Crypto] Make constant time.
+
327 const int r = memcmp(m_h->pbCertEncoded, other->pbCertEncoded, std::min<DWORD>(m_h->cbCertEncoded, other->cbCertEncoded));
+
328 return r < 0 || r == 0 && m_h->cbCertEncoded < other->cbCertEncoded;
+
329 }
+
330
+
339 bool operator>(_In_ const handle_type &other) const noexcept
+
340 {
+
341 // TODO: [Crypto] Make constant time.
+
342 const int r = memcmp(m_h->pbCertEncoded, other->pbCertEncoded, std::min<DWORD>(m_h->cbCertEncoded, other->cbCertEncoded));
+
343 return r > 0 || r == 0 && m_h->cbCertEncoded > other->cbCertEncoded;
+
344 }
+
345
+
354 bool operator<=(_In_ const handle_type &other) const noexcept
+
355 {
+
356 return !operator>(other);
+
357 }
+
358
+
367 bool operator>=(_In_ const handle_type &other) const noexcept
+
368 {
+
369 return !operator<(other);
+
370 }
+
371
+
372 protected:
+
378 void free_internal() noexcept override
+
379 {
+
380 CertFreeCertificateContext(m_h);
+
381 }
+
382
+
392 handle_type duplicate_internal(_In_ handle_type h) const noexcept override
+
393 {
+
394 return CertDuplicateCertificateContext(h);
+
395 }
+
396 };
+
397
+
401 class cert_chain_context : public dplhandle<PCCERT_CHAIN_CONTEXT, NULL>
+
402 {
+
403 WINSTD_DPLHANDLE_IMPL(cert_chain_context, NULL)
+
404
+
405 public:
+
411 virtual ~cert_chain_context()
+
412 {
+
413 if (m_h != invalid)
+
414 free_internal();
+
415 }
+
416
+
426 __declspec(deprecated("Use CertGetCertificateChain"))
+
427 bool create(_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 = NULL) noexcept
+
428 {
+
429 handle_type h;
+
430 if (CertGetCertificateChain(hChainEngine, pCertContext, pTime, hAdditionalStore, pChainPara, dwFlags, pvReserved, &h)) {
+
431 attach(h);
+
432 return true;
+
433 } else
+
434 return false;
+
435 }
+
436
+
437 protected:
+
443 void free_internal() noexcept override
+
444 {
+
445 CertFreeCertificateChain(m_h);
+
446 }
+
447
+
457 handle_type duplicate_internal(_In_ handle_type h) const noexcept override
+
458 {
+
459 return CertDuplicateCertificateChain(h);
+
460 }
+
461 };
+
462
+
466 class cert_store : public handle<HCERTSTORE, NULL>
+
467 {
+
468 WINSTD_HANDLE_IMPL(cert_store, NULL)
+
469
+
470 public:
+
476 virtual ~cert_store()
+
477 {
+
478 if (m_h != invalid)
+
479 free_internal();
+
480 }
+
481
+
491 __declspec(deprecated("Use CertOpenStore"))
+
492 bool create(_In_ LPCSTR lpszStoreProvider, _In_ DWORD dwEncodingType, _In_opt_ HCRYPTPROV_LEGACY hCryptProv, _In_ DWORD dwFlags, _In_opt_ const void *pvPara) noexcept
+
493 {
+
494 handle_type h = CertOpenStore(lpszStoreProvider, dwEncodingType, hCryptProv, dwFlags, pvPara);
+
495 if (h != invalid) {
+
496 attach(h);
+
497 return true;
+
498 } else
+
499 return false;
+
500 }
+
501
+
511 __declspec(deprecated("Use CertOpenSystemStore"))
+
512 bool create(_In_opt_ HCRYPTPROV_LEGACY hCryptProv, _In_z_ LPCTSTR szSubsystemProtocol) noexcept
+
513 {
+
514 handle_type h = CertOpenSystemStore(hCryptProv, szSubsystemProtocol);
+
515 if (h != invalid) {
+
516 attach(h);
+
517 return true;
+
518 } else
+
519 return false;
+
520 }
+
521
+
522 protected:
+
528 void free_internal() noexcept override
+
529 {
+
530 CertCloseStore(m_h, 0);
+
531 }
+
532 };
+
533
+
537 class crypt_prov : public handle<HCRYPTPROV, NULL>
+
538 {
+
539 WINSTD_HANDLE_IMPL(crypt_prov, NULL)
+
540
+
541 public:
+
547 virtual ~crypt_prov()
+
548 {
+
549 if (m_h != invalid)
+
550 free_internal();
+
551 }
+
552
+
562 __declspec(deprecated("Use CryptAcquireContext"))
+
563 bool create(_In_opt_z_ LPCTSTR szContainer, _In_opt_z_ LPCTSTR szProvider, _In_ DWORD dwProvType, _In_ DWORD dwFlags = 0) noexcept
+
564 {
+
565 handle_type h;
+
566 if (CryptAcquireContext(&h, szContainer, szProvider, dwProvType, dwFlags)) {
+
567 attach(h);
+
568 return true;
+
569 } else
+
570 return false;
+
571 }
+
572
+
573 protected:
+
579 void free_internal() noexcept override
+
580 {
+
581 CryptReleaseContext(m_h, 0);
+
582 }
+
583 };
+
584
+
588 class crypt_hash : public dplhandle<HCRYPTHASH, NULL>
+
589 {
+
590 WINSTD_DPLHANDLE_IMPL(crypt_hash, NULL)
+
591
+
592 public:
+
598 virtual ~crypt_hash()
+
599 {
+
600 if (m_h != invalid)
+
601 free_internal();
+
602 }
+
603
+
613 __declspec(deprecated("Use CryptCreateHash"))
+
614 bool create(_In_ HCRYPTPROV hProv, _In_ ALG_ID Algid, _In_opt_ HCRYPTKEY hKey = NULL, _In_opt_ DWORD dwFlags = 0) noexcept
+
615 {
+
616 handle_type h;
+
617 if (CryptCreateHash(hProv, Algid, hKey, dwFlags, &h)) {
+
618 attach(h);
+
619 return true;
+
620 } else
+
621 return false;
+
622 }
+
623
+
624 protected:
+
630 void free_internal() noexcept override
+
631 {
+
632 CryptDestroyHash(m_h);
+
633 }
+
634
+
644 handle_type duplicate_internal(_In_ handle_type h) const noexcept override
+
645 {
+
646 handle_type hNew;
+
647 return CryptDuplicateHash(h, NULL, 0, &hNew) ? hNew : invalid;
+
648 }
+
649 };
+
650
+
654 class crypt_key : public dplhandle<HCRYPTKEY, NULL>
+
655 {
+
656 WINSTD_DPLHANDLE_IMPL(crypt_key, NULL)
+
657
+
658 public:
+
664 virtual ~crypt_key()
+
665 {
+
666 if (m_h != invalid)
+
667 free_internal();
+
668 }
+
669
+
675 __declspec(deprecated("Use CryptGenKey"))
+
676 bool generate(_In_ HCRYPTPROV hProv, _In_ ALG_ID Algid, _In_ DWORD dwFlags) noexcept
+
677 {
+
678 handle_type h;
+
679 if (CryptGenKey(hProv, Algid, dwFlags, &h)) {
+
680 attach(h);
+
681 return true;
+
682 } else
+
683 return false;
+
684 }
+
685
+
691 __declspec(deprecated("Use CryptImportKey"))
+
692 bool import(_In_ HCRYPTPROV hProv, __in_bcount(dwDataLen) LPCBYTE pbData, _In_ DWORD dwDataLen, _In_ HCRYPTKEY hPubKey, _In_ DWORD dwFlags) noexcept
+
693 {
+
694 handle_type h;
+
695 if (CryptImportKey(hProv, pbData, dwDataLen, hPubKey, dwFlags, &h)) {
+
696 attach(h);
+
697 return true;
+
698 } else
+
699 return false;
+
700 }
+
701
+
707 __declspec(deprecated("Use CryptImportPublicKeyInfo"))
+
708 bool import_public(_In_ HCRYPTPROV hCryptProv, _In_ DWORD dwCertEncodingType, _In_ PCERT_PUBLIC_KEY_INFO pInfo) noexcept
+
709 {
+
710 handle_type h;
+
711 if (CryptImportPublicKeyInfo(hCryptProv, dwCertEncodingType, pInfo, &h)) {
+
712 attach(h);
+
713 return true;
+
714 } else
+
715 return false;
+
716 }
+
717
+
723 __declspec(deprecated("Use CryptDeriveKey"))
+
724 bool derive(_In_ HCRYPTPROV hProv, _In_ ALG_ID Algid, _In_ HCRYPTHASH hBaseData, _In_ DWORD dwFlags) noexcept
+
725 {
+
726 handle_type h;
+
727 if (CryptDeriveKey(hProv, Algid, hBaseData, dwFlags, &h)) {
+
728 attach(h);
+
729 return true;
+
730 } else
+
731 return false;
+
732 }
+
733
+
742 bool create_exp1(_In_ HCRYPTPROV hProv, _In_ DWORD dwKeySpec)
+
743 {
+
744 if (dwKeySpec != AT_KEYEXCHANGE && dwKeySpec != AT_SIGNATURE) {
+
745 SetLastError(ERROR_INVALID_PARAMETER);
+
746 return false;
+
747 }
+
748
+
749 // Generate the private key.
+
750 handle_type h;
+
751 if (CryptGenKey(hProv, dwKeySpec, CRYPT_EXPORTABLE, &h)) {
+
752 // Export the private key, we'll convert it to a private exponent of one key.
+
753 std::vector<BYTE, sanitizing_allocator<BYTE>> key_blob;
+
754 if (CryptExportKey(h, 0, PRIVATEKEYBLOB, 0, key_blob)) {
+
755 CryptDestroyKey(h);
+
756
+
757 // Get the byte length of the key.
+
758 size_t
+
759 size_key = *reinterpret_cast<DWORD*>(&key_blob[12])/8,
+
760 size_prime = size_key/2;
+
761
+
762 // Modify the Exponent in Key BLOB format
+
763 // Key BLOB format is documented in SDK
764
-
765 // Convert exponent1 to 1
-
766 ptr[0] = 1;
-
767 memset(ptr + 1, 0, size_prime - 1);
-
768 ptr += size_prime;
+
765 // Convert pubexp in rsapubkey to 1
+
766 LPBYTE ptr = &key_blob[16];
+
767 *reinterpret_cast<DWORD*>(ptr) = 1;
+
768 ptr += sizeof(DWORD);
769
-
770 // Convert exponent2 to 1
-
771 ptr[0] = 1;
-
772 memset(ptr + 1, 0, size_prime - 1);
+
770 // Skip modulus, prime1, prime2
+
771 ptr += size_key;
+
772 ptr += size_prime;
773 ptr += size_prime;
774
-
775 // Skip coefficient
-
776 ptr += size_prime;
-
777
-
778 // Convert privateExponent to 1
-
779 ptr[0] = 1;
-
780 memset(ptr + 1, 0, size_key - 1);
-
781
-
782 // Import the exponent-of-one private key.
-
783 if (CryptImportKey(hProv, key_blob.data(), static_cast<DWORD>(key_blob.size()), 0, 0, &h)) {
-
784 attach(h);
-
785 return true;
-
786 }
-
787 } else
-
788 CryptDestroyKey(h);
-
789 }
-
790
-
791 return false;
-
792 }
-
793
-
794 protected:
-
800 void free_internal() noexcept override
-
801 {
-
802 CryptDestroyKey(m_h);
-
803 }
-
804
-
814 handle_type duplicate_internal(_In_ handle_type h) const noexcept override
-
815 {
-
816 handle_type hNew = invalid;
-
817 return CryptDuplicateKey(h, NULL, 0, &hNew) ? hNew : invalid;
-
818 }
-
819 };
-
820
-
824 #pragma warning(push)
-
825 #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.
-
826 class data_blob : public DATA_BLOB
-
827 {
-
828 public:
-
832 data_blob() noexcept
-
833 {
-
834 cbData = 0;
-
835 pbData = NULL;
-
836 }
-
837
-
841 data_blob(_In_count_(size) BYTE *data, _In_ DWORD size) noexcept
-
842 {
-
843 cbData = size;
-
844 pbData = data;
-
845 }
-
846
-
850 data_blob(_In_ const DATA_BLOB &other)
-
851 {
-
852 cbData = other.cbData;
-
853 if (cbData) {
-
854 pbData = static_cast<BYTE*>(LocalAlloc(LMEM_FIXED, other.cbData));
-
855 if (!pbData) throw win_runtime_error("LocalAlloc failed.");
-
856 memcpy(pbData, other.pbData, other.cbData);
-
857 } else
-
858 pbData = NULL;
-
859 }
-
860
-
864 data_blob(_Inout_ data_blob &&other) noexcept
-
865 {
-
866 cbData = other.cbData;
-
867 pbData = other.pbData;
-
868 other.cbData = 0;
-
869 other.pbData = NULL;
-
870 }
-
871
-
875 virtual ~data_blob()
-
876 {
-
877 if (pbData != NULL)
-
878 LocalFree(pbData);
-
879 }
-
880
-
884 data_blob& operator=(_In_ const DATA_BLOB &other)
-
885 {
-
886 if (this != &other) {
-
887 cbData = other.cbData;
-
888 if (pbData)
-
889 LocalFree(pbData);
-
890 if (cbData) {
-
891 pbData = static_cast<BYTE*>(LocalAlloc(LMEM_FIXED, other.cbData));
-
892 if (!pbData) throw win_runtime_error("LocalAlloc failed.");
-
893 memcpy(pbData, other.pbData, other.cbData);
-
894 } else
-
895 pbData = NULL;
-
896 }
-
897
-
898 return *this;
-
899 }
-
900
-
904 data_blob& operator=(_Inout_ data_blob &&other) noexcept
-
905 {
-
906 if (this != &other) {
-
907 cbData = other.cbData;
-
908 if (pbData)
-
909 LocalFree(pbData);
-
910 pbData = other.pbData;
-
911 other.cbData = 0;
-
912 other.pbData = NULL;
-
913 }
-
914
-
915 return *this;
-
916 }
-
917
-
921 DWORD size() const noexcept
-
922 {
-
923 return cbData;
-
924 }
-
925
-
929 const BYTE* data() const noexcept
-
930 {
-
931 return pbData;
-
932 }
-
933
-
937 BYTE* data() noexcept
-
938 {
-
939 return pbData;
-
940 }
-
941 };
-
942 #pragma warning(pop)
+
775 // Convert exponent1 to 1
+
776 ptr[0] = 1;
+
777 memset(ptr + 1, 0, size_prime - 1);
+
778 ptr += size_prime;
+
779
+
780 // Convert exponent2 to 1
+
781 ptr[0] = 1;
+
782 memset(ptr + 1, 0, size_prime - 1);
+
783 ptr += size_prime;
+
784
+
785 // Skip coefficient
+
786 ptr += size_prime;
+
787
+
788 // Convert privateExponent to 1
+
789 ptr[0] = 1;
+
790 memset(ptr + 1, 0, size_key - 1);
+
791
+
792 // Import the exponent-of-one private key.
+
793 if (CryptImportKey(hProv, key_blob.data(), static_cast<DWORD>(key_blob.size()), 0, 0, &h)) {
+
794 attach(h);
+
795 return true;
+
796 }
+
797 } else
+
798 CryptDestroyKey(h);
+
799 }
+
800
+
801 return false;
+
802 }
+
803
+
804 protected:
+
810 void free_internal() noexcept override
+
811 {
+
812 CryptDestroyKey(m_h);
+
813 }
+
814
+
824 handle_type duplicate_internal(_In_ handle_type h) const noexcept override
+
825 {
+
826 handle_type hNew;
+
827 return CryptDuplicateKey(h, NULL, 0, &hNew) ? hNew : invalid;
+
828 }
+
829 };
+
830
+
834 #pragma warning(push)
+
835 #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.
+
836 class data_blob : public DATA_BLOB
+
837 {
+
838 public:
+
842 data_blob() noexcept
+
843 {
+
844 cbData = 0;
+
845 pbData = NULL;
+
846 }
+
847
+
851 data_blob(_In_count_(size) BYTE *data, _In_ DWORD size) noexcept
+
852 {
+
853 cbData = size;
+
854 pbData = data;
+
855 }
+
856
+
860 data_blob(_In_ const DATA_BLOB &other)
+
861 {
+
862 cbData = other.cbData;
+
863 if (cbData) {
+
864 pbData = static_cast<BYTE*>(LocalAlloc(LMEM_FIXED, other.cbData));
+
865 if (!pbData) throw win_runtime_error("LocalAlloc failed.");
+
866 memcpy(pbData, other.pbData, other.cbData);
+
867 } else
+
868 pbData = NULL;
+
869 }
+
870
+
874 data_blob(_Inout_ data_blob &&other) noexcept
+
875 {
+
876 cbData = other.cbData;
+
877 pbData = other.pbData;
+
878 other.cbData = 0;
+
879 other.pbData = NULL;
+
880 }
+
881
+
885 virtual ~data_blob()
+
886 {
+
887 if (pbData != NULL)
+
888 LocalFree(pbData);
+
889 }
+
890
+
894 data_blob& operator=(_In_ const DATA_BLOB &other)
+
895 {
+
896 if (this != &other) {
+
897 cbData = other.cbData;
+
898 if (pbData)
+
899 LocalFree(pbData);
+
900 if (cbData) {
+
901 pbData = static_cast<BYTE*>(LocalAlloc(LMEM_FIXED, other.cbData));
+
902 if (!pbData) throw win_runtime_error("LocalAlloc failed.");
+
903 memcpy(pbData, other.pbData, other.cbData);
+
904 } else
+
905 pbData = NULL;
+
906 }
+
907
+
908 return *this;
+
909 }
+
910
+
914 data_blob& operator=(_Inout_ data_blob &&other) noexcept
+
915 {
+
916 if (this != &other) {
+
917 cbData = other.cbData;
+
918 if (pbData)
+
919 LocalFree(pbData);
+
920 pbData = other.pbData;
+
921 other.cbData = 0;
+
922 other.pbData = NULL;
+
923 }
+
924
+
925 return *this;
+
926 }
+
927
+
931 DWORD size() const noexcept
+
932 {
+
933 return cbData;
+
934 }
+
935
+
939 const BYTE* data() const noexcept
+
940 {
+
941 return pbData;
+
942 }
943
-
945}
-
winstd::cert_chain_context
PCCERT_CHAIN_CONTEXT wrapper class.
Definition: Crypt.h:401
-
winstd::cert_chain_context::duplicate_internal
handle_type duplicate_internal(handle_type h) const noexcept override
Duplicates the certificate chain context.
Definition: Crypt.h:455
-
winstd::cert_chain_context::~cert_chain_context
virtual ~cert_chain_context()
Destroys the certificate chain context.
Definition: Crypt.h:410
-
winstd::cert_chain_context::create
bool create(HCERTCHAINENGINE hChainEngine, PCCERT_CONTEXT pCertContext, LPFILETIME pTime, HCERTSTORE hAdditionalStore, PCERT_CHAIN_PARA pChainPara, DWORD dwFlags, __reserved LPVOID pvReserved=NULL) noexcept
Creates the certificate chain context.
Definition: Crypt.h:425
-
winstd::cert_chain_context::free_internal
void free_internal() noexcept override
Destroys the certificate chain context.
Definition: Crypt.h:441
+
947 BYTE* data() noexcept
+
948 {
+
949 return pbData;
+
950 }
+
951 };
+
952 #pragma warning(pop)
+
953
+
955}
+
956
+
959
+
960#pragma warning(push)
+
961#pragma warning(disable: 4505) // Don't warn on unused code
+
962
+
968static 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)
+
969{
+
970 PCCERT_CHAIN_CONTEXT pChainContext;
+
971 BOOL bResult = CertGetCertificateChain(hChainEngine, pCertContext, pTime, hAdditionalStore, pChainPara, dwFlags, pvReserved, &pChainContext);
+
972 if (bResult)
+
973 ctx.attach(pChainContext);
+
974 return bResult;
+
975}
+
976
+
978static BOOL CryptAcquireContextA(_Inout_ winstd::crypt_prov &prov, _In_opt_ LPCSTR szContainer, _In_opt_ LPCSTR szProvider, _In_ DWORD dwProvType, _In_ DWORD dwFlags)
+
979{
+
980 HCRYPTPROV h;
+
981 BOOL bResult = CryptAcquireContextA(&h, szContainer, szProvider, dwProvType, dwFlags);
+
982 if (bResult)
+
983 prov.attach(h);
+
984 return bResult;
+
985}
+
986
+
992static BOOL CryptAcquireContextW(_Inout_ winstd::crypt_prov &prov, _In_opt_ LPCWSTR szContainer, _In_opt_ LPCWSTR szProvider, _In_ DWORD dwProvType, _In_ DWORD dwFlags)
+
993{
+
994 HCRYPTPROV h;
+
995 BOOL bResult = CryptAcquireContextW(&h, szContainer, szProvider, dwProvType, dwFlags);
+
996 if (bResult)
+
997 prov.attach(h);
+
998 return bResult;
+
999}
+
1000
+
1006static BOOL CryptCreateHash(_In_ HCRYPTPROV hProv, _In_ ALG_ID Algid, _In_ HCRYPTKEY hKey, _In_ DWORD dwFlags, _Inout_ winstd::crypt_hash &hash)
+
1007{
+
1008 HCRYPTHASH h;
+
1009 BOOL bResult = CryptCreateHash(hProv, Algid, hKey, dwFlags, &h);
+
1010 if (bResult)
+
1011 hash.attach(h);
+
1012 return bResult;
+
1013}
+
1014
+
1020static BOOL CryptGenKey(_In_ HCRYPTPROV hProv, _In_ ALG_ID Algid, _In_ DWORD dwFlags, _Inout_ winstd::crypt_key &key)
+
1021{
+
1022 HCRYPTKEY h;
+
1023 BOOL bResult = CryptGenKey(hProv, Algid, dwFlags, &h);
+
1024 if (bResult)
+
1025 key.attach(h);
+
1026 return bResult;
+
1027}
+
1028
+
1034static bool CryptImportKey(_In_ HCRYPTPROV hProv, __in_bcount(dwDataLen) LPCBYTE pbData, _In_ DWORD dwDataLen, _In_ HCRYPTKEY hPubKey, _In_ DWORD dwFlags, _Inout_ winstd::crypt_key &key)
+
1035{
+
1036 HCRYPTKEY h;
+
1037 BOOL bResult = CryptImportKey(hProv, pbData, dwDataLen, hPubKey, dwFlags, &h);
+
1038 if (bResult)
+
1039 key.attach(h);
+
1040 return bResult;
+
1041}
+
1042
+
1048static bool CryptImportPublicKeyInfo(_In_ HCRYPTPROV hCryptProv, _In_ DWORD dwCertEncodingType, _In_ PCERT_PUBLIC_KEY_INFO pInfo, _Inout_ winstd::crypt_key &key)
+
1049{
+
1050 HCRYPTKEY h;
+
1051 BOOL bResult = CryptImportPublicKeyInfo(hCryptProv, dwCertEncodingType, pInfo, &h);
+
1052 if (bResult)
+
1053 key.attach(h);
+
1054 return bResult;
+
1055}
+
1056
+
1062static bool CryptDeriveKey(_In_ HCRYPTPROV hProv, _In_ ALG_ID Algid, _In_ HCRYPTHASH hBaseData, _In_ DWORD dwFlags, _Inout_ winstd::crypt_key &key)
+
1063{
+
1064 HCRYPTKEY h;
+
1065 BOOL bResult = CryptDeriveKey(hProv, Algid, hBaseData, dwFlags, &h);
+
1066 if (bResult)
+
1067 key.attach(h);
+
1068 return bResult;
+
1069}
+
1070
+
1071#pragma warning(pop)
+
1072
+
winstd::cert_chain_context
PCCERT_CHAIN_CONTEXT wrapper class.
Definition: Crypt.h:402
+
winstd::cert_chain_context::~cert_chain_context
virtual ~cert_chain_context()
Destroys the certificate chain context.
Definition: Crypt.h:411
+
winstd::cert_chain_context::__declspec
__declspec(deprecated("Use CertGetCertificateChain")) bool create(HCERTCHAINENGINE hChainEngine
Creates the certificate chain context.
winstd::cert_context
PCCERT_CONTEXT wrapper class.
Definition: Crypt.h:252
-
winstd::cert_context::operator<=
bool operator<=(const handle_type &other) const noexcept
Is certificate less than or equal?
Definition: Crypt.h:353
-
winstd::cert_context::free_internal
void free_internal() noexcept override
Destroys the certificate context.
Definition: Crypt.h:377
-
winstd::cert_context::operator==
bool operator==(const handle_type &other) const noexcept
Is certificate equal to?
Definition: Crypt.h:294
-
winstd::cert_context::duplicate_internal
handle_type duplicate_internal(handle_type h) const noexcept override
Duplicates the certificate context.
Definition: Crypt.h:391
-
winstd::cert_context::create
bool create(DWORD dwCertEncodingType, LPCBYTE pbCertEncoded, DWORD cbCertEncoded) noexcept
Creates the certificate context.
Definition: Crypt.h:276
-
winstd::cert_context::operator>=
bool operator>=(const handle_type &other) const noexcept
Is certificate greater than or equal?
Definition: Crypt.h:366
-
winstd::cert_context::operator>
bool operator>(const handle_type &other) const noexcept
Is certificate greater than?
Definition: Crypt.h:338
-
winstd::cert_context::operator<
bool operator<(const handle_type &other) const noexcept
Is certificate less than?
Definition: Crypt.h:323
-
winstd::cert_context::operator!=
bool operator!=(const handle_type &other) const noexcept
Is certificate not equal to?
Definition: Crypt.h:310
+
winstd::cert_context::operator<=
bool operator<=(const handle_type &other) const noexcept
Is certificate less than or equal?
Definition: Crypt.h:354
+
winstd::cert_context::free_internal
void free_internal() noexcept override
Destroys the certificate context.
Definition: Crypt.h:378
+
winstd::cert_context::operator==
bool operator==(const handle_type &other) const noexcept
Is certificate equal to?
Definition: Crypt.h:295
+
winstd::cert_context::duplicate_internal
handle_type duplicate_internal(handle_type h) const noexcept override
Duplicates the certificate context.
Definition: Crypt.h:392
+
winstd::cert_context::operator>=
bool operator>=(const handle_type &other) const noexcept
Is certificate greater than or equal?
Definition: Crypt.h:367
+
winstd::cert_context::operator>
bool operator>(const handle_type &other) const noexcept
Is certificate greater than?
Definition: Crypt.h:339
+
winstd::cert_context::operator<
bool operator<(const handle_type &other) const noexcept
Is certificate less than?
Definition: Crypt.h:324
+
winstd::cert_context::__declspec
__declspec(deprecated("Use CertCreateCertificateContext")) bool create(DWORD dwCertEncodingType
Creates the certificate context.
+
winstd::cert_context::operator!=
bool operator!=(const handle_type &other) const noexcept
Is certificate not equal to?
Definition: Crypt.h:311
winstd::cert_context::~cert_context
virtual ~cert_context()
Destroys the certificate context.
Definition: Crypt.h:261
-
winstd::cert_store
HCERTSTORE wrapper class.
Definition: Crypt.h:465
-
winstd::cert_store::create
bool create(LPCSTR lpszStoreProvider, DWORD dwEncodingType, HCRYPTPROV_LEGACY hCryptProv, DWORD dwFlags, const void *pvPara) noexcept
Opens the certificate store.
Definition: Crypt.h:489
-
winstd::cert_store::~cert_store
virtual ~cert_store()
Closes the certificate store.
Definition: Crypt.h:474
-
winstd::cert_store::free_internal
void free_internal() noexcept override
Closes the certificate store.
Definition: Crypt.h:524
-
winstd::cert_store::create
bool create(HCRYPTPROV_LEGACY hCryptProv, LPCTSTR szSubsystemProtocol) noexcept
Opens the most common system certificate store. To open certificate stores with more complex requirem...
Definition: Crypt.h:508
-
winstd::crypt_hash
HCRYPTHASH wrapper class.
Definition: Crypt.h:584
-
winstd::crypt_hash::free_internal
void free_internal() noexcept override
Destroys the hash context.
Definition: Crypt.h:624
-
winstd::crypt_hash::create
bool create(HCRYPTPROV hProv, ALG_ID Algid, HCRYPTKEY hKey=NULL, DWORD dwFlags=0) noexcept
Creates the hash context.
Definition: Crypt.h:608
-
winstd::crypt_hash::~crypt_hash
virtual ~crypt_hash()
Destroys the hash context.
Definition: Crypt.h:593
-
winstd::crypt_hash::duplicate_internal
handle_type duplicate_internal(handle_type h) const noexcept override
Duplicates the hash context.
Definition: Crypt.h:638
-
winstd::crypt_key
HCRYPTKEY wrapper class.
Definition: Crypt.h:649
-
winstd::crypt_key::generate
bool generate(HCRYPTPROV hProv, ALG_ID Algid, DWORD dwFlags) noexcept
Generates the key.
Definition: Crypt.h:669
-
winstd::crypt_key::derive
bool derive(HCRYPTPROV hProv, ALG_ID Algid, HCRYPTHASH hBaseData, DWORD dwFlags) noexcept
Generates cryptographic session keys derived from a base data value.
Definition: Crypt.h:714
-
winstd::crypt_key::~crypt_key
virtual ~crypt_key()
Destroys the key.
Definition: Crypt.h:658
-
winstd::crypt_key::create_exp1
bool create_exp1(HCRYPTPROV hProv, DWORD dwKeySpec)
Creates Exponent-of-one key.
Definition: Crypt.h:732
-
winstd::crypt_key::duplicate_internal
handle_type duplicate_internal(handle_type h) const noexcept override
Duplicates the key.
Definition: Crypt.h:814
-
winstd::crypt_key::import_public
bool import_public(HCRYPTPROV hCryptProv, DWORD dwCertEncodingType, PCERT_PUBLIC_KEY_INFO pInfo) noexcept
Imports the public key.
Definition: Crypt.h:699
-
winstd::crypt_key::free_internal
void free_internal() noexcept override
Destroys the key.
Definition: Crypt.h:800
-
winstd::crypt_prov
HCRYPTPROV wrapper class.
Definition: Crypt.h:534
-
winstd::crypt_prov::create
bool create(LPCTSTR szContainer, LPCTSTR szProvider, DWORD dwProvType, DWORD dwFlags=0) noexcept
Acquires the cryptographic context.
Definition: Crypt.h:558
-
winstd::crypt_prov::~crypt_prov
virtual ~crypt_prov()
Releases the cryptographic context.
Definition: Crypt.h:543
-
winstd::crypt_prov::free_internal
void free_internal() noexcept override
Releases the cryptographic context.
Definition: Crypt.h:574
-
winstd::data_blob
DATA_BLOB wrapper class.
Definition: Crypt.h:827
-
winstd::data_blob::data_blob
data_blob(const DATA_BLOB &other)
Duplicate an existing BLOB.
Definition: Crypt.h:850
-
winstd::data_blob::~data_blob
virtual ~data_blob()
Destroys the BLOB.
Definition: Crypt.h:875
-
winstd::data_blob::data
BYTE * data() noexcept
Get BLOB buffer.
Definition: Crypt.h:937
-
winstd::data_blob::data
const BYTE * data() const noexcept
Get BLOB buffer.
Definition: Crypt.h:929
-
winstd::data_blob::data_blob
data_blob() noexcept
Initializes an empty BLOB.
Definition: Crypt.h:832
-
winstd::data_blob::data_blob
data_blob(data_blob &&other) noexcept
Move an existing BLOB.
Definition: Crypt.h:864
-
winstd::data_blob::operator=
data_blob & operator=(data_blob &&other) noexcept
Move an existing BLOB.
Definition: Crypt.h:904
-
winstd::data_blob::data_blob
data_blob(BYTE *data, DWORD size) noexcept
Initializes a BLOB from existing data.
Definition: Crypt.h:841
-
winstd::data_blob::size
DWORD size() const noexcept
Get BLOB size.
Definition: Crypt.h:921
-
winstd::data_blob::operator=
data_blob & operator=(const DATA_BLOB &other)
Copy an existing BLOB.
Definition: Crypt.h:884
+
winstd::cert_store
HCERTSTORE wrapper class.
Definition: Crypt.h:467
+
winstd::cert_store::__declspec
__declspec(deprecated("Use CertOpenStore")) bool create(LPCSTR lpszStoreProvider
Opens the certificate store.
+
winstd::cert_store::~cert_store
virtual ~cert_store()
Closes the certificate store.
Definition: Crypt.h:476
+
winstd::cert_store::__declspec
__declspec(deprecated("Use CertOpenSystemStore")) bool create(HCRYPTPROV_LEGACY hCryptProv
Opens the most common system certificate store. To open certificate stores with more complex requirem...
+
winstd::cert_store::free_internal
void free_internal() noexcept override
Closes the certificate store.
Definition: Crypt.h:528
+
winstd::crypt_hash
HCRYPTHASH wrapper class.
Definition: Crypt.h:589
+
winstd::crypt_hash::__declspec
__declspec(deprecated("Use CryptCreateHash")) bool create(HCRYPTPROV hProv
Creates the hash context.
+
winstd::crypt_hash::~crypt_hash
virtual ~crypt_hash()
Destroys the hash context.
Definition: Crypt.h:598
+
winstd::crypt_key
HCRYPTKEY wrapper class.
Definition: Crypt.h:655
+
winstd::crypt_key::~crypt_key
virtual ~crypt_key()
Destroys the key.
Definition: Crypt.h:664
+
winstd::crypt_key::__declspec
__declspec(deprecated("Use CryptGenKey")) bool generate(HCRYPTPROV hProv
Generates the key.
+
winstd::crypt_key::create_exp1
bool create_exp1(HCRYPTPROV hProv, DWORD dwKeySpec)
Creates Exponent-of-one key.
Definition: Crypt.h:742
+
winstd::crypt_key::duplicate_internal
handle_type duplicate_internal(handle_type h) const noexcept override
Duplicates the key.
Definition: Crypt.h:824
+
winstd::crypt_key::free_internal
void free_internal() noexcept override
Destroys the key.
Definition: Crypt.h:810
+
winstd::crypt_key::__declspec
__declspec(deprecated("Use CryptImportPublicKeyInfo")) bool import_public(HCRYPTPROV hCryptProv
Imports the public key.
+
winstd::crypt_key::__declspec
__declspec(deprecated("Use CryptImportKey")) bool import(HCRYPTPROV hProv
Imports the key.
+
winstd::crypt_key::__declspec
__declspec(deprecated("Use CryptDeriveKey")) bool derive(HCRYPTPROV hProv
Generates cryptographic session keys derived from a base data value.
+
winstd::crypt_prov
HCRYPTPROV wrapper class.
Definition: Crypt.h:538
+
winstd::crypt_prov::__declspec
__declspec(deprecated("Use CryptAcquireContext")) bool create(LPCTSTR szContainer
Acquires the cryptographic context.
+
winstd::crypt_prov::~crypt_prov
virtual ~crypt_prov()
Releases the cryptographic context.
Definition: Crypt.h:547
+
winstd::data_blob
DATA_BLOB wrapper class.
Definition: Crypt.h:837
+
winstd::data_blob::data_blob
data_blob(const DATA_BLOB &other)
Duplicate an existing BLOB.
Definition: Crypt.h:860
+
winstd::data_blob::~data_blob
virtual ~data_blob()
Destroys the BLOB.
Definition: Crypt.h:885
+
winstd::data_blob::data
BYTE * data() noexcept
Get BLOB buffer.
Definition: Crypt.h:947
+
winstd::data_blob::data
const BYTE * data() const noexcept
Get BLOB buffer.
Definition: Crypt.h:939
+
winstd::data_blob::data_blob
data_blob() noexcept
Initializes an empty BLOB.
Definition: Crypt.h:842
+
winstd::data_blob::data_blob
data_blob(data_blob &&other) noexcept
Move an existing BLOB.
Definition: Crypt.h:874
+
winstd::data_blob::operator=
data_blob & operator=(data_blob &&other) noexcept
Move an existing BLOB.
Definition: Crypt.h:914
+
winstd::data_blob::data_blob
data_blob(BYTE *data, DWORD size) noexcept
Initializes a BLOB from existing data.
Definition: Crypt.h:851
+
winstd::data_blob::size
DWORD size() const noexcept
Get BLOB size.
Definition: Crypt.h:931
+
winstd::data_blob::operator=
data_blob & operator=(const DATA_BLOB &other)
Copy an existing BLOB.
Definition: Crypt.h:894
winstd::dplhandle
Base abstract template class to support object handle keeping for objects that support trivial handle...
Definition: Common.h:865
+
winstd::dplhandle< PCCERT_CHAIN_CONTEXT, NULL >::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::handle
Base abstract template class to support generic object handle keeping.
Definition: Common.h:603
+
winstd::handle< PCCERT_CHAIN_CONTEXT, INVAL >::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< PCCERT_CONTEXT, INVAL >::handle_type
PCCERT_CONTEXT handle_type
Datatype of the object handle this template class handles.
Definition: Common.h:608
winstd::handle< PCCERT_CONTEXT, INVAL >::m_h
handle_type m_h
Object handle.
Definition: Common.h:854
winstd::handle< PCCERT_CONTEXT, INVAL >::attach
void attach(handle_type h) noexcept
Sets a new object handle for the class.
Definition: Common.h:817
@@ -745,7 +832,7 @@ $(function() { diff --git a/_e_a_p_8h_source.html b/_e_a_p_8h_source.html index e30b3723..0554624b 100644 --- a/_e_a_p_8h_source.html +++ b/_e_a_p_8h_source.html @@ -619,7 +619,7 @@ $(function() { diff --git a/_e_t_w_8h_source.html b/_e_t_w_8h_source.html index b0d2209e..30a07c83 100644 --- a/_e_t_w_8h_source.html +++ b/_e_t_w_8h_source.html @@ -650,249 +650,250 @@ $(function() {
917 free_internal();
918 }
919
-
929 bool create(_Inout_ PEVENT_TRACE_LOGFILE Logfile)
-
930 {
-
931 handle_type h = OpenTrace(Logfile);
-
932 if (h != invalid) {
-
933 attach(h);
-
934 return true;
-
935 } else
-
936 return false;
-
937 }
-
938
-
939 protected:
-
945 void free_internal() noexcept override
-
946 {
-
947 CloseTrace(m_h);
-
948 }
-
949 };
-
950
-
954 class event_trace_enabler
-
955 {
-
956 public:
-
962 event_trace_enabler(
-
963 _In_opt_ LPCGUID SourceId,
-
964 _In_ TRACEHANDLE TraceHandle,
-
965 _In_ LPCGUID ProviderId,
-
966 _In_ UCHAR Level,
-
967 _In_opt_ ULONGLONG MatchAnyKeyword = 0,
-
968 _In_opt_ ULONGLONG MatchAllKeyword = 0,
-
969 _In_opt_ ULONG EnableProperty = 0,
-
970 _In_opt_ PEVENT_FILTER_DESCRIPTOR EnableFilterDesc = NULL) :
-
971 m_provider_id(ProviderId),
-
972 m_source_id(SourceId),
-
973 m_trace_handle(TraceHandle),
-
974 m_level(Level),
-
975 m_match_any_keyword(MatchAnyKeyword),
-
976 m_match_all_keyword(MatchAllKeyword),
-
977 m_enable_property(EnableProperty),
-
978 m_enable_filter_desc(EnableFilterDesc)
-
979 {
-
980 m_status = EnableTraceEx(
-
981 m_provider_id,
-
982 m_source_id,
-
983 m_trace_handle,
-
984 EVENT_CONTROL_CODE_ENABLE_PROVIDER,
-
985 m_level,
-
986 m_match_any_keyword,
-
987 m_match_all_keyword,
-
988 m_enable_property,
-
989 m_enable_filter_desc);
-
990 }
-
991
-
997 event_trace_enabler(
-
998 _In_ const event_session &session,
-
999 _In_ LPCGUID ProviderId,
-
1000 _In_ UCHAR Level,
-
1001 _In_opt_ ULONGLONG MatchAnyKeyword = 0,
-
1002 _In_opt_ ULONGLONG MatchAllKeyword = 0,
-
1003 _In_opt_ ULONG EnableProperty = 0,
-
1004 _In_opt_ PEVENT_FILTER_DESCRIPTOR EnableFilterDesc = NULL) :
-
1005 m_provider_id(ProviderId),
-
1006 m_source_id(&((const EVENT_TRACE_PROPERTIES*)session)->Wnode.Guid),
-
1007 m_trace_handle(session),
-
1008 m_level(Level),
-
1009 m_match_any_keyword(MatchAnyKeyword),
-
1010 m_match_all_keyword(MatchAllKeyword),
-
1011 m_enable_property(EnableProperty),
-
1012 m_enable_filter_desc(EnableFilterDesc)
-
1013 {
-
1014 m_status = EnableTraceEx(
-
1015 m_provider_id,
-
1016 m_source_id,
-
1017 m_trace_handle,
-
1018 EVENT_CONTROL_CODE_ENABLE_PROVIDER,
-
1019 m_level,
-
1020 m_match_any_keyword,
-
1021 m_match_all_keyword,
-
1022 m_enable_property,
-
1023 m_enable_filter_desc);
-
1024 }
-
1025
-
1031 ULONG status() const
-
1032 {
-
1033 return m_status;
-
1034 }
-
1035
-
1041 virtual ~event_trace_enabler()
-
1042 {
-
1043 if (m_status == ERROR_SUCCESS)
-
1044 EnableTraceEx(
-
1045 m_provider_id,
-
1046 m_source_id,
-
1047 m_trace_handle,
-
1048 EVENT_CONTROL_CODE_DISABLE_PROVIDER,
-
1049 m_level,
-
1050 m_match_any_keyword,
-
1051 m_match_all_keyword,
-
1052 m_enable_property,
-
1053 m_enable_filter_desc);
-
1054 }
-
1055
-
1056 protected:
-
1057 ULONG m_status;
-
1058 LPCGUID m_provider_id;
-
1059 LPCGUID m_source_id;
-
1060 TRACEHANDLE m_trace_handle;
-
1061 UCHAR m_level;
-
1062 ULONGLONG m_match_any_keyword;
-
1063 ULONGLONG m_match_all_keyword;
-
1064 ULONG m_enable_property;
-
1065 PEVENT_FILTER_DESCRIPTOR m_enable_filter_desc;
-
1066 };
-
1067
-
1073 class event_fn_auto
-
1074 {
-
1075 public:
-
1079 event_fn_auto(_In_ event_provider &ep, _In_ const EVENT_DESCRIPTOR *event_cons, _In_ const EVENT_DESCRIPTOR *event_dest, _In_z_ LPCSTR pszFnName) :
-
1080 m_ep(ep),
-
1081 m_event_dest(event_dest)
-
1082 {
-
1083 EventDataDescCreate(&m_fn_name, pszFnName, (ULONG)(strlen(pszFnName) + 1)*sizeof(*pszFnName));
-
1084 m_ep.write(event_cons, 1, &m_fn_name);
-
1085 }
-
1086
-
1090 event_fn_auto(_In_ const event_fn_auto &other) :
-
1091 m_ep(other.m_ep),
-
1092 m_event_dest(other.m_event_dest),
-
1093 m_fn_name(other.m_fn_name)
-
1094 {
-
1095 }
-
1096
-
1100 event_fn_auto(_Inout_ event_fn_auto &&other) noexcept :
-
1101 m_ep(other.m_ep),
-
1102 m_event_dest(other.m_event_dest),
-
1103 m_fn_name(std::move(other.m_fn_name))
-
1104 {
-
1105 other.m_event_dest = NULL;
-
1106 }
-
1107
-
1111 ~event_fn_auto()
-
1112 {
-
1113 if (m_event_dest)
-
1114 m_ep.write(m_event_dest, 1, &m_fn_name);
-
1115 }
-
1116
-
1120 event_fn_auto& operator=(_In_ const event_fn_auto &other)
-
1121 {
-
1122 if (this != &other) {
-
1123 assert(&m_ep == &other.m_ep);
-
1124 m_event_dest = other.m_event_dest;
-
1125 m_fn_name = other.m_fn_name;
-
1126 }
-
1127
-
1128 return *this;
-
1129 }
-
1130
-
1134 event_fn_auto& operator=(_Inout_ event_fn_auto &&other) noexcept
-
1135 {
-
1136 if (this != &other) {
-
1137 assert(&m_ep == &other.m_ep);
-
1138 m_event_dest = other.m_event_dest;
-
1139 m_fn_name = std::move(other.m_fn_name);
-
1140 other.m_event_dest = NULL;
-
1141 }
-
1142
-
1143 return *this;
-
1144 }
-
1145
-
1146 protected:
-
1147 event_provider &m_ep;
-
1148 const EVENT_DESCRIPTOR *m_event_dest;
-
1149 EVENT_DATA_DESCRIPTOR m_fn_name;
-
1150 };
-
1151
-
1157 template<class T>
-
1158 class event_fn_auto_ret
-
1159 {
-
1160 public:
-
1164 event_fn_auto_ret(_In_ event_provider &ep, _In_ const EVENT_DESCRIPTOR *event_cons, _In_ const EVENT_DESCRIPTOR *event_dest, _In_z_ LPCSTR pszFnName, T &result) :
-
1165 m_ep(ep),
-
1166 m_event_dest(event_dest),
-
1167 m_result(result)
-
1168 {
-
1169 EventDataDescCreate(m_desc + 0, pszFnName, (ULONG)(strlen(pszFnName) + 1)*sizeof(*pszFnName));
-
1170 m_ep.write(event_cons, 1, m_desc);
-
1171 }
-
1172
-
1176 event_fn_auto_ret(_In_ const event_fn_auto_ret<T> &other) :
-
1177 m_ep(other.m_ep),
-
1178 m_event_dest(other.m_event_dest),
-
1179 m_result(other.m_result)
-
1180 {
-
1181 m_desc[0] = other.m_desc[0];
-
1182 }
-
1183
-
1187 event_fn_auto_ret(_Inout_ event_fn_auto_ret<T> &&other) :
-
1188 m_ep(other.m_ep),
-
1189 m_event_dest(other.m_event_dest),
-
1190 m_result(other.m_result)
-
1191 {
-
1192 m_desc[0] = std::move(other.m_desc[0]);
-
1193 other.m_event_dest = NULL;
-
1194 }
-
1195
-
1199 ~event_fn_auto_ret()
-
1200 {
-
1201 if (m_event_dest) {
-
1202 EventDataDescCreate(m_desc + 1, &m_result, sizeof(T));
-
1203 m_ep.write(m_event_dest, 2, m_desc);
-
1204 }
-
1205 }
-
1206
-
1210 event_fn_auto_ret& operator=(_In_ const event_fn_auto_ret<T> &other)
-
1211 {
-
1212 if (this != &other) {
-
1213 assert(&m_ep == &other.m_ep);
-
1214 m_event_dest = other.m_event_dest;
-
1215 m_desc[0] = other.m_desc[0];
-
1216 assert(&m_result == &other.m_result);
-
1217 }
-
1218
-
1219 return *this;
-
1220 }
-
1221
-
1225 event_fn_auto_ret& operator=(_Inout_ event_fn_auto_ret<T> &&other)
-
1226 {
-
1227 if (this != &other) {
-
1228 assert(&m_ep == &other.m_ep);
-
1229 m_event_dest = other.m_event_dest;
-
1230 m_desc[0] = std::move(other.m_desc[0]);
-
1231 assert(&m_result == &other.m_result);
-
1232 other.m_event_dest = NULL;
-
1233 }
-
1234
-
1235 return *this;
-
1236 }
-
1237
-
1238 protected:
-
1239 event_provider &m_ep;
-
1240 const EVENT_DESCRIPTOR *m_event_dest;
-
1241 EVENT_DATA_DESCRIPTOR m_desc[2];
-
1242 T &m_result;
-
1243 };
-
1244
-
1246}
+
929 __declspec(deprecated("Use OpenTrace"))
+
930 bool create(_Inout_ PEVENT_TRACE_LOGFILE Logfile)
+
931 {
+
932 handle_type h = OpenTrace(Logfile);
+
933 if (h != invalid) {
+
934 attach(h);
+
935 return true;
+
936 } else
+
937 return false;
+
938 }
+
939
+
940 protected:
+
946 void free_internal() noexcept override
+
947 {
+
948 CloseTrace(m_h);
+
949 }
+
950 };
+
951
+
955 class event_trace_enabler
+
956 {
+
957 public:
+
963 event_trace_enabler(
+
964 _In_opt_ LPCGUID SourceId,
+
965 _In_ TRACEHANDLE TraceHandle,
+
966 _In_ LPCGUID ProviderId,
+
967 _In_ UCHAR Level,
+
968 _In_opt_ ULONGLONG MatchAnyKeyword = 0,
+
969 _In_opt_ ULONGLONG MatchAllKeyword = 0,
+
970 _In_opt_ ULONG EnableProperty = 0,
+
971 _In_opt_ PEVENT_FILTER_DESCRIPTOR EnableFilterDesc = NULL) :
+
972 m_provider_id(ProviderId),
+
973 m_source_id(SourceId),
+
974 m_trace_handle(TraceHandle),
+
975 m_level(Level),
+
976 m_match_any_keyword(MatchAnyKeyword),
+
977 m_match_all_keyword(MatchAllKeyword),
+
978 m_enable_property(EnableProperty),
+
979 m_enable_filter_desc(EnableFilterDesc)
+
980 {
+
981 m_status = EnableTraceEx(
+
982 m_provider_id,
+
983 m_source_id,
+
984 m_trace_handle,
+
985 EVENT_CONTROL_CODE_ENABLE_PROVIDER,
+
986 m_level,
+
987 m_match_any_keyword,
+
988 m_match_all_keyword,
+
989 m_enable_property,
+
990 m_enable_filter_desc);
+
991 }
+
992
+
998 event_trace_enabler(
+
999 _In_ const event_session &session,
+
1000 _In_ LPCGUID ProviderId,
+
1001 _In_ UCHAR Level,
+
1002 _In_opt_ ULONGLONG MatchAnyKeyword = 0,
+
1003 _In_opt_ ULONGLONG MatchAllKeyword = 0,
+
1004 _In_opt_ ULONG EnableProperty = 0,
+
1005 _In_opt_ PEVENT_FILTER_DESCRIPTOR EnableFilterDesc = NULL) :
+
1006 m_provider_id(ProviderId),
+
1007 m_source_id(&((const EVENT_TRACE_PROPERTIES*)session)->Wnode.Guid),
+
1008 m_trace_handle(session),
+
1009 m_level(Level),
+
1010 m_match_any_keyword(MatchAnyKeyword),
+
1011 m_match_all_keyword(MatchAllKeyword),
+
1012 m_enable_property(EnableProperty),
+
1013 m_enable_filter_desc(EnableFilterDesc)
+
1014 {
+
1015 m_status = EnableTraceEx(
+
1016 m_provider_id,
+
1017 m_source_id,
+
1018 m_trace_handle,
+
1019 EVENT_CONTROL_CODE_ENABLE_PROVIDER,
+
1020 m_level,
+
1021 m_match_any_keyword,
+
1022 m_match_all_keyword,
+
1023 m_enable_property,
+
1024 m_enable_filter_desc);
+
1025 }
+
1026
+
1032 ULONG status() const
+
1033 {
+
1034 return m_status;
+
1035 }
+
1036
+
1042 virtual ~event_trace_enabler()
+
1043 {
+
1044 if (m_status == ERROR_SUCCESS)
+
1045 EnableTraceEx(
+
1046 m_provider_id,
+
1047 m_source_id,
+
1048 m_trace_handle,
+
1049 EVENT_CONTROL_CODE_DISABLE_PROVIDER,
+
1050 m_level,
+
1051 m_match_any_keyword,
+
1052 m_match_all_keyword,
+
1053 m_enable_property,
+
1054 m_enable_filter_desc);
+
1055 }
+
1056
+
1057 protected:
+
1058 ULONG m_status;
+
1059 LPCGUID m_provider_id;
+
1060 LPCGUID m_source_id;
+
1061 TRACEHANDLE m_trace_handle;
+
1062 UCHAR m_level;
+
1063 ULONGLONG m_match_any_keyword;
+
1064 ULONGLONG m_match_all_keyword;
+
1065 ULONG m_enable_property;
+
1066 PEVENT_FILTER_DESCRIPTOR m_enable_filter_desc;
+
1067 };
+
1068
+
1074 class event_fn_auto
+
1075 {
+
1076 public:
+
1080 event_fn_auto(_In_ event_provider &ep, _In_ const EVENT_DESCRIPTOR *event_cons, _In_ const EVENT_DESCRIPTOR *event_dest, _In_z_ LPCSTR pszFnName) :
+
1081 m_ep(ep),
+
1082 m_event_dest(event_dest)
+
1083 {
+
1084 EventDataDescCreate(&m_fn_name, pszFnName, (ULONG)(strlen(pszFnName) + 1)*sizeof(*pszFnName));
+
1085 m_ep.write(event_cons, 1, &m_fn_name);
+
1086 }
+
1087
+
1091 event_fn_auto(_In_ const event_fn_auto &other) :
+
1092 m_ep(other.m_ep),
+
1093 m_event_dest(other.m_event_dest),
+
1094 m_fn_name(other.m_fn_name)
+
1095 {
+
1096 }
+
1097
+
1101 event_fn_auto(_Inout_ event_fn_auto &&other) noexcept :
+
1102 m_ep(other.m_ep),
+
1103 m_event_dest(other.m_event_dest),
+
1104 m_fn_name(std::move(other.m_fn_name))
+
1105 {
+
1106 other.m_event_dest = NULL;
+
1107 }
+
1108
+
1112 ~event_fn_auto()
+
1113 {
+
1114 if (m_event_dest)
+
1115 m_ep.write(m_event_dest, 1, &m_fn_name);
+
1116 }
+
1117
+
1121 event_fn_auto& operator=(_In_ const event_fn_auto &other)
+
1122 {
+
1123 if (this != &other) {
+
1124 assert(&m_ep == &other.m_ep);
+
1125 m_event_dest = other.m_event_dest;
+
1126 m_fn_name = other.m_fn_name;
+
1127 }
+
1128
+
1129 return *this;
+
1130 }
+
1131
+
1135 event_fn_auto& operator=(_Inout_ event_fn_auto &&other) noexcept
+
1136 {
+
1137 if (this != &other) {
+
1138 assert(&m_ep == &other.m_ep);
+
1139 m_event_dest = other.m_event_dest;
+
1140 m_fn_name = std::move(other.m_fn_name);
+
1141 other.m_event_dest = NULL;
+
1142 }
+
1143
+
1144 return *this;
+
1145 }
+
1146
+
1147 protected:
+
1148 event_provider &m_ep;
+
1149 const EVENT_DESCRIPTOR *m_event_dest;
+
1150 EVENT_DATA_DESCRIPTOR m_fn_name;
+
1151 };
+
1152
+
1158 template<class T>
+
1159 class event_fn_auto_ret
+
1160 {
+
1161 public:
+
1165 event_fn_auto_ret(_In_ event_provider &ep, _In_ const EVENT_DESCRIPTOR *event_cons, _In_ const EVENT_DESCRIPTOR *event_dest, _In_z_ LPCSTR pszFnName, T &result) :
+
1166 m_ep(ep),
+
1167 m_event_dest(event_dest),
+
1168 m_result(result)
+
1169 {
+
1170 EventDataDescCreate(m_desc + 0, pszFnName, (ULONG)(strlen(pszFnName) + 1)*sizeof(*pszFnName));
+
1171 m_ep.write(event_cons, 1, m_desc);
+
1172 }
+
1173
+
1177 event_fn_auto_ret(_In_ const event_fn_auto_ret<T> &other) :
+
1178 m_ep(other.m_ep),
+
1179 m_event_dest(other.m_event_dest),
+
1180 m_result(other.m_result)
+
1181 {
+
1182 m_desc[0] = other.m_desc[0];
+
1183 }
+
1184
+
1188 event_fn_auto_ret(_Inout_ event_fn_auto_ret<T> &&other) :
+
1189 m_ep(other.m_ep),
+
1190 m_event_dest(other.m_event_dest),
+
1191 m_result(other.m_result)
+
1192 {
+
1193 m_desc[0] = std::move(other.m_desc[0]);
+
1194 other.m_event_dest = NULL;
+
1195 }
+
1196
+
1200 ~event_fn_auto_ret()
+
1201 {
+
1202 if (m_event_dest) {
+
1203 EventDataDescCreate(m_desc + 1, &m_result, sizeof(T));
+
1204 m_ep.write(m_event_dest, 2, m_desc);
+
1205 }
+
1206 }
+
1207
+
1211 event_fn_auto_ret& operator=(_In_ const event_fn_auto_ret<T> &other)
+
1212 {
+
1213 if (this != &other) {
+
1214 assert(&m_ep == &other.m_ep);
+
1215 m_event_dest = other.m_event_dest;
+
1216 m_desc[0] = other.m_desc[0];
+
1217 assert(&m_result == &other.m_result);
+
1218 }
+
1219
+
1220 return *this;
+
1221 }
+
1222
+
1226 event_fn_auto_ret& operator=(_Inout_ event_fn_auto_ret<T> &&other)
+
1227 {
+
1228 if (this != &other) {
+
1229 assert(&m_ep == &other.m_ep);
+
1230 m_event_dest = other.m_event_dest;
+
1231 m_desc[0] = std::move(other.m_desc[0]);
+
1232 assert(&m_result == &other.m_result);
+
1233 other.m_event_dest = NULL;
+
1234 }
+
1235
+
1236 return *this;
+
1237 }
+
1238
+
1239 protected:
+
1240 event_provider &m_ep;
+
1241 const EVENT_DESCRIPTOR *m_event_dest;
+
1242 EVENT_DATA_DESCRIPTOR m_desc[2];
+
1243 T &m_result;
+
1244 };
+
1245
+
1247}
winstd::event_data
EVENT_DATA_DESCRIPTOR wrapper.
Definition: ETW.h:119
winstd::event_data::event_data
event_data(const char &data)
Construct class pointing to an char.
Definition: ETW.h:139
winstd::event_data::event_data
event_data(const wchar_t *data)
Construct class pointing to a wide string.
Definition: ETW.h:249
@@ -906,27 +907,27 @@ $(function() {
winstd::event_data::event_data
event_data(const unsigned long &data)
Construct class pointing to an unsigned long.
Definition: ETW.h:204
winstd::event_data::event_data
event_data()
Construct empty class.
Definition: ETW.h:124
winstd::event_data::event_data
event_data(const long &data)
Construct class pointing to a long.
Definition: ETW.h:191
-
winstd::event_fn_auto_ret
Helper template to write an event on entry/exit of scope with one parameter (typically result).
Definition: ETW.h:1159
-
winstd::event_fn_auto_ret::event_fn_auto_ret
event_fn_auto_ret(const event_fn_auto_ret< T > &other)
Copies the object.
Definition: ETW.h:1176
-
winstd::event_fn_auto_ret::~event_fn_auto_ret
~event_fn_auto_ret()
Writes the event_dest event.
Definition: ETW.h:1199
-
winstd::event_fn_auto_ret::m_desc
EVENT_DATA_DESCRIPTOR m_desc[2]
Function name and return value.
Definition: ETW.h:1241
-
winstd::event_fn_auto_ret::m_ep
event_provider & m_ep
Reference to event provider in use.
Definition: ETW.h:1239
-
winstd::event_fn_auto_ret::event_fn_auto_ret
event_fn_auto_ret(event_provider &ep, const EVENT_DESCRIPTOR *event_cons, const EVENT_DESCRIPTOR *event_dest, LPCSTR pszFnName, T &result)
Writes the event_cons event.
Definition: ETW.h:1164
-
winstd::event_fn_auto_ret::m_result
T & m_result
Function result.
Definition: ETW.h:1242
-
winstd::event_fn_auto_ret::operator=
event_fn_auto_ret & operator=(const event_fn_auto_ret< T > &other)
Copies the object.
Definition: ETW.h:1210
-
winstd::event_fn_auto_ret::m_event_dest
const EVENT_DESCRIPTOR * m_event_dest
Event descriptor at destruction.
Definition: ETW.h:1240
-
winstd::event_fn_auto_ret::event_fn_auto_ret
event_fn_auto_ret(event_fn_auto_ret< T > &&other)
Moves the object.
Definition: ETW.h:1187
-
winstd::event_fn_auto_ret::operator=
event_fn_auto_ret & operator=(event_fn_auto_ret< T > &&other)
Moves the object.
Definition: ETW.h:1225
-
winstd::event_fn_auto
Helper class to write an event on entry/exit of scope.
Definition: ETW.h:1074
-
winstd::event_fn_auto::m_event_dest
const EVENT_DESCRIPTOR * m_event_dest
Event descriptor at destruction.
Definition: ETW.h:1148
-
winstd::event_fn_auto::event_fn_auto
event_fn_auto(event_fn_auto &&other) noexcept
Moves the object.
Definition: ETW.h:1100
-
winstd::event_fn_auto::event_fn_auto
event_fn_auto(event_provider &ep, const EVENT_DESCRIPTOR *event_cons, const EVENT_DESCRIPTOR *event_dest, LPCSTR pszFnName)
Writes the event_cons event.
Definition: ETW.h:1079
-
winstd::event_fn_auto::~event_fn_auto
~event_fn_auto()
Writes the event_dest event.
Definition: ETW.h:1111
-
winstd::event_fn_auto::operator=
event_fn_auto & operator=(event_fn_auto &&other) noexcept
Moves the object.
Definition: ETW.h:1134
-
winstd::event_fn_auto::operator=
event_fn_auto & operator=(const event_fn_auto &other)
Copies the object.
Definition: ETW.h:1120
-
winstd::event_fn_auto::m_ep
event_provider & m_ep
Reference to event provider in use.
Definition: ETW.h:1147
-
winstd::event_fn_auto::m_fn_name
EVENT_DATA_DESCRIPTOR m_fn_name
Function name.
Definition: ETW.h:1149
-
winstd::event_fn_auto::event_fn_auto
event_fn_auto(const event_fn_auto &other)
Copies the object.
Definition: ETW.h:1090
+
winstd::event_fn_auto_ret
Helper template to write an event on entry/exit of scope with one parameter (typically result).
Definition: ETW.h:1160
+
winstd::event_fn_auto_ret::event_fn_auto_ret
event_fn_auto_ret(const event_fn_auto_ret< T > &other)
Copies the object.
Definition: ETW.h:1177
+
winstd::event_fn_auto_ret::~event_fn_auto_ret
~event_fn_auto_ret()
Writes the event_dest event.
Definition: ETW.h:1200
+
winstd::event_fn_auto_ret::m_desc
EVENT_DATA_DESCRIPTOR m_desc[2]
Function name and return value.
Definition: ETW.h:1242
+
winstd::event_fn_auto_ret::m_ep
event_provider & m_ep
Reference to event provider in use.
Definition: ETW.h:1240
+
winstd::event_fn_auto_ret::event_fn_auto_ret
event_fn_auto_ret(event_provider &ep, const EVENT_DESCRIPTOR *event_cons, const EVENT_DESCRIPTOR *event_dest, LPCSTR pszFnName, T &result)
Writes the event_cons event.
Definition: ETW.h:1165
+
winstd::event_fn_auto_ret::m_result
T & m_result
Function result.
Definition: ETW.h:1243
+
winstd::event_fn_auto_ret::operator=
event_fn_auto_ret & operator=(const event_fn_auto_ret< T > &other)
Copies the object.
Definition: ETW.h:1211
+
winstd::event_fn_auto_ret::m_event_dest
const EVENT_DESCRIPTOR * m_event_dest
Event descriptor at destruction.
Definition: ETW.h:1241
+
winstd::event_fn_auto_ret::event_fn_auto_ret
event_fn_auto_ret(event_fn_auto_ret< T > &&other)
Moves the object.
Definition: ETW.h:1188
+
winstd::event_fn_auto_ret::operator=
event_fn_auto_ret & operator=(event_fn_auto_ret< T > &&other)
Moves the object.
Definition: ETW.h:1226
+
winstd::event_fn_auto
Helper class to write an event on entry/exit of scope.
Definition: ETW.h:1075
+
winstd::event_fn_auto::m_event_dest
const EVENT_DESCRIPTOR * m_event_dest
Event descriptor at destruction.
Definition: ETW.h:1149
+
winstd::event_fn_auto::event_fn_auto
event_fn_auto(event_fn_auto &&other) noexcept
Moves the object.
Definition: ETW.h:1101
+
winstd::event_fn_auto::event_fn_auto
event_fn_auto(event_provider &ep, const EVENT_DESCRIPTOR *event_cons, const EVENT_DESCRIPTOR *event_dest, LPCSTR pszFnName)
Writes the event_cons event.
Definition: ETW.h:1080
+
winstd::event_fn_auto::~event_fn_auto
~event_fn_auto()
Writes the event_dest event.
Definition: ETW.h:1112
+
winstd::event_fn_auto::operator=
event_fn_auto & operator=(event_fn_auto &&other) noexcept
Moves the object.
Definition: ETW.h:1135
+
winstd::event_fn_auto::operator=
event_fn_auto & operator=(const event_fn_auto &other)
Copies the object.
Definition: ETW.h:1121
+
winstd::event_fn_auto::m_ep
event_provider & m_ep
Reference to event provider in use.
Definition: ETW.h:1148
+
winstd::event_fn_auto::m_fn_name
EVENT_DATA_DESCRIPTOR m_fn_name
Function name.
Definition: ETW.h:1150
+
winstd::event_fn_auto::event_fn_auto
event_fn_auto(const event_fn_auto &other)
Copies the object.
Definition: ETW.h:1091
winstd::event_provider
ETW event provider.
Definition: ETW.h:493
winstd::event_provider::write
ULONG write(PCEVENT_DESCRIPTOR EventDescriptor)
Writes an event with no parameters.
Definition: ETW.h:535
winstd::event_provider::write
ULONG write(PCEVENT_DESCRIPTOR EventDescriptor, ULONG UserDataCount=0, PEVENT_DATA_DESCRIPTOR UserData=NULL)
Writes an event with parameters stored in array.
Definition: ETW.h:550
@@ -964,24 +965,24 @@ $(function() {
winstd::event_session::m_prop
std::unique_ptr< EVENT_TRACE_PROPERTIES > m_prop
Session properties.
Definition: ETW.h:898
winstd::event_session::create
ULONG create(LPCTSTR SessionName, const EVENT_TRACE_PROPERTIES *Properties)
Registers and starts an event tracing session.
Definition: ETW.h:827
winstd::event_session::attach
void attach(handle_type h, EVENT_TRACE_PROPERTIES *prop)
Sets a new session handle for the class.
Definition: ETW.h:812
-
winstd::event_trace_enabler
Helper class to enable event provider in constructor and disables it in destructor.
Definition: ETW.h:955
-
winstd::event_trace_enabler::m_level
UCHAR m_level
Logging level.
Definition: ETW.h:1061
-
winstd::event_trace_enabler::m_enable_filter_desc
PEVENT_FILTER_DESCRIPTOR m_enable_filter_desc
Event filter descriptor.
Definition: ETW.h:1065
-
winstd::event_trace_enabler::m_match_any_keyword
ULONGLONG m_match_any_keyword
Keyword match mask (any)
Definition: ETW.h:1062
-
winstd::event_trace_enabler::event_trace_enabler
event_trace_enabler(LPCGUID SourceId, TRACEHANDLE TraceHandle, LPCGUID ProviderId, UCHAR Level, ULONGLONG MatchAnyKeyword=0, ULONGLONG MatchAllKeyword=0, ULONG EnableProperty=0, PEVENT_FILTER_DESCRIPTOR EnableFilterDesc=NULL)
Enables event trace.
Definition: ETW.h:962
-
winstd::event_trace_enabler::m_status
ULONG m_status
Result of EnableTraceEx call.
Definition: ETW.h:1057
-
winstd::event_trace_enabler::m_trace_handle
TRACEHANDLE m_trace_handle
Trace handle.
Definition: ETW.h:1060
-
winstd::event_trace_enabler::~event_trace_enabler
virtual ~event_trace_enabler()
Disables event trace.
Definition: ETW.h:1041
-
winstd::event_trace_enabler::status
ULONG status() const
Return result of EnableTraceEx() call.
Definition: ETW.h:1031
-
winstd::event_trace_enabler::event_trace_enabler
event_trace_enabler(const event_session &session, LPCGUID ProviderId, UCHAR Level, ULONGLONG MatchAnyKeyword=0, ULONGLONG MatchAllKeyword=0, ULONG EnableProperty=0, PEVENT_FILTER_DESCRIPTOR EnableFilterDesc=NULL)
Enables event trace.
Definition: ETW.h:997
-
winstd::event_trace_enabler::m_match_all_keyword
ULONGLONG m_match_all_keyword
Keyword match mask (all)
Definition: ETW.h:1063
-
winstd::event_trace_enabler::m_provider_id
LPCGUID m_provider_id
Provider ID.
Definition: ETW.h:1058
-
winstd::event_trace_enabler::m_source_id
LPCGUID m_source_id
Session ID.
Definition: ETW.h:1059
-
winstd::event_trace_enabler::m_enable_property
ULONG m_enable_property
Enable property.
Definition: ETW.h:1064
+
winstd::event_trace_enabler
Helper class to enable event provider in constructor and disables it in destructor.
Definition: ETW.h:956
+
winstd::event_trace_enabler::m_level
UCHAR m_level
Logging level.
Definition: ETW.h:1062
+
winstd::event_trace_enabler::m_enable_filter_desc
PEVENT_FILTER_DESCRIPTOR m_enable_filter_desc
Event filter descriptor.
Definition: ETW.h:1066
+
winstd::event_trace_enabler::m_match_any_keyword
ULONGLONG m_match_any_keyword
Keyword match mask (any)
Definition: ETW.h:1063
+
winstd::event_trace_enabler::event_trace_enabler
event_trace_enabler(LPCGUID SourceId, TRACEHANDLE TraceHandle, LPCGUID ProviderId, UCHAR Level, ULONGLONG MatchAnyKeyword=0, ULONGLONG MatchAllKeyword=0, ULONG EnableProperty=0, PEVENT_FILTER_DESCRIPTOR EnableFilterDesc=NULL)
Enables event trace.
Definition: ETW.h:963
+
winstd::event_trace_enabler::m_status
ULONG m_status
Result of EnableTraceEx call.
Definition: ETW.h:1058
+
winstd::event_trace_enabler::m_trace_handle
TRACEHANDLE m_trace_handle
Trace handle.
Definition: ETW.h:1061
+
winstd::event_trace_enabler::~event_trace_enabler
virtual ~event_trace_enabler()
Disables event trace.
Definition: ETW.h:1042
+
winstd::event_trace_enabler::status
ULONG status() const
Return result of EnableTraceEx() call.
Definition: ETW.h:1032
+
winstd::event_trace_enabler::event_trace_enabler
event_trace_enabler(const event_session &session, LPCGUID ProviderId, UCHAR Level, ULONGLONG MatchAnyKeyword=0, ULONGLONG MatchAllKeyword=0, ULONG EnableProperty=0, PEVENT_FILTER_DESCRIPTOR EnableFilterDesc=NULL)
Enables event trace.
Definition: ETW.h:998
+
winstd::event_trace_enabler::m_match_all_keyword
ULONGLONG m_match_all_keyword
Keyword match mask (all)
Definition: ETW.h:1064
+
winstd::event_trace_enabler::m_provider_id
LPCGUID m_provider_id
Provider ID.
Definition: ETW.h:1059
+
winstd::event_trace_enabler::m_source_id
LPCGUID m_source_id
Session ID.
Definition: ETW.h:1060
+
winstd::event_trace_enabler::m_enable_property
ULONG m_enable_property
Enable property.
Definition: ETW.h:1065
winstd::event_trace
ETW trace.
Definition: ETW.h:905
-
winstd::event_trace::create
bool create(PEVENT_TRACE_LOGFILE Logfile)
Opens a real-time trace session or log file for consuming.
Definition: ETW.h:929
+
winstd::event_trace::__declspec
__declspec(deprecated("Use OpenTrace")) bool create(PEVENT_TRACE_LOGFILE Logfile)
Opens a real-time trace session or log file for consuming.
Definition: ETW.h:929
winstd::event_trace::~event_trace
virtual ~event_trace()
Closes the trace.
Definition: ETW.h:914
-
winstd::event_trace::free_internal
void free_internal() noexcept override
Closes the trace.
Definition: ETW.h:945
+
winstd::event_trace::free_internal
void free_internal() noexcept override
Closes the trace.
Definition: ETW.h:946
winstd::handle
Base abstract template class to support generic object handle keeping.
Definition: Common.h:603
winstd::handle< TRACEHANDLE, 0 >::handle
handle() noexcept
Initializes a new class instance with the object handle set to INVAL.
Definition: Common.h:618
winstd::handle< REGHANDLE, NULL >::handle_type
REGHANDLE handle_type
Datatype of the object handle this template class handles.
Definition: Common.h:608
@@ -994,7 +995,7 @@ $(function() { diff --git a/_g_d_i_8h_source.html b/_g_d_i_8h_source.html index 469aac48..6775c50c 100644 --- a/_g_d_i_8h_source.html +++ b/_g_d_i_8h_source.html @@ -221,7 +221,7 @@ $(function() { diff --git a/_m_s_i_8h_source.html b/_m_s_i_8h_source.html index b9ed71ba..268e3049 100644 --- a/_m_s_i_8h_source.html +++ b/_m_s_i_8h_source.html @@ -365,7 +365,7 @@ $(function() { diff --git a/_sec_8h_source.html b/_sec_8h_source.html index e1a102eb..73111378 100644 --- a/_sec_8h_source.html +++ b/_sec_8h_source.html @@ -368,7 +368,7 @@ $(function() { diff --git a/_setup_a_p_i_8h_source.html b/_setup_a_p_i_8h_source.html index 51630b07..225882c8 100644 --- a/_setup_a_p_i_8h_source.html +++ b/_setup_a_p_i_8h_source.html @@ -95,93 +95,95 @@ $(function() {
36 free_internal();
37 }
38
-
48 bool create(
-
49 _In_opt_ const GUID * ClassGuid,
-
50 _In_opt_ HWND hwndParent) noexcept
-
51 {
-
52 handle_type h = SetupDiCreateDeviceInfoList(ClassGuid, hwndParent);
-
53 if (h != invalid) {
-
54 attach(h);
-
55 return true;
-
56 }
-
57 else
-
58 return false;
-
59 }
-
60
-
70 bool create(
-
71 _In_opt_ const GUID * ClassGuid,
-
72 _In_opt_ PCTSTR Enumerator,
-
73 _In_opt_ HWND hwndParent,
-
74 _In_ DWORD Flags,
-
75 _In_opt_ HDEVINFO DeviceInfoSet,
-
76 _In_opt_ PCTSTR MachineName,
-
77 _Reserved_ PVOID Reserved) noexcept
-
78 {
-
79 handle_type h = SetupDiGetClassDevsEx(ClassGuid, Enumerator, hwndParent, Flags, DeviceInfoSet, MachineName, Reserved);
-
80 if (h != invalid) {
-
81 attach(h);
-
82 return true;
-
83 }
-
84 else
-
85 return false;
-
86 }
-
87
-
88 protected:
-
94 void free_internal() noexcept override
-
95 {
-
96 SetupDiDestroyDeviceInfoList(m_h);
-
97 }
-
98 };
-
99
-
103 class setup_driver_info_list_builder
-
104 {
-
105 WINSTD_NONCOPYABLE(setup_driver_info_list_builder)
-
106 WINSTD_NONMOVABLE(setup_driver_info_list_builder)
-
107
-
108 public:
-
114 setup_driver_info_list_builder(
-
115 _In_ HDEVINFO DeviceInfoSet,
-
116 _Inout_opt_ PSP_DEVINFO_DATA DeviceInfoData,
-
117 _In_ DWORD DriverType) noexcept :
-
118 m_DeviceInfoSet (DeviceInfoSet),
-
119 m_DeviceInfoData(DeviceInfoData),
-
120 m_DriverType (DriverType)
-
121 {
-
122 m_result = SetupDiBuildDriverInfoList(m_DeviceInfoSet, m_DeviceInfoData, m_DriverType);
-
123 }
-
124
-
130 virtual ~setup_driver_info_list_builder()
-
131 {
-
132 if (m_result)
-
133 SetupDiDestroyDriverInfoList(m_DeviceInfoSet, m_DeviceInfoData, m_DriverType);
-
134 }
-
135
-
141 BOOL status() const noexcept
-
142 {
-
143 return m_result;
-
144 }
-
145
-
146 protected:
-
148 HDEVINFO m_DeviceInfoSet;
-
149 PSP_DEVINFO_DATA m_DeviceInfoData;
-
150 DWORD m_DriverType;
-
151 BOOL m_result;
-
153 };
-
154
-
156}
+
48 __declspec(deprecated("Use SetupDiCreateDeviceInfoList"))
+
49 bool create(
+
50 _In_opt_ const GUID * ClassGuid,
+
51 _In_opt_ HWND hwndParent) noexcept
+
52 {
+
53 handle_type h = SetupDiCreateDeviceInfoList(ClassGuid, hwndParent);
+
54 if (h != invalid) {
+
55 attach(h);
+
56 return true;
+
57 }
+
58 else
+
59 return false;
+
60 }
+
61
+
71 __declspec(deprecated("Use SetupDiGetClassDevsEx"))
+
72 bool create(
+
73 _In_opt_ const GUID * ClassGuid,
+
74 _In_opt_ PCTSTR Enumerator,
+
75 _In_opt_ HWND hwndParent,
+
76 _In_ DWORD Flags,
+
77 _In_opt_ HDEVINFO DeviceInfoSet,
+
78 _In_opt_ PCTSTR MachineName,
+
79 _Reserved_ PVOID Reserved) noexcept
+
80 {
+
81 handle_type h = SetupDiGetClassDevsEx(ClassGuid, Enumerator, hwndParent, Flags, DeviceInfoSet, MachineName, Reserved);
+
82 if (h != invalid) {
+
83 attach(h);
+
84 return true;
+
85 }
+
86 else
+
87 return false;
+
88 }
+
89
+
90 protected:
+
96 void free_internal() noexcept override
+
97 {
+
98 SetupDiDestroyDeviceInfoList(m_h);
+
99 }
+
100 };
+
101
+
105 class setup_driver_info_list_builder
+
106 {
+
107 WINSTD_NONCOPYABLE(setup_driver_info_list_builder)
+
108 WINSTD_NONMOVABLE(setup_driver_info_list_builder)
+
109
+
110 public:
+
116 setup_driver_info_list_builder(
+
117 _In_ HDEVINFO DeviceInfoSet,
+
118 _Inout_opt_ PSP_DEVINFO_DATA DeviceInfoData,
+
119 _In_ DWORD DriverType) noexcept :
+
120 m_DeviceInfoSet (DeviceInfoSet),
+
121 m_DeviceInfoData(DeviceInfoData),
+
122 m_DriverType (DriverType)
+
123 {
+
124 m_result = SetupDiBuildDriverInfoList(m_DeviceInfoSet, m_DeviceInfoData, m_DriverType);
+
125 }
+
126
+
132 virtual ~setup_driver_info_list_builder()
+
133 {
+
134 if (m_result)
+
135 SetupDiDestroyDriverInfoList(m_DeviceInfoSet, m_DeviceInfoData, m_DriverType);
+
136 }
+
137
+
143 BOOL status() const noexcept
+
144 {
+
145 return m_result;
+
146 }
+
147
+
148 protected:
+
150 HDEVINFO m_DeviceInfoSet;
+
151 PSP_DEVINFO_DATA m_DeviceInfoData;
+
152 DWORD m_DriverType;
+
153 BOOL m_result;
+
155 };
+
156
+
158}
winstd::handle
Base abstract template class to support generic object handle keeping.
Definition: Common.h:603
winstd::handle< HDEVINFO, INVALID_HANDLE_VALUE >::handle_type
HDEVINFO handle_type
Datatype of the object handle this template class handles.
Definition: Common.h:608
winstd::handle< HDEVINFO, INVALID_HANDLE_VALUE >::m_h
handle_type m_h
Object handle.
Definition: Common.h:854
winstd::handle< HDEVINFO, INVALID_HANDLE_VALUE >::attach
void attach(handle_type h) noexcept
Sets a new object handle for the class.
Definition: Common.h:817
winstd::setup_device_info_list
HDEVINFO wrapper class.
Definition: SetupAPI.h:24
-
winstd::setup_device_info_list::create
bool create(const GUID *ClassGuid, HWND hwndParent) noexcept
Creates an empty device information set and optionally associates the set with a device setup class a...
Definition: SetupAPI.h:48
winstd::setup_device_info_list::~setup_device_info_list
virtual ~setup_device_info_list()
Frees the device information set.
Definition: SetupAPI.h:33
-
winstd::setup_device_info_list::free_internal
void free_internal() noexcept override
Frees the device information set.
Definition: SetupAPI.h:94
-
winstd::setup_device_info_list::create
bool create(const GUID *ClassGuid, PCTSTR Enumerator, HWND hwndParent, DWORD Flags, HDEVINFO DeviceInfoSet, PCTSTR MachineName, PVOID Reserved) noexcept
Creates a device information set that contains requested device information elements for a local or a...
Definition: SetupAPI.h:70
-
winstd::setup_driver_info_list_builder
Builds a list of drivers in constructor and deletes it in destructor.
Definition: SetupAPI.h:104
-
winstd::setup_driver_info_list_builder::setup_driver_info_list_builder
setup_driver_info_list_builder(HDEVINFO DeviceInfoSet, PSP_DEVINFO_DATA DeviceInfoData, DWORD DriverType) noexcept
Construct the builder and builds a list of drivers that is associated with a specific device or with ...
Definition: SetupAPI.h:114
-
winstd::setup_driver_info_list_builder::~setup_driver_info_list_builder
virtual ~setup_driver_info_list_builder()
Deletes a driver list and destructs the builder.
Definition: SetupAPI.h:130
-
winstd::setup_driver_info_list_builder::status
BOOL status() const noexcept
Return result of SetupDiBuildDriverInfoList() call.
Definition: SetupAPI.h:141
+
winstd::setup_device_info_list::__declspec
__declspec(deprecated("Use SetupDiCreateDeviceInfoList")) bool create(const GUID *ClassGuid
Creates an empty device information set and optionally associates the set with a device setup class a...
+
winstd::setup_device_info_list::free_internal
void free_internal() noexcept override
Frees the device information set.
Definition: SetupAPI.h:96
+
winstd::setup_device_info_list::__declspec
__declspec(deprecated("Use SetupDiGetClassDevsEx")) bool create(const GUID *ClassGuid
Creates a device information set that contains requested device information elements for a local or a...
+
winstd::setup_driver_info_list_builder
Builds a list of drivers in constructor and deletes it in destructor.
Definition: SetupAPI.h:106
+
winstd::setup_driver_info_list_builder::setup_driver_info_list_builder
setup_driver_info_list_builder(HDEVINFO DeviceInfoSet, PSP_DEVINFO_DATA DeviceInfoData, DWORD DriverType) noexcept
Construct the builder and builds a list of drivers that is associated with a specific device or with ...
Definition: SetupAPI.h:116
+
winstd::setup_driver_info_list_builder::~setup_driver_info_list_builder
virtual ~setup_driver_info_list_builder()
Deletes a driver list and destructs the builder.
Definition: SetupAPI.h:132
+
winstd::setup_driver_info_list_builder::status
BOOL status() const noexcept
Return result of SetupDiBuildDriverInfoList() call.
Definition: SetupAPI.h:143
WINSTD_NONCOPYABLE
#define WINSTD_NONCOPYABLE(C)
Declares a class as non-copyable.
Definition: Common.h:52
WINSTD_NONMOVABLE
#define WINSTD_NONMOVABLE(C)
Declares a class as non-movable.
Definition: Common.h:60
WINSTD_HANDLE_IMPL
#define WINSTD_HANDLE_IMPL(C, INVAL)
Implements default constructors and operators to prevent their auto-generation by compiler.
Definition: Common.h:161
@@ -189,7 +191,7 @@ $(function() { diff --git a/_shell_8h_source.html b/_shell_8h_source.html index 0576a94a..daa57db0 100644 --- a/_shell_8h_source.html +++ b/_shell_8h_source.html @@ -109,7 +109,7 @@ $(function() { diff --git a/_w_l_a_n_8h_source.html b/_w_l_a_n_8h_source.html index faacf9f4..eae3e514 100644 --- a/_w_l_a_n_8h_source.html +++ b/_w_l_a_n_8h_source.html @@ -163,35 +163,52 @@ $(function() {
140 free_internal();
141 }
142
-
152 bool open(_In_ DWORD dwClientVersion, _Out_ PDWORD pdwNegotiatedVersion) noexcept
-
153 {
-
154 handle_type h;
-
155 const DWORD dwResult = WlanOpenHandle(dwClientVersion, 0, pdwNegotiatedVersion, &h);
-
156 if (dwResult == ERROR_SUCCESS) {
-
157 attach(h);
-
158 return true;
-
159 } else {
-
160 SetLastError(dwResult);
-
161 return false;
-
162 }
-
163 }
-
164
-
165 protected:
-
171 void free_internal() noexcept override
-
172 {
-
173 WlanCloseHandle(m_h, NULL);
-
174 }
-
175 };
-
176
-
178}
+
152 __declspec(deprecated("Use WlanOpenHandle - mind it returns error number rather than SetLastError"))
+
153 bool open(_In_ DWORD dwClientVersion, _Out_ PDWORD pdwNegotiatedVersion) noexcept
+
154 {
+
155 handle_type h;
+
156 const DWORD dwResult = WlanOpenHandle(dwClientVersion, 0, pdwNegotiatedVersion, &h);
+
157 if (dwResult == ERROR_SUCCESS) {
+
158 attach(h);
+
159 return true;
+
160 } else {
+
161 SetLastError(dwResult);
+
162 return false;
+
163 }
+
164 }
+
165
+
166 protected:
+
172 void free_internal() noexcept override
+
173 {
+
174 WlanCloseHandle(m_h, NULL);
+
175 }
+
176 };
+
177
+
179}
+
180
+
183
+
189#pragma warning(suppress: 4505) // Don't warn on unused code
+
190static DWORD WlanOpenHandle(
+
191 _In_ DWORD dwClientVersion,
+
192 _Reserved_ PVOID pReserved,
+
193 _Out_ PDWORD pdwNegotiatedVersion,
+
194 _Inout_ winstd::wlan_handle &handle)
+
195{
+
196 HANDLE h;
+
197 DWORD dwResult = WlanOpenHandle(dwClientVersion, pReserved, pdwNegotiatedVersion, &h);
+
198 if (dwResult == ERROR_SUCCESS)
+
199 handle.attach(h);
+
200 return dwResult;
+
201}
+
202
winstd::handle
Base abstract template class to support generic object handle keeping.
Definition: Common.h:603
winstd::handle< HANDLE, NULL >::handle_type
HANDLE handle_type
Datatype of the object handle this template class handles.
Definition: Common.h:608
winstd::handle< HANDLE, NULL >::m_h
handle_type m_h
Object handle.
Definition: Common.h:854
winstd::handle< HANDLE, NULL >::attach
void attach(handle_type h) noexcept
Sets a new object handle for the class.
Definition: Common.h:817
winstd::wlan_handle
WLAN handle wrapper.
Definition: WLAN.h:128
winstd::wlan_handle::~wlan_handle
virtual ~wlan_handle()
Closes a connection to the server.
Definition: WLAN.h:137
-
winstd::wlan_handle::free_internal
void free_internal() noexcept override
Closes a connection to the server.
Definition: WLAN.h:171
-
winstd::wlan_handle::open
bool open(DWORD dwClientVersion, PDWORD pdwNegotiatedVersion) noexcept
Opens a connection to the server.
Definition: WLAN.h:152
+
winstd::wlan_handle::free_internal
void free_internal() noexcept override
Closes a connection to the server.
Definition: WLAN.h:172
+
winstd::wlan_handle::__declspec
__declspec(deprecated("Use WlanOpenHandle - mind it returns error number rather than SetLastError")) bool open(DWORD dwClientVersion
Opens a connection to the server.
WINSTD_HANDLE_IMPL
#define WINSTD_HANDLE_IMPL(C, INVAL)
Implements default constructors and operators to prevent their auto-generation by compiler.
Definition: Common.h:161
winstd::handle< HANDLE, NULL >::invalid
static const HANDLE invalid
Invalid handle value.
Definition: Common.h:613
winstd::WlanFreeMemory_delete< _Ty[]>::WlanFreeMemory_delete
WlanFreeMemory_delete()
Default construct.
Definition: WLAN.h:104
@@ -206,7 +223,7 @@ $(function() { diff --git a/_win_8h_source.html b/_win_8h_source.html index 31c8c19c..fe7f6f72 100644 --- a/_win_8h_source.html +++ b/_win_8h_source.html @@ -86,1846 +86,1949 @@ $(function() {
14#pragma warning(disable: 4505) // Don't warn on unused code
15
21
-
23template<class _Traits, class _Ax>
-
24static DWORD GetModuleFileNameA(_In_opt_ HMODULE hModule, _Out_ std::basic_string<char, _Traits, _Ax> &sValue) noexcept
-
25{
-
26 assert(0); // TODO: Test this code.
-
27
-
28 char szStackBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(char)];
-
29
-
30 // Try with stack buffer first.
-
31 DWORD dwResult = ::GetModuleFileNameA(hModule, szStackBuffer, _countof(szStackBuffer));
-
32 if (dwResult < _countof(szStackBuffer)) {
-
33 // Copy from stack.
-
34 sValue.assign(szStackBuffer, dwResult);
-
35 return dwResult;
-
36 } else {
-
37 for (DWORD dwCapacity = 2*WINSTD_STACK_BUFFER_BYTES/sizeof(char);; dwCapacity *= 2) {
-
38 // Allocate on heap and retry.
-
39 std::unique_ptr<char[]> szBuffer(new char[dwCapacity]);
-
40 dwResult = ::GetModuleFileNameA(hModule, szBuffer.get(), dwCapacity);
-
41 if (dwResult < dwCapacity) {
-
42 sValue.assign(szBuffer.get(), dwResult);
-
43 return dwResult;
-
44 }
-
45 }
-
46 }
-
47}
-
48
-
54template<class _Traits, class _Ax>
-
55static DWORD GetModuleFileNameW(_In_opt_ HMODULE hModule, _Out_ std::basic_string<wchar_t, _Traits, _Ax> &sValue) noexcept
-
56{
-
57 wchar_t szStackBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(wchar_t)];
-
58
-
59 // Try with stack buffer first.
-
60 DWORD dwResult = ::GetModuleFileNameW(hModule, szStackBuffer, _countof(szStackBuffer));
-
61 if (dwResult < _countof(szStackBuffer)) {
-
62 // Copy from stack.
-
63 sValue.assign(szStackBuffer, dwResult);
-
64 return dwResult;
-
65 } else {
-
66 for (DWORD dwCapacity = 2*WINSTD_STACK_BUFFER_BYTES/sizeof(wchar_t);; dwCapacity *= 2) {
-
67 // Allocate on heap and retry.
-
68 std::unique_ptr<wchar_t[]> szBuffer(new wchar_t[dwCapacity]);
-
69 dwResult = ::GetModuleFileNameW(hModule, szBuffer.get(), dwCapacity);
-
70 if (dwResult < dwCapacity) {
-
71 sValue.assign(szBuffer.get(), dwResult);
-
72 return dwResult;
-
73 }
-
74 }
-
75 }
-
76}
-
77
-
79template<class _Traits, class _Ax>
-
80static _Success_(return != 0) int GetWindowTextA(_In_ HWND hWnd, _Out_ std::basic_string<char, _Traits, _Ax> &sValue) noexcept
-
81{
-
82 assert(0); // TODO: Test this code.
-
83
-
84 int iResult;
-
85
-
86 // Query the final string length first.
-
87 iResult = ::GetWindowTextLengthA(hWnd);
-
88 if (iResult > 0) {
-
89 if (++iResult < WINSTD_STACK_BUFFER_BYTES/sizeof(char)) {
-
90 // Read string data to stack.
-
91 char szBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(char)];
-
92 iResult = ::GetWindowTextA(hWnd, szBuffer, _countof(szBuffer));
-
93 sValue.assign(szBuffer, iResult);
-
94 } else {
-
95 // Allocate buffer on heap and read the string data into it.
-
96 std::unique_ptr<char[]> szBuffer(new char[++iResult]);
-
97 iResult = ::GetWindowTextA(hWnd, szBuffer.get(), iResult);
-
98 sValue.assign(szBuffer.get(), iResult);
-
99 }
-
100 return iResult;
-
101 }
-
102
-
103 sValue.clear();
-
104 return 0;
-
105}
-
106
-
112template<class _Traits, class _Ax>
-
113static _Success_(return != 0) int GetWindowTextW(_In_ HWND hWnd, _Out_ std::basic_string<wchar_t, _Traits, _Ax> &sValue) noexcept
-
114{
-
115 assert(0); // TODO: Test this code.
-
116
-
117 int iResult;
+
25#define WINSTD_WINHANDLE_IMPL(C, INVAL) \
+
26public: \
+
27 C ( ) noexcept { } \
+
28 C (_In_opt_ handle_type h) noexcept : win_handle<INVAL>( h ) { } \
+
29 C (_Inout_ C &&h) noexcept : win_handle<INVAL>(std::move(h)) { } \
+
30 C& operator=(_In_opt_ handle_type h) noexcept { win_handle<INVAL>::operator=( h ); return *this; } \
+
31 C& operator=(_Inout_ C &&h) noexcept { win_handle<INVAL>::operator=(std::move(h)); return *this; } \
+
32WINSTD_NONCOPYABLE(C)
+
33
+
35template<class _Traits, class _Ax>
+
36static DWORD GetModuleFileNameA(_In_opt_ HMODULE hModule, _Out_ std::basic_string<char, _Traits, _Ax> &sValue) noexcept
+
37{
+
38 assert(0); // TODO: Test this code.
+
39
+
40 char szStackBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(char)];
+
41
+
42 // Try with stack buffer first.
+
43 DWORD dwResult = ::GetModuleFileNameA(hModule, szStackBuffer, _countof(szStackBuffer));
+
44 if (dwResult < _countof(szStackBuffer)) {
+
45 // Copy from stack.
+
46 sValue.assign(szStackBuffer, dwResult);
+
47 return dwResult;
+
48 } else {
+
49 for (DWORD dwCapacity = 2*WINSTD_STACK_BUFFER_BYTES/sizeof(char);; dwCapacity *= 2) {
+
50 // Allocate on heap and retry.
+
51 std::unique_ptr<char[]> szBuffer(new char[dwCapacity]);
+
52 dwResult = ::GetModuleFileNameA(hModule, szBuffer.get(), dwCapacity);
+
53 if (dwResult < dwCapacity) {
+
54 sValue.assign(szBuffer.get(), dwResult);
+
55 return dwResult;
+
56 }
+
57 }
+
58 }
+
59}
+
60
+
66template<class _Traits, class _Ax>
+
67static DWORD GetModuleFileNameW(_In_opt_ HMODULE hModule, _Out_ std::basic_string<wchar_t, _Traits, _Ax> &sValue) noexcept
+
68{
+
69 wchar_t szStackBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(wchar_t)];
+
70
+
71 // Try with stack buffer first.
+
72 DWORD dwResult = ::GetModuleFileNameW(hModule, szStackBuffer, _countof(szStackBuffer));
+
73 if (dwResult < _countof(szStackBuffer)) {
+
74 // Copy from stack.
+
75 sValue.assign(szStackBuffer, dwResult);
+
76 return dwResult;
+
77 } else {
+
78 for (DWORD dwCapacity = 2*WINSTD_STACK_BUFFER_BYTES/sizeof(wchar_t);; dwCapacity *= 2) {
+
79 // Allocate on heap and retry.
+
80 std::unique_ptr<wchar_t[]> szBuffer(new wchar_t[dwCapacity]);
+
81 dwResult = ::GetModuleFileNameW(hModule, szBuffer.get(), dwCapacity);
+
82 if (dwResult < dwCapacity) {
+
83 sValue.assign(szBuffer.get(), dwResult);
+
84 return dwResult;
+
85 }
+
86 }
+
87 }
+
88}
+
89
+
91template<class _Traits, class _Ax>
+
92static _Success_(return != 0) int GetWindowTextA(_In_ HWND hWnd, _Out_ std::basic_string<char, _Traits, _Ax> &sValue) noexcept
+
93{
+
94 assert(0); // TODO: Test this code.
+
95
+
96 int iResult;
+
97
+
98 // Query the final string length first.
+
99 iResult = ::GetWindowTextLengthA(hWnd);
+
100 if (iResult > 0) {
+
101 if (++iResult < WINSTD_STACK_BUFFER_BYTES/sizeof(char)) {
+
102 // Read string data to stack.
+
103 char szBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(char)];
+
104 iResult = ::GetWindowTextA(hWnd, szBuffer, _countof(szBuffer));
+
105 sValue.assign(szBuffer, iResult);
+
106 } else {
+
107 // Allocate buffer on heap and read the string data into it.
+
108 std::unique_ptr<char[]> szBuffer(new char[++iResult]);
+
109 iResult = ::GetWindowTextA(hWnd, szBuffer.get(), iResult);
+
110 sValue.assign(szBuffer.get(), iResult);
+
111 }
+
112 return iResult;
+
113 }
+
114
+
115 sValue.clear();
+
116 return 0;
+
117}
118
-
119 // Query the final string length first.
-
120 iResult = ::GetWindowTextLengthW(hWnd);
-
121 if (iResult > 0) {
-
122 if (++iResult < WINSTD_STACK_BUFFER_BYTES/sizeof(wchar_t)) {
-
123 // Read string data to stack.
-
124 wchar_t szBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(wchar_t)];
-
125 iResult = ::GetWindowTextW(hWnd, szBuffer, _countof(szBuffer));
-
126 sValue.assign(szBuffer, iResult);
-
127 } else {
-
128 // Allocate buffer on heap and read the string data into it.
-
129 std::unique_ptr<wchar_t[]> szBuffer(new wchar_t[++iResult]);
-
130 iResult = ::GetWindowTextW(hWnd, szBuffer.get(), iResult);
-
131 sValue.assign(szBuffer.get(), iResult);
-
132 }
-
133 return iResult;
-
134 }
-
135
-
136 sValue.clear();
-
137 return 0;
-
138}
-
139
-
141template<class _Ty, class _Ax>
-
142static _Success_(return != 0) BOOL GetFileVersionInfoA(_In_z_ LPCSTR lptstrFilename, __reserved DWORD dwHandle, _Out_ std::vector<_Ty, _Ax> &aValue) noexcept
-
143{
-
144 assert(0); // TODO: Test this code.
-
145
-
146 // Get version info size.
-
147 DWORD dwVerInfoSize = ::GetFileVersionInfoSizeA(lptstrFilename, &dwHandle);
-
148 if (dwVerInfoSize != 0) {
-
149 // Read version info.
-
150 aValue.resize((dwVerInfoSize + sizeof(_Ty) - 1) / sizeof(_Ty));
-
151 return ::GetFileVersionInfoA(lptstrFilename, dwHandle, dwVerInfoSize, aValue.data());
-
152 } else
-
153 return FALSE;
-
154}
-
155
-
161template<class _Ty, class _Ax>
-
162static _Success_(return != 0) BOOL GetFileVersionInfoW(_In_z_ LPCWSTR lptstrFilename, __reserved DWORD dwHandle, _Out_ std::vector<_Ty, _Ax> &aValue) noexcept
-
163{
-
164 assert(0); // TODO: Test this code.
-
165
-
166 // Get version info size.
-
167 DWORD dwVerInfoSize = ::GetFileVersionInfoSizeW(lptstrFilename, &dwHandle);
-
168 if (dwVerInfoSize != 0) {
-
169 // Read version info.
-
170 aValue.resize((dwVerInfoSize + sizeof(_Ty) - 1) / sizeof(_Ty));
-
171 return ::GetFileVersionInfoW(lptstrFilename, dwHandle, dwVerInfoSize, aValue.data());
-
172 } else
-
173 return FALSE;
-
174}
-
175
-
177template<class _Traits, class _Ax>
-
178static _Success_(return != 0) DWORD ExpandEnvironmentStringsA(_In_z_ LPCSTR lpSrc, _Out_ std::basic_string<char, _Traits, _Ax> &sValue) noexcept
-
179{
-
180 assert(0); // TODO: Test this code.
-
181
-
182 for (DWORD dwSizeOut = (DWORD)strlen(lpSrc) + 0x100;;) {
-
183 DWORD dwSizeIn = dwSizeOut;
-
184 std::unique_ptr<char[]> szBuffer(new char[(size_t)dwSizeIn + 2]); // Note: ANSI version requires one extra char.
-
185 dwSizeOut = ::ExpandEnvironmentStringsA(lpSrc, szBuffer.get(), dwSizeIn);
-
186 if (dwSizeOut == 0) {
-
187 // Error or zero-length input.
-
188 break;
-
189 } else if (dwSizeOut <= dwSizeIn) {
-
190 // The buffer was sufficient.
-
191 sValue.assign(szBuffer.get(), dwSizeOut - 1);
-
192 return dwSizeOut;
-
193 }
-
194 }
-
195
-
196 sValue.clear();
-
197 return 0;
-
198}
-
199
-
205template<class _Traits, class _Ax>
-
206static _Success_(return != 0) DWORD ExpandEnvironmentStringsW(_In_z_ LPCWSTR lpSrc, _Out_ std::basic_string<wchar_t, _Traits, _Ax> &sValue) noexcept
-
207{
-
208 for (DWORD dwSizeOut = (DWORD)wcslen(lpSrc) + 0x100;;) {
-
209 DWORD dwSizeIn = dwSizeOut;
-
210 std::unique_ptr<wchar_t[]> szBuffer(new wchar_t[(size_t)dwSizeIn + 1]);
-
211 dwSizeOut = ::ExpandEnvironmentStringsW(lpSrc, szBuffer.get(), dwSizeIn);
-
212 if (dwSizeOut == 0) {
-
213 // Error or zero-length input.
-
214 break;
-
215 } else if (dwSizeOut <= dwSizeIn) {
-
216 // The buffer was sufficient.
-
217 sValue.assign(szBuffer.get(), dwSizeOut - 1);
-
218 return dwSizeOut;
-
219 }
-
220 }
-
221
-
222 sValue.clear();
-
223 return 0;
-
224}
-
225
-
227template<class _Traits, class _Ax>
-
228static VOID GuidToStringA(_In_ LPCGUID lpGuid, _Out_ std::basic_string<char, _Traits, _Ax> &str) noexcept
-
229{
-
230 assert(0); // TODO: Test this code.
-
231
-
232 sprintf(str, "{%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X}",
-
233 lpGuid->Data1,
-
234 lpGuid->Data2,
-
235 lpGuid->Data3,
-
236 lpGuid->Data4[0], lpGuid->Data4[1],
-
237 lpGuid->Data4[2], lpGuid->Data4[3], lpGuid->Data4[4], lpGuid->Data4[5], lpGuid->Data4[6], lpGuid->Data4[7]);
-
238}
-
239
-
246template<class _Traits, class _Ax>
-
247static VOID GuidToStringW(_In_ LPCGUID lpGuid, _Out_ std::basic_string<wchar_t, _Traits, _Ax> &str) noexcept
-
248{
-
249 assert(0); // TODO: Test this code.
-
250
-
251 sprintf(str, L"{%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X}",
-
252 lpGuid->Data1,
-
253 lpGuid->Data2,
-
254 lpGuid->Data3,
-
255 lpGuid->Data4[0], lpGuid->Data4[1],
-
256 lpGuid->Data4[2], lpGuid->Data4[3], lpGuid->Data4[4], lpGuid->Data4[5], lpGuid->Data4[6], lpGuid->Data4[7]);
-
257}
-
258
-
260#ifdef _UNICODE
-
261#define GuidToString GuidToStringW
-
262#else
-
263#define GuidToString GuidToStringA
-
264#endif
-
265
-
267static _Success_(return) BOOL StringToGuidA(_In_z_ LPCSTR lpszGuid, _Out_ LPGUID lpGuid, _Out_opt_ LPCSTR *lpszGuidEnd = NULL) noexcept
-
268{
-
269 GUID g;
-
270 LPSTR lpszEnd;
-
271 unsigned long ulTmp;
-
272 unsigned long long ullTmp;
-
273
-
274 if (!lpszGuid || !lpGuid || *lpszGuid != '{') return FALSE;
-
275 lpszGuid++;
-
276
-
277 g.Data1 = strtoul(lpszGuid, &lpszEnd, 16);
-
278 if (errno == ERANGE) return FALSE;
-
279 lpszGuid = lpszEnd;
-
280
-
281 if (*lpszGuid != '-') return FALSE;
-
282 lpszGuid++;
-
283
-
284 ulTmp = strtoul(lpszGuid, &lpszEnd, 16);
-
285 if (errno == ERANGE || ulTmp > 0xFFFF) return FALSE;
-
286 g.Data2 = static_cast<unsigned short>(ulTmp);
-
287 lpszGuid = lpszEnd;
+
124template<class _Traits, class _Ax>
+
125static _Success_(return != 0) int GetWindowTextW(_In_ HWND hWnd, _Out_ std::basic_string<wchar_t, _Traits, _Ax> &sValue) noexcept
+
126{
+
127 assert(0); // TODO: Test this code.
+
128
+
129 int iResult;
+
130
+
131 // Query the final string length first.
+
132 iResult = ::GetWindowTextLengthW(hWnd);
+
133 if (iResult > 0) {
+
134 if (++iResult < WINSTD_STACK_BUFFER_BYTES/sizeof(wchar_t)) {
+
135 // Read string data to stack.
+
136 wchar_t szBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(wchar_t)];
+
137 iResult = ::GetWindowTextW(hWnd, szBuffer, _countof(szBuffer));
+
138 sValue.assign(szBuffer, iResult);
+
139 } else {
+
140 // Allocate buffer on heap and read the string data into it.
+
141 std::unique_ptr<wchar_t[]> szBuffer(new wchar_t[++iResult]);
+
142 iResult = ::GetWindowTextW(hWnd, szBuffer.get(), iResult);
+
143 sValue.assign(szBuffer.get(), iResult);
+
144 }
+
145 return iResult;
+
146 }
+
147
+
148 sValue.clear();
+
149 return 0;
+
150}
+
151
+
153template<class _Ty, class _Ax>
+
154static _Success_(return != 0) BOOL GetFileVersionInfoA(_In_z_ LPCSTR lptstrFilename, __reserved DWORD dwHandle, _Out_ std::vector<_Ty, _Ax> &aValue) noexcept
+
155{
+
156 assert(0); // TODO: Test this code.
+
157
+
158 // Get version info size.
+
159 DWORD dwVerInfoSize = ::GetFileVersionInfoSizeA(lptstrFilename, &dwHandle);
+
160 if (dwVerInfoSize != 0) {
+
161 // Read version info.
+
162 aValue.resize((dwVerInfoSize + sizeof(_Ty) - 1) / sizeof(_Ty));
+
163 return ::GetFileVersionInfoA(lptstrFilename, dwHandle, dwVerInfoSize, aValue.data());
+
164 } else
+
165 return FALSE;
+
166}
+
167
+
173template<class _Ty, class _Ax>
+
174static _Success_(return != 0) BOOL GetFileVersionInfoW(_In_z_ LPCWSTR lptstrFilename, __reserved DWORD dwHandle, _Out_ std::vector<_Ty, _Ax> &aValue) noexcept
+
175{
+
176 assert(0); // TODO: Test this code.
+
177
+
178 // Get version info size.
+
179 DWORD dwVerInfoSize = ::GetFileVersionInfoSizeW(lptstrFilename, &dwHandle);
+
180 if (dwVerInfoSize != 0) {
+
181 // Read version info.
+
182 aValue.resize((dwVerInfoSize + sizeof(_Ty) - 1) / sizeof(_Ty));
+
183 return ::GetFileVersionInfoW(lptstrFilename, dwHandle, dwVerInfoSize, aValue.data());
+
184 } else
+
185 return FALSE;
+
186}
+
187
+
189template<class _Traits, class _Ax>
+
190static _Success_(return != 0) DWORD ExpandEnvironmentStringsA(_In_z_ LPCSTR lpSrc, _Out_ std::basic_string<char, _Traits, _Ax> &sValue) noexcept
+
191{
+
192 assert(0); // TODO: Test this code.
+
193
+
194 for (DWORD dwSizeOut = (DWORD)strlen(lpSrc) + 0x100;;) {
+
195 DWORD dwSizeIn = dwSizeOut;
+
196 std::unique_ptr<char[]> szBuffer(new char[(size_t)dwSizeIn + 2]); // Note: ANSI version requires one extra char.
+
197 dwSizeOut = ::ExpandEnvironmentStringsA(lpSrc, szBuffer.get(), dwSizeIn);
+
198 if (dwSizeOut == 0) {
+
199 // Error or zero-length input.
+
200 break;
+
201 } else if (dwSizeOut <= dwSizeIn) {
+
202 // The buffer was sufficient.
+
203 sValue.assign(szBuffer.get(), dwSizeOut - 1);
+
204 return dwSizeOut;
+
205 }
+
206 }
+
207
+
208 sValue.clear();
+
209 return 0;
+
210}
+
211
+
217template<class _Traits, class _Ax>
+
218static _Success_(return != 0) DWORD ExpandEnvironmentStringsW(_In_z_ LPCWSTR lpSrc, _Out_ std::basic_string<wchar_t, _Traits, _Ax> &sValue) noexcept
+
219{
+
220 for (DWORD dwSizeOut = (DWORD)wcslen(lpSrc) + 0x100;;) {
+
221 DWORD dwSizeIn = dwSizeOut;
+
222 std::unique_ptr<wchar_t[]> szBuffer(new wchar_t[(size_t)dwSizeIn + 1]);
+
223 dwSizeOut = ::ExpandEnvironmentStringsW(lpSrc, szBuffer.get(), dwSizeIn);
+
224 if (dwSizeOut == 0) {
+
225 // Error or zero-length input.
+
226 break;
+
227 } else if (dwSizeOut <= dwSizeIn) {
+
228 // The buffer was sufficient.
+
229 sValue.assign(szBuffer.get(), dwSizeOut - 1);
+
230 return dwSizeOut;
+
231 }
+
232 }
+
233
+
234 sValue.clear();
+
235 return 0;
+
236}
+
237
+
239template<class _Traits, class _Ax>
+
240static VOID GuidToStringA(_In_ LPCGUID lpGuid, _Out_ std::basic_string<char, _Traits, _Ax> &str) noexcept
+
241{
+
242 assert(0); // TODO: Test this code.
+
243
+
244 sprintf(str, "{%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X}",
+
245 lpGuid->Data1,
+
246 lpGuid->Data2,
+
247 lpGuid->Data3,
+
248 lpGuid->Data4[0], lpGuid->Data4[1],
+
249 lpGuid->Data4[2], lpGuid->Data4[3], lpGuid->Data4[4], lpGuid->Data4[5], lpGuid->Data4[6], lpGuid->Data4[7]);
+
250}
+
251
+
258template<class _Traits, class _Ax>
+
259static VOID GuidToStringW(_In_ LPCGUID lpGuid, _Out_ std::basic_string<wchar_t, _Traits, _Ax> &str) noexcept
+
260{
+
261 assert(0); // TODO: Test this code.
+
262
+
263 sprintf(str, L"{%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X}",
+
264 lpGuid->Data1,
+
265 lpGuid->Data2,
+
266 lpGuid->Data3,
+
267 lpGuid->Data4[0], lpGuid->Data4[1],
+
268 lpGuid->Data4[2], lpGuid->Data4[3], lpGuid->Data4[4], lpGuid->Data4[5], lpGuid->Data4[6], lpGuid->Data4[7]);
+
269}
+
270
+
272#ifdef _UNICODE
+
273#define GuidToString GuidToStringW
+
274#else
+
275#define GuidToString GuidToStringA
+
276#endif
+
277
+
279static _Success_(return) BOOL StringToGuidA(_In_z_ LPCSTR lpszGuid, _Out_ LPGUID lpGuid, _Out_opt_ LPCSTR *lpszGuidEnd = NULL) noexcept
+
280{
+
281 GUID g;
+
282 LPSTR lpszEnd;
+
283 unsigned long ulTmp;
+
284 unsigned long long ullTmp;
+
285
+
286 if (!lpszGuid || !lpGuid || *lpszGuid != '{') return FALSE;
+
287 lpszGuid++;
288
-
289 if (*lpszGuid != '-') return FALSE;
-
290 lpszGuid++;
-
291
-
292 ulTmp = strtoul(lpszGuid, &lpszEnd, 16);
-
293 if (errno == ERANGE || ulTmp > 0xFFFF) return FALSE;
-
294 g.Data3 = static_cast<unsigned short>(ulTmp);
-
295 lpszGuid = lpszEnd;
-
296
-
297 if (*lpszGuid != '-') return FALSE;
-
298 lpszGuid++;
-
299
-
300 ulTmp = strtoul(lpszGuid, &lpszEnd, 16);
-
301 if (errno == ERANGE || ulTmp > 0xFFFF) return FALSE;
-
302 g.Data4[0] = static_cast<unsigned char>((ulTmp >> 8) & 0xff);
-
303 g.Data4[1] = static_cast<unsigned char>( ulTmp & 0xff);
-
304 lpszGuid = lpszEnd;
-
305
-
306 if (*lpszGuid != '-') return FALSE;
-
307 lpszGuid++;
+
289 g.Data1 = strtoul(lpszGuid, &lpszEnd, 16);
+
290 if (errno == ERANGE) return FALSE;
+
291 lpszGuid = lpszEnd;
+
292
+
293 if (*lpszGuid != '-') return FALSE;
+
294 lpszGuid++;
+
295
+
296 ulTmp = strtoul(lpszGuid, &lpszEnd, 16);
+
297 if (errno == ERANGE || ulTmp > 0xFFFF) return FALSE;
+
298 g.Data2 = static_cast<unsigned short>(ulTmp);
+
299 lpszGuid = lpszEnd;
+
300
+
301 if (*lpszGuid != '-') return FALSE;
+
302 lpszGuid++;
+
303
+
304 ulTmp = strtoul(lpszGuid, &lpszEnd, 16);
+
305 if (errno == ERANGE || ulTmp > 0xFFFF) return FALSE;
+
306 g.Data3 = static_cast<unsigned short>(ulTmp);
+
307 lpszGuid = lpszEnd;
308
-
309 ullTmp = _strtoui64(lpszGuid, &lpszEnd, 16);
-
310 if (errno == ERANGE || ullTmp > 0xFFFFFFFFFFFF) return FALSE;
-
311 g.Data4[2] = static_cast<unsigned char>((ullTmp >> 40) & 0xff);
-
312 g.Data4[3] = static_cast<unsigned char>((ullTmp >> 32) & 0xff);
-
313 g.Data4[4] = static_cast<unsigned char>((ullTmp >> 24) & 0xff);
-
314 g.Data4[5] = static_cast<unsigned char>((ullTmp >> 16) & 0xff);
-
315 g.Data4[6] = static_cast<unsigned char>((ullTmp >> 8) & 0xff);
-
316 g.Data4[7] = static_cast<unsigned char>( ullTmp & 0xff);
-
317 lpszGuid = lpszEnd;
-
318
-
319 if (*lpszGuid != '}') return FALSE;
-
320 lpszGuid++;
-
321
-
322 if (lpszGuidEnd)
-
323 *lpszGuidEnd = lpszGuid;
-
324
-
325 *lpGuid = g;
-
326 return TRUE;
-
327}
-
328
-
340static _Success_(return) BOOL StringToGuidW(_In_z_ LPCWSTR lpszGuid, _Out_ LPGUID lpGuid, _Out_opt_ LPCWSTR *lpszGuidEnd = NULL) noexcept
-
341{
-
342 GUID g;
-
343 LPWSTR lpszEnd;
-
344 unsigned long ulTmp;
-
345 unsigned long long ullTmp;
-
346
-
347 if (!lpszGuid || !lpGuid || *lpszGuid != '{') return FALSE;
-
348 lpszGuid++;
-
349
-
350 g.Data1 = wcstoul(lpszGuid, &lpszEnd, 16);
-
351 if (errno == ERANGE) return FALSE;
-
352 lpszGuid = lpszEnd;
-
353
-
354 if (*lpszGuid != '-') return FALSE;
-
355 lpszGuid++;
-
356
-
357 ulTmp = wcstoul(lpszGuid, &lpszEnd, 16);
-
358 if (errno == ERANGE || ulTmp > 0xFFFF) return FALSE;
-
359 g.Data2 = static_cast<unsigned short>(ulTmp);
-
360 lpszGuid = lpszEnd;
+
309 if (*lpszGuid != '-') return FALSE;
+
310 lpszGuid++;
+
311
+
312 ulTmp = strtoul(lpszGuid, &lpszEnd, 16);
+
313 if (errno == ERANGE || ulTmp > 0xFFFF) return FALSE;
+
314 g.Data4[0] = static_cast<unsigned char>((ulTmp >> 8) & 0xff);
+
315 g.Data4[1] = static_cast<unsigned char>( ulTmp & 0xff);
+
316 lpszGuid = lpszEnd;
+
317
+
318 if (*lpszGuid != '-') return FALSE;
+
319 lpszGuid++;
+
320
+
321 ullTmp = _strtoui64(lpszGuid, &lpszEnd, 16);
+
322 if (errno == ERANGE || ullTmp > 0xFFFFFFFFFFFF) return FALSE;
+
323 g.Data4[2] = static_cast<unsigned char>((ullTmp >> 40) & 0xff);
+
324 g.Data4[3] = static_cast<unsigned char>((ullTmp >> 32) & 0xff);
+
325 g.Data4[4] = static_cast<unsigned char>((ullTmp >> 24) & 0xff);
+
326 g.Data4[5] = static_cast<unsigned char>((ullTmp >> 16) & 0xff);
+
327 g.Data4[6] = static_cast<unsigned char>((ullTmp >> 8) & 0xff);
+
328 g.Data4[7] = static_cast<unsigned char>( ullTmp & 0xff);
+
329 lpszGuid = lpszEnd;
+
330
+
331 if (*lpszGuid != '}') return FALSE;
+
332 lpszGuid++;
+
333
+
334 if (lpszGuidEnd)
+
335 *lpszGuidEnd = lpszGuid;
+
336
+
337 *lpGuid = g;
+
338 return TRUE;
+
339}
+
340
+
352static _Success_(return) BOOL StringToGuidW(_In_z_ LPCWSTR lpszGuid, _Out_ LPGUID lpGuid, _Out_opt_ LPCWSTR *lpszGuidEnd = NULL) noexcept
+
353{
+
354 GUID g;
+
355 LPWSTR lpszEnd;
+
356 unsigned long ulTmp;
+
357 unsigned long long ullTmp;
+
358
+
359 if (!lpszGuid || !lpGuid || *lpszGuid != '{') return FALSE;
+
360 lpszGuid++;
361
-
362 if (*lpszGuid != '-') return FALSE;
-
363 lpszGuid++;
-
364
-
365 ulTmp = wcstoul(lpszGuid, &lpszEnd, 16);
-
366 if (errno == ERANGE || ulTmp > 0xFFFF) return FALSE;
-
367 g.Data3 = static_cast<unsigned short>(ulTmp);
-
368 lpszGuid = lpszEnd;
-
369
-
370 if (*lpszGuid != '-') return FALSE;
-
371 lpszGuid++;
-
372
-
373 ulTmp = wcstoul(lpszGuid, &lpszEnd, 16);
-
374 if (errno == ERANGE || ulTmp > 0xFFFF) return FALSE;
-
375 g.Data4[0] = static_cast<unsigned char>((ulTmp >> 8) & 0xff);
-
376 g.Data4[1] = static_cast<unsigned char>( ulTmp & 0xff);
-
377 lpszGuid = lpszEnd;
-
378
-
379 if (*lpszGuid != '-') return FALSE;
-
380 lpszGuid++;
+
362 g.Data1 = wcstoul(lpszGuid, &lpszEnd, 16);
+
363 if (errno == ERANGE) return FALSE;
+
364 lpszGuid = lpszEnd;
+
365
+
366 if (*lpszGuid != '-') return FALSE;
+
367 lpszGuid++;
+
368
+
369 ulTmp = wcstoul(lpszGuid, &lpszEnd, 16);
+
370 if (errno == ERANGE || ulTmp > 0xFFFF) return FALSE;
+
371 g.Data2 = static_cast<unsigned short>(ulTmp);
+
372 lpszGuid = lpszEnd;
+
373
+
374 if (*lpszGuid != '-') return FALSE;
+
375 lpszGuid++;
+
376
+
377 ulTmp = wcstoul(lpszGuid, &lpszEnd, 16);
+
378 if (errno == ERANGE || ulTmp > 0xFFFF) return FALSE;
+
379 g.Data3 = static_cast<unsigned short>(ulTmp);
+
380 lpszGuid = lpszEnd;
381
-
382 ullTmp = _wcstoui64(lpszGuid, &lpszEnd, 16);
-
383 if (errno == ERANGE || ullTmp > 0xFFFFFFFFFFFF) return FALSE;
-
384 g.Data4[2] = static_cast<unsigned char>((ullTmp >> 40) & 0xff);
-
385 g.Data4[3] = static_cast<unsigned char>((ullTmp >> 32) & 0xff);
-
386 g.Data4[4] = static_cast<unsigned char>((ullTmp >> 24) & 0xff);
-
387 g.Data4[5] = static_cast<unsigned char>((ullTmp >> 16) & 0xff);
-
388 g.Data4[6] = static_cast<unsigned char>((ullTmp >> 8) & 0xff);
-
389 g.Data4[7] = static_cast<unsigned char>( ullTmp & 0xff);
-
390 lpszGuid = lpszEnd;
-
391
-
392 if (*lpszGuid != '}') return FALSE;
-
393 lpszGuid++;
-
394
-
395 if (lpszGuidEnd)
-
396 *lpszGuidEnd = lpszGuid;
-
397
-
398 *lpGuid = g;
-
399 return TRUE;
-
400}
-
401
-
403#ifdef _UNICODE
-
404#define StringToGuid StringToGuidW
-
405#else
-
406#define StringToGuid StringToGuidA
-
407#endif
-
408
-
427template<class _Traits, class _Ax>
-
428static LSTATUS RegQueryStringValue(_In_ HKEY hReg, _In_z_ LPCSTR pszName, _Out_ std::basic_string<char, _Traits, _Ax> &sValue) noexcept
-
429{
-
430 LSTATUS lResult;
-
431 BYTE aStackBuffer[WINSTD_STACK_BUFFER_BYTES];
-
432 DWORD dwSize = sizeof(aStackBuffer), dwType;
-
433
-
434 // Try with stack buffer first.
-
435 lResult = ::RegQueryValueExA(hReg, pszName, NULL, &dwType, aStackBuffer, &dwSize);
-
436 if (lResult == ERROR_SUCCESS) {
-
437 if (dwType == REG_SZ || dwType == REG_MULTI_SZ) {
-
438 // The value is REG_SZ or REG_MULTI_SZ.
-
439 dwSize /= sizeof(CHAR);
-
440 sValue.assign(reinterpret_cast<LPCSTR>(aStackBuffer), dwSize && reinterpret_cast<LPCSTR>(aStackBuffer)[dwSize - 1] == 0 ? dwSize - 1 : dwSize);
-
441 } else if (dwType == REG_EXPAND_SZ) {
-
442 // The value is REG_EXPAND_SZ. Expand it from stack buffer.
-
443 if (::ExpandEnvironmentStringsA(reinterpret_cast<LPCSTR>(aStackBuffer), sValue) == 0)
-
444 lResult = ::GetLastError();
-
445 } else {
-
446 // The value is not a string type.
-
447 lResult = ERROR_INVALID_DATA;
-
448 }
-
449 } else if (lResult == ERROR_MORE_DATA) {
-
450 if (dwType == REG_SZ || dwType == REG_MULTI_SZ) {
-
451 // The value is REG_SZ or REG_MULTI_SZ. Read it now.
-
452 std::unique_ptr<CHAR[]> szBuffer(new CHAR[dwSize / sizeof(CHAR)]);
-
453 if ((lResult = ::RegQueryValueExA(hReg, pszName, NULL, NULL, reinterpret_cast<LPBYTE>(szBuffer.get()), &dwSize)) == ERROR_SUCCESS) {
-
454 dwSize /= sizeof(CHAR);
-
455 sValue.assign(szBuffer.get(), dwSize && szBuffer[dwSize - 1] == 0 ? dwSize - 1 : dwSize);
-
456 }
-
457 } else if (dwType == REG_EXPAND_SZ) {
-
458 // The value is REG_EXPAND_SZ. Read it and expand environment variables.
-
459 std::unique_ptr<CHAR[]> szBuffer(new CHAR[dwSize / sizeof(CHAR)]);
-
460 if ((lResult = ::RegQueryValueExA(hReg, pszName, NULL, NULL, reinterpret_cast<LPBYTE>(szBuffer.get()), &dwSize)) == ERROR_SUCCESS) {
-
461 if (::ExpandEnvironmentStringsA(szBuffer.get(), sValue) == 0)
-
462 lResult = ::GetLastError();
-
463 }
-
464 } else {
-
465 // The value is not a string type.
-
466 lResult = ERROR_INVALID_DATA;
-
467 }
-
468 }
-
469
-
470 return lResult;
-
471}
-
472
-
491template<class _Traits, class _Ax>
-
492static LSTATUS RegQueryStringValue(_In_ HKEY hReg, _In_z_ LPCWSTR pszName, _Out_ std::basic_string<wchar_t, _Traits, _Ax> &sValue) noexcept
-
493{
-
494 LSTATUS lResult;
-
495 BYTE aStackBuffer[WINSTD_STACK_BUFFER_BYTES];
-
496 DWORD dwSize = sizeof(aStackBuffer), dwType;
-
497
-
498 // Try with stack buffer first.
-
499 lResult = ::RegQueryValueExW(hReg, pszName, NULL, &dwType, aStackBuffer, &dwSize);
-
500 if (lResult == ERROR_SUCCESS) {
-
501 if (dwType == REG_SZ || dwType == REG_MULTI_SZ) {
-
502 // The value is REG_SZ or REG_MULTI_SZ.
-
503 dwSize /= sizeof(WCHAR);
-
504 sValue.assign(reinterpret_cast<LPCWSTR>(aStackBuffer), dwSize && reinterpret_cast<LPCWSTR>(aStackBuffer)[dwSize - 1] == 0 ? dwSize - 1 : dwSize);
-
505 } else if (dwType == REG_EXPAND_SZ) {
-
506 // The value is REG_EXPAND_SZ. Expand it from stack buffer.
-
507 if (::ExpandEnvironmentStringsW(reinterpret_cast<LPCWSTR>(aStackBuffer), sValue) == 0)
-
508 lResult = ::GetLastError();
-
509 } else {
-
510 // The value is not a string type.
-
511 lResult = ERROR_INVALID_DATA;
-
512 }
-
513 } else if (lResult == ERROR_MORE_DATA) {
-
514 if (dwType == REG_SZ || dwType == REG_MULTI_SZ) {
-
515 // The value is REG_SZ or REG_MULTI_SZ. Read it now.
-
516 std::unique_ptr<WCHAR[]> szBuffer(new WCHAR[dwSize / sizeof(WCHAR)]);
-
517 if ((lResult = ::RegQueryValueExW(hReg, pszName, NULL, NULL, reinterpret_cast<LPBYTE>(szBuffer.get()), &dwSize)) == ERROR_SUCCESS) {
-
518 dwSize /= sizeof(WCHAR);
-
519 sValue.assign(szBuffer.get(), dwSize && szBuffer[dwSize - 1] == 0 ? dwSize - 1 : dwSize);
-
520 }
-
521 } else if (dwType == REG_EXPAND_SZ) {
-
522 // The value is REG_EXPAND_SZ. Read it and expand environment variables.
-
523 std::unique_ptr<WCHAR[]> szBuffer(new WCHAR[dwSize / sizeof(WCHAR)]);
-
524 if ((lResult = ::RegQueryValueExW(hReg, pszName, NULL, NULL, reinterpret_cast<LPBYTE>(szBuffer.get()), &dwSize)) == ERROR_SUCCESS) {
-
525 if (::ExpandEnvironmentStringsW(szBuffer.get(), sValue) == 0)
-
526 lResult = ::GetLastError();
-
527 }
-
528 } else {
-
529 // The value is not a string type.
-
530 lResult = ERROR_INVALID_DATA;
-
531 }
-
532 }
-
533
-
534 return lResult;
-
535}
-
536
-
538template<class _Ty, class _Ax>
-
539static LSTATUS RegQueryValueExA(_In_ HKEY hKey, _In_opt_z_ LPCSTR lpValueName, __reserved LPDWORD lpReserved, _Out_opt_ LPDWORD lpType, _Out_ std::vector<_Ty, _Ax> &aData) noexcept
-
540{
-
541 LSTATUS lResult;
-
542 BYTE aStackBuffer[WINSTD_STACK_BUFFER_BYTES];
-
543 DWORD dwSize = sizeof(aStackBuffer);
-
544
-
545 // Try with stack buffer first.
-
546 lResult = RegQueryValueExA(hKey, lpValueName, lpReserved, lpType, aStackBuffer, &dwSize);
-
547 if (lResult == ERROR_SUCCESS) {
-
548 // Copy from stack buffer.
-
549 aData.resize((dwSize + sizeof(_Ty) - 1) / sizeof(_Ty));
-
550 memcpy(aData.data(), aStackBuffer, dwSize);
-
551 } else if (lResult == ERROR_MORE_DATA) {
-
552 // Allocate buffer on heap and retry.
-
553 aData.resize((dwSize + sizeof(_Ty) - 1) / sizeof(_Ty));
-
554 lResult = RegQueryValueExA(hKey, lpValueName, lpReserved, NULL, aData.data(), &dwSize);
-
555 }
+
382 if (*lpszGuid != '-') return FALSE;
+
383 lpszGuid++;
+
384
+
385 ulTmp = wcstoul(lpszGuid, &lpszEnd, 16);
+
386 if (errno == ERANGE || ulTmp > 0xFFFF) return FALSE;
+
387 g.Data4[0] = static_cast<unsigned char>((ulTmp >> 8) & 0xff);
+
388 g.Data4[1] = static_cast<unsigned char>( ulTmp & 0xff);
+
389 lpszGuid = lpszEnd;
+
390
+
391 if (*lpszGuid != '-') return FALSE;
+
392 lpszGuid++;
+
393
+
394 ullTmp = _wcstoui64(lpszGuid, &lpszEnd, 16);
+
395 if (errno == ERANGE || ullTmp > 0xFFFFFFFFFFFF) return FALSE;
+
396 g.Data4[2] = static_cast<unsigned char>((ullTmp >> 40) & 0xff);
+
397 g.Data4[3] = static_cast<unsigned char>((ullTmp >> 32) & 0xff);
+
398 g.Data4[4] = static_cast<unsigned char>((ullTmp >> 24) & 0xff);
+
399 g.Data4[5] = static_cast<unsigned char>((ullTmp >> 16) & 0xff);
+
400 g.Data4[6] = static_cast<unsigned char>((ullTmp >> 8) & 0xff);
+
401 g.Data4[7] = static_cast<unsigned char>( ullTmp & 0xff);
+
402 lpszGuid = lpszEnd;
+
403
+
404 if (*lpszGuid != '}') return FALSE;
+
405 lpszGuid++;
+
406
+
407 if (lpszGuidEnd)
+
408 *lpszGuidEnd = lpszGuid;
+
409
+
410 *lpGuid = g;
+
411 return TRUE;
+
412}
+
413
+
415#ifdef _UNICODE
+
416#define StringToGuid StringToGuidW
+
417#else
+
418#define StringToGuid StringToGuidA
+
419#endif
+
420
+
439template<class _Traits, class _Ax>
+
440static LSTATUS RegQueryStringValue(_In_ HKEY hReg, _In_z_ LPCSTR pszName, _Out_ std::basic_string<char, _Traits, _Ax> &sValue) noexcept
+
441{
+
442 LSTATUS lResult;
+
443 BYTE aStackBuffer[WINSTD_STACK_BUFFER_BYTES];
+
444 DWORD dwSize = sizeof(aStackBuffer), dwType;
+
445
+
446 // Try with stack buffer first.
+
447 lResult = ::RegQueryValueExA(hReg, pszName, NULL, &dwType, aStackBuffer, &dwSize);
+
448 if (lResult == ERROR_SUCCESS) {
+
449 if (dwType == REG_SZ || dwType == REG_MULTI_SZ) {
+
450 // The value is REG_SZ or REG_MULTI_SZ.
+
451 dwSize /= sizeof(CHAR);
+
452 sValue.assign(reinterpret_cast<LPCSTR>(aStackBuffer), dwSize && reinterpret_cast<LPCSTR>(aStackBuffer)[dwSize - 1] == 0 ? dwSize - 1 : dwSize);
+
453 } else if (dwType == REG_EXPAND_SZ) {
+
454 // The value is REG_EXPAND_SZ. Expand it from stack buffer.
+
455 if (::ExpandEnvironmentStringsA(reinterpret_cast<LPCSTR>(aStackBuffer), sValue) == 0)
+
456 lResult = ::GetLastError();
+
457 } else {
+
458 // The value is not a string type.
+
459 lResult = ERROR_INVALID_DATA;
+
460 }
+
461 } else if (lResult == ERROR_MORE_DATA) {
+
462 if (dwType == REG_SZ || dwType == REG_MULTI_SZ) {
+
463 // The value is REG_SZ or REG_MULTI_SZ. Read it now.
+
464 std::unique_ptr<CHAR[]> szBuffer(new CHAR[dwSize / sizeof(CHAR)]);
+
465 if ((lResult = ::RegQueryValueExA(hReg, pszName, NULL, NULL, reinterpret_cast<LPBYTE>(szBuffer.get()), &dwSize)) == ERROR_SUCCESS) {
+
466 dwSize /= sizeof(CHAR);
+
467 sValue.assign(szBuffer.get(), dwSize && szBuffer[dwSize - 1] == 0 ? dwSize - 1 : dwSize);
+
468 }
+
469 } else if (dwType == REG_EXPAND_SZ) {
+
470 // The value is REG_EXPAND_SZ. Read it and expand environment variables.
+
471 std::unique_ptr<CHAR[]> szBuffer(new CHAR[dwSize / sizeof(CHAR)]);
+
472 if ((lResult = ::RegQueryValueExA(hReg, pszName, NULL, NULL, reinterpret_cast<LPBYTE>(szBuffer.get()), &dwSize)) == ERROR_SUCCESS) {
+
473 if (::ExpandEnvironmentStringsA(szBuffer.get(), sValue) == 0)
+
474 lResult = ::GetLastError();
+
475 }
+
476 } else {
+
477 // The value is not a string type.
+
478 lResult = ERROR_INVALID_DATA;
+
479 }
+
480 }
+
481
+
482 return lResult;
+
483}
+
484
+
503template<class _Traits, class _Ax>
+
504static LSTATUS RegQueryStringValue(_In_ HKEY hReg, _In_z_ LPCWSTR pszName, _Out_ std::basic_string<wchar_t, _Traits, _Ax> &sValue) noexcept
+
505{
+
506 LSTATUS lResult;
+
507 BYTE aStackBuffer[WINSTD_STACK_BUFFER_BYTES];
+
508 DWORD dwSize = sizeof(aStackBuffer), dwType;
+
509
+
510 // Try with stack buffer first.
+
511 lResult = ::RegQueryValueExW(hReg, pszName, NULL, &dwType, aStackBuffer, &dwSize);
+
512 if (lResult == ERROR_SUCCESS) {
+
513 if (dwType == REG_SZ || dwType == REG_MULTI_SZ) {
+
514 // The value is REG_SZ or REG_MULTI_SZ.
+
515 dwSize /= sizeof(WCHAR);
+
516 sValue.assign(reinterpret_cast<LPCWSTR>(aStackBuffer), dwSize && reinterpret_cast<LPCWSTR>(aStackBuffer)[dwSize - 1] == 0 ? dwSize - 1 : dwSize);
+
517 } else if (dwType == REG_EXPAND_SZ) {
+
518 // The value is REG_EXPAND_SZ. Expand it from stack buffer.
+
519 if (::ExpandEnvironmentStringsW(reinterpret_cast<LPCWSTR>(aStackBuffer), sValue) == 0)
+
520 lResult = ::GetLastError();
+
521 } else {
+
522 // The value is not a string type.
+
523 lResult = ERROR_INVALID_DATA;
+
524 }
+
525 } else if (lResult == ERROR_MORE_DATA) {
+
526 if (dwType == REG_SZ || dwType == REG_MULTI_SZ) {
+
527 // The value is REG_SZ or REG_MULTI_SZ. Read it now.
+
528 std::unique_ptr<WCHAR[]> szBuffer(new WCHAR[dwSize / sizeof(WCHAR)]);
+
529 if ((lResult = ::RegQueryValueExW(hReg, pszName, NULL, NULL, reinterpret_cast<LPBYTE>(szBuffer.get()), &dwSize)) == ERROR_SUCCESS) {
+
530 dwSize /= sizeof(WCHAR);
+
531 sValue.assign(szBuffer.get(), dwSize && szBuffer[dwSize - 1] == 0 ? dwSize - 1 : dwSize);
+
532 }
+
533 } else if (dwType == REG_EXPAND_SZ) {
+
534 // The value is REG_EXPAND_SZ. Read it and expand environment variables.
+
535 std::unique_ptr<WCHAR[]> szBuffer(new WCHAR[dwSize / sizeof(WCHAR)]);
+
536 if ((lResult = ::RegQueryValueExW(hReg, pszName, NULL, NULL, reinterpret_cast<LPBYTE>(szBuffer.get()), &dwSize)) == ERROR_SUCCESS) {
+
537 if (::ExpandEnvironmentStringsW(szBuffer.get(), sValue) == 0)
+
538 lResult = ::GetLastError();
+
539 }
+
540 } else {
+
541 // The value is not a string type.
+
542 lResult = ERROR_INVALID_DATA;
+
543 }
+
544 }
+
545
+
546 return lResult;
+
547}
+
548
+
550template<class _Ty, class _Ax>
+
551static LSTATUS RegQueryValueExA(_In_ HKEY hKey, _In_opt_z_ LPCSTR lpValueName, __reserved LPDWORD lpReserved, _Out_opt_ LPDWORD lpType, _Out_ std::vector<_Ty, _Ax> &aData) noexcept
+
552{
+
553 LSTATUS lResult;
+
554 BYTE aStackBuffer[WINSTD_STACK_BUFFER_BYTES];
+
555 DWORD dwSize = sizeof(aStackBuffer);
556
-
557 return lResult;
-
558}
-
559
-
565template<class _Ty, class _Ax>
-
566static LSTATUS RegQueryValueExW(_In_ HKEY hKey, _In_opt_z_ LPCWSTR lpValueName, __reserved LPDWORD lpReserved, _Out_opt_ LPDWORD lpType, _Out_ std::vector<_Ty, _Ax> &aData) noexcept
-
567{
-
568 LSTATUS lResult;
-
569 BYTE aStackBuffer[WINSTD_STACK_BUFFER_BYTES];
-
570 DWORD dwSize = sizeof(aStackBuffer);
+
557 // Try with stack buffer first.
+
558 lResult = RegQueryValueExA(hKey, lpValueName, lpReserved, lpType, aStackBuffer, &dwSize);
+
559 if (lResult == ERROR_SUCCESS) {
+
560 // Copy from stack buffer.
+
561 aData.resize((dwSize + sizeof(_Ty) - 1) / sizeof(_Ty));
+
562 memcpy(aData.data(), aStackBuffer, dwSize);
+
563 } else if (lResult == ERROR_MORE_DATA) {
+
564 // Allocate buffer on heap and retry.
+
565 aData.resize((dwSize + sizeof(_Ty) - 1) / sizeof(_Ty));
+
566 lResult = RegQueryValueExA(hKey, lpValueName, lpReserved, NULL, aData.data(), &dwSize);
+
567 }
+
568
+
569 return lResult;
+
570}
571
-
572 // Try with stack buffer first.
-
573 lResult = RegQueryValueExW(hKey, lpValueName, lpReserved, lpType, aStackBuffer, &dwSize);
-
574 if (lResult == ERROR_SUCCESS) {
-
575 // Copy from stack buffer.
-
576 aData.resize((dwSize + sizeof(_Ty) - 1) / sizeof(_Ty));
-
577 memcpy(aData.data(), aStackBuffer, dwSize);
-
578 } else if (lResult == ERROR_MORE_DATA) {
-
579 // Allocate buffer on heap and retry.
-
580 aData.resize((dwSize + sizeof(_Ty) - 1) / sizeof(_Ty));
-
581 lResult = RegQueryValueExW(hKey, lpValueName, lpReserved, NULL, aData.data(), &dwSize);
-
582 }
+
577template<class _Ty, class _Ax>
+
578static LSTATUS RegQueryValueExW(_In_ HKEY hKey, _In_opt_z_ LPCWSTR lpValueName, __reserved LPDWORD lpReserved, _Out_opt_ LPDWORD lpType, _Out_ std::vector<_Ty, _Ax> &aData) noexcept
+
579{
+
580 LSTATUS lResult;
+
581 BYTE aStackBuffer[WINSTD_STACK_BUFFER_BYTES];
+
582 DWORD dwSize = sizeof(aStackBuffer);
583
-
584 return lResult;
-
585}
-
586
-
587#if _WIN32_WINNT >= _WIN32_WINNT_VISTA
-
588
-
590template<class _Traits, class _Ax>
-
591static LSTATUS RegLoadMUIStringA(_In_ HKEY hKey, _In_opt_z_ LPCSTR pszValue, _Out_ std::basic_string<char, _Traits, _Ax> &sOut, _In_ DWORD Flags, _In_opt_z_ LPCSTR pszDirectory) noexcept
-
592{
-
593 // According to "Remarks" section in MSDN documentation of RegLoadMUIString(),
-
594 // this function is defined but not implemented as ANSI variation.
-
595 assert(0);
-
596 return ERROR_CALL_NOT_IMPLEMENTED;
+
584 // Try with stack buffer first.
+
585 lResult = RegQueryValueExW(hKey, lpValueName, lpReserved, lpType, aStackBuffer, &dwSize);
+
586 if (lResult == ERROR_SUCCESS) {
+
587 // Copy from stack buffer.
+
588 aData.resize((dwSize + sizeof(_Ty) - 1) / sizeof(_Ty));
+
589 memcpy(aData.data(), aStackBuffer, dwSize);
+
590 } else if (lResult == ERROR_MORE_DATA) {
+
591 // Allocate buffer on heap and retry.
+
592 aData.resize((dwSize + sizeof(_Ty) - 1) / sizeof(_Ty));
+
593 lResult = RegQueryValueExW(hKey, lpValueName, lpReserved, NULL, aData.data(), &dwSize);
+
594 }
+
595
+
596 return lResult;
597}
598
-
604template<class _Traits, class _Ax>
-
605static LSTATUS RegLoadMUIStringW(_In_ HKEY hKey, _In_opt_z_ LPCWSTR pszValue, _Out_ std::basic_string<wchar_t, _Traits, _Ax> &sOut, _In_ DWORD Flags, _In_opt_z_ LPCWSTR pszDirectory) noexcept
-
606{
-
607 LSTATUS lResult;
-
608 wchar_t szStackBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(wchar_t)];
-
609 DWORD dwSize;
+
599#if _WIN32_WINNT >= _WIN32_WINNT_VISTA
+
600
+
602template<class _Traits, class _Ax>
+
603static LSTATUS RegLoadMUIStringA(_In_ HKEY hKey, _In_opt_z_ LPCSTR pszValue, _Out_ std::basic_string<char, _Traits, _Ax> &sOut, _In_ DWORD Flags, _In_opt_z_ LPCSTR pszDirectory) noexcept
+
604{
+
605 // According to "Remarks" section in MSDN documentation of RegLoadMUIString(),
+
606 // this function is defined but not implemented as ANSI variation.
+
607 assert(0);
+
608 return ERROR_CALL_NOT_IMPLEMENTED;
+
609}
610
-
611 Flags &= ~REG_MUI_STRING_TRUNCATE;
-
612
-
613 // Try with stack buffer first.
-
614 lResult = RegLoadMUIStringW(hKey, pszValue, szStackBuffer, sizeof(szStackBuffer), &dwSize, Flags, pszDirectory);
-
615 if (lResult == ERROR_SUCCESS) {
-
616 // Copy from stack buffer.
-
617 sOut.assign(szStackBuffer, wcsnlen(szStackBuffer, dwSize/sizeof(wchar_t)));
-
618 } else if (lResult == ERROR_MORE_DATA) {
-
619 // Allocate buffer on heap and retry.
-
620 std::unique_ptr<wchar_t[]> szBuffer(new wchar_t[(dwSize + sizeof(wchar_t) - 1)/sizeof(wchar_t)]);
-
621 sOut.assign(szBuffer.get(), (lResult = RegLoadMUIStringW(hKey, pszValue, szBuffer.get(), dwSize, &dwSize, Flags, pszDirectory)) == ERROR_SUCCESS ? wcsnlen(szBuffer.get(), dwSize/sizeof(wchar_t)) : 0);
-
622 }
-
623
-
624 return lResult;
-
625}
-
626
-
627#endif
-
628
-
634template<class _Traits, class _Ax>
-
635static _Success_(return != 0) int WideCharToMultiByte(_In_ UINT CodePage, _In_ DWORD dwFlags, _In_z_count_(cchWideChar) LPCWSTR lpWideCharStr, _In_ int cchWideChar, _Out_ std::basic_string<char, _Traits, _Ax> &sMultiByteStr, _In_opt_z_ LPCSTR lpDefaultChar, _Out_opt_ LPBOOL lpUsedDefaultChar) noexcept
-
636{
-
637 CHAR szStackBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(CHAR)];
+
616template<class _Traits, class _Ax>
+
617static LSTATUS RegLoadMUIStringW(_In_ HKEY hKey, _In_opt_z_ LPCWSTR pszValue, _Out_ std::basic_string<wchar_t, _Traits, _Ax> &sOut, _In_ DWORD Flags, _In_opt_z_ LPCWSTR pszDirectory) noexcept
+
618{
+
619 LSTATUS lResult;
+
620 wchar_t szStackBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(wchar_t)];
+
621 DWORD dwSize;
+
622
+
623 Flags &= ~REG_MUI_STRING_TRUNCATE;
+
624
+
625 // Try with stack buffer first.
+
626 lResult = RegLoadMUIStringW(hKey, pszValue, szStackBuffer, sizeof(szStackBuffer), &dwSize, Flags, pszDirectory);
+
627 if (lResult == ERROR_SUCCESS) {
+
628 // Copy from stack buffer.
+
629 sOut.assign(szStackBuffer, wcsnlen(szStackBuffer, dwSize/sizeof(wchar_t)));
+
630 } else if (lResult == ERROR_MORE_DATA) {
+
631 // Allocate buffer on heap and retry.
+
632 std::unique_ptr<wchar_t[]> szBuffer(new wchar_t[(dwSize + sizeof(wchar_t) - 1)/sizeof(wchar_t)]);
+
633 sOut.assign(szBuffer.get(), (lResult = RegLoadMUIStringW(hKey, pszValue, szBuffer.get(), dwSize, &dwSize, Flags, pszDirectory)) == ERROR_SUCCESS ? wcsnlen(szBuffer.get(), dwSize/sizeof(wchar_t)) : 0);
+
634 }
+
635
+
636 return lResult;
+
637}
638
-
639 // Try to convert to stack buffer first.
-
640 int cch = ::WideCharToMultiByte(CodePage, dwFlags, lpWideCharStr, cchWideChar, szStackBuffer, _countof(szStackBuffer), lpDefaultChar, lpUsedDefaultChar);
-
641 if (cch) {
-
642 // Copy from stack. Be careful not to include zero terminator.
-
643 sMultiByteStr.assign(szStackBuffer, cchWideChar != -1 ? strnlen(szStackBuffer, cch) : (size_t)cch - 1);
-
644 } else if (::GetLastError() == ERROR_INSUFFICIENT_BUFFER) {
-
645 // Query the required output size. Allocate buffer. Then convert again.
-
646 cch = ::WideCharToMultiByte(CodePage, dwFlags, lpWideCharStr, cchWideChar, NULL, 0, lpDefaultChar, lpUsedDefaultChar);
-
647 std::unique_ptr<CHAR[]> szBuffer(new CHAR[cch]);
-
648 cch = ::WideCharToMultiByte(CodePage, dwFlags, lpWideCharStr, cchWideChar, szBuffer.get(), cch, lpDefaultChar, lpUsedDefaultChar);
-
649 sMultiByteStr.assign(szBuffer.get(), cchWideChar != -1 ? strnlen(szBuffer.get(), cch) : (size_t)cch - 1);
-
650 }
-
651
-
652 return cch;
-
653}
-
654
-
660template<class _Ax>
-
661static _Success_(return != 0) int WideCharToMultiByte(_In_ UINT CodePage, _In_ DWORD dwFlags, _In_z_count_(cchWideChar) LPCWSTR lpWideCharStr, _In_ int cchWideChar, _Out_ std::vector<char, _Ax> &sMultiByteStr, _In_opt_z_ LPCSTR lpDefaultChar, _Out_opt_ LPBOOL lpUsedDefaultChar) noexcept
-
662{
-
663 CHAR szStackBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(CHAR)];
-
664
-
665 // Try to convert to stack buffer first.
-
666 int cch = ::WideCharToMultiByte(CodePage, dwFlags, lpWideCharStr, cchWideChar, szStackBuffer, _countof(szStackBuffer), lpDefaultChar, lpUsedDefaultChar);
-
667 if (cch) {
-
668 // Copy from stack.
-
669 sMultiByteStr.assign(szStackBuffer, szStackBuffer + cch);
-
670 } else if (::GetLastError() == ERROR_INSUFFICIENT_BUFFER) {
-
671 // Query the required output size. Allocate buffer. Then convert again.
-
672 cch = ::WideCharToMultiByte(CodePage, dwFlags, lpWideCharStr, cchWideChar, NULL, 0, lpDefaultChar, lpUsedDefaultChar);
-
673 sMultiByteStr.resize(cch);
-
674 cch = ::WideCharToMultiByte(CodePage, dwFlags, lpWideCharStr, cchWideChar, sMultiByteStr.data(), cch, lpDefaultChar, lpUsedDefaultChar);
-
675 }
+
639#endif
+
640
+
646template<class _Traits, class _Ax>
+
647static _Success_(return != 0) int WideCharToMultiByte(_In_ UINT CodePage, _In_ DWORD dwFlags, _In_z_count_(cchWideChar) LPCWSTR lpWideCharStr, _In_ int cchWideChar, _Out_ std::basic_string<char, _Traits, _Ax> &sMultiByteStr, _In_opt_z_ LPCSTR lpDefaultChar, _Out_opt_ LPBOOL lpUsedDefaultChar) noexcept
+
648{
+
649 CHAR szStackBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(CHAR)];
+
650
+
651 // Try to convert to stack buffer first.
+
652 int cch = ::WideCharToMultiByte(CodePage, dwFlags, lpWideCharStr, cchWideChar, szStackBuffer, _countof(szStackBuffer), lpDefaultChar, lpUsedDefaultChar);
+
653 if (cch) {
+
654 // Copy from stack. Be careful not to include zero terminator.
+
655 sMultiByteStr.assign(szStackBuffer, cchWideChar != -1 ? strnlen(szStackBuffer, cch) : (size_t)cch - 1);
+
656 } else if (::GetLastError() == ERROR_INSUFFICIENT_BUFFER) {
+
657 // Query the required output size. Allocate buffer. Then convert again.
+
658 cch = ::WideCharToMultiByte(CodePage, dwFlags, lpWideCharStr, cchWideChar, NULL, 0, lpDefaultChar, lpUsedDefaultChar);
+
659 std::unique_ptr<CHAR[]> szBuffer(new CHAR[cch]);
+
660 cch = ::WideCharToMultiByte(CodePage, dwFlags, lpWideCharStr, cchWideChar, szBuffer.get(), cch, lpDefaultChar, lpUsedDefaultChar);
+
661 sMultiByteStr.assign(szBuffer.get(), cchWideChar != -1 ? strnlen(szBuffer.get(), cch) : (size_t)cch - 1);
+
662 }
+
663
+
664 return cch;
+
665}
+
666
+
672template<class _Ax>
+
673static _Success_(return != 0) int WideCharToMultiByte(_In_ UINT CodePage, _In_ DWORD dwFlags, _In_z_count_(cchWideChar) LPCWSTR lpWideCharStr, _In_ int cchWideChar, _Out_ std::vector<char, _Ax> &sMultiByteStr, _In_opt_z_ LPCSTR lpDefaultChar, _Out_opt_ LPBOOL lpUsedDefaultChar) noexcept
+
674{
+
675 CHAR szStackBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(CHAR)];
676
-
677 return cch;
-
678}
-
679
-
685template<class _Traits1, class _Ax1, class _Traits2, class _Ax2>
-
686static _Success_(return != 0) int WideCharToMultiByte(_In_ UINT CodePage, _In_ DWORD dwFlags, _In_ std::basic_string<wchar_t, _Traits1, _Ax1> sWideCharStr, _Out_ std::basic_string<char, _Traits2, _Ax2> &sMultiByteStr, _In_opt_z_ LPCSTR lpDefaultChar, _Out_opt_ LPBOOL lpUsedDefaultChar) noexcept
-
687{
-
688 CHAR szStackBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(CHAR)];
-
689
-
690 // Try to convert to stack buffer first.
-
691 int cch = ::WideCharToMultiByte(CodePage, dwFlags, sWideCharStr.c_str(), (int)sWideCharStr.length(), szStackBuffer, _countof(szStackBuffer), lpDefaultChar, lpUsedDefaultChar);
-
692 if (cch) {
-
693 // Copy from stack.
-
694 sMultiByteStr.assign(szStackBuffer, cch);
-
695 } else if (::GetLastError() == ERROR_INSUFFICIENT_BUFFER) {
-
696 // Query the required output size. Allocate buffer. Then convert again.
-
697 cch = ::WideCharToMultiByte(CodePage, dwFlags, sWideCharStr.c_str(), (int)sWideCharStr.length(), NULL, 0, lpDefaultChar, lpUsedDefaultChar);
-
698 std::unique_ptr<CHAR[]> szBuffer(new CHAR[cch]);
-
699 cch = ::WideCharToMultiByte(CodePage, dwFlags, sWideCharStr.c_str(), (int)sWideCharStr.length(), szBuffer.get(), cch, lpDefaultChar, lpUsedDefaultChar);
-
700 sMultiByteStr.assign(szBuffer.get(), cch);
-
701 }
-
702
-
703 return cch;
-
704}
-
705
-
713template<class _Traits, class _Ax>
-
714static _Success_(return != 0) int SecureWideCharToMultiByte(_In_ UINT CodePage, _In_ DWORD dwFlags, _In_z_count_(cchWideChar) LPCWSTR lpWideCharStr, _In_ int cchWideChar, _Out_ std::basic_string<char, _Traits, _Ax> &sMultiByteStr, _In_opt_z_ LPCSTR lpDefaultChar, _Out_opt_ LPBOOL lpUsedDefaultChar) noexcept
-
715{
-
716 CHAR szStackBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(CHAR)];
+
677 // Try to convert to stack buffer first.
+
678 int cch = ::WideCharToMultiByte(CodePage, dwFlags, lpWideCharStr, cchWideChar, szStackBuffer, _countof(szStackBuffer), lpDefaultChar, lpUsedDefaultChar);
+
679 if (cch) {
+
680 // Copy from stack.
+
681 sMultiByteStr.assign(szStackBuffer, szStackBuffer + cch);
+
682 } else if (::GetLastError() == ERROR_INSUFFICIENT_BUFFER) {
+
683 // Query the required output size. Allocate buffer. Then convert again.
+
684 cch = ::WideCharToMultiByte(CodePage, dwFlags, lpWideCharStr, cchWideChar, NULL, 0, lpDefaultChar, lpUsedDefaultChar);
+
685 sMultiByteStr.resize(cch);
+
686 cch = ::WideCharToMultiByte(CodePage, dwFlags, lpWideCharStr, cchWideChar, sMultiByteStr.data(), cch, lpDefaultChar, lpUsedDefaultChar);
+
687 }
+
688
+
689 return cch;
+
690}
+
691
+
697template<class _Traits1, class _Ax1, class _Traits2, class _Ax2>
+
698static _Success_(return != 0) int WideCharToMultiByte(_In_ UINT CodePage, _In_ DWORD dwFlags, _In_ std::basic_string<wchar_t, _Traits1, _Ax1> sWideCharStr, _Out_ std::basic_string<char, _Traits2, _Ax2> &sMultiByteStr, _In_opt_z_ LPCSTR lpDefaultChar, _Out_opt_ LPBOOL lpUsedDefaultChar) noexcept
+
699{
+
700 CHAR szStackBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(CHAR)];
+
701
+
702 // Try to convert to stack buffer first.
+
703 int cch = ::WideCharToMultiByte(CodePage, dwFlags, sWideCharStr.c_str(), (int)sWideCharStr.length(), szStackBuffer, _countof(szStackBuffer), lpDefaultChar, lpUsedDefaultChar);
+
704 if (cch) {
+
705 // Copy from stack.
+
706 sMultiByteStr.assign(szStackBuffer, cch);
+
707 } else if (::GetLastError() == ERROR_INSUFFICIENT_BUFFER) {
+
708 // Query the required output size. Allocate buffer. Then convert again.
+
709 cch = ::WideCharToMultiByte(CodePage, dwFlags, sWideCharStr.c_str(), (int)sWideCharStr.length(), NULL, 0, lpDefaultChar, lpUsedDefaultChar);
+
710 std::unique_ptr<CHAR[]> szBuffer(new CHAR[cch]);
+
711 cch = ::WideCharToMultiByte(CodePage, dwFlags, sWideCharStr.c_str(), (int)sWideCharStr.length(), szBuffer.get(), cch, lpDefaultChar, lpUsedDefaultChar);
+
712 sMultiByteStr.assign(szBuffer.get(), cch);
+
713 }
+
714
+
715 return cch;
+
716}
717
-
718 // Try to convert to stack buffer first.
-
719 int cch = ::WideCharToMultiByte(CodePage, dwFlags, lpWideCharStr, cchWideChar, szStackBuffer, _countof(szStackBuffer), lpDefaultChar, lpUsedDefaultChar);
-
720 if (cch) {
-
721 // Copy from stack. Be careful not to include zero terminator.
-
722 sMultiByteStr.assign(szStackBuffer, cchWideChar != -1 ? strnlen(szStackBuffer, cch) : (size_t)cch - 1);
-
723 } else if (::GetLastError() == ERROR_INSUFFICIENT_BUFFER) {
-
724 // Query the required output size. Allocate buffer. Then convert again.
-
725 cch = ::WideCharToMultiByte(CodePage, dwFlags, lpWideCharStr, cchWideChar, NULL, 0, lpDefaultChar, lpUsedDefaultChar);
-
726 std::unique_ptr<CHAR[]> szBuffer(new CHAR[cch]);
-
727 cch = ::WideCharToMultiByte(CodePage, dwFlags, lpWideCharStr, cchWideChar, szBuffer.get(), cch, lpDefaultChar, lpUsedDefaultChar);
-
728 sMultiByteStr.assign(szBuffer.get(), cchWideChar != -1 ? strnlen(szBuffer.get(), cch) : (size_t)cch - 1);
-
729 SecureZeroMemory(szBuffer.get(), sizeof(CHAR)*cch);
-
730 }
-
731
-
732 SecureZeroMemory(szStackBuffer, sizeof(szStackBuffer));
-
733
-
734 return cch;
-
735}
-
736
-
744template<class _Ax>
-
745static _Success_(return != 0) int SecureWideCharToMultiByte(_In_ UINT CodePage, _In_ DWORD dwFlags, _In_z_count_(cchWideChar) LPCWSTR lpWideCharStr, _In_ int cchWideChar, _Out_ std::vector<char, _Ax> &sMultiByteStr, _In_opt_z_ LPCSTR lpDefaultChar, _Out_opt_ LPBOOL lpUsedDefaultChar) noexcept
-
746{
-
747 CHAR szStackBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(CHAR)];
+
725template<class _Traits, class _Ax>
+
726static _Success_(return != 0) int SecureWideCharToMultiByte(_In_ UINT CodePage, _In_ DWORD dwFlags, _In_z_count_(cchWideChar) LPCWSTR lpWideCharStr, _In_ int cchWideChar, _Out_ std::basic_string<char, _Traits, _Ax> &sMultiByteStr, _In_opt_z_ LPCSTR lpDefaultChar, _Out_opt_ LPBOOL lpUsedDefaultChar) noexcept
+
727{
+
728 CHAR szStackBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(CHAR)];
+
729
+
730 // Try to convert to stack buffer first.
+
731 int cch = ::WideCharToMultiByte(CodePage, dwFlags, lpWideCharStr, cchWideChar, szStackBuffer, _countof(szStackBuffer), lpDefaultChar, lpUsedDefaultChar);
+
732 if (cch) {
+
733 // Copy from stack. Be careful not to include zero terminator.
+
734 sMultiByteStr.assign(szStackBuffer, cchWideChar != -1 ? strnlen(szStackBuffer, cch) : (size_t)cch - 1);
+
735 } else if (::GetLastError() == ERROR_INSUFFICIENT_BUFFER) {
+
736 // Query the required output size. Allocate buffer. Then convert again.
+
737 cch = ::WideCharToMultiByte(CodePage, dwFlags, lpWideCharStr, cchWideChar, NULL, 0, lpDefaultChar, lpUsedDefaultChar);
+
738 std::unique_ptr<CHAR[]> szBuffer(new CHAR[cch]);
+
739 cch = ::WideCharToMultiByte(CodePage, dwFlags, lpWideCharStr, cchWideChar, szBuffer.get(), cch, lpDefaultChar, lpUsedDefaultChar);
+
740 sMultiByteStr.assign(szBuffer.get(), cchWideChar != -1 ? strnlen(szBuffer.get(), cch) : (size_t)cch - 1);
+
741 SecureZeroMemory(szBuffer.get(), sizeof(CHAR)*cch);
+
742 }
+
743
+
744 SecureZeroMemory(szStackBuffer, sizeof(szStackBuffer));
+
745
+
746 return cch;
+
747}
748
-
749 // Try to convert to stack buffer first.
-
750 int cch = ::WideCharToMultiByte(CodePage, dwFlags, lpWideCharStr, cchWideChar, szStackBuffer, _countof(szStackBuffer), lpDefaultChar, lpUsedDefaultChar);
-
751 if (cch) {
-
752 // Copy from stack.
-
753 sMultiByteStr.assign(szStackBuffer, szStackBuffer + cch);
-
754 } else if (::GetLastError() == ERROR_INSUFFICIENT_BUFFER) {
-
755 // Query the required output size. Allocate buffer. Then convert again.
-
756 cch = ::WideCharToMultiByte(CodePage, dwFlags, lpWideCharStr, cchWideChar, NULL, 0, lpDefaultChar, lpUsedDefaultChar);
-
757 sMultiByteStr.resize(cch);
-
758 cch = ::WideCharToMultiByte(CodePage, dwFlags, lpWideCharStr, cchWideChar, sMultiByteStr.data(), cch, lpDefaultChar, lpUsedDefaultChar);
-
759 }
+
756template<class _Ax>
+
757static _Success_(return != 0) int SecureWideCharToMultiByte(_In_ UINT CodePage, _In_ DWORD dwFlags, _In_z_count_(cchWideChar) LPCWSTR lpWideCharStr, _In_ int cchWideChar, _Out_ std::vector<char, _Ax> &sMultiByteStr, _In_opt_z_ LPCSTR lpDefaultChar, _Out_opt_ LPBOOL lpUsedDefaultChar) noexcept
+
758{
+
759 CHAR szStackBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(CHAR)];
760
-
761 SecureZeroMemory(szStackBuffer, sizeof(szStackBuffer));
-
762
-
763 return cch;
-
764}
-
765
-
773template<class _Traits1, class _Ax1, class _Traits2, class _Ax2>
-
774static _Success_(return != 0) int SecureWideCharToMultiByte(_In_ UINT CodePage, _In_ DWORD dwFlags, _Out_ std::basic_string<wchar_t, _Traits1, _Ax1> sWideCharStr, _Out_ std::basic_string<char, _Traits2, _Ax2> &sMultiByteStr, _In_opt_z_ LPCSTR lpDefaultChar, _Out_opt_ LPBOOL lpUsedDefaultChar) noexcept
-
775{
-
776 CHAR szStackBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(CHAR)];
+
761 // Try to convert to stack buffer first.
+
762 int cch = ::WideCharToMultiByte(CodePage, dwFlags, lpWideCharStr, cchWideChar, szStackBuffer, _countof(szStackBuffer), lpDefaultChar, lpUsedDefaultChar);
+
763 if (cch) {
+
764 // Copy from stack.
+
765 sMultiByteStr.assign(szStackBuffer, szStackBuffer + cch);
+
766 } else if (::GetLastError() == ERROR_INSUFFICIENT_BUFFER) {
+
767 // Query the required output size. Allocate buffer. Then convert again.
+
768 cch = ::WideCharToMultiByte(CodePage, dwFlags, lpWideCharStr, cchWideChar, NULL, 0, lpDefaultChar, lpUsedDefaultChar);
+
769 sMultiByteStr.resize(cch);
+
770 cch = ::WideCharToMultiByte(CodePage, dwFlags, lpWideCharStr, cchWideChar, sMultiByteStr.data(), cch, lpDefaultChar, lpUsedDefaultChar);
+
771 }
+
772
+
773 SecureZeroMemory(szStackBuffer, sizeof(szStackBuffer));
+
774
+
775 return cch;
+
776}
777
-
778 // Try to convert to stack buffer first.
-
779 int cch = ::WideCharToMultiByte(CodePage, dwFlags, sWideCharStr.c_str(), (int)sWideCharStr.length(), szStackBuffer, _countof(szStackBuffer), lpDefaultChar, lpUsedDefaultChar);
-
780 if (cch) {
-
781 // Copy from stack.
-
782 sMultiByteStr.assign(szStackBuffer, cch);
-
783 } else if (::GetLastError() == ERROR_INSUFFICIENT_BUFFER) {
-
784 // Query the required output size. Allocate buffer. Then convert again.
-
785 cch = ::WideCharToMultiByte(CodePage, dwFlags, sWideCharStr.c_str(), (int)sWideCharStr.length(), NULL, 0, lpDefaultChar, lpUsedDefaultChar);
-
786 std::unique_ptr<CHAR[]> szBuffer(new CHAR[cch]);
-
787 cch = ::WideCharToMultiByte(CodePage, dwFlags, sWideCharStr.c_str(), (int)sWideCharStr.length(), szBuffer.get(), cch, lpDefaultChar, lpUsedDefaultChar);
-
788 sMultiByteStr.assign(szBuffer.get(), cch);
-
789 SecureZeroMemory(szBuffer.get(), sizeof(CHAR)*cch);
-
790 }
-
791
-
792 SecureZeroMemory(szStackBuffer, sizeof(szStackBuffer));
-
793
-
794 return cch;
-
795}
-
796
-
802template<class _Traits, class _Ax>
-
803static _Success_(return != 0) int MultiByteToWideChar(_In_ UINT CodePage, _In_ DWORD dwFlags, _In_z_count_(cbMultiByte) LPCSTR lpMultiByteStr, _In_ int cbMultiByte, _Out_ std::basic_string<wchar_t, _Traits, _Ax> &sWideCharStr) noexcept
-
804{
-
805 WCHAR szStackBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(WCHAR)];
-
806
-
807 // Try to convert to stack buffer first.
-
808 int cch = ::MultiByteToWideChar(CodePage, dwFlags, lpMultiByteStr, cbMultiByte, szStackBuffer, _countof(szStackBuffer));
-
809 if (cch) {
-
810 // Copy from stack.
-
811 sWideCharStr.assign(szStackBuffer, cbMultiByte != -1 ? wcsnlen(szStackBuffer, cch) : (size_t)cch - 1);
-
812 } else if (::GetLastError() == ERROR_INSUFFICIENT_BUFFER) {
-
813 // Query the required output size. Allocate buffer. Then convert again.
-
814 cch = ::MultiByteToWideChar(CodePage, dwFlags, lpMultiByteStr, cbMultiByte, NULL, 0);
-
815 std::unique_ptr<WCHAR[]> szBuffer(new WCHAR[cch]);
-
816 cch = ::MultiByteToWideChar(CodePage, dwFlags, lpMultiByteStr, cbMultiByte, szBuffer.get(), cch);
-
817 sWideCharStr.assign(szBuffer.get(), cbMultiByte != -1 ? wcsnlen(szBuffer.get(), cch) : (size_t)cch - 1);
-
818 }
-
819
-
820 return cch;
-
821}
-
822
-
828template<class _Ax>
-
829static _Success_(return != 0) int MultiByteToWideChar(_In_ UINT CodePage, _In_ DWORD dwFlags, _In_z_count_(cbMultiByte) LPCSTR lpMultiByteStr, _In_ int cbMultiByte, _Out_ std::vector<wchar_t, _Ax> &sWideCharStr) noexcept
-
830{
-
831 WCHAR szStackBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(WCHAR)];
-
832
-
833 // Try to convert to stack buffer first.
-
834 int cch = ::MultiByteToWideChar(CodePage, dwFlags, lpMultiByteStr, cbMultiByte, szStackBuffer, _countof(szStackBuffer));
-
835 if (cch) {
-
836 // Copy from stack.
-
837 sWideCharStr.assign(szStackBuffer, szStackBuffer + cch);
-
838 } else if (::GetLastError() == ERROR_INSUFFICIENT_BUFFER) {
-
839 // Query the required output size. Allocate buffer. Then convert again.
-
840 cch = ::MultiByteToWideChar(CodePage, dwFlags, lpMultiByteStr, cbMultiByte, NULL, 0);
-
841 sWideCharStr.resize(cch);
-
842 cch = ::MultiByteToWideChar(CodePage, dwFlags, lpMultiByteStr, cbMultiByte, sWideCharStr.data(), cch);
-
843 }
+
785template<class _Traits1, class _Ax1, class _Traits2, class _Ax2>
+
786static _Success_(return != 0) int SecureWideCharToMultiByte(_In_ UINT CodePage, _In_ DWORD dwFlags, _Out_ std::basic_string<wchar_t, _Traits1, _Ax1> sWideCharStr, _Out_ std::basic_string<char, _Traits2, _Ax2> &sMultiByteStr, _In_opt_z_ LPCSTR lpDefaultChar, _Out_opt_ LPBOOL lpUsedDefaultChar) noexcept
+
787{
+
788 CHAR szStackBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(CHAR)];
+
789
+
790 // Try to convert to stack buffer first.
+
791 int cch = ::WideCharToMultiByte(CodePage, dwFlags, sWideCharStr.c_str(), (int)sWideCharStr.length(), szStackBuffer, _countof(szStackBuffer), lpDefaultChar, lpUsedDefaultChar);
+
792 if (cch) {
+
793 // Copy from stack.
+
794 sMultiByteStr.assign(szStackBuffer, cch);
+
795 } else if (::GetLastError() == ERROR_INSUFFICIENT_BUFFER) {
+
796 // Query the required output size. Allocate buffer. Then convert again.
+
797 cch = ::WideCharToMultiByte(CodePage, dwFlags, sWideCharStr.c_str(), (int)sWideCharStr.length(), NULL, 0, lpDefaultChar, lpUsedDefaultChar);
+
798 std::unique_ptr<CHAR[]> szBuffer(new CHAR[cch]);
+
799 cch = ::WideCharToMultiByte(CodePage, dwFlags, sWideCharStr.c_str(), (int)sWideCharStr.length(), szBuffer.get(), cch, lpDefaultChar, lpUsedDefaultChar);
+
800 sMultiByteStr.assign(szBuffer.get(), cch);
+
801 SecureZeroMemory(szBuffer.get(), sizeof(CHAR)*cch);
+
802 }
+
803
+
804 SecureZeroMemory(szStackBuffer, sizeof(szStackBuffer));
+
805
+
806 return cch;
+
807}
+
808
+
814template<class _Traits, class _Ax>
+
815static _Success_(return != 0) int MultiByteToWideChar(_In_ UINT CodePage, _In_ DWORD dwFlags, _In_z_count_(cbMultiByte) LPCSTR lpMultiByteStr, _In_ int cbMultiByte, _Out_ std::basic_string<wchar_t, _Traits, _Ax> &sWideCharStr) noexcept
+
816{
+
817 WCHAR szStackBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(WCHAR)];
+
818
+
819 // Try to convert to stack buffer first.
+
820 int cch = ::MultiByteToWideChar(CodePage, dwFlags, lpMultiByteStr, cbMultiByte, szStackBuffer, _countof(szStackBuffer));
+
821 if (cch) {
+
822 // Copy from stack.
+
823 sWideCharStr.assign(szStackBuffer, cbMultiByte != -1 ? wcsnlen(szStackBuffer, cch) : (size_t)cch - 1);
+
824 } else if (::GetLastError() == ERROR_INSUFFICIENT_BUFFER) {
+
825 // Query the required output size. Allocate buffer. Then convert again.
+
826 cch = ::MultiByteToWideChar(CodePage, dwFlags, lpMultiByteStr, cbMultiByte, NULL, 0);
+
827 std::unique_ptr<WCHAR[]> szBuffer(new WCHAR[cch]);
+
828 cch = ::MultiByteToWideChar(CodePage, dwFlags, lpMultiByteStr, cbMultiByte, szBuffer.get(), cch);
+
829 sWideCharStr.assign(szBuffer.get(), cbMultiByte != -1 ? wcsnlen(szBuffer.get(), cch) : (size_t)cch - 1);
+
830 }
+
831
+
832 return cch;
+
833}
+
834
+
840template<class _Ax>
+
841static _Success_(return != 0) int MultiByteToWideChar(_In_ UINT CodePage, _In_ DWORD dwFlags, _In_z_count_(cbMultiByte) LPCSTR lpMultiByteStr, _In_ int cbMultiByte, _Out_ std::vector<wchar_t, _Ax> &sWideCharStr) noexcept
+
842{
+
843 WCHAR szStackBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(WCHAR)];
844
-
845 return cch;
-
846}
-
847
-
853template<class _Traits1, class _Ax1, class _Traits2, class _Ax2>
-
854static _Success_(return != 0) int MultiByteToWideChar(_In_ UINT CodePage, _In_ DWORD dwFlags, _In_ const std::basic_string<char, _Traits1, _Ax1> &sMultiByteStr, _Out_ std::basic_string<wchar_t, _Traits2, _Ax2> &sWideCharStr) noexcept
-
855{
-
856 WCHAR szStackBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(WCHAR)];
-
857
-
858 // Try to convert to stack buffer first.
-
859 int cch = ::MultiByteToWideChar(CodePage, dwFlags, sMultiByteStr.c_str(), (int)sMultiByteStr.length(), szStackBuffer, _countof(szStackBuffer));
-
860 if (cch) {
-
861 // Copy from stack.
-
862 sWideCharStr.assign(szStackBuffer, cch);
-
863 } else if (::GetLastError() == ERROR_INSUFFICIENT_BUFFER) {
-
864 // Query the required output size. Allocate buffer. Then convert again.
-
865 cch = ::MultiByteToWideChar(CodePage, dwFlags, sMultiByteStr.c_str(), (int)sMultiByteStr.length(), NULL, 0);
-
866 std::unique_ptr<WCHAR[]> szBuffer(new WCHAR[cch]);
-
867 cch = ::MultiByteToWideChar(CodePage, dwFlags, sMultiByteStr.c_str(), (int)sMultiByteStr.length(), szBuffer.get(), cch);
-
868 sWideCharStr.assign(szBuffer.get(), cch);
-
869 }
-
870
-
871 return cch;
-
872}
-
873
-
881template<class _Traits, class _Ax>
-
882static _Success_(return != 0) int SecureMultiByteToWideChar(_In_ UINT CodePage, _In_ DWORD dwFlags, _In_z_count_(cbMultiByte) LPCSTR lpMultiByteStr, _In_ int cbMultiByte, _Out_ std::basic_string<wchar_t, _Traits, _Ax> &sWideCharStr) noexcept
-
883{
-
884 WCHAR szStackBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(WCHAR)];
+
845 // Try to convert to stack buffer first.
+
846 int cch = ::MultiByteToWideChar(CodePage, dwFlags, lpMultiByteStr, cbMultiByte, szStackBuffer, _countof(szStackBuffer));
+
847 if (cch) {
+
848 // Copy from stack.
+
849 sWideCharStr.assign(szStackBuffer, szStackBuffer + cch);
+
850 } else if (::GetLastError() == ERROR_INSUFFICIENT_BUFFER) {
+
851 // Query the required output size. Allocate buffer. Then convert again.
+
852 cch = ::MultiByteToWideChar(CodePage, dwFlags, lpMultiByteStr, cbMultiByte, NULL, 0);
+
853 sWideCharStr.resize(cch);
+
854 cch = ::MultiByteToWideChar(CodePage, dwFlags, lpMultiByteStr, cbMultiByte, sWideCharStr.data(), cch);
+
855 }
+
856
+
857 return cch;
+
858}
+
859
+
865template<class _Traits1, class _Ax1, class _Traits2, class _Ax2>
+
866static _Success_(return != 0) int MultiByteToWideChar(_In_ UINT CodePage, _In_ DWORD dwFlags, _In_ const std::basic_string<char, _Traits1, _Ax1> &sMultiByteStr, _Out_ std::basic_string<wchar_t, _Traits2, _Ax2> &sWideCharStr) noexcept
+
867{
+
868 WCHAR szStackBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(WCHAR)];
+
869
+
870 // Try to convert to stack buffer first.
+
871 int cch = ::MultiByteToWideChar(CodePage, dwFlags, sMultiByteStr.c_str(), (int)sMultiByteStr.length(), szStackBuffer, _countof(szStackBuffer));
+
872 if (cch) {
+
873 // Copy from stack.
+
874 sWideCharStr.assign(szStackBuffer, cch);
+
875 } else if (::GetLastError() == ERROR_INSUFFICIENT_BUFFER) {
+
876 // Query the required output size. Allocate buffer. Then convert again.
+
877 cch = ::MultiByteToWideChar(CodePage, dwFlags, sMultiByteStr.c_str(), (int)sMultiByteStr.length(), NULL, 0);
+
878 std::unique_ptr<WCHAR[]> szBuffer(new WCHAR[cch]);
+
879 cch = ::MultiByteToWideChar(CodePage, dwFlags, sMultiByteStr.c_str(), (int)sMultiByteStr.length(), szBuffer.get(), cch);
+
880 sWideCharStr.assign(szBuffer.get(), cch);
+
881 }
+
882
+
883 return cch;
+
884}
885
-
886 // Try to convert to stack buffer first.
-
887 int cch = ::MultiByteToWideChar(CodePage, dwFlags, lpMultiByteStr, cbMultiByte, szStackBuffer, _countof(szStackBuffer));
-
888 if (cch) {
-
889 // Copy from stack.
-
890 sWideCharStr.assign(szStackBuffer, cbMultiByte != -1 ? wcsnlen(szStackBuffer, cch) : (size_t)cch - 1);
-
891 } else if (::GetLastError() == ERROR_INSUFFICIENT_BUFFER) {
-
892 // Query the required output size. Allocate buffer. Then convert again.
-
893 cch = ::MultiByteToWideChar(CodePage, dwFlags, lpMultiByteStr, cbMultiByte, NULL, 0);
-
894 std::unique_ptr<WCHAR[]> szBuffer(new WCHAR[cch]);
-
895 cch = ::MultiByteToWideChar(CodePage, dwFlags, lpMultiByteStr, cbMultiByte, szBuffer.get(), cch);
-
896 sWideCharStr.assign(szBuffer.get(), cbMultiByte != -1 ? wcsnlen(szBuffer.get(), cch) : (size_t)cch - 1);
-
897 SecureZeroMemory(szBuffer.get(), sizeof(WCHAR)*cch);
-
898 }
-
899
-
900 SecureZeroMemory(szStackBuffer, sizeof(szStackBuffer));
-
901
-
902 return cch;
-
903}
-
904
-
912template<class _Ax>
-
913static _Success_(return != 0) int SecureMultiByteToWideChar(_In_ UINT CodePage, _In_ DWORD dwFlags, _In_z_count_(cbMultiByte) LPCSTR lpMultiByteStr, _In_ int cbMultiByte, _Out_ std::vector<wchar_t, _Ax> &sWideCharStr) noexcept
-
914{
-
915 WCHAR szStackBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(WCHAR)];
+
893template<class _Traits, class _Ax>
+
894static _Success_(return != 0) int SecureMultiByteToWideChar(_In_ UINT CodePage, _In_ DWORD dwFlags, _In_z_count_(cbMultiByte) LPCSTR lpMultiByteStr, _In_ int cbMultiByte, _Out_ std::basic_string<wchar_t, _Traits, _Ax> &sWideCharStr) noexcept
+
895{
+
896 WCHAR szStackBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(WCHAR)];
+
897
+
898 // Try to convert to stack buffer first.
+
899 int cch = ::MultiByteToWideChar(CodePage, dwFlags, lpMultiByteStr, cbMultiByte, szStackBuffer, _countof(szStackBuffer));
+
900 if (cch) {
+
901 // Copy from stack.
+
902 sWideCharStr.assign(szStackBuffer, cbMultiByte != -1 ? wcsnlen(szStackBuffer, cch) : (size_t)cch - 1);
+
903 } else if (::GetLastError() == ERROR_INSUFFICIENT_BUFFER) {
+
904 // Query the required output size. Allocate buffer. Then convert again.
+
905 cch = ::MultiByteToWideChar(CodePage, dwFlags, lpMultiByteStr, cbMultiByte, NULL, 0);
+
906 std::unique_ptr<WCHAR[]> szBuffer(new WCHAR[cch]);
+
907 cch = ::MultiByteToWideChar(CodePage, dwFlags, lpMultiByteStr, cbMultiByte, szBuffer.get(), cch);
+
908 sWideCharStr.assign(szBuffer.get(), cbMultiByte != -1 ? wcsnlen(szBuffer.get(), cch) : (size_t)cch - 1);
+
909 SecureZeroMemory(szBuffer.get(), sizeof(WCHAR)*cch);
+
910 }
+
911
+
912 SecureZeroMemory(szStackBuffer, sizeof(szStackBuffer));
+
913
+
914 return cch;
+
915}
916
-
917 // Try to convert to stack buffer first.
-
918 int cch = ::MultiByteToWideChar(CodePage, dwFlags, lpMultiByteStr, cbMultiByte, szStackBuffer, _countof(szStackBuffer));
-
919 if (cch) {
-
920 // Copy from stack.
-
921 sWideCharStr.assign(szStackBuffer, szStackBuffer + cch);
-
922 } else if (::GetLastError() == ERROR_INSUFFICIENT_BUFFER) {
-
923 // Query the required output size. Allocate buffer. Then convert again.
-
924 cch = ::MultiByteToWideChar(CodePage, dwFlags, lpMultiByteStr, cbMultiByte, NULL, 0);
-
925 sWideCharStr.resize(cch);
-
926 cch = ::MultiByteToWideChar(CodePage, dwFlags, lpMultiByteStr, cbMultiByte, sWideCharStr.data(), cch);
-
927 }
+
924template<class _Ax>
+
925static _Success_(return != 0) int SecureMultiByteToWideChar(_In_ UINT CodePage, _In_ DWORD dwFlags, _In_z_count_(cbMultiByte) LPCSTR lpMultiByteStr, _In_ int cbMultiByte, _Out_ std::vector<wchar_t, _Ax> &sWideCharStr) noexcept
+
926{
+
927 WCHAR szStackBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(WCHAR)];
928
-
929 SecureZeroMemory(szStackBuffer, sizeof(szStackBuffer));
-
930
-
931 return cch;
-
932}
-
933
-
941template<class _Traits1, class _Ax1, class _Traits2, class _Ax2>
-
942static _Success_(return != 0) int SecureMultiByteToWideChar(_In_ UINT CodePage, _In_ DWORD dwFlags, _In_ const std::basic_string<char, _Traits1, _Ax1> &sMultiByteStr, _Out_ std::basic_string<wchar_t, _Traits2, _Ax2> &sWideCharStr) noexcept
-
943{
-
944 WCHAR szStackBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(WCHAR)];
+
929 // Try to convert to stack buffer first.
+
930 int cch = ::MultiByteToWideChar(CodePage, dwFlags, lpMultiByteStr, cbMultiByte, szStackBuffer, _countof(szStackBuffer));
+
931 if (cch) {
+
932 // Copy from stack.
+
933 sWideCharStr.assign(szStackBuffer, szStackBuffer + cch);
+
934 } else if (::GetLastError() == ERROR_INSUFFICIENT_BUFFER) {
+
935 // Query the required output size. Allocate buffer. Then convert again.
+
936 cch = ::MultiByteToWideChar(CodePage, dwFlags, lpMultiByteStr, cbMultiByte, NULL, 0);
+
937 sWideCharStr.resize(cch);
+
938 cch = ::MultiByteToWideChar(CodePage, dwFlags, lpMultiByteStr, cbMultiByte, sWideCharStr.data(), cch);
+
939 }
+
940
+
941 SecureZeroMemory(szStackBuffer, sizeof(szStackBuffer));
+
942
+
943 return cch;
+
944}
945
-
946 // Try to convert to stack buffer first.
-
947 int cch = ::MultiByteToWideChar(CodePage, dwFlags, sMultiByteStr.c_str(), (int)sMultiByteStr.length(), szStackBuffer, _countof(szStackBuffer));
-
948 if (cch) {
-
949 // Copy from stack.
-
950 sWideCharStr.assign(szStackBuffer, cch);
-
951 } else if (::GetLastError() == ERROR_INSUFFICIENT_BUFFER) {
-
952 // Query the required output size. Allocate buffer. Then convert again.
-
953 cch = ::MultiByteToWideChar(CodePage, dwFlags, sMultiByteStr.c_str(), (int)sMultiByteStr.length(), NULL, 0);
-
954 std::unique_ptr<WCHAR[]> szBuffer(new WCHAR[cch]);
-
955 cch = ::MultiByteToWideChar(CodePage, dwFlags, sMultiByteStr.c_str(), (int)sMultiByteStr.length(), szBuffer.get(), cch);
-
956 sWideCharStr.assign(szBuffer.get(), cch);
-
957 SecureZeroMemory(szBuffer.get(), sizeof(WCHAR)*cch);
-
958 }
-
959
-
960 SecureZeroMemory(szStackBuffer, sizeof(szStackBuffer));
-
961
-
962 return cch;
-
963}
-
964
-
970template<class _Traits, class _Ax>
-
971static _Success_(return > 0) int NormalizeString(_In_ NORM_FORM NormForm, _In_ LPCWSTR lpSrcString, _In_ int cwSrcLength, _Out_ std::basic_string<wchar_t, _Traits, _Ax> &sDstString) noexcept
-
972{
-
973 WCHAR szStackBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(WCHAR)];
-
974
-
975 // Try to convert to stack buffer first.
-
976 int cch = ::NormalizeString(NormForm, lpSrcString, cwSrcLength, szStackBuffer, _countof(szStackBuffer));
-
977 if (cch > 0) {
-
978 // Copy from stack.
-
979 sDstString.assign(szStackBuffer, cwSrcLength != -1 ? wcsnlen(szStackBuffer, cch) : (size_t)cch - 1);
-
980 } else {
-
981 switch (::GetLastError()) {
-
982 case ERROR_INSUFFICIENT_BUFFER:
-
983 for (int i = 10; i--;) {
-
984 // Allocate buffer. Then convert again.
-
985 cch = -cch;
-
986 std::unique_ptr<WCHAR[]> szBuffer(new WCHAR[cch]);
-
987 cch = ::NormalizeString(NormForm, lpSrcString, cwSrcLength, szBuffer.get(), cch);
-
988 if (cch > 0) {
-
989 sDstString.assign(szBuffer.get(), cwSrcLength != -1 ? wcsnlen(szStackBuffer, cch) : (size_t)cch - 1);
-
990 break;
-
991 }
-
992 if (::GetLastError() != ERROR_INSUFFICIENT_BUFFER) {
-
993 sDstString.clear();
-
994 break;
-
995 }
-
996 }
-
997 break;
-
998
-
999 case ERROR_SUCCESS:
-
1000 sDstString.clear();
-
1001 break;
-
1002 }
-
1003 }
-
1004
-
1005 return cch;
-
1006}
-
1007
-
1013template<class _Traits1, class _Ax1, class _Traits2, class _Ax2>
-
1014static _Success_(return > 0) int NormalizeString(_In_ NORM_FORM NormForm, _In_ const std::basic_string<wchar_t, _Traits1, _Ax1> &sSrcString, _Out_ std::basic_string<wchar_t, _Traits2, _Ax2> &sDstString) noexcept
-
1015{
-
1016 WCHAR szStackBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(WCHAR)];
-
1017
-
1018 // Try to convert to stack buffer first.
-
1019 int cch = ::NormalizeString(NormForm, sSrcString.c_str(), (int)sSrcString.length(), szStackBuffer, _countof(szStackBuffer));
-
1020 if (cch > 0) {
-
1021 // Copy from stack.
-
1022 sDstString.assign(szStackBuffer, cch);
-
1023 } else {
-
1024 switch (::GetLastError()) {
-
1025 case ERROR_INSUFFICIENT_BUFFER:
-
1026 for (int i = 10; i--;) {
-
1027 // Allocate buffer. Then convert again.
-
1028 cch = -cch;
-
1029 std::unique_ptr<WCHAR[]> szBuffer(new WCHAR[cch]);
-
1030 cch = ::NormalizeString(NormForm, sSrcString.c_str(), (int)sSrcString.length(), szBuffer.get(), cch);
-
1031 if (cch > 0) {
-
1032 sDstString.assign(szBuffer.get(), cch);
-
1033 break;
-
1034 }
-
1035 if (::GetLastError() != ERROR_INSUFFICIENT_BUFFER) {
-
1036 sDstString.clear();
-
1037 break;
-
1038 }
-
1039 }
-
1040 break;
-
1041
-
1042 case ERROR_SUCCESS:
-
1043 sDstString.clear();
-
1044 break;
-
1045 }
-
1046 }
-
1047
-
1048 return cch;
-
1049}
-
1050
-
1052template<class _Traits, class _Ax>
-
1053static _Success_(return != 0) int WINAPI LoadStringA(_In_opt_ HINSTANCE hInstance, _In_ UINT uID, _Out_ std::basic_string<char, _Traits, _Ax> &sBuffer) noexcept
-
1054{
-
1055 // Get read-only pointer to string resource.
-
1056 LPCSTR pszStr;
-
1057 int i = LoadStringA(hInstance, uID, reinterpret_cast<LPSTR>(&pszStr), 0);
-
1058 if (i) {
-
1059 sBuffer.assign(pszStr, i);
-
1060 return i;
-
1061 } else
-
1062 return 0;
-
1063}
-
1064
-
1070template<class _Traits, class _Ax>
-
1071static _Success_(return != 0) int WINAPI LoadStringW(_In_opt_ HINSTANCE hInstance, _In_ UINT uID, _Out_ std::basic_string<wchar_t, _Traits, _Ax> &sBuffer) noexcept
-
1072{
-
1073 // Get read-only pointer to string resource.
-
1074 LPCWSTR pszStr;
-
1075 int i = LoadStringW(hInstance, uID, reinterpret_cast<LPWSTR>(&pszStr), 0);
-
1076 if (i) {
-
1077 sBuffer.assign(pszStr, i);
-
1078 return i;
-
1079 } else
-
1080 return 0;
-
1081}
-
1082
-
1088static VOID OutputDebugStrV(_In_z_ LPCSTR lpOutputString, _In_ va_list arg) noexcept
-
1089{
-
1090 std::string str;
-
1091 try { vsprintf(str, lpOutputString, arg); } catch (...) { return; }
-
1092 OutputDebugStringA(str.c_str());
+
953template<class _Traits1, class _Ax1, class _Traits2, class _Ax2>
+
954static _Success_(return != 0) int SecureMultiByteToWideChar(_In_ UINT CodePage, _In_ DWORD dwFlags, _In_ const std::basic_string<char, _Traits1, _Ax1> &sMultiByteStr, _Out_ std::basic_string<wchar_t, _Traits2, _Ax2> &sWideCharStr) noexcept
+
955{
+
956 WCHAR szStackBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(WCHAR)];
+
957
+
958 // Try to convert to stack buffer first.
+
959 int cch = ::MultiByteToWideChar(CodePage, dwFlags, sMultiByteStr.c_str(), (int)sMultiByteStr.length(), szStackBuffer, _countof(szStackBuffer));
+
960 if (cch) {
+
961 // Copy from stack.
+
962 sWideCharStr.assign(szStackBuffer, cch);
+
963 } else if (::GetLastError() == ERROR_INSUFFICIENT_BUFFER) {
+
964 // Query the required output size. Allocate buffer. Then convert again.
+
965 cch = ::MultiByteToWideChar(CodePage, dwFlags, sMultiByteStr.c_str(), (int)sMultiByteStr.length(), NULL, 0);
+
966 std::unique_ptr<WCHAR[]> szBuffer(new WCHAR[cch]);
+
967 cch = ::MultiByteToWideChar(CodePage, dwFlags, sMultiByteStr.c_str(), (int)sMultiByteStr.length(), szBuffer.get(), cch);
+
968 sWideCharStr.assign(szBuffer.get(), cch);
+
969 SecureZeroMemory(szBuffer.get(), sizeof(WCHAR)*cch);
+
970 }
+
971
+
972 SecureZeroMemory(szStackBuffer, sizeof(szStackBuffer));
+
973
+
974 return cch;
+
975}
+
976
+
982template<class _Traits, class _Ax>
+
983static _Success_(return > 0) int NormalizeString(_In_ NORM_FORM NormForm, _In_ LPCWSTR lpSrcString, _In_ int cwSrcLength, _Out_ std::basic_string<wchar_t, _Traits, _Ax> &sDstString) noexcept
+
984{
+
985 WCHAR szStackBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(WCHAR)];
+
986
+
987 // Try to convert to stack buffer first.
+
988 int cch = ::NormalizeString(NormForm, lpSrcString, cwSrcLength, szStackBuffer, _countof(szStackBuffer));
+
989 if (cch > 0) {
+
990 // Copy from stack.
+
991 sDstString.assign(szStackBuffer, cwSrcLength != -1 ? wcsnlen(szStackBuffer, cch) : (size_t)cch - 1);
+
992 } else {
+
993 switch (::GetLastError()) {
+
994 case ERROR_INSUFFICIENT_BUFFER:
+
995 for (int i = 10; i--;) {
+
996 // Allocate buffer. Then convert again.
+
997 cch = -cch;
+
998 std::unique_ptr<WCHAR[]> szBuffer(new WCHAR[cch]);
+
999 cch = ::NormalizeString(NormForm, lpSrcString, cwSrcLength, szBuffer.get(), cch);
+
1000 if (cch > 0) {
+
1001 sDstString.assign(szBuffer.get(), cwSrcLength != -1 ? wcsnlen(szStackBuffer, cch) : (size_t)cch - 1);
+
1002 break;
+
1003 }
+
1004 if (::GetLastError() != ERROR_INSUFFICIENT_BUFFER) {
+
1005 sDstString.clear();
+
1006 break;
+
1007 }
+
1008 }
+
1009 break;
+
1010
+
1011 case ERROR_SUCCESS:
+
1012 sDstString.clear();
+
1013 break;
+
1014 }
+
1015 }
+
1016
+
1017 return cch;
+
1018}
+
1019
+
1025template<class _Traits1, class _Ax1, class _Traits2, class _Ax2>
+
1026static _Success_(return > 0) int NormalizeString(_In_ NORM_FORM NormForm, _In_ const std::basic_string<wchar_t, _Traits1, _Ax1> &sSrcString, _Out_ std::basic_string<wchar_t, _Traits2, _Ax2> &sDstString) noexcept
+
1027{
+
1028 WCHAR szStackBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(WCHAR)];
+
1029
+
1030 // Try to convert to stack buffer first.
+
1031 int cch = ::NormalizeString(NormForm, sSrcString.c_str(), (int)sSrcString.length(), szStackBuffer, _countof(szStackBuffer));
+
1032 if (cch > 0) {
+
1033 // Copy from stack.
+
1034 sDstString.assign(szStackBuffer, cch);
+
1035 } else {
+
1036 switch (::GetLastError()) {
+
1037 case ERROR_INSUFFICIENT_BUFFER:
+
1038 for (int i = 10; i--;) {
+
1039 // Allocate buffer. Then convert again.
+
1040 cch = -cch;
+
1041 std::unique_ptr<WCHAR[]> szBuffer(new WCHAR[cch]);
+
1042 cch = ::NormalizeString(NormForm, sSrcString.c_str(), (int)sSrcString.length(), szBuffer.get(), cch);
+
1043 if (cch > 0) {
+
1044 sDstString.assign(szBuffer.get(), cch);
+
1045 break;
+
1046 }
+
1047 if (::GetLastError() != ERROR_INSUFFICIENT_BUFFER) {
+
1048 sDstString.clear();
+
1049 break;
+
1050 }
+
1051 }
+
1052 break;
+
1053
+
1054 case ERROR_SUCCESS:
+
1055 sDstString.clear();
+
1056 break;
+
1057 }
+
1058 }
+
1059
+
1060 return cch;
+
1061}
+
1062
+
1064template<class _Traits, class _Ax>
+
1065static _Success_(return != 0) int WINAPI LoadStringA(_In_opt_ HINSTANCE hInstance, _In_ UINT uID, _Out_ std::basic_string<char, _Traits, _Ax> &sBuffer) noexcept
+
1066{
+
1067 // Get read-only pointer to string resource.
+
1068 LPCSTR pszStr;
+
1069 int i = LoadStringA(hInstance, uID, reinterpret_cast<LPSTR>(&pszStr), 0);
+
1070 if (i) {
+
1071 sBuffer.assign(pszStr, i);
+
1072 return i;
+
1073 } else
+
1074 return 0;
+
1075}
+
1076
+
1082template<class _Traits, class _Ax>
+
1083static _Success_(return != 0) int WINAPI LoadStringW(_In_opt_ HINSTANCE hInstance, _In_ UINT uID, _Out_ std::basic_string<wchar_t, _Traits, _Ax> &sBuffer) noexcept
+
1084{
+
1085 // Get read-only pointer to string resource.
+
1086 LPCWSTR pszStr;
+
1087 int i = LoadStringW(hInstance, uID, reinterpret_cast<LPWSTR>(&pszStr), 0);
+
1088 if (i) {
+
1089 sBuffer.assign(pszStr, i);
+
1090 return i;
+
1091 } else
+
1092 return 0;
1093}
1094
-
1100static VOID OutputDebugStrV(_In_z_ LPCWSTR lpOutputString, _In_ va_list arg) noexcept
+
1100static VOID OutputDebugStrV(_In_z_ LPCSTR lpOutputString, _In_ va_list arg) noexcept
1101{
-
1102 std::wstring str;
+
1102 std::string str;
1103 try { vsprintf(str, lpOutputString, arg); } catch (...) { return; }
-
1104 OutputDebugStringW(str.c_str());
+
1104 OutputDebugStringA(str.c_str());
1105}
1106
-
1112static VOID OutputDebugStr(_In_z_ LPCSTR lpOutputString, ...) noexcept
+
1112static VOID OutputDebugStrV(_In_z_ LPCWSTR lpOutputString, _In_ va_list arg) noexcept
1113{
-
1114 va_list arg;
-
1115 va_start(arg, lpOutputString);
-
1116 OutputDebugStrV(lpOutputString, arg);
-
1117 va_end(arg);
-
1118}
-
1119
-
1125static VOID OutputDebugStr(_In_z_ LPCWSTR lpOutputString, ...) noexcept
-
1126{
-
1127 va_list arg;
-
1128 va_start(arg, lpOutputString);
-
1129 OutputDebugStrV(lpOutputString, arg);
-
1130 va_end(arg);
-
1131}
-
1132
-
1134template<class _Traits, class _Ax>
-
1135static _Success_(return != 0) int GetDateFormatA(_In_ LCID Locale, _In_ DWORD dwFlags, _In_opt_ const SYSTEMTIME *lpDate, _In_opt_z_ LPCSTR lpFormat, _Out_ std::basic_string<char, _Traits, _Ax> &sDate) noexcept
-
1136{
-
1137 int iResult = GetDateFormatA(Locale, dwFlags, lpDate, lpFormat, NULL, 0);
-
1138 if (iResult) {
-
1139 // Allocate buffer on heap and retry.
-
1140 std::unique_ptr<char[]> szBuffer(new char[iResult]);
-
1141 iResult = GetDateFormatA(Locale, dwFlags, lpDate, lpFormat, szBuffer.get(), iResult);
-
1142 sDate.assign(szBuffer.get(), iResult ? iResult - 1 : 0);
-
1143 return iResult;
-
1144 }
-
1145
-
1146 return iResult;
-
1147}
-
1148
-
1154template<class _Traits, class _Ax>
-
1155static _Success_(return != 0) int GetDateFormatW(_In_ LCID Locale, _In_ DWORD dwFlags, _In_opt_ const SYSTEMTIME *lpDate, _In_opt_z_ LPCWSTR lpFormat, _Out_ std::basic_string<wchar_t, _Traits, _Ax> &sDate) noexcept
-
1156{
-
1157 int iResult = GetDateFormatW(Locale, dwFlags, lpDate, lpFormat, NULL, 0);
-
1158 if (iResult) {
-
1159 // Allocate buffer on heap and retry.
-
1160 std::unique_ptr<wchar_t[]> szBuffer(new wchar_t[iResult]);
-
1161 iResult = GetDateFormatW(Locale, dwFlags, lpDate, lpFormat, szBuffer.get(), iResult);
-
1162 sDate.assign(szBuffer.get(), iResult ? iResult - 1 : 0);
-
1163 return iResult;
-
1164 }
-
1165
-
1166 return iResult;
-
1167}
-
1168
-
1170template<class _Traits, class _Ax>
-
1171static _Success_(return != 0) BOOL LookupAccountSidA(_In_opt_z_ LPCSTR lpSystemName, _In_ PSID lpSid, _Out_opt_ std::basic_string<char, _Traits, _Ax> *sName, _Out_opt_ std::basic_string<char, _Traits, _Ax> *sReferencedDomainName, _Out_ PSID_NAME_USE peUse) noexcept
-
1172{
-
1173 assert(0); // TODO: Test this code.
-
1174
-
1175 DWORD dwNameLen = 0, dwRefDomainLen = 0;
-
1176
-
1177 if (LookupAccountSidA(lpSystemName, lpSid,
-
1178 NULL, &dwNameLen ,
-
1179 NULL, &dwRefDomainLen,
-
1180 peUse))
-
1181 {
-
1182 // Name and domain is blank.
-
1183 if (sName ) sName ->clear();
-
1184 if (sReferencedDomainName) sReferencedDomainName->clear();
-
1185 return TRUE;
-
1186 } else if (GetLastError() == ERROR_MORE_DATA) {
-
1187 // Allocate on heap and retry.
-
1188 std::unique_ptr<char[]> bufName (new char[dwNameLen ]);
-
1189 std::unique_ptr<char[]> bufRefDomain(new char[dwRefDomainLen]);
-
1190 if (LookupAccountSidA(lpSystemName, lpSid,
-
1191 bufName .get(), &dwNameLen ,
-
1192 bufRefDomain.get(), &dwRefDomainLen,
-
1193 peUse))
-
1194 {
-
1195 if (sName ) sName ->assign(bufName .get(), dwNameLen - 1);
-
1196 if (sReferencedDomainName) sReferencedDomainName->assign(bufRefDomain.get(), dwRefDomainLen - 1);
-
1197 return TRUE;
-
1198 }
-
1199 }
-
1200
-
1201 return FALSE;
-
1202}
-
1203
-
1209template<class _Traits, class _Ax>
-
1210static _Success_(return != 0) BOOL LookupAccountSidW(_In_opt_z_ LPCWSTR lpSystemName, _In_ PSID lpSid, _Out_opt_ std::basic_string<wchar_t, _Traits, _Ax> *sName, _Out_opt_ std::basic_string<wchar_t, _Traits, _Ax> *sReferencedDomainName, _Out_ PSID_NAME_USE peUse) noexcept
-
1211{
-
1212 assert(0); // TODO: Test this code.
-
1213
-
1214 DWORD dwNameLen = 0, dwRefDomainLen = 0;
+
1114 std::wstring str;
+
1115 try { vsprintf(str, lpOutputString, arg); } catch (...) { return; }
+
1116 OutputDebugStringW(str.c_str());
+
1117}
+
1118
+
1124static VOID OutputDebugStr(_In_z_ LPCSTR lpOutputString, ...) noexcept
+
1125{
+
1126 va_list arg;
+
1127 va_start(arg, lpOutputString);
+
1128 OutputDebugStrV(lpOutputString, arg);
+
1129 va_end(arg);
+
1130}
+
1131
+
1137static VOID OutputDebugStr(_In_z_ LPCWSTR lpOutputString, ...) noexcept
+
1138{
+
1139 va_list arg;
+
1140 va_start(arg, lpOutputString);
+
1141 OutputDebugStrV(lpOutputString, arg);
+
1142 va_end(arg);
+
1143}
+
1144
+
1146template<class _Traits, class _Ax>
+
1147static _Success_(return != 0) int GetDateFormatA(_In_ LCID Locale, _In_ DWORD dwFlags, _In_opt_ const SYSTEMTIME *lpDate, _In_opt_z_ LPCSTR lpFormat, _Out_ std::basic_string<char, _Traits, _Ax> &sDate) noexcept
+
1148{
+
1149 int iResult = GetDateFormatA(Locale, dwFlags, lpDate, lpFormat, NULL, 0);
+
1150 if (iResult) {
+
1151 // Allocate buffer on heap and retry.
+
1152 std::unique_ptr<char[]> szBuffer(new char[iResult]);
+
1153 iResult = GetDateFormatA(Locale, dwFlags, lpDate, lpFormat, szBuffer.get(), iResult);
+
1154 sDate.assign(szBuffer.get(), iResult ? iResult - 1 : 0);
+
1155 return iResult;
+
1156 }
+
1157
+
1158 return iResult;
+
1159}
+
1160
+
1166template<class _Traits, class _Ax>
+
1167static _Success_(return != 0) int GetDateFormatW(_In_ LCID Locale, _In_ DWORD dwFlags, _In_opt_ const SYSTEMTIME *lpDate, _In_opt_z_ LPCWSTR lpFormat, _Out_ std::basic_string<wchar_t, _Traits, _Ax> &sDate) noexcept
+
1168{
+
1169 int iResult = GetDateFormatW(Locale, dwFlags, lpDate, lpFormat, NULL, 0);
+
1170 if (iResult) {
+
1171 // Allocate buffer on heap and retry.
+
1172 std::unique_ptr<wchar_t[]> szBuffer(new wchar_t[iResult]);
+
1173 iResult = GetDateFormatW(Locale, dwFlags, lpDate, lpFormat, szBuffer.get(), iResult);
+
1174 sDate.assign(szBuffer.get(), iResult ? iResult - 1 : 0);
+
1175 return iResult;
+
1176 }
+
1177
+
1178 return iResult;
+
1179}
+
1180
+
1182template<class _Traits, class _Ax>
+
1183static _Success_(return != 0) BOOL LookupAccountSidA(_In_opt_z_ LPCSTR lpSystemName, _In_ PSID lpSid, _Out_opt_ std::basic_string<char, _Traits, _Ax> *sName, _Out_opt_ std::basic_string<char, _Traits, _Ax> *sReferencedDomainName, _Out_ PSID_NAME_USE peUse) noexcept
+
1184{
+
1185 assert(0); // TODO: Test this code.
+
1186
+
1187 DWORD dwNameLen = 0, dwRefDomainLen = 0;
+
1188
+
1189 if (LookupAccountSidA(lpSystemName, lpSid,
+
1190 NULL, &dwNameLen ,
+
1191 NULL, &dwRefDomainLen,
+
1192 peUse))
+
1193 {
+
1194 // Name and domain is blank.
+
1195 if (sName ) sName ->clear();
+
1196 if (sReferencedDomainName) sReferencedDomainName->clear();
+
1197 return TRUE;
+
1198 } else if (GetLastError() == ERROR_MORE_DATA) {
+
1199 // Allocate on heap and retry.
+
1200 std::unique_ptr<char[]> bufName (new char[dwNameLen ]);
+
1201 std::unique_ptr<char[]> bufRefDomain(new char[dwRefDomainLen]);
+
1202 if (LookupAccountSidA(lpSystemName, lpSid,
+
1203 bufName .get(), &dwNameLen ,
+
1204 bufRefDomain.get(), &dwRefDomainLen,
+
1205 peUse))
+
1206 {
+
1207 if (sName ) sName ->assign(bufName .get(), dwNameLen - 1);
+
1208 if (sReferencedDomainName) sReferencedDomainName->assign(bufRefDomain.get(), dwRefDomainLen - 1);
+
1209 return TRUE;
+
1210 }
+
1211 }
+
1212
+
1213 return FALSE;
+
1214}
1215
-
1216 if (LookupAccountSidW(lpSystemName, lpSid,
-
1217 NULL, &dwNameLen ,
-
1218 NULL, &dwRefDomainLen,
-
1219 peUse))
-
1220 {
-
1221 // Name and domain is blank.
-
1222 if (sName ) sName ->clear();
-
1223 if (sReferencedDomainName) sReferencedDomainName->clear();
-
1224 return TRUE;
-
1225 } else if (GetLastError() == ERROR_MORE_DATA) {
-
1226 // Allocate on heap and retry.
-
1227 std::unique_ptr<wchar_t[]> bufName (new wchar_t[dwNameLen ]);
-
1228 std::unique_ptr<wchar_t[]> bufRefDomain(new wchar_t[dwRefDomainLen]);
-
1229 if (LookupAccountSidW(lpSystemName, lpSid,
-
1230 bufName .get(), &dwNameLen ,
-
1231 bufRefDomain.get(), &dwRefDomainLen,
-
1232 peUse))
-
1233 {
-
1234 if (sName ) sName ->assign(bufName .get(), dwNameLen - 1);
-
1235 if (sReferencedDomainName) sReferencedDomainName->assign(bufRefDomain.get(), dwRefDomainLen - 1);
-
1236 return TRUE;
-
1237 }
-
1238 }
-
1239
-
1240 return FALSE;
-
1241}
-
1242
-
1248template<class _Ty>
-
1249static _Success_(return != 0) BOOL GetTokenInformation(_In_ HANDLE TokenHandle, _In_ TOKEN_INFORMATION_CLASS TokenInformationClass, _Out_ std::unique_ptr<_Ty> &TokenInformation) noexcept
-
1250{
-
1251 BYTE szStackBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(BYTE)];
-
1252 DWORD dwSize;
-
1253
-
1254 if (GetTokenInformation(TokenHandle, TokenInformationClass, szStackBuffer, sizeof(szStackBuffer), &dwSize)) {
-
1255 // The stack buffer was big enough to retrieve complete data. Alloc and copy.
-
1256 TokenInformation.reset((_Ty*)(new BYTE[dwSize / sizeof(BYTE)]));
-
1257 if (!TokenInformation) {
-
1258 SetLastError(ERROR_OUTOFMEMORY);
-
1259 return FALSE;
-
1260 }
-
1261 memcpy(TokenInformation.get(), szStackBuffer, dwSize);
-
1262 return TRUE;
-
1263 } else if (GetLastError() == ERROR_INSUFFICIENT_BUFFER) {
-
1264 // The stack buffer was too small to retrieve complete data. Alloc and retry.
-
1265 TokenInformation.reset((_Ty*)(new BYTE[dwSize / sizeof(BYTE)]));
-
1266 if (!TokenInformation) {
-
1267 SetLastError(ERROR_OUTOFMEMORY);
-
1268 return FALSE;
-
1269 }
-
1270 return GetTokenInformation(TokenHandle, TokenInformationClass, TokenInformation.get(), dwSize, &dwSize);
-
1271 } else
-
1272 return FALSE;
-
1273}
-
1274
-
1280template<class _Traits, class _Ax>
-
1281static _Success_(return != 0) BOOL QueryFullProcessImageNameA(_In_ HANDLE hProcess, _In_ DWORD dwFlags, _Inout_ std::basic_string<char, _Traits, _Ax>& sExeName)
-
1282{
-
1283 char szStackBuffer[WINSTD_STACK_BUFFER_BYTES / sizeof(char)];
-
1284 DWORD dwSize = _countof(szStackBuffer);
-
1285
-
1286 // Try with stack buffer first.
-
1287 if (::QueryFullProcessImageNameA(hProcess, dwFlags, szStackBuffer, &dwSize)) {
-
1288 // Copy from stack.
-
1289 sExeName.assign(szStackBuffer, dwSize);
-
1290 return TRUE;
-
1291 }
-
1292 for (DWORD dwCapacity = 2 * WINSTD_STACK_BUFFER_BYTES / sizeof(char); GetLastError() == ERROR_INSUFFICIENT_BUFFER; dwCapacity *= 2) {
-
1293 // Allocate on heap and retry.
-
1294 std::unique_ptr<char[]> szBuffer(new char[dwCapacity]);
-
1295 dwSize = dwCapacity;
-
1296 if (::QueryFullProcessImageNameA(hProcess, dwFlags, szBuffer.get(), &dwSize)) {
-
1297 sExeName.assign(szBuffer.get(), dwSize);
-
1298 return TRUE;
-
1299 }
-
1300 }
-
1301 return FALSE;
-
1302}
-
1303
-
1309template<class _Traits, class _Ax>
-
1310static _Success_(return != 0) BOOL QueryFullProcessImageNameW(_In_ HANDLE hProcess, _In_ DWORD dwFlags, _Inout_ std::basic_string<wchar_t, _Traits, _Ax>& sExeName)
-
1311{
-
1312 wchar_t szStackBuffer[WINSTD_STACK_BUFFER_BYTES / sizeof(wchar_t)];
-
1313 DWORD dwSize = _countof(szStackBuffer);
-
1314
-
1315 // Try with stack buffer first.
-
1316 if (::QueryFullProcessImageNameW(hProcess, dwFlags, szStackBuffer, &dwSize)) {
-
1317 // Copy from stack.
-
1318 sExeName.assign(szStackBuffer, dwSize);
-
1319 return TRUE;
-
1320 }
-
1321 for (DWORD dwCapacity = 2 * WINSTD_STACK_BUFFER_BYTES / sizeof(wchar_t); GetLastError() == ERROR_INSUFFICIENT_BUFFER; dwCapacity *= 2) {
-
1322 // Allocate on heap and retry.
-
1323 std::unique_ptr<wchar_t[]> szBuffer(new wchar_t[dwCapacity]);
-
1324 dwSize = dwCapacity;
-
1325 if (::QueryFullProcessImageNameW(hProcess, dwFlags, szBuffer.get(), &dwSize)) {
-
1326 sExeName.assign(szBuffer.get(), dwSize);
-
1327 return TRUE;
-
1328 }
-
1329 }
-
1330 return FALSE;
-
1331}
-
1332
-
1334
-
1335#pragma warning(pop)
-
1336
-
1337namespace winstd
-
1338{
-
1341
-
1345 template<HANDLE INVALID>
-
1346 class win_handle : public handle<HANDLE, INVALID>
-
1347 {
-
1348 WINSTD_HANDLE_IMPL(win_handle, INVALID)
-
1349
-
1350 public:
-
1356 virtual ~win_handle()
-
1357 {
-
1358 if (m_h != invalid)
-
1359 free_internal();
-
1360 }
+
1221template<class _Traits, class _Ax>
+
1222static _Success_(return != 0) BOOL LookupAccountSidW(_In_opt_z_ LPCWSTR lpSystemName, _In_ PSID lpSid, _Out_opt_ std::basic_string<wchar_t, _Traits, _Ax> *sName, _Out_opt_ std::basic_string<wchar_t, _Traits, _Ax> *sReferencedDomainName, _Out_ PSID_NAME_USE peUse) noexcept
+
1223{
+
1224 assert(0); // TODO: Test this code.
+
1225
+
1226 DWORD dwNameLen = 0, dwRefDomainLen = 0;
+
1227
+
1228 if (LookupAccountSidW(lpSystemName, lpSid,
+
1229 NULL, &dwNameLen ,
+
1230 NULL, &dwRefDomainLen,
+
1231 peUse))
+
1232 {
+
1233 // Name and domain is blank.
+
1234 if (sName ) sName ->clear();
+
1235 if (sReferencedDomainName) sReferencedDomainName->clear();
+
1236 return TRUE;
+
1237 } else if (GetLastError() == ERROR_MORE_DATA) {
+
1238 // Allocate on heap and retry.
+
1239 std::unique_ptr<wchar_t[]> bufName (new wchar_t[dwNameLen ]);
+
1240 std::unique_ptr<wchar_t[]> bufRefDomain(new wchar_t[dwRefDomainLen]);
+
1241 if (LookupAccountSidW(lpSystemName, lpSid,
+
1242 bufName .get(), &dwNameLen ,
+
1243 bufRefDomain.get(), &dwRefDomainLen,
+
1244 peUse))
+
1245 {
+
1246 if (sName ) sName ->assign(bufName .get(), dwNameLen - 1);
+
1247 if (sReferencedDomainName) sReferencedDomainName->assign(bufRefDomain.get(), dwRefDomainLen - 1);
+
1248 return TRUE;
+
1249 }
+
1250 }
+
1251
+
1252 return FALSE;
+
1253}
+
1254
+
1260template<class _Ty>
+
1261static _Success_(return != 0) BOOL GetTokenInformation(_In_ HANDLE TokenHandle, _In_ TOKEN_INFORMATION_CLASS TokenInformationClass, _Out_ std::unique_ptr<_Ty> &TokenInformation) noexcept
+
1262{
+
1263 BYTE szStackBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(BYTE)];
+
1264 DWORD dwSize;
+
1265
+
1266 if (GetTokenInformation(TokenHandle, TokenInformationClass, szStackBuffer, sizeof(szStackBuffer), &dwSize)) {
+
1267 // The stack buffer was big enough to retrieve complete data. Alloc and copy.
+
1268 TokenInformation.reset((_Ty*)(new BYTE[dwSize / sizeof(BYTE)]));
+
1269 if (!TokenInformation) {
+
1270 SetLastError(ERROR_OUTOFMEMORY);
+
1271 return FALSE;
+
1272 }
+
1273 memcpy(TokenInformation.get(), szStackBuffer, dwSize);
+
1274 return TRUE;
+
1275 } else if (GetLastError() == ERROR_INSUFFICIENT_BUFFER) {
+
1276 // The stack buffer was too small to retrieve complete data. Alloc and retry.
+
1277 TokenInformation.reset((_Ty*)(new BYTE[dwSize / sizeof(BYTE)]));
+
1278 if (!TokenInformation) {
+
1279 SetLastError(ERROR_OUTOFMEMORY);
+
1280 return FALSE;
+
1281 }
+
1282 return GetTokenInformation(TokenHandle, TokenInformationClass, TokenInformation.get(), dwSize, &dwSize);
+
1283 } else
+
1284 return FALSE;
+
1285}
+
1286
+
1292template<class _Traits, class _Ax>
+
1293static _Success_(return != 0) BOOL QueryFullProcessImageNameA(_In_ HANDLE hProcess, _In_ DWORD dwFlags, _Inout_ std::basic_string<char, _Traits, _Ax>& sExeName)
+
1294{
+
1295 char szStackBuffer[WINSTD_STACK_BUFFER_BYTES / sizeof(char)];
+
1296 DWORD dwSize = _countof(szStackBuffer);
+
1297
+
1298 // Try with stack buffer first.
+
1299 if (::QueryFullProcessImageNameA(hProcess, dwFlags, szStackBuffer, &dwSize)) {
+
1300 // Copy from stack.
+
1301 sExeName.assign(szStackBuffer, dwSize);
+
1302 return TRUE;
+
1303 }
+
1304 for (DWORD dwCapacity = 2 * WINSTD_STACK_BUFFER_BYTES / sizeof(char); GetLastError() == ERROR_INSUFFICIENT_BUFFER; dwCapacity *= 2) {
+
1305 // Allocate on heap and retry.
+
1306 std::unique_ptr<char[]> szBuffer(new char[dwCapacity]);
+
1307 dwSize = dwCapacity;
+
1308 if (::QueryFullProcessImageNameA(hProcess, dwFlags, szBuffer.get(), &dwSize)) {
+
1309 sExeName.assign(szBuffer.get(), dwSize);
+
1310 return TRUE;
+
1311 }
+
1312 }
+
1313 return FALSE;
+
1314}
+
1315
+
1321template<class _Traits, class _Ax>
+
1322static _Success_(return != 0) BOOL QueryFullProcessImageNameW(_In_ HANDLE hProcess, _In_ DWORD dwFlags, _Inout_ std::basic_string<wchar_t, _Traits, _Ax>& sExeName)
+
1323{
+
1324 wchar_t szStackBuffer[WINSTD_STACK_BUFFER_BYTES / sizeof(wchar_t)];
+
1325 DWORD dwSize = _countof(szStackBuffer);
+
1326
+
1327 // Try with stack buffer first.
+
1328 if (::QueryFullProcessImageNameW(hProcess, dwFlags, szStackBuffer, &dwSize)) {
+
1329 // Copy from stack.
+
1330 sExeName.assign(szStackBuffer, dwSize);
+
1331 return TRUE;
+
1332 }
+
1333 for (DWORD dwCapacity = 2 * WINSTD_STACK_BUFFER_BYTES / sizeof(wchar_t); GetLastError() == ERROR_INSUFFICIENT_BUFFER; dwCapacity *= 2) {
+
1334 // Allocate on heap and retry.
+
1335 std::unique_ptr<wchar_t[]> szBuffer(new wchar_t[dwCapacity]);
+
1336 dwSize = dwCapacity;
+
1337 if (::QueryFullProcessImageNameW(hProcess, dwFlags, szBuffer.get(), &dwSize)) {
+
1338 sExeName.assign(szBuffer.get(), dwSize);
+
1339 return TRUE;
+
1340 }
+
1341 }
+
1342 return FALSE;
+
1343}
+
1344
+
1346
+
1347#pragma warning(pop)
+
1348
+
1349namespace winstd
+
1350{
+
1353
+
1357 template<HANDLE INVALID>
+
1358 class win_handle : public handle<HANDLE, INVALID>
+
1359 {
+
1360 WINSTD_HANDLE_IMPL(win_handle, INVALID)
1361
-
1362 protected:
-
1368 void free_internal() noexcept override
-
1369 {
-
1370 CloseHandle(m_h);
-
1371 }
-
1372 };
+
1362 public:
+
1368 virtual ~win_handle()
+
1369 {
+
1370 if (m_h != invalid)
+
1371 free_internal();
+
1372 }
1373
-
1377 class library : public handle<HMODULE, NULL>
-
1378 {
-
1379 WINSTD_HANDLE_IMPL(library, NULL)
-
1380
-
1381 public:
-
1387 virtual ~library()
-
1388 {
-
1389 if (m_h != invalid)
-
1390 free_internal();
-
1391 }
+
1374 protected:
+
1380 void free_internal() noexcept override
+
1381 {
+
1382 CloseHandle(m_h);
+
1383 }
+
1384 };
+
1385
+
1389 class library : public handle<HMODULE, NULL>
+
1390 {
+
1391 WINSTD_HANDLE_IMPL(library, NULL)
1392
-
1402 bool load(_In_z_ LPCTSTR lpFileName, __reserved handle_type hFile, _In_ DWORD dwFlags) noexcept
-
1403 {
-
1404 handle_type h = LoadLibraryEx(lpFileName, hFile, dwFlags);
-
1405 if (h != invalid) {
-
1406 attach(h);
-
1407 return true;
-
1408 } else
-
1409 return false;
-
1410 }
-
1411
-
1412 protected:
-
1418 void free_internal() noexcept override
-
1419 {
-
1420 FreeLibrary(m_h);
-
1421 }
-
1422 };
-
1423
-
1427 class process : public win_handle<NULL>
-
1428 {
-
1429 public:
-
1439 bool open(_In_ DWORD dwDesiredAccess, _In_ BOOL bInheritHandle, _In_ DWORD dwProcessId) noexcept
-
1440 {
-
1441 handle_type h = OpenProcess(dwDesiredAccess, bInheritHandle, dwProcessId);
-
1442 if (h != invalid) {
-
1443 attach(h);
-
1444 return true;
-
1445 } else
-
1446 return false;
-
1447 }
-
1448 };
-
1449
-
1453 class file : public win_handle<INVALID_HANDLE_VALUE>
-
1454 {
-
1455 public:
-
1465 bool create(_In_z_ LPCTSTR lpFileName, _In_ DWORD dwDesiredAccess, _In_ DWORD dwShareMode, _In_ DWORD dwCreationDisposition, _In_opt_ DWORD dwFlagsAndAttributes = FILE_ATTRIBUTE_NORMAL, _In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes = NULL, _In_opt_ HANDLE hTemplateFile = NULL) noexcept
-
1466 {
-
1467 handle_type h = CreateFile(lpFileName, dwDesiredAccess, dwShareMode, lpSecurityAttributes, dwCreationDisposition, dwFlagsAndAttributes, hTemplateFile);
-
1468 if (h != invalid) {
-
1469 attach(h);
-
1470 return true;
-
1471 } else
-
1472 return false;
-
1473 }
-
1474 };
-
1475
-
1479 class file_mapping : public win_handle<NULL>
-
1480 {
-
1481 public:
-
1491 bool create(_In_ HANDLE hFile, _In_ DWORD flProtect, _In_ DWORD dwMaximumSizeHigh, _In_ DWORD dwMaximumSizeLow, _In_opt_ LPSECURITY_ATTRIBUTES lpFileMappingAttributes = NULL, _In_opt_ LPCTSTR lpName = NULL) noexcept
-
1492 {
-
1493 handle_type h = CreateFileMappingW(hFile, lpFileMappingAttributes, flProtect, dwMaximumSizeHigh, dwMaximumSizeLow, lpName);
-
1494 if (h != invalid) {
-
1495 attach(h);
-
1496 return true;
-
1497 } else
-
1498 return false;
-
1499 }
-
1500 };
+
1393 public:
+
1399 virtual ~library()
+
1400 {
+
1401 if (m_h != invalid)
+
1402 free_internal();
+
1403 }
+
1404
+
1414 __declspec(deprecated("Use LoadLibraryEx"))
+
1415 bool load(_In_z_ LPCTSTR lpFileName, __reserved handle_type hFile, _In_ DWORD dwFlags) noexcept
+
1416 {
+
1417 handle_type h = LoadLibraryEx(lpFileName, hFile, dwFlags);
+
1418 if (h != invalid) {
+
1419 attach(h);
+
1420 return true;
+
1421 } else
+
1422 return false;
+
1423 }
+
1424
+
1425 protected:
+
1431 void free_internal() noexcept override
+
1432 {
+
1433 FreeLibrary(m_h);
+
1434 }
+
1435 };
+
1436
+
1440 class process : public win_handle<NULL>
+
1441 {
+
1442 WINSTD_WINHANDLE_IMPL(process, NULL)
+
1443
+
1444 public:
+
1454 __declspec(deprecated("Use OpenProcess"))
+
1455 bool open(_In_ DWORD dwDesiredAccess, _In_ BOOL bInheritHandle, _In_ DWORD dwProcessId) noexcept
+
1456 {
+
1457 handle_type h = OpenProcess(dwDesiredAccess, bInheritHandle, dwProcessId);
+
1458 if (h != invalid) {
+
1459 attach(h);
+
1460 return true;
+
1461 } else
+
1462 return false;
+
1463 }
+
1464 };
+
1465
+
1469 class file : public win_handle<INVALID_HANDLE_VALUE>
+
1470 {
+
1471 WINSTD_WINHANDLE_IMPL(file, INVALID_HANDLE_VALUE)
+
1472
+
1473 public:
+
1483 __declspec(deprecated("Use CreateFile"))
+
1484 bool create(_In_z_ LPCTSTR lpFileName, _In_ DWORD dwDesiredAccess, _In_ DWORD dwShareMode, _In_ DWORD dwCreationDisposition, _In_opt_ DWORD dwFlagsAndAttributes = FILE_ATTRIBUTE_NORMAL, _In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes = NULL, _In_opt_ HANDLE hTemplateFile = NULL) noexcept
+
1485 {
+
1486 handle_type h = CreateFile(lpFileName, dwDesiredAccess, dwShareMode, lpSecurityAttributes, dwCreationDisposition, dwFlagsAndAttributes, hTemplateFile);
+
1487 if (h != invalid) {
+
1488 attach(h);
+
1489 return true;
+
1490 } else
+
1491 return false;
+
1492 }
+
1493 };
+
1494
+
1498 class file_mapping : public win_handle<NULL>
+
1499 {
+
1500 WINSTD_WINHANDLE_IMPL(file_mapping, NULL)
1501
-
1505 template <class _Ty> struct UnmapViewOfFile_delete
-
1506 {
-
1507 typedef UnmapViewOfFile_delete<_Ty> _Myt;
-
1508
-
1512 UnmapViewOfFile_delete() {}
-
1513
-
1517 template <class _Ty2> UnmapViewOfFile_delete(const UnmapViewOfFile_delete<_Ty2>&) {}
-
1518
-
1522 void operator()(_Ty* _Ptr) const
-
1523 {
-
1524 if (!UnmapViewOfFile(_Ptr))
-
1525 throw win_runtime_error("UnmapViewOfFile failed");
-
1526 }
-
1527 };
-
1528
-
1532 template <class _Ty> struct UnmapViewOfFile_delete<_Ty[]>
-
1533 {
-
1534 typedef UnmapViewOfFile_delete<_Ty> _Myt;
+
1502 public:
+
1512 __declspec(deprecated("Use CreateFileMapping"))
+
1513 bool create(_In_ HANDLE hFile, _In_ DWORD flProtect, _In_ DWORD dwMaximumSizeHigh, _In_ DWORD dwMaximumSizeLow, _In_opt_ LPSECURITY_ATTRIBUTES lpFileMappingAttributes = NULL, _In_opt_ LPCTSTR lpName = NULL) noexcept
+
1514 {
+
1515 handle_type h = CreateFileMapping(hFile, lpFileMappingAttributes, flProtect, dwMaximumSizeHigh, dwMaximumSizeLow, lpName);
+
1516 if (h != invalid) {
+
1517 attach(h);
+
1518 return true;
+
1519 } else
+
1520 return false;
+
1521 }
+
1522 };
+
1523
+
1527 template <class _Ty> struct UnmapViewOfFile_delete
+
1528 {
+
1529 typedef UnmapViewOfFile_delete<_Ty> _Myt;
+
1530
+
1534 UnmapViewOfFile_delete() {}
1535
-
1539 UnmapViewOfFile_delete() {}
+
1539 template <class _Ty2> UnmapViewOfFile_delete(const UnmapViewOfFile_delete<_Ty2>&) {}
1540
-
1544 void operator()(_Ty* _Ptr) const
+
1544 void operator()(_Ty* _Ptr) const
1545 {
1546 if (!UnmapViewOfFile(_Ptr))
1547 throw win_runtime_error("UnmapViewOfFile failed");
1548 }
-
1549
-
1553 template<class _Other>
-
1554 void operator()(_Other*) const
-
1555 {
-
1556 if (!UnmapViewOfFile(_Ptr))
-
1557 throw win_runtime_error("UnmapViewOfFile failed");
-
1558 }
-
1559 };
-
1560
-
1564 class event : public win_handle<NULL>
-
1565 {
-
1566 public:
-
1576 bool create(_In_ BOOL bManualReset, _In_ BOOL bInitialState, _In_opt_ LPSECURITY_ATTRIBUTES lpEventAttributes = NULL, _In_opt_z_ LPCTSTR lpName = NULL) noexcept
-
1577 {
-
1578 handle_type h = CreateEvent(lpEventAttributes, bManualReset, bInitialState, lpName);
-
1579 if (h != invalid) {
-
1580 attach(h);
-
1581 return true;
-
1582 } else
-
1583 return false;
-
1584 }
-
1585
-
1595 bool open(_In_ DWORD dwDesiredAccess, _In_ BOOL bInheritHandle, _In_z_ LPCTSTR lpName) noexcept
-
1596 {
-
1597 handle_type h = OpenEvent(dwDesiredAccess, bInheritHandle, lpName);
-
1598 if (h != invalid) {
-
1599 attach(h);
-
1600 return true;
-
1601 } else
-
1602 return false;
-
1603 }
-
1604 };
-
1605
-
1609 class critical_section
-
1610 {
-
1611 WINSTD_NONCOPYABLE(critical_section)
-
1612 WINSTD_NONMOVABLE(critical_section)
-
1613
-
1614 public:
-
1620 critical_section()
-
1621 {
-
1622 __try {
-
1623 InitializeCriticalSection(&m_data);
-
1624 } __except(EXCEPTION_EXECUTE_HANDLER) {
-
1625 throw std::runtime_error("InitializeCriticalSection failed");
-
1626 }
-
1627 }
-
1628
-
1634 virtual ~critical_section()
-
1635 {
-
1636 DeleteCriticalSection(&m_data);
-
1637 }
-
1638
-
1644 operator LPCRITICAL_SECTION() noexcept
-
1645 {
-
1646 return &m_data;
-
1647 }
-
1648
-
1649 protected:
-
1650 CRITICAL_SECTION m_data;
-
1651 };
-
1652
-
1656 class find_file : public handle<HANDLE, INVALID_HANDLE_VALUE>
-
1657 {
-
1658 WINSTD_HANDLE_IMPL(find_file, INVALID_HANDLE_VALUE)
-
1659
-
1660 public:
-
1666 virtual ~find_file()
-
1667 {
-
1668 if (m_h != invalid)
-
1669 free_internal();
-
1670 }
-
1671
-
1681 bool find(_In_ LPCTSTR lpFileName, _Out_ LPWIN32_FIND_DATA lpFindFileData) noexcept
-
1682 {
-
1683 handle_type h = FindFirstFile(lpFileName, lpFindFileData);
-
1684 if (h != invalid) {
-
1685 attach(h);
-
1686 return true;
-
1687 } else
-
1688 return false;
-
1689 }
-
1690
-
1691 protected:
-
1697 void free_internal() noexcept override
-
1698 {
-
1699 FindClose(m_h);
-
1700 }
-
1701 };
-
1702
-
1706 class heap : public handle<HANDLE, NULL>
-
1707 {
-
1708 WINSTD_HANDLE_IMPL(heap, NULL)
-
1709
-
1710 public:
-
1716 virtual ~heap()
-
1717 {
-
1718 if (m_h != invalid)
-
1719 free_internal();
-
1720 }
-
1721
-
1731 bool create(_In_ DWORD flOptions, _In_ SIZE_T dwInitialSize, _In_ SIZE_T dwMaximumSize) noexcept
-
1732 {
-
1733 handle_type h = HeapCreate(flOptions, dwInitialSize, dwMaximumSize);
-
1734 if (h != invalid) {
-
1735 attach(h);
-
1736 return true;
-
1737 } else
-
1738 return false;
-
1739 }
-
1740
-
1748 bool enumerate() noexcept
-
1749 {
-
1750 assert(m_h != invalid);
-
1751
-
1752 bool found = false;
-
1753
-
1754 // Lock the heap for exclusive access.
-
1755 HeapLock(m_h);
-
1756
-
1757 PROCESS_HEAP_ENTRY e;
-
1758 e.lpData = NULL;
-
1759 while (HeapWalk(m_h, &e) != FALSE) {
-
1760 if ((e.wFlags & PROCESS_HEAP_ENTRY_BUSY) != 0) {
-
1761 OutputDebugStr(
-
1762 _T("Allocated block%s%s\n")
-
1763 _T(" Data portion begins at: %#p\n Size: %d bytes\n")
-
1764 _T(" Overhead: %d bytes\n Region index: %d\n"),
-
1765 (e.wFlags & PROCESS_HEAP_ENTRY_MOVEABLE) != 0 ? tstring_printf(_T(", movable with HANDLE %#p"), e.Block.hMem).c_str() : _T(""),
-
1766 (e.wFlags & PROCESS_HEAP_ENTRY_DDESHARE) != 0 ? _T(", DDESHARE") : _T(""),
-
1767 e.lpData,
-
1768 e.cbData,
-
1769 e.cbOverhead,
-
1770 e.iRegionIndex);
-
1771
-
1772 found = true;
-
1773 }
-
1774 }
-
1775
-
1776 const DWORD dwResult = GetLastError();
-
1777 if (dwResult != ERROR_NO_MORE_ITEMS)
-
1778 OutputDebugStr(_T("HeapWalk failed (error %u).\n"), dwResult);
+
1549 };
+
1550
+
1554 template <class _Ty> struct UnmapViewOfFile_delete<_Ty[]>
+
1555 {
+
1556 typedef UnmapViewOfFile_delete<_Ty> _Myt;
+
1557
+
1561 UnmapViewOfFile_delete() {}
+
1562
+
1566 void operator()(_Ty* _Ptr) const
+
1567 {
+
1568 if (!UnmapViewOfFile(_Ptr))
+
1569 throw win_runtime_error("UnmapViewOfFile failed");
+
1570 }
+
1571
+
1575 template<class _Other>
+
1576 void operator()(_Other*) const
+
1577 {
+
1578 if (!UnmapViewOfFile(_Ptr))
+
1579 throw win_runtime_error("UnmapViewOfFile failed");
+
1580 }
+
1581 };
+
1582
+
1586 class event : public win_handle<NULL>
+
1587 {
+
1588 WINSTD_WINHANDLE_IMPL(event, NULL)
+
1589
+
1590 public:
+
1600 __declspec(deprecated("Use CreateEvent"))
+
1601 bool create(_In_ BOOL bManualReset, _In_ BOOL bInitialState, _In_opt_ LPSECURITY_ATTRIBUTES lpEventAttributes = NULL, _In_opt_z_ LPCTSTR lpName = NULL) noexcept
+
1602 {
+
1603 handle_type h = CreateEvent(lpEventAttributes, bManualReset, bInitialState, lpName);
+
1604 if (h != invalid) {
+
1605 attach(h);
+
1606 return true;
+
1607 } else
+
1608 return false;
+
1609 }
+
1610
+
1620 __declspec(deprecated("Use OpenEvent"))
+
1621 bool open(_In_ DWORD dwDesiredAccess, _In_ BOOL bInheritHandle, _In_z_ LPCTSTR lpName) noexcept
+
1622 {
+
1623 handle_type h = OpenEvent(dwDesiredAccess, bInheritHandle, lpName);
+
1624 if (h != invalid) {
+
1625 attach(h);
+
1626 return true;
+
1627 } else
+
1628 return false;
+
1629 }
+
1630 };
+
1631
+
1635 class critical_section
+
1636 {
+
1637 WINSTD_NONCOPYABLE(critical_section)
+
1638 WINSTD_NONMOVABLE(critical_section)
+
1639
+
1640 public:
+
1646 critical_section()
+
1647 {
+
1648 __try {
+
1649 InitializeCriticalSection(&m_data);
+
1650 } __except(EXCEPTION_EXECUTE_HANDLER) {
+
1651 throw std::runtime_error("InitializeCriticalSection failed");
+
1652 }
+
1653 }
+
1654
+
1660 virtual ~critical_section()
+
1661 {
+
1662 DeleteCriticalSection(&m_data);
+
1663 }
+
1664
+
1670 operator LPCRITICAL_SECTION() noexcept
+
1671 {
+
1672 return &m_data;
+
1673 }
+
1674
+
1675 protected:
+
1676 CRITICAL_SECTION m_data;
+
1677 };
+
1678
+
1682 class find_file : public handle<HANDLE, INVALID_HANDLE_VALUE>
+
1683 {
+
1684 WINSTD_HANDLE_IMPL(find_file, INVALID_HANDLE_VALUE)
+
1685
+
1686 public:
+
1692 virtual ~find_file()
+
1693 {
+
1694 if (m_h != invalid)
+
1695 free_internal();
+
1696 }
+
1697
+
1707 __declspec(deprecated("Use FindFirstFile"))
+
1708 bool find(_In_ LPCTSTR lpFileName, _Out_ LPWIN32_FIND_DATA lpFindFileData) noexcept
+
1709 {
+
1710 handle_type h = FindFirstFile(lpFileName, lpFindFileData);
+
1711 if (h != invalid) {
+
1712 attach(h);
+
1713 return true;
+
1714 } else
+
1715 return false;
+
1716 }
+
1717
+
1718 protected:
+
1724 void free_internal() noexcept override
+
1725 {
+
1726 FindClose(m_h);
+
1727 }
+
1728 };
+
1729
+
1733 class heap : public handle<HANDLE, NULL>
+
1734 {
+
1735 WINSTD_HANDLE_IMPL(heap, NULL)
+
1736
+
1737 public:
+
1743 virtual ~heap()
+
1744 {
+
1745 if (m_h != invalid)
+
1746 free_internal();
+
1747 }
+
1748
+
1758 __declspec(deprecated("Use HeapCreate"))
+
1759 bool create(_In_ DWORD flOptions, _In_ SIZE_T dwInitialSize, _In_ SIZE_T dwMaximumSize) noexcept
+
1760 {
+
1761 handle_type h = HeapCreate(flOptions, dwInitialSize, dwMaximumSize);
+
1762 if (h != invalid) {
+
1763 attach(h);
+
1764 return true;
+
1765 } else
+
1766 return false;
+
1767 }
+
1768
+
1776 bool enumerate() noexcept
+
1777 {
+
1778 assert(m_h != invalid);
1779
-
1780 // Unlock the heap.
-
1781 HeapUnlock(m_h);
-
1782
-
1783 return found;
-
1784 }
-
1785
-
1786 protected:
-
1792 void free_internal() noexcept override
-
1793 {
-
1794 enumerate();
-
1795 HeapDestroy(m_h);
-
1796 }
-
1797 };
-
1798
-
1802 template <class _Ty>
-
1803 class heap_allocator
-
1804 {
-
1805 public:
-
1806 typedef typename _Ty value_type;
+
1780 bool found = false;
+
1781
+
1782 // Lock the heap for exclusive access.
+
1783 HeapLock(m_h);
+
1784
+
1785 PROCESS_HEAP_ENTRY e;
+
1786 e.lpData = NULL;
+
1787 while (HeapWalk(m_h, &e) != FALSE) {
+
1788 if ((e.wFlags & PROCESS_HEAP_ENTRY_BUSY) != 0) {
+
1789 OutputDebugStr(
+
1790 _T("Allocated block%s%s\n")
+
1791 _T(" Data portion begins at: %#p\n Size: %d bytes\n")
+
1792 _T(" Overhead: %d bytes\n Region index: %d\n"),
+
1793 (e.wFlags & PROCESS_HEAP_ENTRY_MOVEABLE) != 0 ? tstring_printf(_T(", movable with HANDLE %#p"), e.Block.hMem).c_str() : _T(""),
+
1794 (e.wFlags & PROCESS_HEAP_ENTRY_DDESHARE) != 0 ? _T(", DDESHARE") : _T(""),
+
1795 e.lpData,
+
1796 e.cbData,
+
1797 e.cbOverhead,
+
1798 e.iRegionIndex);
+
1799
+
1800 found = true;
+
1801 }
+
1802 }
+
1803
+
1804 const DWORD dwResult = GetLastError();
+
1805 if (dwResult != ERROR_NO_MORE_ITEMS)
+
1806 OutputDebugStr(_T("HeapWalk failed (error %u).\n"), dwResult);
1807
-
1808 typedef _Ty *pointer;
-
1809 typedef _Ty& reference;
-
1810 typedef const _Ty *const_pointer;
-
1811 typedef const _Ty& const_reference;
-
1812
-
1813 typedef SIZE_T size_type;
-
1814 typedef ptrdiff_t difference_type;
-
1815
-
1819 template <class _Other>
-
1820 struct rebind
-
1821 {
-
1822 typedef heap_allocator<_Other> other;
-
1823 };
-
1824
-
1825 public:
-
1831 heap_allocator(_In_ HANDLE heap) : m_heap(heap)
-
1832 {
-
1833 }
-
1834
-
1840 template <class _Other>
-
1841 heap_allocator(_In_ const heap_allocator<_Other> &other) : m_heap(other.m_heap)
-
1842 {
-
1843 }
-
1844
-
1852 pointer allocate(_In_ size_type count)
-
1853 {
-
1854 assert(m_heap);
-
1855 return (pointer)HeapAlloc(m_heap, 0, count * sizeof(_Ty));
-
1856 }
-
1857
-
1864 void deallocate(_In_ pointer ptr, _In_ size_type size)
-
1865 {
-
1866 UNREFERENCED_PARAMETER(size);
-
1867 assert(m_heap);
-
1868 HeapFree(m_heap, 0, ptr);
-
1869 }
-
1870
-
1877 void construct(_Inout_ pointer ptr, _In_ const _Ty& val)
-
1878 {
-
1879 ::new ((void*)ptr) _Ty(val);
-
1880 }
-
1881
-
1888 void construct(_Inout_ pointer ptr, _Inout_ _Ty&& val)
-
1889 {
-
1890 ::new ((void*)ptr) _Ty(std::forward<_Ty>(val));
-
1891 }
-
1892
-
1898 void destroy(_Inout_ pointer ptr)
-
1899 {
-
1900 ptr->_Ty::~_Ty();
-
1901 }
-
1902
-
1906 size_type max_size() const
-
1907 {
-
1908 return (SIZE_T)-1;
-
1909 }
-
1910
-
1911 public:
-
1912 HANDLE m_heap;
-
1913 };
-
1914
-
1918 class actctx_activator
-
1919 {
-
1920 WINSTD_NONCOPYABLE(actctx_activator)
-
1921 WINSTD_NONMOVABLE(actctx_activator)
-
1922
-
1923 public:
-
1931 actctx_activator(_In_ HANDLE hActCtx) noexcept
-
1932 {
-
1933 if (!ActivateActCtx(hActCtx, &m_cookie))
-
1934 m_cookie = 0;
-
1935 }
-
1936
-
1942 virtual ~actctx_activator()
-
1943 {
-
1944 if (m_cookie)
-
1945 DeactivateActCtx(0, m_cookie);
-
1946 }
-
1947
-
1948 protected:
-
1949 ULONG_PTR m_cookie;
-
1950 };
-
1951
-
1955 class user_impersonator
-
1956 {
-
1957 WINSTD_NONCOPYABLE(user_impersonator)
-
1958 WINSTD_NONMOVABLE(user_impersonator)
-
1959
-
1960 public:
-
1968 user_impersonator(_In_opt_ HANDLE hToken) noexcept
-
1969 {
-
1970 m_cookie = hToken && ImpersonateLoggedOnUser(hToken);
-
1971 }
-
1972
-
1978 virtual ~user_impersonator()
-
1979 {
-
1980 if (m_cookie)
-
1981 RevertToSelf();
-
1982 }
-
1983
-
1984 protected:
-
1985 BOOL m_cookie;
-
1986 };
+
1808 // Unlock the heap.
+
1809 HeapUnlock(m_h);
+
1810
+
1811 return found;
+
1812 }
+
1813
+
1814 protected:
+
1820 void free_internal() noexcept override
+
1821 {
+
1822 enumerate();
+
1823 HeapDestroy(m_h);
+
1824 }
+
1825 };
+
1826
+
1830 template <class _Ty>
+
1831 class heap_allocator
+
1832 {
+
1833 public:
+
1834 typedef typename _Ty value_type;
+
1835
+
1836 typedef _Ty *pointer;
+
1837 typedef _Ty& reference;
+
1838 typedef const _Ty *const_pointer;
+
1839 typedef const _Ty& const_reference;
+
1840
+
1841 typedef SIZE_T size_type;
+
1842 typedef ptrdiff_t difference_type;
+
1843
+
1847 template <class _Other>
+
1848 struct rebind
+
1849 {
+
1850 typedef heap_allocator<_Other> other;
+
1851 };
+
1852
+
1853 public:
+
1859 heap_allocator(_In_ HANDLE heap) : m_heap(heap)
+
1860 {
+
1861 }
+
1862
+
1868 template <class _Other>
+
1869 heap_allocator(_In_ const heap_allocator<_Other> &other) : m_heap(other.m_heap)
+
1870 {
+
1871 }
+
1872
+
1880 pointer allocate(_In_ size_type count)
+
1881 {
+
1882 assert(m_heap);
+
1883 return (pointer)HeapAlloc(m_heap, 0, count * sizeof(_Ty));
+
1884 }
+
1885
+
1892 void deallocate(_In_ pointer ptr, _In_ size_type size)
+
1893 {
+
1894 UNREFERENCED_PARAMETER(size);
+
1895 assert(m_heap);
+
1896 HeapFree(m_heap, 0, ptr);
+
1897 }
+
1898
+
1905 void construct(_Inout_ pointer ptr, _In_ const _Ty& val)
+
1906 {
+
1907 ::new ((void*)ptr) _Ty(val);
+
1908 }
+
1909
+
1916 void construct(_Inout_ pointer ptr, _Inout_ _Ty&& val)
+
1917 {
+
1918 ::new ((void*)ptr) _Ty(std::forward<_Ty>(val));
+
1919 }
+
1920
+
1926 void destroy(_Inout_ pointer ptr)
+
1927 {
+
1928 ptr->_Ty::~_Ty();
+
1929 }
+
1930
+
1934 size_type max_size() const
+
1935 {
+
1936 return (SIZE_T)-1;
+
1937 }
+
1938
+
1939 public:
+
1940 HANDLE m_heap;
+
1941 };
+
1942
+
1946 class actctx_activator
+
1947 {
+
1948 WINSTD_NONCOPYABLE(actctx_activator)
+
1949 WINSTD_NONMOVABLE(actctx_activator)
+
1950
+
1951 public:
+
1959 actctx_activator(_In_ HANDLE hActCtx) noexcept
+
1960 {
+
1961 if (!ActivateActCtx(hActCtx, &m_cookie))
+
1962 m_cookie = 0;
+
1963 }
+
1964
+
1970 virtual ~actctx_activator()
+
1971 {
+
1972 if (m_cookie)
+
1973 DeactivateActCtx(0, m_cookie);
+
1974 }
+
1975
+
1976 protected:
+
1977 ULONG_PTR m_cookie;
+
1978 };
+
1979
+
1983 class user_impersonator
+
1984 {
+
1985 WINSTD_NONCOPYABLE(user_impersonator)
+
1986 WINSTD_NONMOVABLE(user_impersonator)
1987
-
1991 class console_ctrl_handler
-
1992 {
-
1993 WINSTD_NONCOPYABLE(console_ctrl_handler)
-
1994 WINSTD_NONMOVABLE(console_ctrl_handler)
-
1995
-
1996 public:
-
2004 console_ctrl_handler(_In_opt_ PHANDLER_ROUTINE HandlerRoutine) noexcept : m_handler(HandlerRoutine)
-
2005 {
-
2006 m_cookie = SetConsoleCtrlHandler(m_handler, TRUE);
-
2007 }
-
2008
-
2014 virtual ~console_ctrl_handler()
-
2015 {
-
2016 if (m_cookie)
-
2017 SetConsoleCtrlHandler(m_handler, FALSE);
-
2018 }
-
2019
-
2020 protected:
-
2021 BOOL m_cookie;
-
2022 PHANDLER_ROUTINE m_handler;
-
2023 };
-
2024
-
2028 class vmemory : public handle<LPVOID, NULL>
-
2029 {
-
2030 WINSTD_NONCOPYABLE(vmemory)
-
2031
-
2032 public:
-
2036 vmemory() noexcept : m_proc(NULL)
-
2037 {
-
2038 }
-
2039
-
2046 vmemory(_In_ handle_type h, _In_ HANDLE proc) noexcept :
-
2047 m_proc(proc),
-
2048 handle<LPVOID, NULL>(h)
-
2049 {
-
2050 }
-
2051
-
2057 vmemory(_Inout_ vmemory &&h) noexcept :
-
2058 m_proc(std::move(h.m_proc)),
-
2059 handle<LPVOID, NULL>(std::move(h))
-
2060 {
-
2061 }
-
2062
-
2068 virtual ~vmemory()
-
2069 {
-
2070 if (m_h != invalid)
-
2071 VirtualFreeEx(m_proc, m_h, 0, MEM_RELEASE);
-
2072 }
-
2073
-
2079 vmemory& operator=(_Inout_ vmemory &&other) noexcept
-
2080 {
-
2081 if (this != std::addressof(other)) {
-
2082 (handle<handle_type, NULL>&&)*this = std::move(other);
-
2083 m_proc = std::move(other.m_proc);
-
2084 }
-
2085 return *this;
-
2086 }
-
2087
-
2096 void attach(_In_ HANDLE proc, _In_opt_ handle_type h) noexcept
+
1988 public:
+
1996 user_impersonator(_In_opt_ HANDLE hToken) noexcept
+
1997 {
+
1998 m_cookie = hToken && ImpersonateLoggedOnUser(hToken);
+
1999 }
+
2000
+
2006 virtual ~user_impersonator()
+
2007 {
+
2008 if (m_cookie)
+
2009 RevertToSelf();
+
2010 }
+
2011
+
2012 protected:
+
2013 BOOL m_cookie;
+
2014 };
+
2015
+
2019 class console_ctrl_handler
+
2020 {
+
2021 WINSTD_NONCOPYABLE(console_ctrl_handler)
+
2022 WINSTD_NONMOVABLE(console_ctrl_handler)
+
2023
+
2024 public:
+
2032 console_ctrl_handler(_In_opt_ PHANDLER_ROUTINE HandlerRoutine) noexcept : m_handler(HandlerRoutine)
+
2033 {
+
2034 m_cookie = SetConsoleCtrlHandler(m_handler, TRUE);
+
2035 }
+
2036
+
2042 virtual ~console_ctrl_handler()
+
2043 {
+
2044 if (m_cookie)
+
2045 SetConsoleCtrlHandler(m_handler, FALSE);
+
2046 }
+
2047
+
2048 protected:
+
2049 BOOL m_cookie;
+
2050 PHANDLER_ROUTINE m_handler;
+
2051 };
+
2052
+
2056 class vmemory : public handle<LPVOID, NULL>
+
2057 {
+
2058 WINSTD_NONCOPYABLE(vmemory)
+
2059
+
2060 public:
+
2064 vmemory() noexcept : m_proc(NULL)
+
2065 {
+
2066 }
+
2067
+
2074 vmemory(_In_ handle_type h, _In_ HANDLE proc) noexcept :
+
2075 m_proc(proc),
+
2076 handle<LPVOID, NULL>(h)
+
2077 {
+
2078 }
+
2079
+
2085 vmemory(_Inout_ vmemory &&h) noexcept :
+
2086 m_proc(std::move(h.m_proc)),
+
2087 handle<LPVOID, NULL>(std::move(h))
+
2088 {
+
2089 }
+
2090
+
2096 virtual ~vmemory()
2097 {
-
2098 m_proc = proc;
-
2099 if (m_h != invalid)
-
2100 free_internal();
-
2101 m_h = h;
-
2102 }
-
2103
-
2113 bool alloc(
-
2114 _In_ HANDLE hProcess,
-
2115 _In_opt_ LPVOID lpAddress,
-
2116 _In_ SIZE_T dwSize,
-
2117 _In_ DWORD flAllocationType,
-
2118 _In_ DWORD flProtect) noexcept
-
2119 {
-
2120 handle_type h = VirtualAllocEx(hProcess, lpAddress, dwSize, flAllocationType, flProtect);
-
2121 if (h != invalid) {
-
2122 attach(hProcess, h);
-
2123 return true;
-
2124 } else
-
2125 return false;
-
2126 }
-
2127
-
2128 protected:
-
2134 void free_internal() noexcept override
-
2135 {
-
2136 VirtualFreeEx(m_proc, m_h, 0, MEM_RELEASE);
-
2137 }
-
2138
-
2139 protected:
-
2140 HANDLE m_proc;
-
2141 };
-
2142
-
2146 class reg_key : public handle<HKEY, NULL>
-
2147 {
-
2148 WINSTD_HANDLE_IMPL(reg_key, NULL)
-
2149
-
2150 public:
-
2156 virtual ~reg_key()
-
2157 {
-
2158 if (m_h != invalid)
-
2159 free_internal();
-
2160 }
-
2161
-
2171 bool create(
-
2172 _In_ HKEY hKey,
-
2173 _In_z_ LPCTSTR lpSubKey,
-
2174 _In_opt_ LPTSTR lpClass,
-
2175 _In_ DWORD dwOptions,
-
2176 _In_ REGSAM samDesired,
-
2177 _In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes = NULL,
-
2178 _Out_opt_ LPDWORD lpdwDisposition = NULL) noexcept
-
2179 {
-
2180 handle_type h;
-
2181 const LSTATUS s = RegCreateKeyEx(hKey, lpSubKey, 0, lpClass, dwOptions, samDesired, lpSecurityAttributes, &h, lpdwDisposition);
-
2182 if (s == ERROR_SUCCESS) {
-
2183 attach(h);
-
2184 return true;
-
2185 } else {
-
2186 SetLastError(s);
-
2187 return false;
-
2188 }
-
2189 }
-
2190
-
2200 bool open(
-
2201 _In_ HKEY hKey,
-
2202 _In_opt_z_ LPCTSTR lpSubKey,
-
2203 _In_ DWORD ulOptions,
-
2204 _In_ REGSAM samDesired) noexcept
-
2205 {
-
2206 handle_type h;
-
2207 const LONG s = RegOpenKeyEx(hKey, lpSubKey, ulOptions, samDesired, &h);
-
2208 if (s == ERROR_SUCCESS) {
-
2209 attach(h);
-
2210 return true;
-
2211 } else {
-
2212 SetLastError(s);
-
2213 return false;
-
2214 }
-
2215 }
-
2216
-
2226 bool delete_subkey(_In_z_ LPCTSTR szSubkey)
-
2227 {
-
2228 LSTATUS s;
-
2229
-
2230 s = RegDeleteKey(m_h, szSubkey);
-
2231 if (s == ERROR_SUCCESS || s == ERROR_FILE_NOT_FOUND)
-
2232 return true;
-
2233
-
2234 {
-
2235 reg_key k;
-
2236 if (!k.open(m_h, szSubkey, 0, KEY_ENUMERATE_SUB_KEYS))
-
2237 return false;
-
2238 for (;;) {
-
2239 TCHAR szName[MAX_PATH];
-
2240 DWORD dwSize = _countof(szName);
-
2241 s = RegEnumKeyEx(k, 0, szName, &dwSize, NULL, NULL, NULL, NULL);
-
2242 if (s == ERROR_SUCCESS)
-
2243 k.delete_subkey(szName);
-
2244 else if (s == ERROR_NO_MORE_ITEMS)
-
2245 break;
-
2246 else {
-
2247 SetLastError(s);
-
2248 return false;
-
2249 }
-
2250 }
-
2251 }
-
2252
-
2253 s = RegDeleteKey(m_h, szSubkey);
-
2254 if (s == ERROR_SUCCESS)
-
2255 return true;
-
2256 else {
-
2257 SetLastError(s);
-
2258 return false;
-
2259 }
-
2260 }
-
2261
-
2262 protected:
-
2268 void free_internal() noexcept override
-
2269 {
-
2270 RegCloseKey(m_h);
-
2271 }
-
2272 };
-
2273
-
2277 class security_id : public handle<PSID, NULL>
-
2278 {
-
2279 WINSTD_HANDLE_IMPL(security_id, NULL)
-
2280
-
2281 public:
-
2287 virtual ~security_id()
-
2288 {
-
2289 if (m_h != invalid)
-
2290 free_internal();
-
2291 }
-
2292
-
2293 protected:
-
2299 void free_internal() noexcept override
-
2300 {
-
2301 FreeSid(m_h);
-
2302 }
-
2303 };
-
2304
-
2308 class process_information : public PROCESS_INFORMATION
-
2309 {
-
2310 WINSTD_NONCOPYABLE(process_information)
-
2311 WINSTD_NONMOVABLE(process_information)
-
2312
-
2313 public:
-
2317 process_information() noexcept
-
2318 {
-
2319 hProcess = INVALID_HANDLE_VALUE;
-
2320 hThread = INVALID_HANDLE_VALUE;
-
2321 dwProcessId = 0;
-
2322 dwThreadId = 0;
-
2323 }
-
2324
-
2328 ~process_information()
-
2329 {
-
2330 #pragma warning(push)
-
2331 #pragma warning(disable: 6001) // Using uninitialized memory '*this'. << ???
-
2332
-
2333 if (hProcess != INVALID_HANDLE_VALUE)
-
2334 CloseHandle(hProcess);
-
2335
-
2336 if (hThread != INVALID_HANDLE_VALUE)
-
2337 CloseHandle(hThread);
-
2338
-
2339 #pragma warning(pop)
-
2340 }
-
2341 };
-
2342
-
2346 class event_log : public handle<HANDLE, NULL>
-
2347 {
-
2348 WINSTD_HANDLE_IMPL(event_log, NULL)
-
2349
-
2350 public:
-
2356 virtual ~event_log()
-
2357 {
-
2358 if (m_h != invalid)
-
2359 free_internal();
-
2360 }
-
2361
-
2371 bool open(_In_z_ LPCTSTR lpUNCServerName, _In_z_ LPCTSTR lpSourceName) noexcept
-
2372 {
-
2373 handle_type h = RegisterEventSource(lpUNCServerName, lpSourceName);
-
2374 if (h != invalid) {
-
2375 attach(h);
-
2376 return true;
-
2377 } else
-
2378 return false;
-
2379 }
-
2380
-
2381 protected:
-
2387 void free_internal() noexcept override
-
2388 {
-
2389 DeregisterEventSource(m_h);
-
2390 }
-
2391 };
-
2392
-
2394}
-
winstd::actctx_activator
Activates given activation context in constructor and deactivates it in destructor.
Definition: Win.h:1919
-
winstd::actctx_activator::actctx_activator
actctx_activator(HANDLE hActCtx) noexcept
Construct the activator and activates the given activation context.
Definition: Win.h:1931
-
winstd::actctx_activator::~actctx_activator
virtual ~actctx_activator()
Deactivates activation context and destructs the activator.
Definition: Win.h:1942
-
winstd::actctx_activator::m_cookie
ULONG_PTR m_cookie
Cookie for context deactivation.
Definition: Win.h:1949
+
2098 if (m_h != invalid)
+
2099 VirtualFreeEx(m_proc, m_h, 0, MEM_RELEASE);
+
2100 }
+
2101
+
2107 vmemory& operator=(_Inout_ vmemory &&other) noexcept
+
2108 {
+
2109 if (this != std::addressof(other)) {
+
2110 (handle<handle_type, NULL>&&)*this = std::move(other);
+
2111 m_proc = std::move(other.m_proc);
+
2112 }
+
2113 return *this;
+
2114 }
+
2115
+
2124 void attach(_In_ HANDLE proc, _In_opt_ handle_type h) noexcept
+
2125 {
+
2126 m_proc = proc;
+
2127 if (m_h != invalid)
+
2128 free_internal();
+
2129 m_h = h;
+
2130 }
+
2131
+
2141 bool alloc(
+
2142 _In_ HANDLE hProcess,
+
2143 _In_opt_ LPVOID lpAddress,
+
2144 _In_ SIZE_T dwSize,
+
2145 _In_ DWORD flAllocationType,
+
2146 _In_ DWORD flProtect) noexcept
+
2147 {
+
2148 handle_type h = VirtualAllocEx(hProcess, lpAddress, dwSize, flAllocationType, flProtect);
+
2149 if (h != invalid) {
+
2150 attach(hProcess, h);
+
2151 return true;
+
2152 } else
+
2153 return false;
+
2154 }
+
2155
+
2156 protected:
+
2162 void free_internal() noexcept override
+
2163 {
+
2164 VirtualFreeEx(m_proc, m_h, 0, MEM_RELEASE);
+
2165 }
+
2166
+
2167 protected:
+
2168 HANDLE m_proc;
+
2169 };
+
2170
+
2174 class reg_key : public handle<HKEY, NULL>
+
2175 {
+
2176 WINSTD_HANDLE_IMPL(reg_key, NULL)
+
2177
+
2178 public:
+
2184 virtual ~reg_key()
+
2185 {
+
2186 if (m_h != invalid)
+
2187 free_internal();
+
2188 }
+
2189
+
2199 __declspec(deprecated("Use RegCreateKeyEx - mind it returns error number rather than SetLastError"))
+
2200 bool create(
+
2201 _In_ HKEY hKey,
+
2202 _In_z_ LPCTSTR lpSubKey,
+
2203 _In_opt_ LPTSTR lpClass,
+
2204 _In_ DWORD dwOptions,
+
2205 _In_ REGSAM samDesired,
+
2206 _In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes = NULL,
+
2207 _Out_opt_ LPDWORD lpdwDisposition = NULL) noexcept
+
2208 {
+
2209 handle_type h;
+
2210 const LSTATUS s = RegCreateKeyEx(hKey, lpSubKey, 0, lpClass, dwOptions, samDesired, lpSecurityAttributes, &h, lpdwDisposition);
+
2211 if (s == ERROR_SUCCESS) {
+
2212 attach(h);
+
2213 return true;
+
2214 } else {
+
2215 SetLastError(s);
+
2216 return false;
+
2217 }
+
2218 }
+
2219
+
2229 __declspec(deprecated("Use RegOpenKeyEx - mind it returns error number rather than SetLastError"))
+
2230 bool open(
+
2231 _In_ HKEY hKey,
+
2232 _In_opt_z_ LPCTSTR lpSubKey,
+
2233 _In_ DWORD ulOptions,
+
2234 _In_ REGSAM samDesired) noexcept
+
2235 {
+
2236 handle_type h;
+
2237 const LSTATUS s = RegOpenKeyEx(hKey, lpSubKey, ulOptions, samDesired, &h);
+
2238 if (s == ERROR_SUCCESS) {
+
2239 attach(h);
+
2240 return true;
+
2241 } else {
+
2242 SetLastError(s);
+
2243 return false;
+
2244 }
+
2245 }
+
2246
+
2256 bool delete_subkey(_In_z_ LPCTSTR szSubkey)
+
2257 {
+
2258 LSTATUS s;
+
2259
+
2260 s = RegDeleteKey(m_h, szSubkey);
+
2261 if (s == ERROR_SUCCESS || s == ERROR_FILE_NOT_FOUND)
+
2262 return true;
+
2263
+
2264 {
+
2265 reg_key k;
+
2266 handle_type h;
+
2267 s = RegOpenKeyEx(m_h, szSubkey, 0, KEY_ENUMERATE_SUB_KEYS, &h);
+
2268 if (s == ERROR_SUCCESS)
+
2269 k.attach(h);
+
2270 else {
+
2271 SetLastError(s);
+
2272 return false;
+
2273 }
+
2274 for (;;) {
+
2275 TCHAR szName[MAX_PATH];
+
2276 DWORD dwSize = _countof(szName);
+
2277 s = RegEnumKeyEx(k, 0, szName, &dwSize, NULL, NULL, NULL, NULL);
+
2278 if (s == ERROR_SUCCESS)
+
2279 k.delete_subkey(szName);
+
2280 else if (s == ERROR_NO_MORE_ITEMS)
+
2281 break;
+
2282 else {
+
2283 SetLastError(s);
+
2284 return false;
+
2285 }
+
2286 }
+
2287 }
+
2288
+
2289 s = RegDeleteKey(m_h, szSubkey);
+
2290 if (s == ERROR_SUCCESS)
+
2291 return true;
+
2292 else {
+
2293 SetLastError(s);
+
2294 return false;
+
2295 }
+
2296 }
+
2297
+
2298 protected:
+
2304 void free_internal() noexcept override
+
2305 {
+
2306 RegCloseKey(m_h);
+
2307 }
+
2308 };
+
2309
+
2313 class security_id : public handle<PSID, NULL>
+
2314 {
+
2315 WINSTD_HANDLE_IMPL(security_id, NULL)
+
2316
+
2317 public:
+
2323 virtual ~security_id()
+
2324 {
+
2325 if (m_h != invalid)
+
2326 free_internal();
+
2327 }
+
2328
+
2329 protected:
+
2335 void free_internal() noexcept override
+
2336 {
+
2337 FreeSid(m_h);
+
2338 }
+
2339 };
+
2340
+
2344 class process_information : public PROCESS_INFORMATION
+
2345 {
+
2346 WINSTD_NONCOPYABLE(process_information)
+
2347 WINSTD_NONMOVABLE(process_information)
+
2348
+
2349 public:
+
2353 process_information() noexcept
+
2354 {
+
2355 hProcess = INVALID_HANDLE_VALUE;
+
2356 hThread = INVALID_HANDLE_VALUE;
+
2357 dwProcessId = 0;
+
2358 dwThreadId = 0;
+
2359 }
+
2360
+
2364 ~process_information()
+
2365 {
+
2366 #pragma warning(push)
+
2367 #pragma warning(disable: 6001) // Using uninitialized memory '*this'. << ???
+
2368
+
2369 if (hProcess != INVALID_HANDLE_VALUE)
+
2370 CloseHandle(hProcess);
+
2371
+
2372 if (hThread != INVALID_HANDLE_VALUE)
+
2373 CloseHandle(hThread);
+
2374
+
2375 #pragma warning(pop)
+
2376 }
+
2377 };
+
2378
+
2382 class event_log : public handle<HANDLE, NULL>
+
2383 {
+
2384 WINSTD_HANDLE_IMPL(event_log, NULL)
+
2385
+
2386 public:
+
2392 virtual ~event_log()
+
2393 {
+
2394 if (m_h != invalid)
+
2395 free_internal();
+
2396 }
+
2397
+
2407 __declspec(deprecated("Use RegisterEventSource"))
+
2408 bool open(_In_z_ LPCTSTR lpUNCServerName, _In_z_ LPCTSTR lpSourceName) noexcept
+
2409 {
+
2410 handle_type h = RegisterEventSource(lpUNCServerName, lpSourceName);
+
2411 if (h != invalid) {
+
2412 attach(h);
+
2413 return true;
+
2414 } else
+
2415 return false;
+
2416 }
+
2417
+
2418 protected:
+
2424 void free_internal() noexcept override
+
2425 {
+
2426 DeregisterEventSource(m_h);
+
2427 }
+
2428 };
+
2429
+
2431}
+
2432
+
2435
+
2436#pragma warning(push)
+
2437#pragma warning(disable: 4505) // Don't warn on unused code
+
2438
+
2440static LSTATUS RegCreateKeyExA(
+
2441 _In_ HKEY hKey,
+
2442 _In_ LPCSTR lpSubKey,
+
2443 _Reserved_ DWORD Reserved,
+
2444 _In_opt_ LPSTR lpClass,
+
2445 _In_ DWORD dwOptions,
+
2446 _In_ REGSAM samDesired,
+
2447 _In_opt_ CONST LPSECURITY_ATTRIBUTES lpSecurityAttributes,
+
2448 _Inout_ winstd::reg_key &result,
+
2449 _Out_opt_ LPDWORD lpdwDisposition)
+
2450{
+
2451 HKEY h;
+
2452 LSTATUS s = RegCreateKeyExA(hKey, lpSubKey, Reserved, lpClass, dwOptions, samDesired, lpSecurityAttributes, &h, lpdwDisposition);
+
2453 if (s == ERROR_SUCCESS)
+
2454 result.attach(h);
+
2455 return s;
+
2456}
+
2457
+
2463static LSTATUS RegCreateKeyExW(
+
2464 _In_ HKEY hKey,
+
2465 _In_ LPCWSTR lpSubKey,
+
2466 _Reserved_ DWORD Reserved,
+
2467 _In_opt_ LPWSTR lpClass,
+
2468 _In_ DWORD dwOptions,
+
2469 _In_ REGSAM samDesired,
+
2470 _In_opt_ CONST LPSECURITY_ATTRIBUTES lpSecurityAttributes,
+
2471 _Inout_ winstd::reg_key &result,
+
2472 _Out_opt_ LPDWORD lpdwDisposition)
+
2473{
+
2474 HKEY h;
+
2475 LSTATUS s = RegCreateKeyExW(hKey, lpSubKey, Reserved, lpClass, dwOptions, samDesired, lpSecurityAttributes, &h, lpdwDisposition);
+
2476 if (s == ERROR_SUCCESS)
+
2477 result.attach(h);
+
2478 return s;
+
2479}
+
2480
+
2482static LSTATUS RegOpenKeyExA(
+
2483 _In_ HKEY hKey,
+
2484 _In_opt_ LPCSTR lpSubKey,
+
2485 _In_opt_ DWORD ulOptions,
+
2486 _In_ REGSAM samDesired,
+
2487 _Inout_ winstd::reg_key &result)
+
2488{
+
2489 HKEY h;
+
2490 LSTATUS s = RegOpenKeyExA(hKey, lpSubKey, ulOptions, samDesired, &h);
+
2491 if (s == ERROR_SUCCESS)
+
2492 result.attach(h);
+
2493 return s;
+
2494}
+
2495
+
2505static LSTATUS RegOpenKeyExW(
+
2506 _In_ HKEY hKey,
+
2507 _In_opt_ LPCWSTR lpSubKey,
+
2508 _In_opt_ DWORD ulOptions,
+
2509 _In_ REGSAM samDesired,
+
2510 _Inout_ winstd::reg_key &result)
+
2511{
+
2512 HKEY h;
+
2513 LSTATUS s = RegOpenKeyExW(hKey, lpSubKey, ulOptions, samDesired, &h);
+
2514 if (s == ERROR_SUCCESS)
+
2515 result.attach(h);
+
2516 return s;
+
2517}
+
2518
+
2519#pragma warning(pop)
+
2520
+
winstd::actctx_activator
Activates given activation context in constructor and deactivates it in destructor.
Definition: Win.h:1947
+
winstd::actctx_activator::actctx_activator
actctx_activator(HANDLE hActCtx) noexcept
Construct the activator and activates the given activation context.
Definition: Win.h:1959
+
winstd::actctx_activator::~actctx_activator
virtual ~actctx_activator()
Deactivates activation context and destructs the activator.
Definition: Win.h:1970
+
winstd::actctx_activator::m_cookie
ULONG_PTR m_cookie
Cookie for context deactivation.
Definition: Win.h:1977
winstd::basic_string_printf
Base template class to support string formatting using printf() style templates.
Definition: Common.h:1114
-
winstd::console_ctrl_handler
Console control handler stack management.
Definition: Win.h:1992
-
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:2004
-
winstd::console_ctrl_handler::~console_ctrl_handler
virtual ~console_ctrl_handler()
Pops console control handler from the console control handler stack.
Definition: Win.h:2014
-
winstd::console_ctrl_handler::m_handler
PHANDLER_ROUTINE m_handler
Pointer to console control handler.
Definition: Win.h:2022
-
winstd::console_ctrl_handler::m_cookie
BOOL m_cookie
Did pushing the console control handler succeed?
Definition: Win.h:2021
-
winstd::critical_section
Critical section wrapper.
Definition: Win.h:1610
-
winstd::critical_section::m_data
CRITICAL_SECTION m_data
Critical section struct.
Definition: Win.h:1650
-
winstd::critical_section::~critical_section
virtual ~critical_section()
Releases all resources used by an unowned critical section object.
Definition: Win.h:1634
-
winstd::critical_section::critical_section
critical_section()
Construct the object and initializes a critical section object.
Definition: Win.h:1620
-
winstd::event_log
Event log handle wrapper.
Definition: Win.h:2347
-
winstd::event_log::free_internal
void free_internal() noexcept override
Closes an event log handle.
Definition: Win.h:2387
-
winstd::event_log::~event_log
virtual ~event_log()
Closes an event log handle.
Definition: Win.h:2356
-
winstd::event_log::open
bool open(LPCTSTR lpUNCServerName, LPCTSTR lpSourceName) noexcept
Retrieves a registered handle to the specified event log.
Definition: Win.h:2371
-
winstd::event
Event handle wrapper.
Definition: Win.h:1565
-
winstd::event::open
bool open(DWORD dwDesiredAccess, BOOL bInheritHandle, LPCTSTR lpName) noexcept
Opens an existing named event object.
Definition: Win.h:1595
-
winstd::event::create
bool create(BOOL bManualReset, BOOL bInitialState, LPSECURITY_ATTRIBUTES lpEventAttributes=NULL, LPCTSTR lpName=NULL) noexcept
Creates or opens a named or unnamed event object.
Definition: Win.h:1576
-
winstd::file_mapping
File mapping.
Definition: Win.h:1480
-
winstd::file_mapping::create
bool create(HANDLE hFile, DWORD flProtect, DWORD dwMaximumSizeHigh, DWORD dwMaximumSizeLow, LPSECURITY_ATTRIBUTES lpFileMappingAttributes=NULL, LPCTSTR lpName=NULL) noexcept
Creates or opens a named or unnamed file mapping object for a specified file.
Definition: Win.h:1491
-
winstd::file
File handle wrapper.
Definition: Win.h:1454
-
winstd::file::create
bool create(LPCTSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes=FILE_ATTRIBUTE_NORMAL, LPSECURITY_ATTRIBUTES lpSecurityAttributes=NULL, HANDLE hTemplateFile=NULL) noexcept
Opens file handle.
Definition: Win.h:1465
-
winstd::find_file
Find-file handle wrapper.
Definition: Win.h:1657
-
winstd::find_file::~find_file
virtual ~find_file()
Closes a file search handle.
Definition: Win.h:1666
-
winstd::find_file::free_internal
void free_internal() noexcept override
Closes a file search handle.
Definition: Win.h:1697
-
winstd::find_file::find
bool find(LPCTSTR lpFileName, LPWIN32_FIND_DATA lpFindFileData) noexcept
Searches a directory for a file or subdirectory with a name that matches a specific name (or partial ...
Definition: Win.h:1681
+
winstd::console_ctrl_handler
Console control handler stack management.
Definition: Win.h:2020
+
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:2032
+
winstd::console_ctrl_handler::~console_ctrl_handler
virtual ~console_ctrl_handler()
Pops console control handler from the console control handler stack.
Definition: Win.h:2042
+
winstd::console_ctrl_handler::m_handler
PHANDLER_ROUTINE m_handler
Pointer to console control handler.
Definition: Win.h:2050
+
winstd::console_ctrl_handler::m_cookie
BOOL m_cookie
Did pushing the console control handler succeed?
Definition: Win.h:2049
+
winstd::critical_section
Critical section wrapper.
Definition: Win.h:1636
+
winstd::critical_section::m_data
CRITICAL_SECTION m_data
Critical section struct.
Definition: Win.h:1676
+
winstd::critical_section::~critical_section
virtual ~critical_section()
Releases all resources used by an unowned critical section object.
Definition: Win.h:1660
+
winstd::critical_section::critical_section
critical_section()
Construct the object and initializes a critical section object.
Definition: Win.h:1646
+
winstd::event_log
Event log handle wrapper.
Definition: Win.h:2383
+
winstd::event_log::free_internal
void free_internal() noexcept override
Closes an event log handle.
Definition: Win.h:2424
+
winstd::event_log::~event_log
virtual ~event_log()
Closes an event log handle.
Definition: Win.h:2392
+
winstd::event_log::__declspec
__declspec(deprecated("Use RegisterEventSource")) bool open(LPCTSTR lpUNCServerName
Retrieves a registered handle to the specified event log.
+
winstd::event
Event handle wrapper.
Definition: Win.h:1587
+
winstd::event::__declspec
__declspec(deprecated("Use CreateEvent")) bool create(BOOL bManualReset
Creates or opens a named or unnamed event object.
+
winstd::file_mapping
File mapping.
Definition: Win.h:1499
+
winstd::file_mapping::__declspec
__declspec(deprecated("Use CreateFileMapping")) bool create(HANDLE hFile
Creates or opens a named or unnamed file mapping object for a specified file.
+
winstd::file
File handle wrapper.
Definition: Win.h:1470
+
winstd::file::__declspec
__declspec(deprecated("Use CreateFile")) bool create(LPCTSTR lpFileName
Opens file handle.
+
winstd::find_file
Find-file handle wrapper.
Definition: Win.h:1683
+
winstd::find_file::__declspec
__declspec(deprecated("Use FindFirstFile")) bool find(LPCTSTR lpFileName
Searches a directory for a file or subdirectory with a name that matches a specific name (or partial ...
+
winstd::find_file::~find_file
virtual ~find_file()
Closes a file search handle.
Definition: Win.h:1692
+
winstd::find_file::free_internal
void free_internal() noexcept override
Closes a file search handle.
Definition: Win.h:1724
winstd::handle
Base abstract template class to support generic object handle keeping.
Definition: Common.h:603
+
winstd::handle< HKEY, NULL >::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< HMODULE, NULL >::handle_type
HMODULE handle_type
Datatype of the object handle this template class handles.
Definition: Common.h:608
winstd::handle< HANDLE, INVALID >::m_h
handle_type m_h
Object handle.
Definition: Common.h:854
winstd::handle< HMODULE, NULL >::attach
void attach(handle_type h) noexcept
Sets a new object handle for the class.
Definition: Common.h:817
-
winstd::heap_allocator
HeapAlloc allocator.
Definition: Win.h:1804
-
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:1813
-
winstd::heap_allocator::value_type
_Ty value_type
A type that is managed by the allocator.
Definition: Win.h:1806
-
winstd::heap_allocator::heap_allocator
heap_allocator(const heap_allocator< _Other > &other)
Constructs allocator from another type.
Definition: Win.h:1841
-
winstd::heap_allocator::m_heap
HANDLE m_heap
Heap handle.
Definition: Win.h:1912
-
winstd::heap_allocator::allocate
pointer allocate(size_type count)
Allocates a new memory block.
Definition: Win.h:1852
-
winstd::heap_allocator::difference_type
ptrdiff_t difference_type
A signed integral type that can represent the difference between values of pointers to the type of ob...
Definition: Win.h:1814
-
winstd::heap_allocator::heap_allocator
heap_allocator(HANDLE heap)
Constructs allocator.
Definition: Win.h:1831
-
winstd::heap_allocator::reference
_Ty & reference
A type that provides a reference to the type of object managed by the allocator.
Definition: Win.h:1809
-
winstd::heap_allocator::construct
void construct(pointer ptr, _Ty &&val)
Calls moving constructor for the element.
Definition: Win.h:1888
-
winstd::heap_allocator::deallocate
void deallocate(pointer ptr, size_type size)
Frees memory block.
Definition: Win.h:1864
-
winstd::heap_allocator::max_size
size_type max_size() const
Returns maximum memory block size.
Definition: Win.h:1906
-
winstd::heap_allocator::construct
void construct(pointer ptr, const _Ty &val)
Calls copying constructor for the element.
Definition: Win.h:1877
-
winstd::heap_allocator::const_reference
const _Ty & const_reference
A type that provides a constant reference to type of object managed by the allocator.
Definition: Win.h:1811
-
winstd::heap_allocator::const_pointer
const _Ty * const_pointer
A type that provides a constant pointer to the type of object managed by the allocator.
Definition: Win.h:1810
-
winstd::heap_allocator::pointer
_Ty * pointer
A type that provides a pointer to the type of object managed by the allocator.
Definition: Win.h:1808
-
winstd::heap_allocator::destroy
void destroy(pointer ptr)
Calls destructor for the element.
Definition: Win.h:1898
-
winstd::heap
Heap handle wrapper.
Definition: Win.h:1707
-
winstd::heap::enumerate
bool enumerate() noexcept
Enumerates allocated heap blocks using OutputDebugString()
Definition: Win.h:1748
-
winstd::heap::create
bool create(DWORD flOptions, SIZE_T dwInitialSize, SIZE_T dwMaximumSize) noexcept
Creates the heap.
Definition: Win.h:1731
-
winstd::heap::free_internal
void free_internal() noexcept override
Destroys the heap.
Definition: Win.h:1792
-
winstd::heap::~heap
virtual ~heap()
Destroys the heap.
Definition: Win.h:1716
-
winstd::library
Module handle wrapper.
Definition: Win.h:1378
-
winstd::library::free_internal
void free_internal() noexcept override
Frees the module.
Definition: Win.h:1418
-
winstd::library::~library
virtual ~library()
Frees the module.
Definition: Win.h:1387
-
winstd::library::load
bool load(LPCTSTR lpFileName, __reserved handle_type hFile, DWORD dwFlags) noexcept
Loads the specified module into the address space of the calling process.
Definition: Win.h:1402
-
winstd::process_information
PROCESS_INFORMATION struct wrapper.
Definition: Win.h:2309
-
winstd::process_information::~process_information
~process_information()
Closes process and thread handles.
Definition: Win.h:2328
-
winstd::process_information::process_information
process_information() noexcept
Constructs blank PROCESS_INFORMATION.
Definition: Win.h:2317
-
winstd::process
Process handle wrapper.
Definition: Win.h:1428
-
winstd::process::open
bool open(DWORD dwDesiredAccess, BOOL bInheritHandle, DWORD dwProcessId) noexcept
Opens process handle.
Definition: Win.h:1439
-
winstd::reg_key
Registry wrapper class.
Definition: Win.h:2147
-
winstd::reg_key::free_internal
void free_internal() noexcept override
Closes a handle to the registry key.
Definition: Win.h:2268
-
winstd::reg_key::delete_subkey
bool delete_subkey(LPCTSTR szSubkey)
Deletes the specified registry subkey.
Definition: Win.h:2226
-
winstd::reg_key::open
bool open(HKEY hKey, LPCTSTR lpSubKey, DWORD ulOptions, REGSAM samDesired) noexcept
Opens the specified registry key.
Definition: Win.h:2200
-
winstd::reg_key::create
bool create(HKEY hKey, LPCTSTR lpSubKey, LPTSTR lpClass, DWORD dwOptions, REGSAM samDesired, LPSECURITY_ATTRIBUTES lpSecurityAttributes=NULL, LPDWORD lpdwDisposition=NULL) noexcept
Creates the specified registry key. If the key already exists, the function opens it.
Definition: Win.h:2171
-
winstd::reg_key::~reg_key
virtual ~reg_key()
Closes a handle to the registry key.
Definition: Win.h:2156
-
winstd::security_id
SID wrapper class.
Definition: Win.h:2278
-
winstd::security_id::free_internal
void free_internal() noexcept override
Closes a handle to the SID.
Definition: Win.h:2299
-
winstd::security_id::~security_id
virtual ~security_id()
Closes a handle to the SID.
Definition: Win.h:2287
-
winstd::user_impersonator
Lets the calling thread impersonate the security context of a logged-on user.
Definition: Win.h:1956
-
winstd::user_impersonator::m_cookie
BOOL m_cookie
Did impersonation succeed?
Definition: Win.h:1985
-
winstd::user_impersonator::user_impersonator
user_impersonator(HANDLE hToken) noexcept
Construct the impersonator and impersonates the given user.
Definition: Win.h:1968
-
winstd::user_impersonator::~user_impersonator
virtual ~user_impersonator()
Reverts to current user and destructs the impersonator.
Definition: Win.h:1978
-
winstd::vmemory
Memory in virtual address space of a process handle wrapper.
Definition: Win.h:2029
-
winstd::vmemory::operator=
vmemory & operator=(vmemory &&other) noexcept
Move assignment.
Definition: Win.h:2079
-
winstd::vmemory::alloc
bool alloc(HANDLE hProcess, LPVOID lpAddress, SIZE_T dwSize, DWORD flAllocationType, DWORD flProtect) noexcept
Reserves, commits, or changes the state of a region of memory within the virtual address space of a s...
Definition: Win.h:2113
-
winstd::vmemory::free_internal
void free_internal() noexcept override
Frees the memory.
Definition: Win.h:2134
-
winstd::vmemory::attach
void attach(HANDLE proc, handle_type h) noexcept
Sets a new memory handle for the class.
Definition: Win.h:2096
-
winstd::vmemory::~vmemory
virtual ~vmemory()
Frees the memory.
Definition: Win.h:2068
-
winstd::vmemory::vmemory
vmemory(handle_type h, HANDLE proc) noexcept
Initializes a new class instance with an already available object handle.
Definition: Win.h:2046
-
winstd::vmemory::vmemory
vmemory() noexcept
Initializes a new class instance with the memory handle set to INVAL.
Definition: Win.h:2036
-
winstd::vmemory::vmemory
vmemory(vmemory &&h) noexcept
Move constructor.
Definition: Win.h:2057
-
winstd::vmemory::m_proc
HANDLE m_proc
Handle of memory's process.
Definition: Win.h:2140
-
winstd::win_handle
Windows HANDLE wrapper class.
Definition: Win.h:1347
-
winstd::win_handle::free_internal
void free_internal() noexcept override
Closes an open object handle.
Definition: Win.h:1368
-
winstd::win_handle::~win_handle
virtual ~win_handle()
Closes an open object handle.
Definition: Win.h:1356
+
winstd::heap_allocator
HeapAlloc allocator.
Definition: Win.h:1832
+
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:1841
+
winstd::heap_allocator::value_type
_Ty value_type
A type that is managed by the allocator.
Definition: Win.h:1834
+
winstd::heap_allocator::heap_allocator
heap_allocator(const heap_allocator< _Other > &other)
Constructs allocator from another type.
Definition: Win.h:1869
+
winstd::heap_allocator::m_heap
HANDLE m_heap
Heap handle.
Definition: Win.h:1940
+
winstd::heap_allocator::allocate
pointer allocate(size_type count)
Allocates a new memory block.
Definition: Win.h:1880
+
winstd::heap_allocator::difference_type
ptrdiff_t difference_type
A signed integral type that can represent the difference between values of pointers to the type of ob...
Definition: Win.h:1842
+
winstd::heap_allocator::heap_allocator
heap_allocator(HANDLE heap)
Constructs allocator.
Definition: Win.h:1859
+
winstd::heap_allocator::reference
_Ty & reference
A type that provides a reference to the type of object managed by the allocator.
Definition: Win.h:1837
+
winstd::heap_allocator::construct
void construct(pointer ptr, _Ty &&val)
Calls moving constructor for the element.
Definition: Win.h:1916
+
winstd::heap_allocator::deallocate
void deallocate(pointer ptr, size_type size)
Frees memory block.
Definition: Win.h:1892
+
winstd::heap_allocator::max_size
size_type max_size() const
Returns maximum memory block size.
Definition: Win.h:1934
+
winstd::heap_allocator::construct
void construct(pointer ptr, const _Ty &val)
Calls copying constructor for the element.
Definition: Win.h:1905
+
winstd::heap_allocator::const_reference
const _Ty & const_reference
A type that provides a constant reference to type of object managed by the allocator.
Definition: Win.h:1839
+
winstd::heap_allocator::const_pointer
const _Ty * const_pointer
A type that provides a constant pointer to the type of object managed by the allocator.
Definition: Win.h:1838
+
winstd::heap_allocator::pointer
_Ty * pointer
A type that provides a pointer to the type of object managed by the allocator.
Definition: Win.h:1836
+
winstd::heap_allocator::destroy
void destroy(pointer ptr)
Calls destructor for the element.
Definition: Win.h:1926
+
winstd::heap
Heap handle wrapper.
Definition: Win.h:1734
+
winstd::heap::enumerate
bool enumerate() noexcept
Enumerates allocated heap blocks using OutputDebugString()
Definition: Win.h:1776
+
winstd::heap::__declspec
__declspec(deprecated("Use HeapCreate")) bool create(DWORD flOptions
Creates the heap.
+
winstd::heap::free_internal
void free_internal() noexcept override
Destroys the heap.
Definition: Win.h:1820
+
winstd::heap::~heap
virtual ~heap()
Destroys the heap.
Definition: Win.h:1743
+
winstd::library
Module handle wrapper.
Definition: Win.h:1390
+
winstd::library::free_internal
void free_internal() noexcept override
Frees the module.
Definition: Win.h:1431
+
winstd::library::__declspec
__declspec(deprecated("Use LoadLibraryEx")) bool load(LPCTSTR lpFileName
Loads the specified module into the address space of the calling process.
+
winstd::library::~library
virtual ~library()
Frees the module.
Definition: Win.h:1399
+
winstd::process_information
PROCESS_INFORMATION struct wrapper.
Definition: Win.h:2345
+
winstd::process_information::~process_information
~process_information()
Closes process and thread handles.
Definition: Win.h:2364
+
winstd::process_information::process_information
process_information() noexcept
Constructs blank PROCESS_INFORMATION.
Definition: Win.h:2353
+
winstd::process
Process handle wrapper.
Definition: Win.h:1441
+
winstd::process::__declspec
__declspec(deprecated("Use OpenProcess")) bool open(DWORD dwDesiredAccess
Opens process handle.
+
winstd::reg_key
Registry wrapper class.
Definition: Win.h:2175
+
winstd::reg_key::__declspec
__declspec(deprecated("Use RegCreateKeyEx - mind it returns error number rather than SetLastError")) bool create(HKEY hKey
Creates the specified registry key. If the key already exists, the function opens it.
+
winstd::reg_key::~reg_key
virtual ~reg_key()
Closes a handle to the registry key.
Definition: Win.h:2184
+
winstd::security_id
SID wrapper class.
Definition: Win.h:2314
+
winstd::security_id::free_internal
void free_internal() noexcept override
Closes a handle to the SID.
Definition: Win.h:2335
+
winstd::security_id::~security_id
virtual ~security_id()
Closes a handle to the SID.
Definition: Win.h:2323
+
winstd::user_impersonator
Lets the calling thread impersonate the security context of a logged-on user.
Definition: Win.h:1984
+
winstd::user_impersonator::m_cookie
BOOL m_cookie
Did impersonation succeed?
Definition: Win.h:2013
+
winstd::user_impersonator::user_impersonator
user_impersonator(HANDLE hToken) noexcept
Construct the impersonator and impersonates the given user.
Definition: Win.h:1996
+
winstd::user_impersonator::~user_impersonator
virtual ~user_impersonator()
Reverts to current user and destructs the impersonator.
Definition: Win.h:2006
+
winstd::vmemory
Memory in virtual address space of a process handle wrapper.
Definition: Win.h:2057
+
winstd::vmemory::operator=
vmemory & operator=(vmemory &&other) noexcept
Move assignment.
Definition: Win.h:2107
+
winstd::vmemory::alloc
bool alloc(HANDLE hProcess, LPVOID lpAddress, SIZE_T dwSize, DWORD flAllocationType, DWORD flProtect) noexcept
Reserves, commits, or changes the state of a region of memory within the virtual address space of a s...
Definition: Win.h:2141
+
winstd::vmemory::free_internal
void free_internal() noexcept override
Frees the memory.
Definition: Win.h:2162
+
winstd::vmemory::attach
void attach(HANDLE proc, handle_type h) noexcept
Sets a new memory handle for the class.
Definition: Win.h:2124
+
winstd::vmemory::~vmemory
virtual ~vmemory()
Frees the memory.
Definition: Win.h:2096
+
winstd::vmemory::vmemory
vmemory(handle_type h, HANDLE proc) noexcept
Initializes a new class instance with an already available object handle.
Definition: Win.h:2074
+
winstd::vmemory::vmemory
vmemory() noexcept
Initializes a new class instance with the memory handle set to INVAL.
Definition: Win.h:2064
+
winstd::vmemory::vmemory
vmemory(vmemory &&h) noexcept
Move constructor.
Definition: Win.h:2085
+
winstd::vmemory::m_proc
HANDLE m_proc
Handle of memory's process.
Definition: Win.h:2168
+
winstd::win_handle
Windows HANDLE wrapper class.
Definition: Win.h:1359
+
winstd::win_handle::free_internal
void free_internal() noexcept override
Closes an open object handle.
Definition: Win.h:1380
+
winstd::win_handle::~win_handle
virtual ~win_handle()
Closes an open object handle.
Definition: Win.h:1368
winstd::win_runtime_error
Windows runtime error.
Definition: Common.h:1047
WINSTD_NONCOPYABLE
#define WINSTD_NONCOPYABLE(C)
Declares a class as non-copyable.
Definition: Common.h:52
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:79
WINSTD_NONMOVABLE
#define WINSTD_NONMOVABLE(C)
Declares a class as non-movable.
Definition: Common.h:60
WINSTD_HANDLE_IMPL
#define WINSTD_HANDLE_IMPL(C, INVAL)
Implements default constructors and operators to prevent their auto-generation by compiler.
Definition: Common.h:161
winstd::handle< HANDLE, INVALID >::invalid
static const HANDLE invalid
Invalid handle value.
Definition: Common.h:613
-
winstd::UnmapViewOfFile_delete< _Ty[]>::UnmapViewOfFile_delete
UnmapViewOfFile_delete()
Default construct.
Definition: Win.h:1539
-
winstd::UnmapViewOfFile_delete< _Ty[]>::operator()
void operator()(_Other *) const
Delete a pointer of another type.
Definition: Win.h:1554
-
winstd::UnmapViewOfFile_delete< _Ty[]>::operator()
void operator()(_Ty *_Ptr) const
Delete a pointer.
Definition: Win.h:1544
-
winstd::UnmapViewOfFile_delete< _Ty[]>::_Myt
UnmapViewOfFile_delete< _Ty > _Myt
This type.
Definition: Win.h:1534
-
winstd::UnmapViewOfFile_delete
Deleter for unique_ptr using UnmapViewOfFile.
Definition: Win.h:1506
-
winstd::UnmapViewOfFile_delete::UnmapViewOfFile_delete
UnmapViewOfFile_delete(const UnmapViewOfFile_delete< _Ty2 > &)
Construct from another UnmapViewOfFile_delete.
Definition: Win.h:1517
-
winstd::UnmapViewOfFile_delete::operator()
void operator()(_Ty *_Ptr) const
Delete a pointer.
Definition: Win.h:1522
-
winstd::UnmapViewOfFile_delete::_Myt
UnmapViewOfFile_delete< _Ty > _Myt
This type.
Definition: Win.h:1507
-
winstd::UnmapViewOfFile_delete::UnmapViewOfFile_delete
UnmapViewOfFile_delete()
Default construct.
Definition: Win.h:1512
-
winstd::heap_allocator::rebind
A structure that enables an allocator for objects of one type to allocate storage for objects of anot...
Definition: Win.h:1821
-
winstd::heap_allocator::rebind::other
heap_allocator< _Other > other
Other allocator type.
Definition: Win.h:1822
+
WINSTD_WINHANDLE_IMPL
#define WINSTD_WINHANDLE_IMPL(C, INVAL)
Implements default constructors and operators to prevent their auto-generation by compiler.
Definition: Win.h:25
+
winstd::UnmapViewOfFile_delete< _Ty[]>::UnmapViewOfFile_delete
UnmapViewOfFile_delete()
Default construct.
Definition: Win.h:1561
+
winstd::UnmapViewOfFile_delete< _Ty[]>::operator()
void operator()(_Other *) const
Delete a pointer of another type.
Definition: Win.h:1576
+
winstd::UnmapViewOfFile_delete< _Ty[]>::operator()
void operator()(_Ty *_Ptr) const
Delete a pointer.
Definition: Win.h:1566
+
winstd::UnmapViewOfFile_delete< _Ty[]>::_Myt
UnmapViewOfFile_delete< _Ty > _Myt
This type.
Definition: Win.h:1556
+
winstd::UnmapViewOfFile_delete
Deleter for unique_ptr using UnmapViewOfFile.
Definition: Win.h:1528
+
winstd::UnmapViewOfFile_delete::UnmapViewOfFile_delete
UnmapViewOfFile_delete(const UnmapViewOfFile_delete< _Ty2 > &)
Construct from another UnmapViewOfFile_delete.
Definition: Win.h:1539
+
winstd::UnmapViewOfFile_delete::operator()
void operator()(_Ty *_Ptr) const
Delete a pointer.
Definition: Win.h:1544
+
winstd::UnmapViewOfFile_delete::_Myt
UnmapViewOfFile_delete< _Ty > _Myt
This type.
Definition: Win.h:1529
+
winstd::UnmapViewOfFile_delete::UnmapViewOfFile_delete
UnmapViewOfFile_delete()
Default construct.
Definition: Win.h:1534
+
winstd::heap_allocator::rebind
A structure that enables an allocator for objects of one type to allocate storage for objects of anot...
Definition: Win.h:1849
+
winstd::heap_allocator::rebind::other
heap_allocator< _Other > other
Other allocator type.
Definition: Win.h:1850
diff --git a/_win_sock2_8h_source.html b/_win_sock2_8h_source.html index 1aff8634..8674c369 100644 --- a/_win_sock2_8h_source.html +++ b/_win_sock2_8h_source.html @@ -121,64 +121,141 @@ $(function() {
87
88#if (NTDDI_VERSION >= NTDDI_WINXPSP2) || (_WIN32_WINNT >= 0x0502)
89
-
93 class addrinfo : public handle<PADDRINFOT, NULL>
+
93 class addrinfo : public handle<PADDRINFOA, NULL>
94 {
95 WINSTD_HANDLE_IMPL(addrinfo, NULL)
96
97 public:
-
103 bool get(
-
104 _In_opt_ PCTSTR pNodeName,
-
105 _In_opt_ PCTSTR pServiceName,
-
106 _In_opt_ const ADDRINFOT *pHints)
-
107 {
-
108 handle_type h;
-
109 if (GetAddrInfo(pNodeName, pServiceName, pHints, &h) == 0) {
-
110 attach(h);
-
111 return true;
-
112 } else
-
113 return false;
-
114 }
-
115
-
121 virtual ~addrinfo()
-
122 {
-
123 if (m_h != invalid)
-
124 free_internal();
-
125 }
-
126
-
127 protected:
-
133 void free_internal() noexcept override
-
134 {
-
135 FreeAddrInfo(m_h);
-
136 }
-
137 };
-
138
-
139#endif
-
140
-
142}
+
103 __declspec(deprecated("Use GetAddrInfoA"))
+
104 bool get(
+
105 _In_opt_ PCSTR pNodeName,
+
106 _In_opt_ PCSTR pServiceName,
+
107 _In_opt_ const ADDRINFOA *pHints)
+
108 {
+
109 handle_type h;
+
110 if (GetAddrInfoA(pNodeName, pServiceName, pHints, &h) == 0) {
+
111 attach(h);
+
112 return true;
+
113 } else
+
114 return false;
+
115 }
+
116
+
122 virtual ~addrinfo()
+
123 {
+
124 if (m_h != invalid)
+
125 free_internal();
+
126 }
+
127
+
128 protected:
+
134 void free_internal() noexcept override
+
135 {
+
136 FreeAddrInfoA(m_h);
+
137 }
+
138 };
+
139
+
143 class waddrinfo : public handle<PADDRINFOW, NULL>
+
144 {
+
145 WINSTD_HANDLE_IMPL(waddrinfo, NULL)
+
146
+
147 public:
+
153 __declspec(deprecated("Use GetAddrInfoW"))
+
154 bool get(
+
155 _In_opt_ PCWSTR pNodeName,
+
156 _In_opt_ PCWSTR pServiceName,
+
157 _In_opt_ const ADDRINFOW *pHints)
+
158 {
+
159 handle_type h;
+
160 if (GetAddrInfoW(pNodeName, pServiceName, pHints, &h) == 0) {
+
161 attach(h);
+
162 return true;
+
163 } else
+
164 return false;
+
165 }
+
166
+
172 virtual ~waddrinfo()
+
173 {
+
174 if (m_h != invalid)
+
175 free_internal();
+
176 }
+
177
+
178 protected:
+
184 void free_internal() noexcept override
+
185 {
+
186 FreeAddrInfoW(m_h);
+
187 }
+
188 };
+
189
+
193#ifdef _UNICODE
+
194 typedef waddrinfo taddrinfo;
+
195#else
+
196 typedef addrinfo taddrinfo;
+
197#endif
+
198
+
199#endif
+
200
+
202}
+
203
+
206
+
207#pragma warning(push)
+
208#pragma warning(disable: 4505) // Don't warn on unused code
+
209
+
211static INT GetAddrInfoA(
+
212 _In_opt_ PCSTR pNodeName,
+
213 _In_opt_ PCSTR pServiceName,
+
214 _In_opt_ const ADDRINFOA *pHints,
+
215 _Inout_ winstd::addrinfo &result)
+
216{
+
217 PADDRINFOA h;
+
218 INT iResult = GetAddrInfoA(pNodeName, pServiceName, pHints, &h);
+
219 if (iResult == 0)
+
220 result.attach(h);
+
221 return iResult;
+
222}
+
223
+
229static INT GetAddrInfoW(
+
230 _In_opt_ PCWSTR pNodeName,
+
231 _In_opt_ PCWSTR pServiceName,
+
232 _In_opt_ const ADDRINFOW *pHints,
+
233 _Inout_ winstd::waddrinfo &result)
+
234{
+
235 PADDRINFOW h;
+
236 INT iResult = GetAddrInfoW(pNodeName, pServiceName, pHints, &h);
+
237 if (iResult == 0)
+
238 result.attach(h);
+
239 return iResult;
+
240}
+
241
+
242#pragma warning(pop)
+
243
winstd::addrinfo
SID wrapper class.
Definition: WinSock2.h:94
-
winstd::addrinfo::free_internal
void free_internal() noexcept override
Frees address information.
Definition: WinSock2.h:133
-
winstd::addrinfo::~addrinfo
virtual ~addrinfo()
Frees address information.
Definition: WinSock2.h:121
-
winstd::addrinfo::get
bool get(PCTSTR pNodeName, PCTSTR pServiceName, const ADDRINFOT *pHints)
Provides protocol-independent translation from a host name to an address.
Definition: WinSock2.h:103
+
winstd::addrinfo::free_internal
void free_internal() noexcept override
Frees address information.
Definition: WinSock2.h:134
+
winstd::addrinfo::~addrinfo
virtual ~addrinfo()
Frees address information.
Definition: WinSock2.h:122
+
winstd::addrinfo::__declspec
__declspec(deprecated("Use GetAddrInfoA")) bool get(PCSTR pNodeName
Provides protocol-independent translation from a host name to an address.
winstd::handle
Base abstract template class to support generic object handle keeping.
Definition: Common.h:603
-
winstd::handle< PADDRINFOT, NULL >::handle_type
PADDRINFOT handle_type
Datatype of the object handle this template class handles.
Definition: Common.h:608
-
winstd::handle< PADDRINFOT, NULL >::m_h
handle_type m_h
Object handle.
Definition: Common.h:854
-
winstd::handle< PADDRINFOT, NULL >::attach
void attach(handle_type h) noexcept
Sets a new object handle for the class.
Definition: Common.h:817
+
winstd::handle< PADDRINFOA, NULL >::handle_type
PADDRINFOA handle_type
Datatype of the object handle this template class handles.
Definition: Common.h:608
+
winstd::handle< PADDRINFOA, NULL >::m_h
handle_type m_h
Object handle.
Definition: Common.h:854
+
winstd::handle< PADDRINFOA, NULL >::attach
void attach(handle_type h) noexcept
Sets a new object handle for the class.
Definition: Common.h:817
winstd::num_runtime_error
Numerical runtime error.
Definition: Common.h:1002
winstd::num_runtime_error< int >::error_type
int error_type
Error number type.
Definition: Common.h:1004
winstd::num_runtime_error< int >::m_num
error_type m_num
Numeric error code.
Definition: Common.h:1040
+
winstd::waddrinfo
SID wrapper class.
Definition: WinSock2.h:144
+
winstd::waddrinfo::~waddrinfo
virtual ~waddrinfo()
Frees address information.
Definition: WinSock2.h:172
+
winstd::waddrinfo::free_internal
void free_internal() noexcept override
Frees address information.
Definition: WinSock2.h:184
+
winstd::waddrinfo::__declspec
__declspec(deprecated("Use GetAddrInfoW")) bool get(PCWSTR pNodeName
Provides protocol-independent translation from a host name to an address.
winstd::ws2_runtime_error
WinSock2 runtime error.
Definition: WinSock2.h:26
winstd::ws2_runtime_error::ws2_runtime_error
ws2_runtime_error(error_type num, const char *msg=nullptr)
Constructs an exception.
Definition: WinSock2.h:44
winstd::ws2_runtime_error::ws2_runtime_error
ws2_runtime_error(const char *msg=nullptr)
Constructs an exception using WSAGetLastError()
Definition: WinSock2.h:62
winstd::ws2_runtime_error::ws2_runtime_error
ws2_runtime_error(error_type num, const std::string &msg)
Constructs an exception.
Definition: WinSock2.h:34
winstd::ws2_runtime_error::ws2_runtime_error
ws2_runtime_error(const std::string &msg)
Constructs an exception using WSAGetLastError()
Definition: WinSock2.h:53
winstd::ws2_runtime_error::msg
tstring msg(DWORD dwLanguageId=0) const
Returns a user-readable Windows error message.
Definition: WinSock2.h:71
+
winstd::taddrinfo
addrinfo taddrinfo
Multi-byte / Wide-character SID wrapper class (according to _UNICODE)
Definition: WinSock2.h:196
winstd::tstring
std::string tstring
Multi-byte / Wide-character string (according to _UNICODE)
Definition: Common.h:334
WINSTD_HANDLE_IMPL
#define WINSTD_HANDLE_IMPL(C, INVAL)
Implements default constructors and operators to prevent their auto-generation by compiler.
Definition: Common.h:161
-
winstd::handle< PADDRINFOT, NULL >::invalid
static const PADDRINFOT invalid
Invalid handle value.
Definition: Common.h:613
+
winstd::handle< PADDRINFOA, NULL >::invalid
static const PADDRINFOA invalid
Invalid handle value.
Definition: Common.h:613
diff --git a/_win_trust_8h_source.html b/_win_trust_8h_source.html index 0d532488..ccedc4a3 100644 --- a/_win_trust_8h_source.html +++ b/_win_trust_8h_source.html @@ -122,7 +122,7 @@ $(function() { diff --git a/annotated.html b/annotated.html index 58601b45..a454af9a 100644 --- a/annotated.html +++ b/annotated.html @@ -145,21 +145,22 @@ $(function() {  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 - 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 + CwaddrinfoSID 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 28361a3f..a745c9f1 100644 --- a/classes.html +++ b/classes.html @@ -115,12 +115,12 @@ $(function() {
variant (winstd)
vmemory (winstd)
W
-
win_handle (winstd)
win_runtime_error (winstd)
window_dc (winstd)
wintrust (winstd)
wlan_handle (winstd)
WlanFreeMemory_delete (winstd)
WlanFreeMemory_delete< _Ty[]> (winstd)
ws2_runtime_error (winstd)
wstring_guid (winstd)
+
waddrinfo (winstd)
win_handle (winstd)
win_runtime_error (winstd)
window_dc (winstd)
wintrust (winstd)
wlan_handle (winstd)
WlanFreeMemory_delete (winstd)
WlanFreeMemory_delete< _Ty[]> (winstd)
ws2_runtime_error (winstd)
wstring_guid (winstd)
diff --git a/classwinstd_1_1actctx__activator-members.html b/classwinstd_1_1actctx__activator-members.html index 350b5e9b..f4e11946 100644 --- a/classwinstd_1_1actctx__activator-members.html +++ b/classwinstd_1_1actctx__activator-members.html @@ -79,7 +79,7 @@ $(function() { diff --git a/classwinstd_1_1actctx__activator.html b/classwinstd_1_1actctx__activator.html index 8ef18ec9..9b886f07 100644 --- a/classwinstd_1_1actctx__activator.html +++ b/classwinstd_1_1actctx__activator.html @@ -168,7 +168,7 @@ ULONG_PTR m_cookie diff --git a/classwinstd_1_1addrinfo-members.html b/classwinstd_1_1addrinfo-members.html index a406eb7d..91b63cff 100644 --- a/classwinstd_1_1addrinfo-members.html +++ b/classwinstd_1_1addrinfo-members.html @@ -73,35 +73,39 @@ $(function() {

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

- - - + + + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + +
attach(handle_type h) noexceptwinstd::handle< PADDRINFOT, NULL >inline
detach()winstd::handle< PADDRINFOT, NULL >inline
free()winstd::handle< PADDRINFOT, NULL >inline
__declspec(deprecated("Use GetAddrInfoA")) bool get(PCSTR pNodeNamewinstd::addrinfo
attach(handle_type h) noexceptwinstd::handle< PADDRINFOA, NULL >inline
detach()winstd::handle< PADDRINFOA, NULL >inline
false (defined in winstd::addrinfo)winstd::addrinfo
free()winstd::handle< PADDRINFOA, NULL >inline
free_internal() noexcept overridewinstd::addrinfoinlineprotectedvirtual
get(PCTSTR pNodeName, PCTSTR pServiceName, const ADDRINFOT *pHints)winstd::addrinfoinline
handle() noexceptwinstd::handle< PADDRINFOT, NULL >inline
handle(handle_type h) noexceptwinstd::handle< PADDRINFOT, NULL >inline
handle(handle< handle_type, INVAL > &&h) noexceptwinstd::handle< PADDRINFOT, NULL >inline
handle_type typedefwinstd::handle< PADDRINFOT, NULL >
invalidwinstd::handle< PADDRINFOT, NULL >static
m_hwinstd::handle< PADDRINFOT, NULL >protected
operator handle_type() constwinstd::handle< PADDRINFOT, NULL >inline
operator!() constwinstd::handle< PADDRINFOT, NULL >inline
operator!=(handle_type h) constwinstd::handle< PADDRINFOT, NULL >inline
operator&()winstd::handle< PADDRINFOT, NULL >inline
operator*() constwinstd::handle< PADDRINFOT, NULL >inline
operator->() constwinstd::handle< PADDRINFOT, NULL >inline
operator<(handle_type h) constwinstd::handle< PADDRINFOT, NULL >inline
operator<=(handle_type h) constwinstd::handle< PADDRINFOT, NULL >inline
operator=(handle_type h) noexceptwinstd::handle< PADDRINFOT, NULL >inline
operator=(handle< handle_type, INVAL > &&h) noexceptwinstd::handle< PADDRINFOT, NULL >inline
operator==(handle_type h) constwinstd::handle< PADDRINFOT, NULL >inline
operator>(handle_type h) constwinstd::handle< PADDRINFOT, NULL >inline
operator>=(handle_type h) constwinstd::handle< PADDRINFOT, NULL >inline
handle() noexceptwinstd::handle< PADDRINFOA, NULL >inline
handle(handle_type h) noexceptwinstd::handle< PADDRINFOA, NULL >inline
handle(handle< handle_type, INVAL > &&h) noexceptwinstd::handle< PADDRINFOA, NULL >inline
handle_type typedefwinstd::handle< PADDRINFOA, NULL >
if(GetAddrInfoA(pNodeName, pServiceName, pHints, &h)==0) (defined in winstd::addrinfo)winstd::addrinfoinline
invalidwinstd::handle< PADDRINFOA, NULL >static
m_hwinstd::handle< PADDRINFOA, NULL >protected
operator handle_type() constwinstd::handle< PADDRINFOA, NULL >inline
operator!() constwinstd::handle< PADDRINFOA, NULL >inline
operator!=(handle_type h) constwinstd::handle< PADDRINFOA, NULL >inline
operator&()winstd::handle< PADDRINFOA, NULL >inline
operator*() constwinstd::handle< PADDRINFOA, NULL >inline
operator->() constwinstd::handle< PADDRINFOA, NULL >inline
operator<(handle_type h) constwinstd::handle< PADDRINFOA, NULL >inline
operator<=(handle_type h) constwinstd::handle< PADDRINFOA, NULL >inline
operator=(handle_type h) noexceptwinstd::handle< PADDRINFOA, NULL >inline
operator=(handle< handle_type, INVAL > &&h) noexceptwinstd::handle< PADDRINFOA, NULL >inline
operator==(handle_type h) constwinstd::handle< PADDRINFOA, NULL >inline
operator>(handle_type h) constwinstd::handle< PADDRINFOA, NULL >inline
operator>=(handle_type h) constwinstd::handle< PADDRINFOA, NULL >inline
pHints (defined in winstd::addrinfo)winstd::addrinfo
pServiceName (defined in winstd::addrinfo)winstd::addrinfo
~addrinfo()winstd::addrinfoinlinevirtual
diff --git a/classwinstd_1_1addrinfo.html b/classwinstd_1_1addrinfo.html index aeea5252..d8289eeb 100644 --- a/classwinstd_1_1addrinfo.html +++ b/classwinstd_1_1addrinfo.html @@ -69,6 +69,7 @@ $(function() {
Public Member Functions | +Public Attributes | Protected Member Functions | List of all members
winstd::addrinfo Class Reference
@@ -85,19 +86,22 @@ Inheritance diagram for winstd::addrinfo:
-winstd::handle< PADDRINFOT, NULL > +winstd::handle< PADDRINFOA, NULL >
- - - + + + + + - + @@ -158,6 +162,17 @@ void 

Public Member Functions

bool get (PCTSTR pNodeName, PCTSTR pServiceName, const ADDRINFOT *pHints)
 Provides protocol-independent translation from a host name to an address. More...
 
 __declspec (deprecated("Use GetAddrInfoA")) bool get(PCSTR pNodeName
 Provides protocol-independent translation from a host name to an address. More...
 
if (GetAddrInfoA(pNodeName, pServiceName, pHints, &h)==0)
 
virtual ~addrinfo ()
 Frees address information. More...
 
- Public Member Functions inherited from winstd::handle< PADDRINFOT, NULL >
- Public Member Functions inherited from winstd::handle< PADDRINFOA, NULL >
 handle () noexcept
 Initializes a new class instance with the object handle set to INVAL.
free ()
 Destroys the object.
 
+ + + + + + + +

+Public Attributes

+PCSTR pServiceName
 
PCSTR const ADDRINFOA * pHints
 
+else return false
 
@@ -169,17 +184,17 @@ Protected Member Functions

Protected Member Functions

void free_internal () noexcept override
- + +typedef PADDRINFOA  - + +static const PADDRINFOA  - + @@ -217,6 +232,27 @@ static const PADDRINFOT 

Additional Inherited Members

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

Member Function Documentation

+ +

◆ __declspec()

+ +
+
+ + + + + + + + +
winstd::addrinfo::__declspec (deprecated("Use GetAddrInfoA") )
+
+ +

Provides protocol-independent translation from a host name to an address.

+
See also
GetAddrInfoW function
+ +
+

◆ free_internal()

@@ -243,53 +279,26 @@ static const PADDRINFOT 
in

Frees address information.

See also
FreeAddrInfoW function
-

Implements winstd::handle< PADDRINFOT, NULL >.

+

Implements winstd::handle< PADDRINFOA, NULL >.

- -

◆ get()

+

Member Data Documentation

+ +

◆ pHints

- - - - - -
- - - - - - - - - - - - - - - - - - - - - +
bool winstd::addrinfo::get (PCTSTR pNodeName,
PCTSTR pServiceName,
const ADDRINFOT * pHints 
)PCSTR const ADDRINFOA* winstd::addrinfo::pHints
-
-inline
- -

Provides protocol-independent translation from a host name to an address.

-
See also
GetAddrInfoW function
- +Initial value:
{
+ +
PADDRINFOA handle_type
Datatype of the object handle this template class handles.
Definition: Common.h:608
+

The documentation for this class was generated from the following file:
    @@ -298,7 +307,7 @@ static const PADDRINFOT 
in diff --git a/classwinstd_1_1addrinfo.png b/classwinstd_1_1addrinfo.png index 42d404fc..de38468f 100644 Binary files a/classwinstd_1_1addrinfo.png and b/classwinstd_1_1addrinfo.png differ diff --git a/classwinstd_1_1basic__string__guid-members.html b/classwinstd_1_1basic__string__guid-members.html index 0ade99c2..22ad9001 100644 --- a/classwinstd_1_1basic__string__guid-members.html +++ b/classwinstd_1_1basic__string__guid-members.html @@ -77,7 +77,7 @@ $(function() {
diff --git a/classwinstd_1_1basic__string__guid.html b/classwinstd_1_1basic__string__guid.html index 6e17f0ff..cfc7343b 100644 --- a/classwinstd_1_1basic__string__guid.html +++ b/classwinstd_1_1basic__string__guid.html @@ -148,7 +148,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 72d4807e..b80bf7a5 100644 --- a/classwinstd_1_1basic__string__msg-members.html +++ b/classwinstd_1_1basic__string__msg-members.html @@ -83,7 +83,7 @@ $(function() { diff --git a/classwinstd_1_1basic__string__msg.html b/classwinstd_1_1basic__string__msg.html index 59799e4a..39de390a 100644 --- a/classwinstd_1_1basic__string__msg.html +++ b/classwinstd_1_1basic__string__msg.html @@ -492,7 +492,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 162d458e..75220454 100644 --- a/classwinstd_1_1basic__string__printf-members.html +++ b/classwinstd_1_1basic__string__printf-members.html @@ -79,7 +79,7 @@ $(function() { diff --git a/classwinstd_1_1basic__string__printf.html b/classwinstd_1_1basic__string__printf.html index 0d244f25..e61058e9 100644 --- a/classwinstd_1_1basic__string__printf.html +++ b/classwinstd_1_1basic__string__printf.html @@ -267,7 +267,7 @@ template<class _Elem , class _Traits , class _Ax > diff --git a/classwinstd_1_1bstr-members.html b/classwinstd_1_1bstr-members.html index f8c3906f..0a210404 100644 --- a/classwinstd_1_1bstr-members.html +++ b/classwinstd_1_1bstr-members.html @@ -113,7 +113,7 @@ $(function() { diff --git a/classwinstd_1_1bstr.html b/classwinstd_1_1bstr.html index 97c2de4b..97cfb6a6 100644 --- a/classwinstd_1_1bstr.html +++ b/classwinstd_1_1bstr.html @@ -368,7 +368,7 @@ static const BSTR invalid< diff --git a/classwinstd_1_1cert__chain__context-members.html b/classwinstd_1_1cert__chain__context-members.html index a85ce775..93f9cf32 100644 --- a/classwinstd_1_1cert__chain__context-members.html +++ b/classwinstd_1_1cert__chain__context-members.html @@ -73,18 +73,20 @@ $(function() {

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

- - - + + + - - - + + + + + @@ -106,11 +108,14 @@ $(function() { - + + + +
attach(handle_type h) noexceptwinstd::handle< PCCERT_CHAIN_CONTEXT, INVAL >inline
attach_duplicated(handle_type h)winstd::dplhandle< PCCERT_CHAIN_CONTEXT, NULL >inline
create(HCERTCHAINENGINE hChainEngine, PCCERT_CONTEXT pCertContext, LPFILETIME pTime, HCERTSTORE hAdditionalStore, PCERT_CHAIN_PARA pChainPara, DWORD dwFlags, __reserved LPVOID pvReserved=NULL) noexceptwinstd::cert_chain_contextinline
__declspec(deprecated("Use CertGetCertificateChain")) bool create(HCERTCHAINENGINE hChainEnginewinstd::cert_chain_context
attach(handle_type h) noexceptwinstd::handle< PCCERT_CHAIN_CONTEXT, INVAL >inline
attach_duplicated(handle_type h)winstd::dplhandle< PCCERT_CHAIN_CONTEXT, NULL >inline
detach()winstd::handle< PCCERT_CHAIN_CONTEXT, 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(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
free()winstd::handle< PCCERT_CHAIN_CONTEXT, INVAL >inline
free_internal() noexcept overridewinstd::cert_chain_contextinlineprotectedvirtual
duplicate_internal(handle_type h) const noexcept=0winstd::dplhandle< PCCERT_CHAIN_CONTEXT, NULL >protectedpure virtual
dwFlags (defined in winstd::cert_chain_context)winstd::cert_chain_context
free()winstd::handle< PCCERT_CHAIN_CONTEXT, INVAL >inline
free_internal() noexcept=0winstd::handle< PCCERT_CHAIN_CONTEXT, INVAL >protectedpure virtual
hAdditionalStore (defined in winstd::cert_chain_context)winstd::cert_chain_context
handle() noexceptwinstd::handle< PCCERT_CHAIN_CONTEXT, INVAL >inline
handle(handle_type h) noexceptwinstd::handle< PCCERT_CHAIN_CONTEXT, INVAL >inline
handle(handle< handle_type, INVAL > &&h) noexceptwinstd::handle< PCCERT_CHAIN_CONTEXT, INVAL >inline
operator==(handle_type h) constwinstd::handle< PCCERT_CHAIN_CONTEXT, INVAL >inline
operator>(handle_type h) constwinstd::handle< PCCERT_CHAIN_CONTEXT, INVAL >inline
operator>=(handle_type h) constwinstd::handle< PCCERT_CHAIN_CONTEXT, INVAL >inline
~cert_chain_context()winstd::cert_chain_contextinlinevirtual
pCertContext (defined in winstd::cert_chain_context)winstd::cert_chain_context
pChainPara (defined in winstd::cert_chain_context)winstd::cert_chain_context
pTime (defined in winstd::cert_chain_context)winstd::cert_chain_context
~cert_chain_context()winstd::cert_chain_contextinlinevirtual
diff --git a/classwinstd_1_1cert__chain__context.html b/classwinstd_1_1cert__chain__context.html index d5bb3a39..30965f11 100644 --- a/classwinstd_1_1cert__chain__context.html +++ b/classwinstd_1_1cert__chain__context.html @@ -69,7 +69,7 @@ $(function() {
winstd::cert_chain_context Class Reference
@@ -95,9 +95,9 @@ Public Member Functions virtual ~cert_chain_context ()  Destroys the certificate chain context. More...
  -bool create (HCERTCHAINENGINE hChainEngine, PCCERT_CONTEXT pCertContext, LPFILETIME pTime, HCERTSTORE hAdditionalStore, PCERT_CHAIN_PARA pChainPara, DWORD dwFlags, __reserved LPVOID pvReserved=NULL) noexcept - Creates the certificate chain context. More...
-  + __declspec (deprecated("Use CertGetCertificateChain")) bool create(HCERTCHAINENGINE hChainEngine + Creates the certificate chain context. More...
- Public Member Functions inherited from winstd::dplhandle< PCCERT_CHAIN_CONTEXT, NULL >  dplhandle () noexcept @@ -188,20 +188,23 @@ void free ()  Destroys the object.
  - - - - - - - - - - - - - + + + + + + + + + + +

-Protected Member Functions

void free_internal () noexcept override
 Destroys the certificate chain context. More...
 
handle_type duplicate_internal (handle_type h) const noexcept override
 Duplicates the certificate chain context. More...
 
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. More...
 
virtual void free_internal () noexcept=0
 Abstract member function that must be implemented by child classes to do the actual object destruction. More...
 

+Public Attributes

+PCCERT_CONTEXT pCertContext
 
+PCCERT_CONTEXT LPFILETIME pTime
 
+PCCERT_CONTEXT LPFILETIME HCERTSTORE hAdditionalStore
 
+PCCERT_CONTEXT LPFILETIME HCERTSTORE PCERT_CHAIN_PARA pChainPara
 
+PCCERT_CONTEXT LPFILETIME HCERTSTORE PCERT_CHAIN_PARA DWORD dwFlags
 
@@ -215,6 +218,15 @@ typedef PCCERT_CHAIN_CONTEXT  + + + + + + + + @@ -253,68 +265,20 @@ static const PCCERT_CHAIN_CONTEXT  - - - + + + + + @@ -206,6 +210,17 @@ void 

Additional Inherited Members

static const PCCERT_CHAIN_CONTEXT invalid
 Invalid handle value.
 
- Protected Member Functions inherited from winstd::dplhandle< PCCERT_CHAIN_CONTEXT, NULL >
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. More...
 
- Protected Member Functions inherited from winstd::handle< PCCERT_CHAIN_CONTEXT, INVAL >
+virtual void free_internal () noexcept=0
 Abstract member function that must be implemented by child classes to do the actual object destruction.
 
- Protected Attributes inherited from winstd::handle< PCCERT_CHAIN_CONTEXT, INVAL >
handle_type m_h
Member Function Documentation - -

◆ create()

+ +

◆ __declspec()

- - - - - -
- + - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
bool winstd::cert_chain_context::create winstd::cert_chain_context::__declspec (HCERTCHAINENGINE hChainEngine,
deprecated("Use CertGetCertificateChain") ) PCCERT_CONTEXT pCertContext,
LPFILETIME pTime,
HCERTSTORE hAdditionalStore,
PCERT_CHAIN_PARA pChainPara,
DWORD dwFlags,
__reserved LPVOID pvReserved = NULL 
)
-
-inlinenoexcept

Creates the certificate chain context.

@@ -325,74 +289,6 @@ static const PCCERT_CHAIN_CONTEXT 
See also
CertGetCertificateChain function
- - - -

◆ duplicate_internal()

- -
-
- - - - - -
- - - - - - - - -
handle_type winstd::cert_chain_context::duplicate_internal (handle_type h) const
-
-inlineoverrideprotectedvirtualnoexcept
-
- -

Duplicates the certificate chain context.

-
Parameters
- - -
[in]hObject handle of existing certificate chain context
-
-
-
Returns
Duplicated certificate chain context handle
-
See also
CertDuplicateCertificateContext function
- -

Implements winstd::dplhandle< PCCERT_CHAIN_CONTEXT, NULL >.

- -
-
- -

◆ free_internal()

- -
-
- - - - - -
- - - - - - - -
void winstd::cert_chain_context::free_internal ()
-
-inlineoverrideprotectedvirtualnoexcept
-
- -

Destroys the certificate chain context.

-
See also
CertFreeCertificateChain function
- -

Implements winstd::handle< PCCERT_CHAIN_CONTEXT, INVAL >.

-

The documentation for this class was generated from the following file:
    @@ -401,7 +297,7 @@ static const PCCERT_CHAIN_CONTEXT 
diff --git a/classwinstd_1_1cert__context-members.html b/classwinstd_1_1cert__context-members.html index 29c914b5..2eb1b502 100644 --- a/classwinstd_1_1cert__context-members.html +++ b/classwinstd_1_1cert__context-members.html @@ -73,9 +73,9 @@ $(function() {

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

- - - + + + @@ -83,40 +83,44 @@ $(function() { - - - - - - + + + + + + + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + +
attach(handle_type h) noexceptwinstd::handle< PCCERT_CONTEXT, INVAL >inline
attach_duplicated(handle_type h)winstd::dplhandle< PCCERT_CONTEXT, NULL >inline
create(DWORD dwCertEncodingType, LPCBYTE pbCertEncoded, DWORD cbCertEncoded) noexceptwinstd::cert_contextinline
__declspec(deprecated("Use CertCreateCertificateContext")) bool create(DWORD dwCertEncodingTypewinstd::cert_context
attach(handle_type h) noexceptwinstd::handle< PCCERT_CONTEXT, INVAL >inline
attach_duplicated(handle_type h)winstd::dplhandle< PCCERT_CONTEXT, NULL >inline
detach()winstd::handle< PCCERT_CONTEXT, INVAL >inline
dplhandle() noexceptwinstd::dplhandle< PCCERT_CONTEXT, NULL >inline
dplhandle(handle_type h) noexceptwinstd::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
free()winstd::handle< PCCERT_CONTEXT, INVAL >inline
free_internal() noexcept overridewinstd::cert_contextinlineprotectedvirtual
handle() noexceptwinstd::handle< PCCERT_CONTEXT, INVAL >inline
handle(handle_type h) noexceptwinstd::handle< PCCERT_CONTEXT, INVAL >inline
handle(handle< handle_type, INVAL > &&h) noexceptwinstd::handle< PCCERT_CONTEXT, INVAL >inline
handle_type typedefwinstd::handle< PCCERT_CONTEXT, INVAL >
false (defined in winstd::cert_context)winstd::cert_context
free()winstd::handle< PCCERT_CONTEXT, INVAL >inline
free_internal() noexcept overridewinstd::cert_contextinlineprotectedvirtual
handle() noexceptwinstd::handle< PCCERT_CONTEXT, INVAL >inline
handle(handle_type h) noexceptwinstd::handle< PCCERT_CONTEXT, INVAL >inline
handle(handle< handle_type, INVAL > &&h) noexceptwinstd::handle< PCCERT_CONTEXT, INVAL >inline
handle_type typedefwinstd::handle< PCCERT_CONTEXT, INVAL >
if(h !=invalid) (defined in winstd::cert_context)winstd::cert_contextinline
invalidwinstd::handle< PCCERT_CONTEXT, INVAL >static
m_hwinstd::handle< PCCERT_CONTEXT, INVAL >protected
operator handle_type() constwinstd::handle< PCCERT_CONTEXT, INVAL >inline
operator!() constwinstd::handle< PCCERT_CONTEXT, INVAL >inline
operator!=(const handle_type &other) const noexceptwinstd::cert_contextinline
dplhandle< PCCERT_CONTEXT, NULL >::operator!=(handle_type h) constwinstd::handle< PCCERT_CONTEXT, INVAL >inline
operator&()winstd::handle< PCCERT_CONTEXT, INVAL >inline
operator*() constwinstd::handle< PCCERT_CONTEXT, INVAL >inline
operator->() constwinstd::handle< PCCERT_CONTEXT, INVAL >inline
operator<(const handle_type &other) const noexceptwinstd::cert_contextinline
dplhandle< PCCERT_CONTEXT, NULL >::operator<(handle_type h) constwinstd::handle< PCCERT_CONTEXT, INVAL >inline
operator<=(const handle_type &other) const noexceptwinstd::cert_contextinline
dplhandle< PCCERT_CONTEXT, NULL >::operator<=(handle_type h) constwinstd::handle< PCCERT_CONTEXT, INVAL >inline
operator=(handle_type h) noexceptwinstd::dplhandle< PCCERT_CONTEXT, NULL >inline
operator=(const dplhandle< handle_type, INVAL > &h) noexceptwinstd::dplhandle< PCCERT_CONTEXT, NULL >inline
operator=(dplhandle< handle_type, INVAL > &&h) noexceptwinstd::dplhandle< PCCERT_CONTEXT, NULL >inline
handle< PCCERT_CONTEXT, INVAL >::operator=(handle< handle_type, INVAL > &&h) noexceptwinstd::handle< PCCERT_CONTEXT, INVAL >inline
operator==(const handle_type &other) const noexceptwinstd::cert_contextinline
dplhandle< PCCERT_CONTEXT, NULL >::operator==(handle_type h) constwinstd::handle< PCCERT_CONTEXT, INVAL >inline
operator>(const handle_type &other) const noexceptwinstd::cert_contextinline
dplhandle< PCCERT_CONTEXT, NULL >::operator>(handle_type h) constwinstd::handle< PCCERT_CONTEXT, INVAL >inline
operator>=(const handle_type &other) const noexceptwinstd::cert_contextinline
dplhandle< PCCERT_CONTEXT, NULL >::operator>=(handle_type h) constwinstd::handle< PCCERT_CONTEXT, INVAL >inline
noexcept (defined in winstd::cert_context)winstd::cert_context
operator handle_type() constwinstd::handle< PCCERT_CONTEXT, INVAL >inline
operator!() constwinstd::handle< PCCERT_CONTEXT, INVAL >inline
operator!=(const handle_type &other) const noexceptwinstd::cert_contextinline
dplhandle< PCCERT_CONTEXT, NULL >::operator!=(handle_type h) constwinstd::handle< PCCERT_CONTEXT, INVAL >inline
operator&()winstd::handle< PCCERT_CONTEXT, INVAL >inline
operator*() constwinstd::handle< PCCERT_CONTEXT, INVAL >inline
operator->() constwinstd::handle< PCCERT_CONTEXT, INVAL >inline
operator<(const handle_type &other) const noexceptwinstd::cert_contextinline
dplhandle< PCCERT_CONTEXT, NULL >::operator<(handle_type h) constwinstd::handle< PCCERT_CONTEXT, INVAL >inline
operator<=(const handle_type &other) const noexceptwinstd::cert_contextinline
dplhandle< PCCERT_CONTEXT, NULL >::operator<=(handle_type h) constwinstd::handle< PCCERT_CONTEXT, INVAL >inline
operator=(handle_type h) noexceptwinstd::dplhandle< PCCERT_CONTEXT, NULL >inline
operator=(const dplhandle< handle_type, INVAL > &h) noexceptwinstd::dplhandle< PCCERT_CONTEXT, NULL >inline
operator=(dplhandle< handle_type, INVAL > &&h) noexceptwinstd::dplhandle< PCCERT_CONTEXT, NULL >inline
handle< PCCERT_CONTEXT, INVAL >::operator=(handle< handle_type, INVAL > &&h) noexceptwinstd::handle< PCCERT_CONTEXT, INVAL >inline
operator==(const handle_type &other) const noexceptwinstd::cert_contextinline
dplhandle< PCCERT_CONTEXT, NULL >::operator==(handle_type h) constwinstd::handle< PCCERT_CONTEXT, INVAL >inline
operator>(const handle_type &other) const noexceptwinstd::cert_contextinline
dplhandle< PCCERT_CONTEXT, NULL >::operator>(handle_type h) constwinstd::handle< PCCERT_CONTEXT, INVAL >inline
operator>=(const handle_type &other) const noexceptwinstd::cert_contextinline
dplhandle< PCCERT_CONTEXT, NULL >::operator>=(handle_type h) constwinstd::handle< PCCERT_CONTEXT, INVAL >inline
pbCertEncoded (defined in winstd::cert_context)winstd::cert_context
~cert_context()winstd::cert_contextinlinevirtual
diff --git a/classwinstd_1_1cert__context.html b/classwinstd_1_1cert__context.html index 567302ab..6c6a8884 100644 --- a/classwinstd_1_1cert__context.html +++ b/classwinstd_1_1cert__context.html @@ -69,6 +69,7 @@ $(function() {
winstd::cert_context Class Reference
@@ -95,9 +96,12 @@ Public Member Functions
virtual ~cert_context ()
 Destroys the certificate context. More...
 
bool create (DWORD dwCertEncodingType, LPCBYTE pbCertEncoded, DWORD cbCertEncoded) noexcept
 Creates the certificate context. More...
 
 __declspec (deprecated("Use CertCreateCertificateContext")) bool create(DWORD dwCertEncodingType
 Creates the certificate context. More...
 
if (h !=invalid)
 
bool operator== (const handle_type &other) const noexcept
 Is certificate equal to? More...
 
free ()
 Destroys the object.
 
+ + + + + + + +

+Public Attributes

+LPCBYTE pbCertEncoded
 
LPCBYTE DWORD cbCertEncoded noexcept
 
+else return false
 
@@ -271,44 +286,20 @@ static const PCCERT_CONTEXT  - - - - - - + + + + + + + + + + @@ -161,6 +168,25 @@ void 

Protected Member Functions

void free_internal () noexcept override
<

Member Function Documentation

- -

◆ create()

+ +

◆ __declspec()

- - - - - -
- + - - - - - + + - - - - - - - - - - - - -
bool winstd::cert_context::create winstd::cert_context::__declspec (DWORD dwCertEncodingType,
deprecated("Use CertCreateCertificateContext") ) LPCBYTE pbCertEncoded,
DWORD cbCertEncoded 
)
-
-inlinenoexcept

Creates the certificate context.

@@ -621,6 +612,24 @@ static const PCCERT_CONTEXT 
< + + +

Member Data Documentation

+ +

◆ noexcept

+ +
+
+ + + + +
LPCBYTE DWORD cbCertEncoded winstd::cert_context::noexcept
+
+Initial value:
{
+
handle_type h = CertCreateCertificateContext(dwCertEncodingType, pbCertEncoded, cbCertEncoded)
+
PCCERT_CONTEXT handle_type
Datatype of the object handle this template class handles.
Definition: Common.h:608
+

The documentation for this class was generated from the following file:
    @@ -629,7 +638,7 @@ static const PCCERT_CONTEXT 
< diff --git a/classwinstd_1_1cert__store-members.html b/classwinstd_1_1cert__store-members.html index db9951b3..a0c57981 100644 --- a/classwinstd_1_1cert__store-members.html +++ b/classwinstd_1_1cert__store-members.html @@ -73,18 +73,26 @@ $(function() {

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

+ + - - - - - - - - + + + + + + + + + + + + + + @@ -102,7 +110,7 @@ $(function() {
__declspec(deprecated("Use CertOpenStore")) bool create(LPCSTR lpszStoreProviderwinstd::cert_store
__declspec(deprecated("Use CertOpenSystemStore")) bool create(HCRYPTPROV_LEGACY hCryptProvwinstd::cert_store
attach(handle_type h) noexceptwinstd::handle< HCERTSTORE, NULL >inline
create(LPCSTR lpszStoreProvider, DWORD dwEncodingType, HCRYPTPROV_LEGACY hCryptProv, DWORD dwFlags, const void *pvPara) noexceptwinstd::cert_storeinline
create(HCRYPTPROV_LEGACY hCryptProv, LPCTSTR szSubsystemProtocol) noexceptwinstd::cert_storeinline
detach()winstd::handle< HCERTSTORE, NULL >inline
free()winstd::handle< HCERTSTORE, NULL >inline
free_internal() noexcept overridewinstd::cert_storeinlineprotectedvirtual
handle() noexceptwinstd::handle< HCERTSTORE, NULL >inline
handle(handle_type h) noexceptwinstd::handle< HCERTSTORE, NULL >inline
handle(handle< handle_type, INVAL > &&h) noexceptwinstd::handle< HCERTSTORE, NULL >inline
handle_type typedefwinstd::handle< HCERTSTORE, NULL >
dwEncodingType (defined in winstd::cert_store)winstd::cert_store
dwFlags (defined in winstd::cert_store)winstd::cert_store
false (defined in winstd::cert_store)winstd::cert_store
free()winstd::handle< HCERTSTORE, NULL >inline
free_internal() noexcept overridewinstd::cert_storeinlineprotectedvirtual
handle() noexceptwinstd::handle< HCERTSTORE, NULL >inline
handle(handle_type h) noexceptwinstd::handle< HCERTSTORE, NULL >inline
handle(handle< handle_type, INVAL > &&h) noexceptwinstd::handle< HCERTSTORE, NULL >inline
handle_type typedefwinstd::handle< HCERTSTORE, NULL >
hCryptProv (defined in winstd::cert_store)winstd::cert_store
if(h !=invalid) (defined in winstd::cert_store)winstd::cert_storeinline
if(h !=invalid) (defined in winstd::cert_store)winstd::cert_storeinline
invalidwinstd::handle< HCERTSTORE, NULL >static
m_hwinstd::handle< HCERTSTORE, NULL >protected
noexcept (defined in winstd::cert_store)winstd::cert_store
noexcept (defined in winstd::cert_store)winstd::cert_store
operator handle_type() constwinstd::handle< HCERTSTORE, NULL >inline
operator!() constwinstd::handle< HCERTSTORE, NULL >inline
operator!=(handle_type h) constwinstd::handle< HCERTSTORE, NULL >inline
diff --git a/classwinstd_1_1cert__store.html b/classwinstd_1_1cert__store.html index 25488f59..80d2edef 100644 --- a/classwinstd_1_1cert__store.html +++ b/classwinstd_1_1cert__store.html @@ -69,6 +69,7 @@ $(function() {
winstd::cert_store Class Reference
@@ -94,12 +95,18 @@ Public Member Functions
virtual ~cert_store ()
 Closes the certificate store. More...
 
bool create (LPCSTR lpszStoreProvider, DWORD dwEncodingType, HCRYPTPROV_LEGACY hCryptProv, DWORD dwFlags, const void *pvPara) noexcept
 Opens the certificate store. More...
 
bool create (HCRYPTPROV_LEGACY hCryptProv, LPCTSTR szSubsystemProtocol) noexcept
 Opens the most common system certificate store. To open certificate stores with more complex requirements, such as file-based or memory-based stores, use create(). More...
 
 __declspec (deprecated("Use CertOpenStore")) bool create(LPCSTR lpszStoreProvider
 Opens the certificate store. More...
 
if (h !=invalid)
 
 __declspec (deprecated("Use CertOpenSystemStore")) bool create(HCRYPTPROV_LEGACY hCryptProv
 Opens the most common system certificate store. To open certificate stores with more complex requirements, such as file-based or memory-based stores, use create(). More...
 
if (h !=invalid)
 
- Public Member Functions inherited from winstd::handle< HCERTSTORE, NULL >
 handle () noexcept
free ()
 Destroys the object.
 
+ + + + + + + + + + + + + +

+Public Attributes

+DWORD dwEncodingType
 
+DWORD HCRYPTPROV_LEGACY hCryptProv
 
+DWORD HCRYPTPROV_LEGACY DWORD dwFlags
 
DWORD HCRYPTPROV_LEGACY DWORD const void *pvPara noexcept
 
+else return false
 
LPCTSTR szSubsystemProtocol noexcept
 
@@ -220,100 +246,20 @@ static const HCERTSTORE 

Protected Member Functions

void free_internal () noexcept override
in

Member Function Documentation

- -

◆ create() [1/2]

+ +

◆ __declspec() [1/2]

- - - - - -
- + - - - - - + + - - - - - - -
bool winstd::cert_store::create winstd::cert_store::__declspec (HCRYPTPROV_LEGACY hCryptProv,
deprecated("Use CertOpenStore") ) LPCTSTR szSubsystemProtocol 
)
-
-inlinenoexcept
-
- -

Opens the most common system certificate store. To open certificate stores with more complex requirements, such as file-based or memory-based stores, use create().

-
Returns
    -
  • true when creation succeeds;
  • -
  • false when creation fails. For extended error information, call GetLastError().
  • -
-
-
See also
CertOpenSystemStore function
- -
-
- -

◆ create() [2/2]

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
bool winstd::cert_store::create (LPCSTR lpszStoreProvider,
DWORD dwEncodingType,
HCRYPTPROV_LEGACY hCryptProv,
DWORD dwFlags,
const void * pvPara 
)
-
-inlinenoexcept

Opens the certificate store.

@@ -324,6 +270,32 @@ static const HCERTSTORE 
in
See also
CertOpenStore function
+ + + +

◆ __declspec() [2/2]

+ +
+
+ + + + + + + + +
winstd::cert_store::__declspec (deprecated("Use CertOpenSystemStore") )
+
+ +

Opens the most common system certificate store. To open certificate stores with more complex requirements, such as file-based or memory-based stores, use create().

+
Returns
    +
  • true when creation succeeds;
  • +
  • false when creation fails. For extended error information, call GetLastError().
  • +
+
+
See also
CertOpenSystemStore function
+
@@ -354,6 +326,40 @@ static const HCERTSTORE 
in

Implements winstd::handle< HCERTSTORE, NULL >.

+ + +

Member Data Documentation

+ +

◆ noexcept [1/2]

+ +
+
+ + + + +
DWORD HCRYPTPROV_LEGACY DWORD const void* pvPara winstd::cert_store::noexcept
+
+Initial value:
{
+
handle_type h = CertOpenStore(lpszStoreProvider, dwEncodingType, hCryptProv, dwFlags, pvPara)
+
HCERTSTORE handle_type
Datatype of the object handle this template class handles.
Definition: Common.h:608
+
+
+
+ +

◆ noexcept [2/2]

+ +
+
+ + + + +
LPCTSTR szSubsystemProtocol winstd::cert_store::noexcept
+
+Initial value:
{
+
handle_type h = CertOpenSystemStore(hCryptProv, szSubsystemProtocol)
+

The documentation for this class was generated from the following file:
    @@ -362,7 +368,7 @@ static const HCERTSTORE 
in diff --git a/classwinstd_1_1com__initializer-members.html b/classwinstd_1_1com__initializer-members.html index ad3a5b5f..4b349aff 100644 --- a/classwinstd_1_1com__initializer-members.html +++ b/classwinstd_1_1com__initializer-members.html @@ -81,7 +81,7 @@ $(function() {
diff --git a/classwinstd_1_1com__initializer.html b/classwinstd_1_1com__initializer.html index 7d20293d..9d197355 100644 --- a/classwinstd_1_1com__initializer.html +++ b/classwinstd_1_1com__initializer.html @@ -236,7 +236,7 @@ HRESULT m_result< diff --git a/classwinstd_1_1com__obj-members.html b/classwinstd_1_1com__obj-members.html index 068c906d..f0c9fa59 100644 --- a/classwinstd_1_1com__obj-members.html +++ b/classwinstd_1_1com__obj-members.html @@ -73,49 +73,44 @@ $(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(REFCLSID rclsid, LPUNKNOWN pUnkOuter=NULL, DWORD dwClsContext=CLSCTX_ALL)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
create(REFCLSID rclsid, LPUNKNOWN pUnkOuter=NULL, DWORD dwClsContext=CLSCTX_ALL)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
handle< T *, INVAL >::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
__declspec(deprecated("Use CoCreateInstance")) com_obj(REFCLSID rclsidwinstd::com_obj< T >
attach(handle_type h) noexceptwinstd::handle< T *, INVAL >inline
attach_duplicated(handle_type h)winstd::dplhandle< T *, NULL >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=0winstd::dplhandle< T *, NULL >protectedpure virtual
free()winstd::handle< T *, INVAL >inline
free_internal() noexcept=0winstd::handle< T *, INVAL >protectedpure virtual
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
handle< T *, INVAL >::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
pUnkOuter (defined in winstd::com_obj< T >)winstd::com_obj< T >
diff --git a/classwinstd_1_1com__obj.html b/classwinstd_1_1com__obj.html index 3f836763..dd5a6979 100644 --- a/classwinstd_1_1com__obj.html +++ b/classwinstd_1_1com__obj.html @@ -69,7 +69,7 @@ $(function() {
winstd::com_obj< T > Class Template Reference
@@ -92,32 +92,9 @@ Inheritance diagram for winstd::com_obj< T >: - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -208,20 +185,11 @@ void 

Public Member Functions

 com_obj (REFCLSID rclsid, LPUNKNOWN pUnkOuter=NULL, DWORD dwClsContext=CLSCTX_ALL)
 Constructs a new object and creates a new class with it. More...
 
template<class _Other >
 com_obj (_Other *other)
 Queries the object for another interface and creates new class with it. More...
 
template<class _Other >
 com_obj (com_obj< _Other > &other)
 Queries the object for another interface and creates new class with it. More...
 
-virtual ~com_obj ()
 Releases object.
 
HRESULT create (REFCLSID rclsid, LPUNKNOWN pUnkOuter=NULL, DWORD dwClsContext=CLSCTX_ALL)
 Creates a new object. More...
 
template<class _Other >
HRESULT query_interface (_Other **h) const
 Queries the object for another interface. More...
 
template<class _Other >
HRESULT query_interface (com_obj< _Other > &h) const
 Queries the object for another interface. More...
 
 __declspec (deprecated("Use CoCreateInstance")) com_obj(REFCLSID rclsid
 Constructs a new object and creates a new class with it. More...
 
- Public Member Functions inherited from winstd::dplhandle< T *, NULL >
 dplhandle () noexcept
free ()
 Destroys the object.
 
- - - - - - - - - - - - - + + +

-Protected Member Functions

void free_internal () noexcept override
 Releases the object by decrementing reference counter. More...
 
handle_type duplicate_internal (handle_type h) const noexcept override
 Duplicates the object by incrementing the reference counter. More...
 
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. More...
 
virtual void free_internal () noexcept=0
 Abstract member function that must be implemented by child classes to do the actual object destruction. More...
 

+Public Attributes

+LPUNKNOWN pUnkOuter = NULL
 
@@ -235,6 +203,15 @@ typedef T *  + + + + + + + + @@ -244,303 +221,27 @@ static const T * 

Additional Inherited Members

handle_typeinvalid
 Invalid handle value.
 
- Protected Member Functions inherited from winstd::dplhandle< T *, NULL >
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. More...
 
- 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.
 
- Protected Attributes inherited from winstd::handle< T *, INVAL >
handle_type m_h
invalid

Detailed Description

template<class T>
class winstd::com_obj< T >

COM object wrapper template.

-

Constructor & Destructor Documentation

- -

◆ com_obj() [1/3]

+

Member Function Documentation

+ +

◆ __declspec()

template<class T >
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - -
winstd::com_obj< T >::com_obj (REFCLSID rclsid,
LPUNKNOWN pUnkOuter = NULL,
DWORD dwClsContext = CLSCTX_ALL 
)
-
-inline
-
- -

Constructs a new object and creates a new class with it.

-
See also
CoCreateInstance function
- -
-
- -

◆ com_obj() [2/3]

- -
-
-
-template<class T >
-
-template<class _Other >
- - - - - -
- - - - - - - - -
winstd::com_obj< T >::com_obj (_Other * other)
-
-inline
-
- -

Queries the object for another interface and creates new class with it.

-
See also
IUnknown::QueryInterface method
- -
-
- -

◆ com_obj() [3/3]

- -
-
-
-template<class T >
-
-template<class _Other >
- - - - - -
- - - - - - - - -
winstd::com_obj< T >::com_obj (com_obj< _Other > & other)
-
-inline
-
- -

Queries the object for another interface and creates new class with it.

-
See also
IUnknown::QueryInterface method
- -
-
-

Member Function Documentation

- -

◆ create()

- -
-
-
-template<class T >
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
HRESULT winstd::com_obj< T >::create (REFCLSID rclsid,
LPUNKNOWN pUnkOuter = NULL,
DWORD dwClsContext = CLSCTX_ALL 
)
-
-inline
-
- -

Creates a new object.

-
See also
CoCreateInstance function
- -
-
- -

◆ duplicate_internal()

- -
-
-
-template<class T >
- - - - - -
- - - - - - - - -
handle_type winstd::com_obj< T >::duplicate_internal (handle_type h) const
-
-inlineoverrideprotectedvirtualnoexcept
-
- -

Duplicates the object by incrementing the reference counter.

-
See also
IUnknown::AddRef method
-
Parameters
- - -
[in]hObject handle of existing object
-
-
-
Returns
Duplicated object handle
- -

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

- -
-
- -

◆ free_internal()

- -
-
-
-template<class T >
- - - - - -
- - - + +
void winstd::com_obj< T >::free_internal winstd::com_obj< T >::__declspec (deprecated("Use CoCreateInstance")  )
-
-inlineoverrideprotectedvirtualnoexcept
-

Releases the object by decrementing reference counter.

-
See also
IUnknown::Release method
- -

Implements winstd::handle< T *, INVAL >.

- -
-
- -

◆ query_interface() [1/2]

- -
-
-
-template<class T >
-
-template<class _Other >
- - - - - -
- - - - - - - - -
HRESULT winstd::com_obj< T >::query_interface (_Other ** h) const
-
-inline
-
- -

Queries the object for another interface.

-
See also
IUnknown::QueryInterface method
- -
-
- -

◆ query_interface() [2/2]

- -
-
-
-template<class T >
-
-template<class _Other >
- - - - - -
- - - - - - - - -
HRESULT winstd::com_obj< T >::query_interface (com_obj< _Other > & h) const
-
-inline
-
- -

Queries the object for another interface.

-
See also
IUnknown::QueryInterface method
+

Constructs a new object and creates a new class with it.

+
See also
CoCreateInstance function
@@ -550,7 +251,7 @@ template<class _Other > diff --git a/classwinstd_1_1com__runtime__error-members.html b/classwinstd_1_1com__runtime__error-members.html index 5dd623a8..db89df43 100644 --- a/classwinstd_1_1com__runtime__error-members.html +++ b/classwinstd_1_1com__runtime__error-members.html @@ -83,7 +83,7 @@ $(function() {
diff --git a/classwinstd_1_1com__runtime__error.html b/classwinstd_1_1com__runtime__error.html index b391af8d..e5392046 100644 --- a/classwinstd_1_1com__runtime__error.html +++ b/classwinstd_1_1com__runtime__error.html @@ -221,7 +221,7 @@ typedef HRESULT error_type diff --git a/classwinstd_1_1console__ctrl__handler-members.html b/classwinstd_1_1console__ctrl__handler-members.html index 3ad1dd5b..f85435c5 100644 --- a/classwinstd_1_1console__ctrl__handler-members.html +++ b/classwinstd_1_1console__ctrl__handler-members.html @@ -80,7 +80,7 @@ $(function() { diff --git a/classwinstd_1_1console__ctrl__handler.html b/classwinstd_1_1console__ctrl__handler.html index 2b700ead..ca1ea86b 100644 --- a/classwinstd_1_1console__ctrl__handler.html +++ b/classwinstd_1_1console__ctrl__handler.html @@ -172,7 +172,7 @@ PHANDLER_ROUTINE m_handler diff --git a/classwinstd_1_1critical__section-members.html b/classwinstd_1_1critical__section-members.html index f45a2307..af8e465d 100644 --- a/classwinstd_1_1critical__section-members.html +++ b/classwinstd_1_1critical__section-members.html @@ -80,7 +80,7 @@ $(function() { diff --git a/classwinstd_1_1critical__section.html b/classwinstd_1_1critical__section.html index d237ad22..512246be 100644 --- a/classwinstd_1_1critical__section.html +++ b/classwinstd_1_1critical__section.html @@ -193,7 +193,7 @@ CRITICAL_SECTION m_data diff --git a/classwinstd_1_1crypt__hash-members.html b/classwinstd_1_1crypt__hash-members.html index 3ccc10c6..9a71b9c1 100644 --- a/classwinstd_1_1crypt__hash-members.html +++ b/classwinstd_1_1crypt__hash-members.html @@ -73,22 +73,24 @@ $(function() {

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

+ + - - - - - - - - - - - - - - + + + + + + + + + + + + + + @@ -110,7 +112,7 @@ $(function() {
__declspec(deprecated("Use CryptCreateHash")) bool create(HCRYPTPROV hProvwinstd::crypt_hash
Algid (defined in winstd::crypt_hash)winstd::crypt_hash
attach(handle_type h) noexceptwinstd::handle< HCRYPTHASH, INVAL >inline
attach_duplicated(handle_type h)winstd::dplhandle< HCRYPTHASH, NULL >inline
create(HCRYPTPROV hProv, ALG_ID Algid, HCRYPTKEY hKey=NULL, DWORD dwFlags=0) noexceptwinstd::crypt_hashinline
detach()winstd::handle< HCRYPTHASH, 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(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
free()winstd::handle< HCRYPTHASH, INVAL >inline
free_internal() noexcept overridewinstd::crypt_hashinlineprotectedvirtual
handle() noexceptwinstd::handle< HCRYPTHASH, INVAL >inline
handle(handle_type h) noexceptwinstd::handle< HCRYPTHASH, INVAL >inline
handle(handle< handle_type, INVAL > &&h) noexceptwinstd::handle< HCRYPTHASH, INVAL >inline
handle_type typedefwinstd::handle< HCRYPTHASH, INVAL >
detach()winstd::handle< HCRYPTHASH, 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(dplhandle< handle_type, INVAL > &&h) noexceptwinstd::dplhandle< HCRYPTHASH, NULL >inline
duplicate() constwinstd::dplhandle< HCRYPTHASH, NULL >inline
duplicate_internal(handle_type h) const noexcept=0winstd::dplhandle< HCRYPTHASH, NULL >protectedpure virtual
free()winstd::handle< HCRYPTHASH, INVAL >inline
free_internal() noexcept=0winstd::handle< HCRYPTHASH, INVAL >protectedpure virtual
handle() noexceptwinstd::handle< HCRYPTHASH, INVAL >inline
handle(handle_type h) noexceptwinstd::handle< HCRYPTHASH, INVAL >inline
handle(handle< handle_type, INVAL > &&h) noexceptwinstd::handle< HCRYPTHASH, INVAL >inline
handle_type typedefwinstd::handle< HCRYPTHASH, INVAL >
hKey (defined in winstd::crypt_hash)winstd::crypt_hash
invalidwinstd::handle< HCRYPTHASH, INVAL >static
m_hwinstd::handle< HCRYPTHASH, INVAL >protected
operator handle_type() constwinstd::handle< HCRYPTHASH, INVAL >inline
diff --git a/classwinstd_1_1crypt__hash.html b/classwinstd_1_1crypt__hash.html index a125f0a3..bf20e685 100644 --- a/classwinstd_1_1crypt__hash.html +++ b/classwinstd_1_1crypt__hash.html @@ -69,7 +69,7 @@ $(function() { @@ -95,9 +95,9 @@ Public Member Functions virtual ~crypt_hash ()  Destroys the hash context. More...
  -bool create (HCRYPTPROV hProv, ALG_ID Algid, HCRYPTKEY hKey=NULL, DWORD dwFlags=0) noexcept - Creates the hash context. More...
-  + __declspec (deprecated("Use CryptCreateHash")) bool create(HCRYPTPROV hProv + Creates the hash context. More...
- Public Member Functions inherited from winstd::dplhandle< HCRYPTHASH, NULL >  dplhandle () noexcept @@ -188,20 +188,14 @@ void free ()  Destroys the object.
  - - - - - - - - - - - - - + + + + +

-Protected Member Functions

void free_internal () noexcept override
 Destroys the hash context. More...
 
handle_type duplicate_internal (handle_type h) const noexcept override
 Duplicates the hash context. More...
 
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. More...
 
virtual void free_internal () noexcept=0
 Abstract member function that must be implemented by child classes to do the actual object destruction. More...
 

+Public Attributes

+ALG_ID Algid
 
+ALG_ID HCRYPTKEY hKey = NULL
 
@@ -215,6 +209,15 @@ typedef HCRYPTHASH  + + + + + + + + @@ -253,50 +256,20 @@ static const HCRYPTHASH  - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + @@ -200,6 +216,35 @@ void 

Additional Inherited Members

handle_ static const HCRYPTHASH invalid
 Invalid handle value.
 
- Protected Member Functions inherited from winstd::dplhandle< HCRYPTHASH, NULL >
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. More...
 
- Protected Member Functions inherited from winstd::handle< HCRYPTHASH, INVAL >
+virtual void free_internal () noexcept=0
 Abstract member function that must be implemented by child classes to do the actual object destruction.
 
- Protected Attributes inherited from winstd::handle< HCRYPTHASH, INVAL >
handle_type m_h
in

Member Function Documentation

- -

◆ create()

+ +

◆ __declspec()

- - - - - -
- + - - - - - + + - - - - - - - - - - - - - - - - - - -
bool winstd::crypt_hash::create winstd::crypt_hash::__declspec (HCRYPTPROV hProv,
deprecated("Use CryptCreateHash") ) ALG_ID Algid,
HCRYPTKEY hKey = NULL,
DWORD dwFlags = 0 
)
-
-inlinenoexcept

Creates the hash context.

@@ -307,74 +280,6 @@ static const HCRYPTHASH 
in
See also
CryptCreateHash function
- - - -

◆ duplicate_internal()

- -
-
- - - - - -
- - - - - - - - -
handle_type winstd::crypt_hash::duplicate_internal (handle_type h) const
-
-inlineoverrideprotectedvirtualnoexcept
-
- -

Duplicates the hash context.

-
Parameters
- - -
[in]hObject handle of existing hash context
-
-
-
Returns
Duplicated hash context handle
-
See also
CryptDuplicateHash function
- -

Implements winstd::dplhandle< HCRYPTHASH, NULL >.

- -
-
- -

◆ free_internal()

- -
-
- - - - - -
- - - - - - - -
void winstd::crypt_hash::free_internal ()
-
-inlineoverrideprotectedvirtualnoexcept
-
- -

Destroys the hash context.

-
See also
CryptDestroyHash function
- -

Implements winstd::handle< HCRYPTHASH, INVAL >.

-

The documentation for this class was generated from the following file:
    @@ -383,7 +288,7 @@ static const HCRYPTHASH 
in diff --git a/classwinstd_1_1crypt__key-members.html b/classwinstd_1_1crypt__key-members.html index 93818cad..ce8cf800 100644 --- a/classwinstd_1_1crypt__key-members.html +++ b/classwinstd_1_1crypt__key-members.html @@ -73,48 +73,63 @@ $(function() {

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

+ + + + + + - - - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
__declspec(deprecated("Use CryptGenKey")) bool generate(HCRYPTPROV hProvwinstd::crypt_key
__declspec(deprecated("Use CryptImportKey")) bool import(HCRYPTPROV hProvwinstd::crypt_key
__declspec(deprecated("Use CryptImportPublicKeyInfo")) bool import_public(HCRYPTPROV hCryptProvwinstd::crypt_key
__declspec(deprecated("Use CryptDeriveKey")) bool derive(HCRYPTPROV hProvwinstd::crypt_key
__in_bcount(dwDataLen) LPCBYTE pbData (defined in winstd::crypt_key)winstd::crypt_key
Algid (defined in winstd::crypt_key)winstd::crypt_key
attach(handle_type h) noexceptwinstd::handle< HCRYPTKEY, INVAL >inline
attach_duplicated(handle_type h)winstd::dplhandle< HCRYPTKEY, NULL >inline
create_exp1(HCRYPTPROV hProv, DWORD dwKeySpec)winstd::crypt_keyinline
derive(HCRYPTPROV hProv, ALG_ID Algid, HCRYPTHASH hBaseData, DWORD dwFlags) noexceptwinstd::crypt_keyinline
detach()winstd::handle< HCRYPTKEY, 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(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
detach()winstd::handle< HCRYPTKEY, 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(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
dwCertEncodingType (defined in winstd::crypt_key)winstd::crypt_key
dwDataLen (defined in winstd::crypt_key)winstd::crypt_key
false (defined in winstd::crypt_key)winstd::crypt_key
free()winstd::handle< HCRYPTKEY, INVAL >inline
free_internal() noexcept overridewinstd::crypt_keyinlineprotectedvirtual
generate(HCRYPTPROV hProv, ALG_ID Algid, DWORD dwFlags) noexceptwinstd::crypt_keyinline
handle() noexceptwinstd::handle< HCRYPTKEY, INVAL >inline
handle(handle_type h) noexceptwinstd::handle< HCRYPTKEY, INVAL >inline
handle(handle< handle_type, INVAL > &&h) noexceptwinstd::handle< HCRYPTKEY, INVAL >inline
handle_type typedefwinstd::handle< HCRYPTKEY, INVAL >
import(HCRYPTPROV hProv, __in_bcount(dwDataLen) LPCBYTE pbData, DWORD dwDataLen, HCRYPTKEY hPubKey, DWORD dwFlags) noexceptwinstd::crypt_keyinline
import_public(HCRYPTPROV hCryptProv, DWORD dwCertEncodingType, PCERT_PUBLIC_KEY_INFO pInfo) noexceptwinstd::crypt_keyinline
invalidwinstd::handle< HCRYPTKEY, INVAL >static
m_hwinstd::handle< HCRYPTKEY, INVAL >protected
operator handle_type() constwinstd::handle< HCRYPTKEY, INVAL >inline
operator!() constwinstd::handle< HCRYPTKEY, INVAL >inline
operator!=(handle_type h) constwinstd::handle< HCRYPTKEY, INVAL >inline
operator&()winstd::handle< HCRYPTKEY, INVAL >inline
operator*() constwinstd::handle< HCRYPTKEY, INVAL >inline
operator->() constwinstd::handle< HCRYPTKEY, INVAL >inline
operator<(handle_type h) constwinstd::handle< HCRYPTKEY, INVAL >inline
operator<=(handle_type h) constwinstd::handle< HCRYPTKEY, INVAL >inline
operator=(handle_type h) noexceptwinstd::dplhandle< HCRYPTKEY, NULL >inline
operator=(const dplhandle< handle_type, INVAL > &h) noexceptwinstd::dplhandle< HCRYPTKEY, NULL >inline
operator=(dplhandle< handle_type, INVAL > &&h) noexceptwinstd::dplhandle< HCRYPTKEY, NULL >inline
handle< HCRYPTKEY, INVAL >::operator=(handle< handle_type, INVAL > &&h) noexceptwinstd::handle< HCRYPTKEY, INVAL >inline
operator==(handle_type h) constwinstd::handle< HCRYPTKEY, INVAL >inline
operator>(handle_type h) constwinstd::handle< HCRYPTKEY, INVAL >inline
operator>=(handle_type h) constwinstd::handle< HCRYPTKEY, INVAL >inline
~crypt_key()winstd::crypt_keyinlinevirtual
handle() noexceptwinstd::handle< HCRYPTKEY, INVAL >inline
handle(handle_type h) noexceptwinstd::handle< HCRYPTKEY, INVAL >inline
handle(handle< handle_type, INVAL > &&h) noexceptwinstd::handle< HCRYPTKEY, INVAL >inline
handle_type typedefwinstd::handle< HCRYPTKEY, INVAL >
hBaseData (defined in winstd::crypt_key)winstd::crypt_key
hPubKey (defined in winstd::crypt_key)winstd::crypt_key
if(CryptGenKey(hProv, Algid, dwFlags, &h)) (defined in winstd::crypt_key)winstd::crypt_keyinline
if(CryptImportKey(hProv, pbData, dwDataLen, hPubKey, dwFlags, &h)) (defined in winstd::crypt_key)winstd::crypt_keyinline
if(CryptImportPublicKeyInfo(hCryptProv, dwCertEncodingType, pInfo, &h)) (defined in winstd::crypt_key)winstd::crypt_keyinline
if(CryptDeriveKey(hProv, Algid, hBaseData, dwFlags, &h)) (defined in winstd::crypt_key)winstd::crypt_keyinline
invalidwinstd::handle< HCRYPTKEY, INVAL >static
m_hwinstd::handle< HCRYPTKEY, INVAL >protected
noexcept (defined in winstd::crypt_key)winstd::crypt_key
noexcept (defined in winstd::crypt_key)winstd::crypt_key
noexcept (defined in winstd::crypt_key)winstd::crypt_key
noexcept (defined in winstd::crypt_key)winstd::crypt_key
operator handle_type() constwinstd::handle< HCRYPTKEY, INVAL >inline
operator!() constwinstd::handle< HCRYPTKEY, INVAL >inline
operator!=(handle_type h) constwinstd::handle< HCRYPTKEY, INVAL >inline
operator&()winstd::handle< HCRYPTKEY, INVAL >inline
operator*() constwinstd::handle< HCRYPTKEY, INVAL >inline
operator->() constwinstd::handle< HCRYPTKEY, INVAL >inline
operator<(handle_type h) constwinstd::handle< HCRYPTKEY, INVAL >inline
operator<=(handle_type h) constwinstd::handle< HCRYPTKEY, INVAL >inline
operator=(handle_type h) noexceptwinstd::dplhandle< HCRYPTKEY, NULL >inline
operator=(const dplhandle< handle_type, INVAL > &h) noexceptwinstd::dplhandle< HCRYPTKEY, NULL >inline
operator=(dplhandle< handle_type, INVAL > &&h) noexceptwinstd::dplhandle< HCRYPTKEY, NULL >inline
handle< HCRYPTKEY, INVAL >::operator=(handle< handle_type, INVAL > &&h) noexceptwinstd::handle< HCRYPTKEY, INVAL >inline
operator==(handle_type h) constwinstd::handle< HCRYPTKEY, INVAL >inline
operator>(handle_type h) constwinstd::handle< HCRYPTKEY, INVAL >inline
operator>=(handle_type h) constwinstd::handle< HCRYPTKEY, INVAL >inline
~crypt_key()winstd::crypt_keyinlinevirtual
diff --git a/classwinstd_1_1crypt__key.html b/classwinstd_1_1crypt__key.html index 51a91f84..27602688 100644 --- a/classwinstd_1_1crypt__key.html +++ b/classwinstd_1_1crypt__key.html @@ -69,6 +69,7 @@ $(function() {
winstd::crypt_key Class Reference
@@ -95,18 +96,33 @@ Public Member Functions
virtual ~crypt_key ()
 Destroys the key. More...
 
bool generate (HCRYPTPROV hProv, ALG_ID Algid, DWORD dwFlags) noexcept
 Generates the key. More...
 
bool import (HCRYPTPROV hProv, __in_bcount(dwDataLen) LPCBYTE pbData, DWORD dwDataLen, HCRYPTKEY hPubKey, DWORD dwFlags) noexcept
 Imports the key. More...
 
bool import_public (HCRYPTPROV hCryptProv, DWORD dwCertEncodingType, PCERT_PUBLIC_KEY_INFO pInfo) noexcept
 Imports the public key. More...
 
bool derive (HCRYPTPROV hProv, ALG_ID Algid, HCRYPTHASH hBaseData, DWORD dwFlags) noexcept
 Generates cryptographic session keys derived from a base data value. More...
 
 __declspec (deprecated("Use CryptGenKey")) bool generate(HCRYPTPROV hProv
 Generates the key. More...
 
if (CryptGenKey(hProv, Algid, dwFlags, &h))
 
 __declspec (deprecated("Use CryptImportKey")) bool import(HCRYPTPROV hProv
 Imports the key. More...
 
__in_bcount (dwDataLen) LPCBYTE pbData
 
if (CryptImportKey(hProv, pbData, dwDataLen, hPubKey, dwFlags, &h))
 
 __declspec (deprecated("Use CryptImportPublicKeyInfo")) bool import_public(HCRYPTPROV hCryptProv
 Imports the public key. More...
 
if (CryptImportPublicKeyInfo(hCryptProv, dwCertEncodingType, pInfo, &h))
 
 __declspec (deprecated("Use CryptDeriveKey")) bool derive(HCRYPTPROV hProv
 Generates cryptographic session keys derived from a base data value. More...
 
if (CryptDeriveKey(hProv, Algid, hBaseData, dwFlags, &h))
 
bool create_exp1 (HCRYPTPROV hProv, DWORD dwKeySpec)
 Creates Exponent-of-one key. More...
 
free ()
 Destroys the object.
 
+ + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

+ALG_ID Algid
 
ALG_ID DWORD dwFlags noexcept
 
+else return false
 
+DWORD dwDataLen
 
+DWORD HCRYPTKEY hPubKey
 
DWORD HCRYPTKEY DWORD dwFlags noexcept
 
+DWORD dwCertEncodingType
 
DWORD PCERT_PUBLIC_KEY_INFO pInfo noexcept
 
+ALG_ID HCRYPTHASH hBaseData
 
ALG_ID HCRYPTHASH DWORD dwFlags noexcept
 
@@ -265,6 +310,90 @@ static const HCRYPTKEY  - - - + + + @@ -158,14 +158,14 @@ void 

Protected Member Functions

void free_internal () noexcept override
inv

Member Function Documentation

+ +

◆ __declspec() [1/4]

+ +
+
+ + + + + + + + +
winstd::crypt_key::__declspec (deprecated("Use CryptDeriveKey") )
+
+ +

Generates cryptographic session keys derived from a base data value.

+
See also
CryptDeriveKey function
+ +
+
+ +

◆ __declspec() [2/4]

+ +
+
+ + + + + + + + +
winstd::crypt_key::__declspec (deprecated("Use CryptGenKey") )
+
+ +

Generates the key.

+
See also
CryptGenKey function
+ +
+
+ +

◆ __declspec() [3/4]

+ +
+
+ + + + + + + + +
winstd::crypt_key::__declspec (deprecated("Use CryptImportKey") )
+
+ +

Imports the key.

+
See also
CryptImportKey function
+ +
+
+ +

◆ __declspec() [4/4]

+ +
+
+ + + + + + + + +
winstd::crypt_key::__declspec (deprecated("Use CryptImportPublicKeyInfo") )
+
+ +

Imports the public key.

+
See also
CryptImportPublicKeyInfo function
+ +
+

◆ create_exp1()

@@ -309,57 +438,6 @@ static const HCRYPTKEY 
inv - - - -

◆ derive()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
bool winstd::crypt_key::derive (HCRYPTPROV hProv,
ALG_ID Algid,
HCRYPTHASH hBaseData,
DWORD dwFlags 
)
-
-inlinenoexcept
-
- -

Generates cryptographic session keys derived from a base data value.

-
See also
CryptDeriveKey function
-
@@ -430,151 +508,70 @@ static const HCRYPTKEY 
inv - -

◆ generate()

+

Member Data Documentation

+ +

◆ noexcept [1/4]

- - - - - -
- - - - - - - - - - - - - - - - - - - - - +
bool winstd::crypt_key::generate (HCRYPTPROV hProv,
ALG_ID Algid,
DWORD dwFlags 
)ALG_ID DWORD dwFlags winstd::crypt_key::noexcept
-
-inlinenoexcept
- -

Generates the key.

-
See also
CryptGenKey function
- +Initial value:
{
+ +
HCRYPTKEY handle_type
Datatype of the object handle this template class handles.
Definition: Common.h:608
+
- -

◆ import()

+ +

◆ noexcept [2/4]

- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
bool winstd::crypt_key::import (HCRYPTPROV hProv,
__in_bcount(dwDataLen) LPCBYTE pbData,
DWORD dwDataLen,
HCRYPTKEY hPubKey,
DWORD dwFlags 
)DWORD HCRYPTKEY DWORD dwFlags winstd::crypt_key::noexcept
-
-inlinenoexcept
- -

Imports the key.

-
See also
CryptImportKey function
- +Initial value:
{
+ +
- -

◆ import_public()

+ +

◆ noexcept [3/4]

- - - - - -
- - - - - - - - - - - - - - - - - - - - - +
bool winstd::crypt_key::import_public (HCRYPTPROV hCryptProv,
DWORD dwCertEncodingType,
PCERT_PUBLIC_KEY_INFO pInfo 
)DWORD PCERT_PUBLIC_KEY_INFO pInfo winstd::crypt_key::noexcept
-
-inlinenoexcept
+Initial value:
{
+ +
+
+
+ +

◆ noexcept [4/4]

-

Imports the public key.

-
See also
CryptImportPublicKeyInfo function
- +
+
+ + + + +
ALG_ID HCRYPTHASH DWORD dwFlags winstd::crypt_key::noexcept
+
+Initial value:
{
+ +

The documentation for this class was generated from the following file:
    @@ -583,7 +580,7 @@ static const HCRYPTKEY 
inv diff --git a/classwinstd_1_1crypt__prov-members.html b/classwinstd_1_1crypt__prov-members.html index f684b0a1..82c58228 100644 --- a/classwinstd_1_1crypt__prov-members.html +++ b/classwinstd_1_1crypt__prov-members.html @@ -73,35 +73,37 @@ $(function() {

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

- - + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + +
attach(handle_type h) noexceptwinstd::handle< HCRYPTPROV, NULL >inline
create(LPCTSTR szContainer, LPCTSTR szProvider, DWORD dwProvType, DWORD dwFlags=0) noexceptwinstd::crypt_provinline
__declspec(deprecated("Use CryptAcquireContext")) bool create(LPCTSTR szContainerwinstd::crypt_prov
attach(handle_type h) noexceptwinstd::handle< HCRYPTPROV, NULL >inline
detach()winstd::handle< HCRYPTPROV, NULL >inline
free()winstd::handle< HCRYPTPROV, NULL >inline
free_internal() noexcept overridewinstd::crypt_provinlineprotectedvirtual
handle() noexceptwinstd::handle< HCRYPTPROV, NULL >inline
handle(handle_type h) noexceptwinstd::handle< HCRYPTPROV, NULL >inline
handle(handle< handle_type, INVAL > &&h) noexceptwinstd::handle< HCRYPTPROV, NULL >inline
handle_type typedefwinstd::handle< HCRYPTPROV, NULL >
invalidwinstd::handle< HCRYPTPROV, NULL >static
m_hwinstd::handle< HCRYPTPROV, NULL >protected
operator handle_type() constwinstd::handle< HCRYPTPROV, NULL >inline
operator!() constwinstd::handle< HCRYPTPROV, NULL >inline
operator!=(handle_type h) constwinstd::handle< HCRYPTPROV, NULL >inline
operator&()winstd::handle< HCRYPTPROV, NULL >inline
operator*() constwinstd::handle< HCRYPTPROV, NULL >inline
operator->() constwinstd::handle< HCRYPTPROV, NULL >inline
operator<(handle_type h) constwinstd::handle< HCRYPTPROV, NULL >inline
operator<=(handle_type h) constwinstd::handle< HCRYPTPROV, NULL >inline
operator=(handle_type h) noexceptwinstd::handle< HCRYPTPROV, NULL >inline
operator=(handle< handle_type, INVAL > &&h) noexceptwinstd::handle< HCRYPTPROV, NULL >inline
operator==(handle_type h) constwinstd::handle< HCRYPTPROV, NULL >inline
operator>(handle_type h) constwinstd::handle< HCRYPTPROV, NULL >inline
operator>=(handle_type h) constwinstd::handle< HCRYPTPROV, NULL >inline
dwProvType (defined in winstd::crypt_prov)winstd::crypt_prov
free()winstd::handle< HCRYPTPROV, NULL >inline
free_internal() noexcept=0winstd::handle< HCRYPTPROV, NULL >protectedpure virtual
handle() noexceptwinstd::handle< HCRYPTPROV, NULL >inline
handle(handle_type h) noexceptwinstd::handle< HCRYPTPROV, NULL >inline
handle(handle< handle_type, INVAL > &&h) noexceptwinstd::handle< HCRYPTPROV, NULL >inline
handle_type typedefwinstd::handle< HCRYPTPROV, NULL >
invalidwinstd::handle< HCRYPTPROV, NULL >static
m_hwinstd::handle< HCRYPTPROV, NULL >protected
operator handle_type() constwinstd::handle< HCRYPTPROV, NULL >inline
operator!() constwinstd::handle< HCRYPTPROV, NULL >inline
operator!=(handle_type h) constwinstd::handle< HCRYPTPROV, NULL >inline
operator&()winstd::handle< HCRYPTPROV, NULL >inline
operator*() constwinstd::handle< HCRYPTPROV, NULL >inline
operator->() constwinstd::handle< HCRYPTPROV, NULL >inline
operator<(handle_type h) constwinstd::handle< HCRYPTPROV, NULL >inline
operator<=(handle_type h) constwinstd::handle< HCRYPTPROV, NULL >inline
operator=(handle_type h) noexceptwinstd::handle< HCRYPTPROV, NULL >inline
operator=(handle< handle_type, INVAL > &&h) noexceptwinstd::handle< HCRYPTPROV, NULL >inline
operator==(handle_type h) constwinstd::handle< HCRYPTPROV, NULL >inline
operator>(handle_type h) constwinstd::handle< HCRYPTPROV, NULL >inline
operator>=(handle_type h) constwinstd::handle< HCRYPTPROV, NULL >inline
szProvider (defined in winstd::crypt_prov)winstd::crypt_prov
~crypt_prov()winstd::crypt_provinlinevirtual
diff --git a/classwinstd_1_1crypt__prov.html b/classwinstd_1_1crypt__prov.html index ffc5e275..cdb714b8 100644 --- a/classwinstd_1_1crypt__prov.html +++ b/classwinstd_1_1crypt__prov.html @@ -69,7 +69,7 @@ $(function() { @@ -94,9 +94,9 @@ Public Member Functions
virtual ~crypt_prov ()
 Releases the cryptographic context. More...
 
bool create (LPCTSTR szContainer, LPCTSTR szProvider, DWORD dwProvType, DWORD dwFlags=0) noexcept
 Acquires the cryptographic context. More...
 
 __declspec (deprecated("Use CryptAcquireContext")) bool create(LPCTSTR szContainer
 Acquires the cryptographic context. More...
 
- Public Member Functions inherited from winstd::handle< HCRYPTPROV, NULL >
 handle () noexcept
free ()
 Destroys the object.
 
- - - - - - - + + + + +

-Protected Member Functions

void free_internal () noexcept override
 Releases the cryptographic context. More...
 
virtual void free_internal () noexcept=0
 Abstract member function that must be implemented by child classes to do the actual object destruction. More...
 

+Public Attributes

+LPCTSTR szProvider
 
+LPCTSTR DWORD dwProvType
 
@@ -179,6 +179,11 @@ typedef HCRYPTPROV  + + + + @@ -217,50 +222,20 @@ static const HCRYPTPROV 

Additional Inherited Members

handle_ static const HCRYPTPROV invalid
 Invalid handle value.
 
- Protected Member Functions inherited from winstd::handle< HCRYPTPROV, NULL >
+virtual void free_internal () noexcept=0
 Abstract member function that must be implemented by child classes to do the actual object destruction.
 
- Protected Attributes inherited from winstd::handle< HCRYPTPROV, NULL >
handle_type m_h
in

Member Function Documentation

- -

◆ create()

+ +

◆ __declspec()

- - - - - -
- + - - - - - + + - - - - - - - - - - - - - - - - - - -
bool winstd::crypt_prov::create winstd::crypt_prov::__declspec (LPCTSTR szContainer,
deprecated("Use CryptAcquireContext") ) LPCTSTR szProvider,
DWORD dwProvType,
DWORD dwFlags = 0 
)
-
-inlinenoexcept

Acquires the cryptographic context.

@@ -271,36 +246,6 @@ static const HCRYPTPROV 
in
See also
CryptAcquireContext function
- - - -

◆ free_internal()

- -
-
- - - - - -
- - - - - - - -
void winstd::crypt_prov::free_internal ()
-
-inlineoverrideprotectedvirtualnoexcept
-
- -

Releases the cryptographic context.

-
See also
CryptReleaseContext function
- -

Implements winstd::handle< HCRYPTPROV, NULL >.

-

The documentation for this class was generated from the following file:
    @@ -309,7 +254,7 @@ static const HCRYPTPROV 
in diff --git a/classwinstd_1_1data__blob-members.html b/classwinstd_1_1data__blob-members.html index 000c4640..2404baf2 100644 --- a/classwinstd_1_1data__blob-members.html +++ b/classwinstd_1_1data__blob-members.html @@ -86,7 +86,7 @@ $(function() {
diff --git a/classwinstd_1_1data__blob.html b/classwinstd_1_1data__blob.html index f21851aa..8cd5e086 100644 --- a/classwinstd_1_1data__blob.html +++ b/classwinstd_1_1data__blob.html @@ -136,7 +136,7 @@ BYTE * data () noexcep diff --git a/classwinstd_1_1dc-members.html b/classwinstd_1_1dc-members.html index 3f2fbe11..deacebbb 100644 --- a/classwinstd_1_1dc-members.html +++ b/classwinstd_1_1dc-members.html @@ -100,7 +100,7 @@ $(function() { diff --git a/classwinstd_1_1dc.html b/classwinstd_1_1dc.html index ba65eeca..6a0f6448 100644 --- a/classwinstd_1_1dc.html +++ b/classwinstd_1_1dc.html @@ -250,7 +250,7 @@ static const HDC invalid diff --git a/classwinstd_1_1dc__selector-members.html b/classwinstd_1_1dc__selector-members.html index 1ecd48a4..f7ce7486 100644 --- a/classwinstd_1_1dc__selector-members.html +++ b/classwinstd_1_1dc__selector-members.html @@ -81,7 +81,7 @@ $(function() { diff --git a/classwinstd_1_1dc__selector.html b/classwinstd_1_1dc__selector.html index 646baff1..32dfc58d 100644 --- a/classwinstd_1_1dc__selector.html +++ b/classwinstd_1_1dc__selector.html @@ -208,7 +208,7 @@ HGDIOBJ m_orig diff --git a/classwinstd_1_1dplhandle-members.html b/classwinstd_1_1dplhandle-members.html index 9a1ea3fe..d5e93677 100644 --- a/classwinstd_1_1dplhandle-members.html +++ b/classwinstd_1_1dplhandle-members.html @@ -108,7 +108,7 @@ $(function() { diff --git a/classwinstd_1_1dplhandle.html b/classwinstd_1_1dplhandle.html index 7edf7e38..72f09f14 100644 --- a/classwinstd_1_1dplhandle.html +++ b/classwinstd_1_1dplhandle.html @@ -427,7 +427,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::bstr, winstd::cert_context, winstd::crypt_key, and winstd::eap_packet.

@@ -545,7 +545,7 @@ template<class T , T INVAL> diff --git a/classwinstd_1_1eap__attr-members.html b/classwinstd_1_1eap__attr-members.html index a3d17745..3c01fe22 100644 --- a/classwinstd_1_1eap__attr-members.html +++ b/classwinstd_1_1eap__attr-members.html @@ -83,7 +83,7 @@ $(function() { diff --git a/classwinstd_1_1eap__attr.html b/classwinstd_1_1eap__attr.html index be7a3709..0613b6b3 100644 --- a/classwinstd_1_1eap__attr.html +++ b/classwinstd_1_1eap__attr.html @@ -173,7 +173,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 10aacf4b..f8839e70 100644 --- a/classwinstd_1_1eap__method__info__array-members.html +++ b/classwinstd_1_1eap__method__info__array-members.html @@ -80,7 +80,7 @@ $(function() { diff --git a/classwinstd_1_1eap__method__info__array.html b/classwinstd_1_1eap__method__info__array.html index 2dd9b2e3..6e9701db 100644 --- a/classwinstd_1_1eap__method__info__array.html +++ b/classwinstd_1_1eap__method__info__array.html @@ -180,7 +180,7 @@ Public Member Functions diff --git a/classwinstd_1_1eap__method__prop-members.html b/classwinstd_1_1eap__method__prop-members.html index 71240025..b642770c 100644 --- a/classwinstd_1_1eap__method__prop-members.html +++ b/classwinstd_1_1eap__method__prop-members.html @@ -79,7 +79,7 @@ $(function() { diff --git a/classwinstd_1_1eap__method__prop.html b/classwinstd_1_1eap__method__prop.html index d6cb4a06..7f439898 100644 --- a/classwinstd_1_1eap__method__prop.html +++ b/classwinstd_1_1eap__method__prop.html @@ -241,7 +241,7 @@ Public Member Functions diff --git a/classwinstd_1_1eap__packet-members.html b/classwinstd_1_1eap__packet-members.html index 1e52f9b4..fed674f9 100644 --- a/classwinstd_1_1eap__packet-members.html +++ b/classwinstd_1_1eap__packet-members.html @@ -111,7 +111,7 @@ $(function() { diff --git a/classwinstd_1_1eap__packet.html b/classwinstd_1_1eap__packet.html index 7eb89a85..5bf3b6ac 100644 --- a/classwinstd_1_1eap__packet.html +++ b/classwinstd_1_1eap__packet.html @@ -352,7 +352,7 @@ static const EapPacket * i diff --git a/classwinstd_1_1eap__runtime__error-members.html b/classwinstd_1_1eap__runtime__error-members.html index dd413513..eac34fde 100644 --- a/classwinstd_1_1eap__runtime__error-members.html +++ b/classwinstd_1_1eap__runtime__error-members.html @@ -102,7 +102,7 @@ $(function() { diff --git a/classwinstd_1_1eap__runtime__error.html b/classwinstd_1_1eap__runtime__error.html index c955beda..3652c625 100644 --- a/classwinstd_1_1eap__runtime__error.html +++ b/classwinstd_1_1eap__runtime__error.html @@ -298,7 +298,7 @@ typedef DWORD error_type diff --git a/classwinstd_1_1event-members.html b/classwinstd_1_1event-members.html index 9f7bccd8..e052fd28 100644 --- a/classwinstd_1_1event-members.html +++ b/classwinstd_1_1event-members.html @@ -73,36 +73,37 @@ $(function() {

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

- - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + +
attach(handle_type h) noexceptwinstd::handle< HANDLE, INVALID >inline
create(BOOL bManualReset, BOOL bInitialState, LPSECURITY_ATTRIBUTES lpEventAttributes=NULL, LPCTSTR lpName=NULL) noexceptwinstd::eventinline
detach()winstd::handle< HANDLE, INVALID >inline
free()winstd::handle< HANDLE, INVALID >inline
free_internal() noexcept overridewinstd::win_handle< NULL >inlineprotectedvirtual
handle() noexceptwinstd::handle< HANDLE, INVALID >inline
handle(handle_type h) noexceptwinstd::handle< HANDLE, INVALID >inline
handle(handle< handle_type, INVAL > &&h) noexceptwinstd::handle< HANDLE, INVALID >inline
handle_type typedefwinstd::handle< HANDLE, INVALID >
invalidwinstd::handle< HANDLE, INVALID >static
__declspec(deprecated("Use CreateEvent")) bool create(BOOL bManualResetwinstd::event
attach(handle_type h) noexceptwinstd::handle< HANDLE, INVALID >inline
bInitialState (defined in winstd::event)winstd::event
detach()winstd::handle< HANDLE, INVALID >inline
free()winstd::handle< HANDLE, INVALID >inline
free_internal() noexcept overridewinstd::win_handle< NULL >inlineprotectedvirtual
handle() noexceptwinstd::handle< HANDLE, INVALID >inline
handle(handle_type h) noexceptwinstd::handle< HANDLE, INVALID >inline
handle(handle< handle_type, INVAL > &&h) noexceptwinstd::handle< HANDLE, INVALID >inline
handle_type typedefwinstd::handle< HANDLE, INVALID >
invalidwinstd::handle< HANDLE, INVALID >static
lpEventAttributes (defined in winstd::event)winstd::event
m_hwinstd::handle< HANDLE, INVALID >protected
open(DWORD dwDesiredAccess, BOOL bInheritHandle, LPCTSTR lpName) noexceptwinstd::eventinline
operator handle_type() constwinstd::handle< HANDLE, INVALID >inline
operator!() constwinstd::handle< HANDLE, INVALID >inline
operator!=(handle_type h) constwinstd::handle< HANDLE, INVALID >inline
operator&()winstd::handle< HANDLE, INVALID >inline
operator*() constwinstd::handle< HANDLE, INVALID >inline
operator->() constwinstd::handle< HANDLE, INVALID >inline
operator<(handle_type h) constwinstd::handle< HANDLE, INVALID >inline
operator<=(handle_type h) constwinstd::handle< HANDLE, INVALID >inline
operator=(handle_type h) noexceptwinstd::handle< HANDLE, INVALID >inline
operator=(handle< handle_type, INVAL > &&h) noexceptwinstd::handle< HANDLE, INVALID >inline
operator==(handle_type h) constwinstd::handle< HANDLE, INVALID >inline
operator>(handle_type h) constwinstd::handle< HANDLE, INVALID >inline
operator>=(handle_type h) constwinstd::handle< HANDLE, INVALID >inline
~win_handle()winstd::win_handle< NULL >inlinevirtual
operator handle_type() constwinstd::handle< HANDLE, INVALID >inline
operator!() constwinstd::handle< HANDLE, INVALID >inline
operator!=(handle_type h) constwinstd::handle< HANDLE, INVALID >inline
operator&()winstd::handle< HANDLE, INVALID >inline
operator*() constwinstd::handle< HANDLE, INVALID >inline
operator->() constwinstd::handle< HANDLE, INVALID >inline
operator<(handle_type h) constwinstd::handle< HANDLE, INVALID >inline
operator<=(handle_type h) constwinstd::handle< HANDLE, INVALID >inline
operator=(handle_type h) noexceptwinstd::handle< HANDLE, INVALID >inline
operator=(handle< handle_type, INVAL > &&h) noexceptwinstd::handle< HANDLE, INVALID >inline
operator==(handle_type h) constwinstd::handle< HANDLE, INVALID >inline
operator>(handle_type h) constwinstd::handle< HANDLE, INVALID >inline
operator>=(handle_type h) constwinstd::handle< HANDLE, INVALID >inline
~win_handle()winstd::win_handle< NULL >inlinevirtual
diff --git a/classwinstd_1_1event.html b/classwinstd_1_1event.html index 0ec9dd50..49bef9be 100644 --- a/classwinstd_1_1event.html +++ b/classwinstd_1_1event.html @@ -69,6 +69,7 @@ $(function() { @@ -91,12 +92,9 @@ Inheritance diagram for winstd::event: - - - - - - + + + @@ -162,6 +160,15 @@ void 

Public Member Functions

bool create (BOOL bManualReset, BOOL bInitialState, LPSECURITY_ATTRIBUTES lpEventAttributes=NULL, LPCTSTR lpName=NULL) noexcept
 Creates or opens a named or unnamed event object. More...
 
bool open (DWORD dwDesiredAccess, BOOL bInheritHandle, LPCTSTR lpName) noexcept
 Opens an existing named event object. More...
 
 __declspec (deprecated("Use CreateEvent")) bool create(BOOL bManualReset
 Creates or opens a named or unnamed event object. More...
 
- Public Member Functions inherited from winstd::win_handle< NULL >
virtual ~win_handle ()
 Closes an open object handle. More...
free ()
 Destroys the object.
 
+ + + + + +

+Public Attributes

+BOOL bInitialState
 
+BOOL LPSECURITY_ATTRIBUTES lpEventAttributes = NULL
 
@@ -190,50 +197,20 @@ static const HANDLE 

Additional Inherited Members

- Public Types inherited from winstd::handle< HANDLE, INVALID >
invali

Detailed Description

Event handle wrapper.

Member Function Documentation

- -

◆ create()

+ +

◆ __declspec()

- - - - - -
- + - - - - - + + - - - - - - - - - - - - - - - - - - -
bool winstd::event::create winstd::event::__declspec (BOOL bManualReset,
deprecated("Use CreateEvent") ) BOOL bInitialState,
LPSECURITY_ATTRIBUTES lpEventAttributes = NULL,
LPCTSTR lpName = NULL 
)
-
-inlinenoexcept

Creates or opens a named or unnamed event object.

@@ -244,56 +221,6 @@ static const HANDLE 
invali - - - -

◆ open()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
bool winstd::event::open (DWORD dwDesiredAccess,
BOOL bInheritHandle,
LPCTSTR lpName 
)
-
-inlinenoexcept
-
- -

Opens an existing named event object.

-
See also
OpenEventW function
-
Returns
    -
  • true when succeeds;
  • -
  • false when fails. Use GetLastError() for failure reason.
  • -
-
-

The documentation for this class was generated from the following file:
    @@ -302,7 +229,7 @@ static const HANDLE 
invali diff --git a/classwinstd_1_1event__data-members.html b/classwinstd_1_1event__data-members.html index 3c4ee5dd..4f51cc44 100644 --- a/classwinstd_1_1event__data-members.html +++ b/classwinstd_1_1event__data-members.html @@ -88,7 +88,7 @@ $(function() {
diff --git a/classwinstd_1_1event__data.html b/classwinstd_1_1event__data.html index 5e2c1583..30bd1faf 100644 --- a/classwinstd_1_1event__data.html +++ b/classwinstd_1_1event__data.html @@ -533,7 +533,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 af48e974..e58f2d4c 100644 --- a/classwinstd_1_1event__fn__auto-members.html +++ b/classwinstd_1_1event__fn__auto-members.html @@ -85,7 +85,7 @@ $(function() { diff --git a/classwinstd_1_1event__fn__auto.html b/classwinstd_1_1event__fn__auto.html index fd76db89..86650ed6 100644 --- a/classwinstd_1_1event__fn__auto.html +++ b/classwinstd_1_1event__fn__auto.html @@ -131,7 +131,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 11f87aa1..597a9019 100644 --- a/classwinstd_1_1event__fn__auto__ret-members.html +++ b/classwinstd_1_1event__fn__auto__ret-members.html @@ -86,7 +86,7 @@ $(function() { diff --git a/classwinstd_1_1event__fn__auto__ret.html b/classwinstd_1_1event__fn__auto__ret.html index 10d9191e..fcba5b73 100644 --- a/classwinstd_1_1event__fn__auto__ret.html +++ b/classwinstd_1_1event__fn__auto__ret.html @@ -136,7 +136,7 @@ class winstd::event_fn_auto_ret< T >

Helper template to write an

diff --git a/classwinstd_1_1event__log-members.html b/classwinstd_1_1event__log-members.html index 945dc719..6efee160 100644 --- a/classwinstd_1_1event__log-members.html +++ b/classwinstd_1_1event__log-members.html @@ -73,35 +73,38 @@ $(function() {

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

- - + + + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + +
attach(handle_type h) noexceptwinstd::handle< HANDLE, NULL >inline
detach()winstd::handle< HANDLE, NULL >inline
__declspec(deprecated("Use RegisterEventSource")) bool open(LPCTSTR lpUNCServerNamewinstd::event_log
attach(handle_type h) noexceptwinstd::handle< HANDLE, NULL >inline
detach()winstd::handle< HANDLE, NULL >inline
false (defined in winstd::event_log)winstd::event_log
free()winstd::handle< HANDLE, NULL >inline
free_internal() noexcept overridewinstd::event_loginlineprotectedvirtual
handle() noexceptwinstd::handle< HANDLE, NULL >inline
handle(handle_type h) noexceptwinstd::handle< HANDLE, NULL >inline
handle(handle< handle_type, INVAL > &&h) noexceptwinstd::handle< HANDLE, NULL >inline
handle_type typedefwinstd::handle< HANDLE, NULL >
invalidwinstd::handle< HANDLE, NULL >static
m_hwinstd::handle< HANDLE, NULL >protected
open(LPCTSTR lpUNCServerName, LPCTSTR lpSourceName) noexceptwinstd::event_loginline
operator handle_type() constwinstd::handle< HANDLE, NULL >inline
operator!() constwinstd::handle< HANDLE, NULL >inline
operator!=(handle_type h) constwinstd::handle< HANDLE, NULL >inline
operator&()winstd::handle< HANDLE, NULL >inline
operator*() constwinstd::handle< HANDLE, NULL >inline
operator->() constwinstd::handle< HANDLE, NULL >inline
operator<(handle_type h) constwinstd::handle< HANDLE, NULL >inline
operator<=(handle_type h) constwinstd::handle< HANDLE, NULL >inline
operator=(handle_type h) noexceptwinstd::handle< HANDLE, NULL >inline
operator=(handle< handle_type, INVAL > &&h) noexceptwinstd::handle< HANDLE, NULL >inline
operator==(handle_type h) constwinstd::handle< HANDLE, NULL >inline
operator>(handle_type h) constwinstd::handle< HANDLE, NULL >inline
operator>=(handle_type h) constwinstd::handle< HANDLE, NULL >inline
~event_log()winstd::event_loginlinevirtual
if(h !=invalid) (defined in winstd::event_log)winstd::event_loginline
invalidwinstd::handle< HANDLE, NULL >static
m_hwinstd::handle< HANDLE, NULL >protected
noexcept (defined in winstd::event_log)winstd::event_log
operator handle_type() constwinstd::handle< HANDLE, NULL >inline
operator!() constwinstd::handle< HANDLE, NULL >inline
operator!=(handle_type h) constwinstd::handle< HANDLE, NULL >inline
operator&()winstd::handle< HANDLE, NULL >inline
operator*() constwinstd::handle< HANDLE, NULL >inline
operator->() constwinstd::handle< HANDLE, NULL >inline
operator<(handle_type h) constwinstd::handle< HANDLE, NULL >inline
operator<=(handle_type h) constwinstd::handle< HANDLE, NULL >inline
operator=(handle_type h) noexceptwinstd::handle< HANDLE, NULL >inline
operator=(handle< handle_type, INVAL > &&h) noexceptwinstd::handle< HANDLE, NULL >inline
operator==(handle_type h) constwinstd::handle< HANDLE, NULL >inline
operator>(handle_type h) constwinstd::handle< HANDLE, NULL >inline
operator>=(handle_type h) constwinstd::handle< HANDLE, NULL >inline
~event_log()winstd::event_loginlinevirtual
diff --git a/classwinstd_1_1event__log.html b/classwinstd_1_1event__log.html index 7985c463..f586afc9 100644 --- a/classwinstd_1_1event__log.html +++ b/classwinstd_1_1event__log.html @@ -69,6 +69,7 @@ $(function() {
winstd::event_log Class Reference
@@ -94,9 +95,12 @@ Public Member Functions virtual ~event_log ()  Closes an event log handle. More...
  -bool open (LPCTSTR lpUNCServerName, LPCTSTR lpSourceName) noexcept - Retrieves a registered handle to the specified event log. More...
-  + __declspec (deprecated("Use RegisterEventSource")) bool open(LPCTSTR lpUNCServerName + Retrieves a registered handle to the specified event log. More...
+  +if (h !=invalid) +  - Public Member Functions inherited from winstd::handle< HANDLE, NULL >  handle () noexcept @@ -158,6 +162,14 @@ void free ()  Destroys the object.
  + + + + + +

+Public Attributes

LPCTSTR lpSourceName noexcept
 
+else return false
 
@@ -217,6 +229,32 @@ static const HANDLE 

Protected Member Functions

void free_internal () noexcept override
invali

Member Function Documentation

+ +

◆ __declspec()

+ +
+
+ + + + + + + + +
winstd::event_log::__declspec (deprecated("Use RegisterEventSource") )
+
+ +

Retrieves a registered handle to the specified event log.

+
See also
RegisterEventSource function
+
Returns
    +
  • true when succeeds;
  • +
  • false when fails. Use GetLastError() for failure reason.
  • +
+
+ +
+

◆ free_internal()

@@ -247,48 +285,22 @@ static const HANDLE 
invali - -

◆ open()

+

Member Data Documentation

+ +

◆ noexcept

- - - - - -
- - - - - - - - - - - - - - - +
bool winstd::event_log::open (LPCTSTR lpUNCServerName,
LPCTSTR lpSourceName 
)LPCTSTR lpSourceName winstd::event_log::noexcept
-
-inlinenoexcept
- -

Retrieves a registered handle to the specified event log.

-
See also
RegisterEventSource function
-
Returns
    -
  • true when succeeds;
  • -
  • false when fails. Use GetLastError() for failure reason.
  • -
-
- +Initial value:
{
+
handle_type h = RegisterEventSource(lpUNCServerName, lpSourceName)
+
HANDLE handle_type
Datatype of the object handle this template class handles.
Definition: Common.h:608
+

The documentation for this class was generated from the following file:
    @@ -297,7 +309,7 @@ static const HANDLE 
invali diff --git a/classwinstd_1_1event__provider-members.html b/classwinstd_1_1event__provider-members.html index 9b172cbd..a083245e 100644 --- a/classwinstd_1_1event__provider-members.html +++ b/classwinstd_1_1event__provider-members.html @@ -108,7 +108,7 @@ $(function() {
diff --git a/classwinstd_1_1event__provider.html b/classwinstd_1_1event__provider.html index 9392ab2f..9fdef4d0 100644 --- a/classwinstd_1_1event__provider.html +++ b/classwinstd_1_1event__provider.html @@ -680,7 +680,7 @@ static const REGHANDLE inv diff --git a/classwinstd_1_1event__rec-members.html b/classwinstd_1_1event__rec-members.html index d4519b79..49c7a5af 100644 --- a/classwinstd_1_1event__rec-members.html +++ b/classwinstd_1_1event__rec-members.html @@ -88,7 +88,7 @@ $(function() { diff --git a/classwinstd_1_1event__rec.html b/classwinstd_1_1event__rec.html index e79c0242..24ae2106 100644 --- a/classwinstd_1_1event__rec.html +++ b/classwinstd_1_1event__rec.html @@ -524,7 +524,7 @@ Protected Member Functions diff --git a/classwinstd_1_1event__session-members.html b/classwinstd_1_1event__session-members.html index 8bbc18bf..670ecaf6 100644 --- a/classwinstd_1_1event__session-members.html +++ b/classwinstd_1_1event__session-members.html @@ -111,7 +111,7 @@ $(function() { diff --git a/classwinstd_1_1event__session.html b/classwinstd_1_1event__session.html index 24d10054..36a22168 100644 --- a/classwinstd_1_1event__session.html +++ b/classwinstd_1_1event__session.html @@ -684,7 +684,7 @@ static const TRACEHANDLE i diff --git a/classwinstd_1_1event__trace-members.html b/classwinstd_1_1event__trace-members.html index 98f199a3..c1dc4cbd 100644 --- a/classwinstd_1_1event__trace-members.html +++ b/classwinstd_1_1event__trace-members.html @@ -73,8 +73,8 @@ $(function() {

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

- - + + @@ -101,7 +101,7 @@ $(function() {
attach(handle_type h) noexceptwinstd::handle< TRACEHANDLE, INVALID_PROCESSTRACE_HANDLE >inline
create(PEVENT_TRACE_LOGFILE Logfile)winstd::event_traceinline
__declspec(deprecated("Use OpenTrace")) bool create(PEVENT_TRACE_LOGFILE Logfile)winstd::event_traceinline
attach(handle_type h) noexceptwinstd::handle< TRACEHANDLE, INVALID_PROCESSTRACE_HANDLE >inline
detach()winstd::handle< TRACEHANDLE, INVALID_PROCESSTRACE_HANDLE >inline
free()winstd::handle< TRACEHANDLE, INVALID_PROCESSTRACE_HANDLE >inline
free_internal() noexcept overridewinstd::event_traceinlineprotectedvirtual
diff --git a/classwinstd_1_1event__trace.html b/classwinstd_1_1event__trace.html index 5aee9707..e3c4827a 100644 --- a/classwinstd_1_1event__trace.html +++ b/classwinstd_1_1event__trace.html @@ -94,9 +94,9 @@ Public Member Functions virtual ~event_trace ()  Closes the trace. More...
  -bool create (PEVENT_TRACE_LOGFILE Logfile) - Opens a real-time trace session or log file for consuming. More...
-  + __declspec (deprecated("Use OpenTrace")) bool create(PEVENT_TRACE_LOGFILE Logfile) + Opens a real-time trace session or log file for consuming. More...
- Public Member Functions inherited from winstd::handle< TRACEHANDLE, INVALID_PROCESSTRACE_HANDLE >  handle () noexcept @@ -217,8 +217,8 @@ static const TRACEHANDLE i

Member Function Documentation

- -

◆ create()

+ +

◆ __declspec()

@@ -227,10 +227,10 @@ static const TRACEHANDLE i - + - - + +
bool winstd::event_trace::create winstd::event_trace::__declspec (PEVENT_TRACE_LOGFILE Logfile)deprecated("Use OpenTrace") )
@@ -287,7 +287,7 @@ static const TRACEHANDLE i
diff --git a/classwinstd_1_1event__trace__enabler-members.html b/classwinstd_1_1event__trace__enabler-members.html index 644e2eb7..9d409e3d 100644 --- a/classwinstd_1_1event__trace__enabler-members.html +++ b/classwinstd_1_1event__trace__enabler-members.html @@ -89,7 +89,7 @@ $(function() {
diff --git a/classwinstd_1_1event__trace__enabler.html b/classwinstd_1_1event__trace__enabler.html index e4bcc7c0..5aa94ee8 100644 --- a/classwinstd_1_1event__trace__enabler.html +++ b/classwinstd_1_1event__trace__enabler.html @@ -344,7 +344,7 @@ PEVENT_FILTER_DESCRIPTOR m diff --git a/classwinstd_1_1file-members.html b/classwinstd_1_1file-members.html index d155fe7e..e50a380c 100644 --- a/classwinstd_1_1file-members.html +++ b/classwinstd_1_1file-members.html @@ -73,9 +73,13 @@ $(function() {

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

- - + + + + + + @@ -83,25 +87,26 @@ $(function() { - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + +
attach(handle_type h) noexceptwinstd::handle< HANDLE, INVALID >inline
create(LPCTSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes=FILE_ATTRIBUTE_NORMAL, LPSECURITY_ATTRIBUTES lpSecurityAttributes=NULL, HANDLE hTemplateFile=NULL) noexceptwinstd::fileinline
__declspec(deprecated("Use CreateFile")) bool create(LPCTSTR lpFileNamewinstd::file
attach(handle_type h) noexceptwinstd::handle< HANDLE, INVALID >inline
detach()winstd::handle< HANDLE, INVALID >inline
dwCreationDisposition (defined in winstd::file)winstd::file
dwDesiredAccess (defined in winstd::file)winstd::file
dwFlagsAndAttributes (defined in winstd::file)winstd::file
dwShareMode (defined in winstd::file)winstd::file
free()winstd::handle< HANDLE, INVALID >inline
free_internal() noexcept overridewinstd::win_handle< INVALID_HANDLE_VALUE >inlineprotectedvirtual
handle() noexceptwinstd::handle< HANDLE, INVALID >inline
handle(handle< handle_type, INVAL > &&h) noexceptwinstd::handle< HANDLE, INVALID >inline
handle_type typedefwinstd::handle< HANDLE, INVALID >
invalidwinstd::handle< HANDLE, INVALID >static
m_hwinstd::handle< HANDLE, INVALID >protected
operator handle_type() constwinstd::handle< HANDLE, INVALID >inline
operator!() constwinstd::handle< HANDLE, INVALID >inline
operator!=(handle_type h) constwinstd::handle< HANDLE, INVALID >inline
operator&()winstd::handle< HANDLE, INVALID >inline
operator*() constwinstd::handle< HANDLE, INVALID >inline
operator->() constwinstd::handle< HANDLE, INVALID >inline
operator<(handle_type h) constwinstd::handle< HANDLE, INVALID >inline
operator<=(handle_type h) constwinstd::handle< HANDLE, INVALID >inline
operator=(handle_type h) noexceptwinstd::handle< HANDLE, INVALID >inline
operator=(handle< handle_type, INVAL > &&h) noexceptwinstd::handle< HANDLE, INVALID >inline
operator==(handle_type h) constwinstd::handle< HANDLE, INVALID >inline
operator>(handle_type h) constwinstd::handle< HANDLE, INVALID >inline
operator>=(handle_type h) constwinstd::handle< HANDLE, INVALID >inline
~win_handle()winstd::win_handle< INVALID_HANDLE_VALUE >inlinevirtual
lpSecurityAttributes (defined in winstd::file)winstd::file
m_hwinstd::handle< HANDLE, INVALID >protected
operator handle_type() constwinstd::handle< HANDLE, INVALID >inline
operator!() constwinstd::handle< HANDLE, INVALID >inline
operator!=(handle_type h) constwinstd::handle< HANDLE, INVALID >inline
operator&()winstd::handle< HANDLE, INVALID >inline
operator*() constwinstd::handle< HANDLE, INVALID >inline
operator->() constwinstd::handle< HANDLE, INVALID >inline
operator<(handle_type h) constwinstd::handle< HANDLE, INVALID >inline
operator<=(handle_type h) constwinstd::handle< HANDLE, INVALID >inline
operator=(handle_type h) noexceptwinstd::handle< HANDLE, INVALID >inline
operator=(handle< handle_type, INVAL > &&h) noexceptwinstd::handle< HANDLE, INVALID >inline
operator==(handle_type h) constwinstd::handle< HANDLE, INVALID >inline
operator>(handle_type h) constwinstd::handle< HANDLE, INVALID >inline
operator>=(handle_type h) constwinstd::handle< HANDLE, INVALID >inline
~win_handle()winstd::win_handle< INVALID_HANDLE_VALUE >inlinevirtual
diff --git a/classwinstd_1_1file.html b/classwinstd_1_1file.html index f9587ff6..eb63ad6c 100644 --- a/classwinstd_1_1file.html +++ b/classwinstd_1_1file.html @@ -69,6 +69,7 @@ $(function() { @@ -91,9 +92,9 @@ Inheritance diagram for winstd::file: - - - + + + @@ -159,6 +160,24 @@ void 

Public Member Functions

bool create (LPCTSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes=FILE_ATTRIBUTE_NORMAL, LPSECURITY_ATTRIBUTES lpSecurityAttributes=NULL, HANDLE hTemplateFile=NULL) noexcept
 Opens file handle. More...
 
 __declspec (deprecated("Use CreateFile")) bool create(LPCTSTR lpFileName
 Opens file handle. More...
 
- Public Member Functions inherited from winstd::win_handle< INVALID_HANDLE_VALUE >
virtual ~win_handle ()
 Closes an open object handle. More...
free ()
 Destroys the object.
 
+ + + + + + + + + + + +

+Public Attributes

+DWORD dwDesiredAccess
 
+DWORD DWORD dwShareMode
 
+DWORD DWORD DWORD dwCreationDisposition
 
+DWORD DWORD DWORD DWORD dwFlagsAndAttributes = FILE_ATTRIBUTE_NORMAL
 
+DWORD DWORD DWORD DWORD LPSECURITY_ATTRIBUTES lpSecurityAttributes = NULL
 
@@ -187,68 +206,20 @@ static const HANDLE 

Additional Inherited Members

- Public Types inherited from winstd::handle< HANDLE, INVALID >
invali

Detailed Description

File handle wrapper.

Member Function Documentation

- -

◆ create()

+ +

◆ __declspec()

- - - - - -
- + - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
bool winstd::file::create winstd::file::__declspec (LPCTSTR lpFileName,
deprecated("Use CreateFile") ) DWORD dwDesiredAccess,
DWORD dwShareMode,
DWORD dwCreationDisposition,
DWORD dwFlagsAndAttributes = FILE_ATTRIBUTE_NORMAL,
LPSECURITY_ATTRIBUTES lpSecurityAttributes = NULL,
HANDLE hTemplateFile = NULL 
)
-
-inlinenoexcept

Opens file handle.

@@ -267,7 +238,7 @@ static const HANDLE 
invali diff --git a/classwinstd_1_1file__mapping-members.html b/classwinstd_1_1file__mapping-members.html index cb623930..736b249b 100644 --- a/classwinstd_1_1file__mapping-members.html +++ b/classwinstd_1_1file__mapping-members.html @@ -73,16 +73,20 @@ $(function() {

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

- - + + - - - - - - - + + + + + + + + + + + @@ -101,7 +105,7 @@ $(function() {
attach(handle_type h) noexceptwinstd::handle< HANDLE, INVALID >inline
create(HANDLE hFile, DWORD flProtect, DWORD dwMaximumSizeHigh, DWORD dwMaximumSizeLow, LPSECURITY_ATTRIBUTES lpFileMappingAttributes=NULL, LPCTSTR lpName=NULL) noexceptwinstd::file_mappinginline
__declspec(deprecated("Use CreateFileMapping")) bool create(HANDLE hFilewinstd::file_mapping
attach(handle_type h) noexceptwinstd::handle< HANDLE, INVALID >inline
detach()winstd::handle< HANDLE, INVALID >inline
free()winstd::handle< HANDLE, INVALID >inline
free_internal() noexcept overridewinstd::win_handle< NULL >inlineprotectedvirtual
handle() noexceptwinstd::handle< HANDLE, INVALID >inline
handle(handle_type h) noexceptwinstd::handle< HANDLE, INVALID >inline
handle(handle< handle_type, INVAL > &&h) noexceptwinstd::handle< HANDLE, INVALID >inline
handle_type typedefwinstd::handle< HANDLE, INVALID >
invalidwinstd::handle< HANDLE, INVALID >static
dwMaximumSizeHigh (defined in winstd::file_mapping)winstd::file_mapping
dwMaximumSizeLow (defined in winstd::file_mapping)winstd::file_mapping
flProtect (defined in winstd::file_mapping)winstd::file_mapping
free()winstd::handle< HANDLE, INVALID >inline
free_internal() noexcept overridewinstd::win_handle< NULL >inlineprotectedvirtual
handle() noexceptwinstd::handle< HANDLE, INVALID >inline
handle(handle_type h) noexceptwinstd::handle< HANDLE, INVALID >inline
handle(handle< handle_type, INVAL > &&h) noexceptwinstd::handle< HANDLE, INVALID >inline
handle_type typedefwinstd::handle< HANDLE, INVALID >
invalidwinstd::handle< HANDLE, INVALID >static
lpFileMappingAttributes (defined in winstd::file_mapping)winstd::file_mapping
m_hwinstd::handle< HANDLE, INVALID >protected
operator handle_type() constwinstd::handle< HANDLE, INVALID >inline
operator!() constwinstd::handle< HANDLE, INVALID >inline
diff --git a/classwinstd_1_1file__mapping.html b/classwinstd_1_1file__mapping.html index 1ca76e77..346a3134 100644 --- a/classwinstd_1_1file__mapping.html +++ b/classwinstd_1_1file__mapping.html @@ -69,6 +69,7 @@ $(function() { @@ -91,9 +92,9 @@ Inheritance diagram for winstd::file_mapping: - - - + + + @@ -159,6 +160,21 @@ void 

Public Member Functions

bool create (HANDLE hFile, DWORD flProtect, DWORD dwMaximumSizeHigh, DWORD dwMaximumSizeLow, LPSECURITY_ATTRIBUTES lpFileMappingAttributes=NULL, LPCTSTR lpName=NULL) noexcept
 Creates or opens a named or unnamed file mapping object for a specified file. More...
 
 __declspec (deprecated("Use CreateFileMapping")) bool create(HANDLE hFile
 Creates or opens a named or unnamed file mapping object for a specified file. More...
 
- Public Member Functions inherited from winstd::win_handle< NULL >
virtual ~win_handle ()
 Closes an open object handle. More...
free ()
 Destroys the object.
 
+ + + + + + + + + +

+Public Attributes

+DWORD flProtect
 
+DWORD DWORD dwMaximumSizeHigh
 
+DWORD DWORD DWORD dwMaximumSizeLow
 
+DWORD DWORD DWORD LPSECURITY_ATTRIBUTES lpFileMappingAttributes = NULL
 
@@ -187,62 +203,20 @@ static const HANDLE  - - - + + + + + @@ -158,6 +162,14 @@ void 

Additional Inherited Members

- Public Types inherited from winstd::handle< HANDLE, INVALID >
invali

Detailed Description

File mapping.

Member Function Documentation

- -

◆ create()

+ +

◆ __declspec()

- - - - - -
- + - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
bool winstd::file_mapping::create winstd::file_mapping::__declspec (HANDLE hFile,
deprecated("Use CreateFileMapping") ) DWORD flProtect,
DWORD dwMaximumSizeHigh,
DWORD dwMaximumSizeLow,
LPSECURITY_ATTRIBUTES lpFileMappingAttributes = NULL,
LPCTSTR lpName = NULL 
)
-
-inlinenoexcept

Creates or opens a named or unnamed file mapping object for a specified file.

@@ -261,7 +235,7 @@ static const HANDLE 
invali diff --git a/classwinstd_1_1find__file-members.html b/classwinstd_1_1find__file-members.html index 5b85f851..781807a7 100644 --- a/classwinstd_1_1find__file-members.html +++ b/classwinstd_1_1find__file-members.html @@ -73,35 +73,38 @@ $(function() {

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

- - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + +
attach(handle_type h) noexceptwinstd::handle< HANDLE, INVALID_HANDLE_VALUE >inline
detach()winstd::handle< HANDLE, INVALID_HANDLE_VALUE >inline
find(LPCTSTR lpFileName, LPWIN32_FIND_DATA lpFindFileData) noexceptwinstd::find_fileinline
free()winstd::handle< HANDLE, INVALID_HANDLE_VALUE >inline
free_internal() noexcept overridewinstd::find_fileinlineprotectedvirtual
handle() noexceptwinstd::handle< HANDLE, INVALID_HANDLE_VALUE >inline
handle(handle_type h) noexceptwinstd::handle< HANDLE, INVALID_HANDLE_VALUE >inline
handle(handle< handle_type, INVAL > &&h) noexceptwinstd::handle< HANDLE, INVALID_HANDLE_VALUE >inline
handle_type typedefwinstd::handle< HANDLE, INVALID_HANDLE_VALUE >
__declspec(deprecated("Use FindFirstFile")) bool find(LPCTSTR lpFileNamewinstd::find_file
attach(handle_type h) noexceptwinstd::handle< HANDLE, INVALID_HANDLE_VALUE >inline
detach()winstd::handle< HANDLE, INVALID_HANDLE_VALUE >inline
false (defined in winstd::find_file)winstd::find_file
free()winstd::handle< HANDLE, INVALID_HANDLE_VALUE >inline
free_internal() noexcept overridewinstd::find_fileinlineprotectedvirtual
handle() noexceptwinstd::handle< HANDLE, INVALID_HANDLE_VALUE >inline
handle(handle_type h) noexceptwinstd::handle< HANDLE, INVALID_HANDLE_VALUE >inline
handle(handle< handle_type, INVAL > &&h) noexceptwinstd::handle< HANDLE, INVALID_HANDLE_VALUE >inline
handle_type typedefwinstd::handle< HANDLE, INVALID_HANDLE_VALUE >
if(h !=invalid) (defined in winstd::find_file)winstd::find_fileinline
invalidwinstd::handle< HANDLE, INVALID_HANDLE_VALUE >static
m_hwinstd::handle< HANDLE, INVALID_HANDLE_VALUE >protected
operator handle_type() constwinstd::handle< HANDLE, INVALID_HANDLE_VALUE >inline
operator!() constwinstd::handle< HANDLE, INVALID_HANDLE_VALUE >inline
operator!=(handle_type h) constwinstd::handle< HANDLE, INVALID_HANDLE_VALUE >inline
operator&()winstd::handle< HANDLE, INVALID_HANDLE_VALUE >inline
operator*() constwinstd::handle< HANDLE, INVALID_HANDLE_VALUE >inline
operator->() constwinstd::handle< HANDLE, INVALID_HANDLE_VALUE >inline
operator<(handle_type h) constwinstd::handle< HANDLE, INVALID_HANDLE_VALUE >inline
operator<=(handle_type h) constwinstd::handle< HANDLE, INVALID_HANDLE_VALUE >inline
operator=(handle_type h) noexceptwinstd::handle< HANDLE, INVALID_HANDLE_VALUE >inline
operator=(handle< handle_type, INVAL > &&h) noexceptwinstd::handle< HANDLE, INVALID_HANDLE_VALUE >inline
operator==(handle_type h) constwinstd::handle< HANDLE, INVALID_HANDLE_VALUE >inline
operator>(handle_type h) constwinstd::handle< HANDLE, INVALID_HANDLE_VALUE >inline
operator>=(handle_type h) constwinstd::handle< HANDLE, INVALID_HANDLE_VALUE >inline
~find_file()winstd::find_fileinlinevirtual
noexcept (defined in winstd::find_file)winstd::find_file
operator handle_type() constwinstd::handle< HANDLE, INVALID_HANDLE_VALUE >inline
operator!() constwinstd::handle< HANDLE, INVALID_HANDLE_VALUE >inline
operator!=(handle_type h) constwinstd::handle< HANDLE, INVALID_HANDLE_VALUE >inline
operator&()winstd::handle< HANDLE, INVALID_HANDLE_VALUE >inline
operator*() constwinstd::handle< HANDLE, INVALID_HANDLE_VALUE >inline
operator->() constwinstd::handle< HANDLE, INVALID_HANDLE_VALUE >inline
operator<(handle_type h) constwinstd::handle< HANDLE, INVALID_HANDLE_VALUE >inline
operator<=(handle_type h) constwinstd::handle< HANDLE, INVALID_HANDLE_VALUE >inline
operator=(handle_type h) noexceptwinstd::handle< HANDLE, INVALID_HANDLE_VALUE >inline
operator=(handle< handle_type, INVAL > &&h) noexceptwinstd::handle< HANDLE, INVALID_HANDLE_VALUE >inline
operator==(handle_type h) constwinstd::handle< HANDLE, INVALID_HANDLE_VALUE >inline
operator>(handle_type h) constwinstd::handle< HANDLE, INVALID_HANDLE_VALUE >inline
operator>=(handle_type h) constwinstd::handle< HANDLE, INVALID_HANDLE_VALUE >inline
~find_file()winstd::find_fileinlinevirtual
diff --git a/classwinstd_1_1find__file.html b/classwinstd_1_1find__file.html index 08a9b072..5c406337 100644 --- a/classwinstd_1_1find__file.html +++ b/classwinstd_1_1find__file.html @@ -69,6 +69,7 @@ $(function() {
winstd::find_file Class Reference
@@ -94,9 +95,12 @@ Public Member Functions
virtual ~find_file ()
 Closes a file search handle. More...
 
bool find (LPCTSTR lpFileName, LPWIN32_FIND_DATA lpFindFileData) noexcept
 Searches a directory for a file or subdirectory with a name that matches a specific name (or partial name if wildcards are used). More...
 
 __declspec (deprecated("Use FindFirstFile")) bool find(LPCTSTR lpFileName
 Searches a directory for a file or subdirectory with a name that matches a specific name (or partial name if wildcards are used). More...
 
if (h !=invalid)
 
- Public Member Functions inherited from winstd::handle< HANDLE, INVALID_HANDLE_VALUE >
 handle () noexcept
free ()
 Destroys the object.
 
+ + + + + +

+Public Attributes

LPWIN32_FIND_DATA lpFindFileData noexcept
 
+else return false
 
@@ -217,38 +229,20 @@ static const HANDLE 

Protected Member Functions

void free_internal () noexcept override
invali

Member Function Documentation

- -

◆ find()

+ +

◆ __declspec()

- - - - - -
- + - - - - - + + - - - - - - -
bool winstd::find_file::find winstd::find_file::__declspec (LPCTSTR lpFileName,
deprecated("Use FindFirstFile") ) LPWIN32_FIND_DATA lpFindFileData 
)
-
-inlinenoexcept

Searches a directory for a file or subdirectory with a name that matches a specific name (or partial name if wildcards are used).

@@ -289,6 +283,24 @@ static const HANDLE 
invali

Implements winstd::handle< HANDLE, INVALID_HANDLE_VALUE >.

+ + +

Member Data Documentation

+ +

◆ noexcept

+ +
+
+ + + + +
LPWIN32_FIND_DATA lpFindFileData winstd::find_file::noexcept
+
+Initial value:
{
+
handle_type h = FindFirstFile(lpFileName, lpFindFileData)
+
HANDLE handle_type
Datatype of the object handle this template class handles.
Definition: Common.h:608
+

The documentation for this class was generated from the following file:
    @@ -297,7 +309,7 @@ static const HANDLE 
invali diff --git a/classwinstd_1_1gdi__handle-members.html b/classwinstd_1_1gdi__handle-members.html index 3c752bfb..43663656 100644 --- a/classwinstd_1_1gdi__handle-members.html +++ b/classwinstd_1_1gdi__handle-members.html @@ -100,7 +100,7 @@ $(function() {
diff --git a/classwinstd_1_1gdi__handle.html b/classwinstd_1_1gdi__handle.html index 9e1e419c..bcd0bb0a 100644 --- a/classwinstd_1_1gdi__handle.html +++ b/classwinstd_1_1gdi__handle.html @@ -255,7 +255,7 @@ template<class T > diff --git a/classwinstd_1_1handle-members.html b/classwinstd_1_1handle-members.html index 6f412896..6f5bd8e1 100644 --- a/classwinstd_1_1handle-members.html +++ b/classwinstd_1_1handle-members.html @@ -99,7 +99,7 @@ $(function() {
diff --git a/classwinstd_1_1handle.html b/classwinstd_1_1handle.html index c8345234..2c0bb9f5 100644 --- a/classwinstd_1_1handle.html +++ b/classwinstd_1_1handle.html @@ -353,7 +353,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::win_handle< NULL >, winstd::win_handle< INVALID_HANDLE_VALUE >, winstd::library, winstd::find_file, winstd::heap, winstd::vmemory, winstd::reg_key, winstd::security_id, winstd::event_log, winstd::addrinfo, and winstd::wlan_handle.

+

Implemented in winstd::bstr, winstd::cert_context, winstd::cert_store, 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::win_handle< NULL >, winstd::win_handle< INVALID_HANDLE_VALUE >, winstd::library, winstd::find_file, winstd::heap, winstd::vmemory, winstd::security_id, winstd::event_log, winstd::addrinfo, winstd::waddrinfo, and winstd::wlan_handle.

@@ -835,7 +835,7 @@ template<class T , const T INVAL> diff --git a/classwinstd_1_1heap-members.html b/classwinstd_1_1heap-members.html index d141fbf5..d7384eba 100644 --- a/classwinstd_1_1heap-members.html +++ b/classwinstd_1_1heap-members.html @@ -73,18 +73,22 @@ $(function() {

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

- - + + - + + + - - + + + + @@ -102,7 +106,7 @@ $(function() {
attach(handle_type h) noexceptwinstd::handle< HANDLE, NULL >inline
create(DWORD flOptions, SIZE_T dwInitialSize, SIZE_T dwMaximumSize) noexceptwinstd::heapinline
__declspec(deprecated("Use HeapCreate")) bool create(DWORD flOptionswinstd::heap
attach(handle_type h) noexceptwinstd::handle< HANDLE, NULL >inline
detach()winstd::handle< HANDLE, NULL >inline
enumerate() noexceptwinstd::heapinline
dwInitialSize (defined in winstd::heap)winstd::heap
enumerate() noexceptwinstd::heapinline
false (defined in winstd::heap)winstd::heap
free()winstd::handle< HANDLE, NULL >inline
free_internal() noexcept overridewinstd::heapinlineprotectedvirtual
handle() noexceptwinstd::handle< HANDLE, NULL >inline
handle(handle_type h) noexceptwinstd::handle< HANDLE, NULL >inline
handle(handle< handle_type, INVAL > &&h) noexceptwinstd::handle< HANDLE, NULL >inline
handle_type typedefwinstd::handle< HANDLE, NULL >
invalidwinstd::handle< HANDLE, NULL >static
m_hwinstd::handle< HANDLE, NULL >protected
if(h !=invalid) (defined in winstd::heap)winstd::heapinline
invalidwinstd::handle< HANDLE, NULL >static
m_hwinstd::handle< HANDLE, NULL >protected
noexcept (defined in winstd::heap)winstd::heap
operator handle_type() constwinstd::handle< HANDLE, NULL >inline
operator!() constwinstd::handle< HANDLE, NULL >inline
operator!=(handle_type h) constwinstd::handle< HANDLE, NULL >inline
diff --git a/classwinstd_1_1heap.html b/classwinstd_1_1heap.html index e1378228..d75e6145 100644 --- a/classwinstd_1_1heap.html +++ b/classwinstd_1_1heap.html @@ -69,6 +69,7 @@ $(function() {
winstd::heap Class Reference
@@ -94,9 +95,12 @@ Public Member Functions virtual ~heap ()  Destroys the heap. More...
  -bool create (DWORD flOptions, SIZE_T dwInitialSize, SIZE_T dwMaximumSize) noexcept - Creates the heap. More...
-  + __declspec (deprecated("Use HeapCreate")) bool create(DWORD flOptions + Creates the heap. More...
+  +if (h !=invalid) +  bool enumerate () noexcept  Enumerates allocated heap blocks using OutputDebugString() More...
  @@ -161,6 +165,17 @@ void free ()  Destroys the object.
  + + + + + + + +

+Public Attributes

+SIZE_T dwInitialSize
 
SIZE_T SIZE_T dwMaximumSize noexcept
 
+else return false
 
@@ -220,44 +235,20 @@ static const HANDLE 

Protected Member Functions

void free_internal () noexcept override
invali

Member Function Documentation

- -

◆ create()

+ +

◆ __declspec()

- - - - - -
- + - - - - - + + - - - - - - - - - - - - -
bool winstd::heap::create winstd::heap::__declspec (DWORD flOptions,
deprecated("Use HeapCreate") ) SIZE_T dwInitialSize,
SIZE_T dwMaximumSize 
)
-
-inlinenoexcept

Creates the heap.

@@ -330,6 +321,24 @@ static const HANDLE 
invali

Implements winstd::handle< HANDLE, NULL >.

+ + +

Member Data Documentation

+ +

◆ noexcept

+ +
+
+ + + + +
SIZE_T SIZE_T dwMaximumSize winstd::heap::noexcept
+
+Initial value:
{
+
handle_type h = HeapCreate(flOptions, dwInitialSize, dwMaximumSize)
+
HANDLE handle_type
Datatype of the object handle this template class handles.
Definition: Common.h:608
+

The documentation for this class was generated from the following file:
    @@ -338,7 +347,7 @@ static const HANDLE 
invali diff --git a/classwinstd_1_1heap__allocator-members.html b/classwinstd_1_1heap__allocator-members.html index 1831c9ab..23c26f5e 100644 --- a/classwinstd_1_1heap__allocator-members.html +++ b/classwinstd_1_1heap__allocator-members.html @@ -92,7 +92,7 @@ $(function() {
diff --git a/classwinstd_1_1heap__allocator.html b/classwinstd_1_1heap__allocator.html index f512bf07..eb4b0c1b 100644 --- a/classwinstd_1_1heap__allocator.html +++ b/classwinstd_1_1heap__allocator.html @@ -454,7 +454,7 @@ template<class _Ty > diff --git a/classwinstd_1_1library-members.html b/classwinstd_1_1library-members.html index aa117b3a..a22e9cfe 100644 --- a/classwinstd_1_1library-members.html +++ b/classwinstd_1_1library-members.html @@ -73,17 +73,21 @@ $(function() {

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

- - + + + + + + - - + + @@ -101,7 +105,7 @@ $(function() {
attach(handle_type h) noexceptwinstd::handle< HMODULE, NULL >inline
detach()winstd::handle< HMODULE, NULL >inline
__declspec(deprecated("Use LoadLibraryEx")) bool load(LPCTSTR lpFileNamewinstd::library
attach(handle_type h) noexceptwinstd::handle< HMODULE, NULL >inline
detach()winstd::handle< HMODULE, NULL >inline
false (defined in winstd::library)winstd::library
free()winstd::handle< HMODULE, NULL >inline
free_internal() noexcept overridewinstd::libraryinlineprotectedvirtual
handle() noexceptwinstd::handle< HMODULE, NULL >inline
handle(handle_type h) noexceptwinstd::handle< HMODULE, NULL >inline
handle(handle< handle_type, INVAL > &&h) noexceptwinstd::handle< HMODULE, NULL >inline
handle_type typedefwinstd::handle< HMODULE, NULL >
hFile (defined in winstd::library)winstd::library
if(h !=invalid) (defined in winstd::library)winstd::libraryinline
invalidwinstd::handle< HMODULE, NULL >static
load(LPCTSTR lpFileName, __reserved handle_type hFile, DWORD dwFlags) noexceptwinstd::libraryinline
m_hwinstd::handle< HMODULE, NULL >protected
m_hwinstd::handle< HMODULE, NULL >protected
noexcept (defined in winstd::library)winstd::library
operator handle_type() constwinstd::handle< HMODULE, NULL >inline
operator!() constwinstd::handle< HMODULE, NULL >inline
operator!=(handle_type h) constwinstd::handle< HMODULE, NULL >inline
diff --git a/classwinstd_1_1library.html b/classwinstd_1_1library.html index 3834000a..c818204e 100644 --- a/classwinstd_1_1library.html +++ b/classwinstd_1_1library.html @@ -69,6 +69,7 @@ $(function() {
winstd::library Class Reference
@@ -94,9 +95,12 @@ Public Member Functions virtual ~library ()  Frees the module. More...
  -bool load (LPCTSTR lpFileName, __reserved handle_type hFile, DWORD dwFlags) noexcept - Loads the specified module into the address space of the calling process. More...
-  + __declspec (deprecated("Use LoadLibraryEx")) bool load(LPCTSTR lpFileName + Loads the specified module into the address space of the calling process. More...
+  +if (h !=invalid) +  - Public Member Functions inherited from winstd::handle< HMODULE, NULL >  handle () noexcept @@ -158,6 +162,17 @@ void free ()  Destroys the object.
  + + + + + + + +

+Public Attributes

+__reserved handle_type hFile
 
__reserved handle_type DWORD dwFlags noexcept
 
+else return false
 
@@ -217,6 +232,32 @@ static const HMODULE 

Protected Member Functions

void free_internal () noexcept override
inval

Member Function Documentation

+ +

◆ __declspec()

+ +
+
+ + + + + + + + +
winstd::library::__declspec (deprecated("Use LoadLibraryEx") )
+
+ +

Loads the specified module into the address space of the calling process.

+
See also
LoadLibraryEx function
+
Returns
    +
  • true when succeeds;
  • +
  • false when fails. Use GetLastError() for failure reason.
  • +
+
+ +
+

◆ free_internal()

@@ -247,54 +288,22 @@ static const HMODULE 
inval - -

◆ load()

+

Member Data Documentation

+ +

◆ noexcept

- - - - - -
- - - - - - - - - - - - - - - - - - - - - +
bool winstd::library::load (LPCTSTR lpFileName,
__reserved handle_type hFile,
DWORD dwFlags 
)__reserved handle_type DWORD dwFlags winstd::library::noexcept
-
-inlinenoexcept
- -

Loads the specified module into the address space of the calling process.

-
See also
LoadLibraryEx function
-
Returns
    -
  • true when succeeds;
  • -
  • false when fails. Use GetLastError() for failure reason.
  • -
-
- +Initial value:
{
+
handle_type h = LoadLibraryEx(lpFileName, hFile, dwFlags)
+
HMODULE handle_type
Datatype of the object handle this template class handles.
Definition: Common.h:608
+

The documentation for this class was generated from the following file:
    @@ -303,7 +312,7 @@ static const HMODULE 
inval diff --git a/classwinstd_1_1num__runtime__error-members.html b/classwinstd_1_1num__runtime__error-members.html index 4e7bee31..9608aa3a 100644 --- a/classwinstd_1_1num__runtime__error-members.html +++ b/classwinstd_1_1num__runtime__error-members.html @@ -81,7 +81,7 @@ $(function() {
diff --git a/classwinstd_1_1num__runtime__error.html b/classwinstd_1_1num__runtime__error.html index 8b6bb130..c705a9c6 100644 --- a/classwinstd_1_1num__runtime__error.html +++ b/classwinstd_1_1num__runtime__error.html @@ -218,7 +218,7 @@ template<typename _Tn > diff --git a/classwinstd_1_1process-members.html b/classwinstd_1_1process-members.html index a186b8a6..94fb3f9d 100644 --- a/classwinstd_1_1process-members.html +++ b/classwinstd_1_1process-members.html @@ -73,17 +73,21 @@ $(function() {

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

- + + + - - - - - - + + + + + + + + - + @@ -101,7 +105,7 @@ $(function() {
attach(handle_type h) noexceptwinstd::handle< HANDLE, INVALID >inline
__declspec(deprecated("Use OpenProcess")) bool open(DWORD dwDesiredAccesswinstd::process
attach(handle_type h) noexceptwinstd::handle< HANDLE, INVALID >inline
bInheritHandle (defined in winstd::process)winstd::process
detach()winstd::handle< HANDLE, INVALID >inline
free()winstd::handle< HANDLE, INVALID >inline
free_internal() noexcept overridewinstd::win_handle< NULL >inlineprotectedvirtual
handle() noexceptwinstd::handle< HANDLE, INVALID >inline
handle(handle_type h) noexceptwinstd::handle< HANDLE, INVALID >inline
handle(handle< handle_type, INVAL > &&h) noexceptwinstd::handle< HANDLE, INVALID >inline
handle_type typedefwinstd::handle< HANDLE, INVALID >
false (defined in winstd::process)winstd::process
free()winstd::handle< HANDLE, INVALID >inline
free_internal() noexcept overridewinstd::win_handle< NULL >inlineprotectedvirtual
handle() noexceptwinstd::handle< HANDLE, INVALID >inline
handle(handle_type h) noexceptwinstd::handle< HANDLE, INVALID >inline
handle(handle< handle_type, INVAL > &&h) noexceptwinstd::handle< HANDLE, INVALID >inline
handle_type typedefwinstd::handle< HANDLE, INVALID >
if(h !=invalid) (defined in winstd::process)winstd::processinline
invalidwinstd::handle< HANDLE, INVALID >static
m_hwinstd::handle< HANDLE, INVALID >protected
open(DWORD dwDesiredAccess, BOOL bInheritHandle, DWORD dwProcessId) noexceptwinstd::processinline
noexcept (defined in winstd::process)winstd::process
operator handle_type() constwinstd::handle< HANDLE, INVALID >inline
operator!() constwinstd::handle< HANDLE, INVALID >inline
operator!=(handle_type h) constwinstd::handle< HANDLE, INVALID >inline
diff --git a/classwinstd_1_1process.html b/classwinstd_1_1process.html index f8b55730..50b92811 100644 --- a/classwinstd_1_1process.html +++ b/classwinstd_1_1process.html @@ -69,6 +69,7 @@ $(function() { @@ -91,9 +92,12 @@ Inheritance diagram for winstd::process: - - - + + + + + @@ -159,6 +163,17 @@ void 

Public Member Functions

bool open (DWORD dwDesiredAccess, BOOL bInheritHandle, DWORD dwProcessId) noexcept
 Opens process handle. More...
 
 __declspec (deprecated("Use OpenProcess")) bool open(DWORD dwDesiredAccess
 Opens process handle. More...
 
if (h !=invalid)
 
- Public Member Functions inherited from winstd::win_handle< NULL >
virtual ~win_handle ()
 Closes an open object handle. More...
free ()
 Destroys the object.
 
+ + + + + + + +

+Public Attributes

+BOOL bInheritHandle
 
BOOL DWORD dwProcessId noexcept
 
+else return false
 
@@ -187,44 +202,20 @@ static const HANDLE 

Additional Inherited Members

- Public Types inherited from winstd::handle< HANDLE, INVALID >
invali

Detailed Description

Process handle wrapper.

Member Function Documentation

- -

◆ open()

+ +

◆ __declspec()

- - - - - -
- + - - - - - + + - - - - - - - - - - - - -
bool winstd::process::open winstd::process::__declspec (DWORD dwDesiredAccess,
deprecated("Use OpenProcess") ) BOOL bInheritHandle,
DWORD dwProcessId 
)
-
-inlinenoexcept

Opens process handle.

@@ -235,6 +226,24 @@ static const HANDLE 
invali + + +

Member Data Documentation

+ +

◆ noexcept

+ +
+
+ + + + +
BOOL DWORD dwProcessId winstd::process::noexcept
+
+Initial value:
{
+
handle_type h = OpenProcess(dwDesiredAccess, bInheritHandle, dwProcessId)
+
HANDLE handle_type
Datatype of the object handle this template class handles.
Definition: Common.h:608
+

The documentation for this class was generated from the following file:
    @@ -243,7 +252,7 @@ static const HANDLE 
invali diff --git a/classwinstd_1_1process__information-members.html b/classwinstd_1_1process__information-members.html index 692fc67d..8f0c05dc 100644 --- a/classwinstd_1_1process__information-members.html +++ b/classwinstd_1_1process__information-members.html @@ -78,7 +78,7 @@ $(function() {
diff --git a/classwinstd_1_1process__information.html b/classwinstd_1_1process__information.html index aed96dc0..f71a61db 100644 --- a/classwinstd_1_1process__information.html +++ b/classwinstd_1_1process__information.html @@ -104,7 +104,7 @@ Public Member Functions diff --git a/classwinstd_1_1ref__unique__ptr-members.html b/classwinstd_1_1ref__unique__ptr-members.html index 56e7fc1c..cf403c42 100644 --- a/classwinstd_1_1ref__unique__ptr-members.html +++ b/classwinstd_1_1ref__unique__ptr-members.html @@ -83,7 +83,7 @@ $(function() { diff --git a/classwinstd_1_1ref__unique__ptr.html b/classwinstd_1_1ref__unique__ptr.html index 7348e803..57df99f9 100644 --- a/classwinstd_1_1ref__unique__ptr.html +++ b/classwinstd_1_1ref__unique__ptr.html @@ -253,7 +253,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 6e30cf05..5a7c62c8 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 @@ -85,7 +85,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 0463f900..5e1fc5ed 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 @@ -333,7 +333,7 @@ template<class _Ty , class _Dx > diff --git a/classwinstd_1_1reg__key-members.html b/classwinstd_1_1reg__key-members.html index a5711856..02e15ad7 100644 --- a/classwinstd_1_1reg__key-members.html +++ b/classwinstd_1_1reg__key-members.html @@ -73,19 +73,21 @@ $(function() {

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

- - - - + + + + - + - - + + + + @@ -99,11 +101,12 @@ $(function() { - + +
attach(handle_type h) noexceptwinstd::handle< HKEY, NULL >inline
create(HKEY hKey, LPCTSTR lpSubKey, LPTSTR lpClass, DWORD dwOptions, REGSAM samDesired, LPSECURITY_ATTRIBUTES lpSecurityAttributes=NULL, LPDWORD lpdwDisposition=NULL) noexceptwinstd::reg_keyinline
delete_subkey(LPCTSTR szSubkey)winstd::reg_keyinline
detach()winstd::handle< HKEY, NULL >inline
__declspec(deprecated("Use RegCreateKeyEx - mind it returns error number rather than SetLastError")) bool create(HKEY hKeywinstd::reg_key
attach(handle_type h) noexceptwinstd::handle< HKEY, NULL >inline
detach()winstd::handle< HKEY, NULL >inline
dwOptions (defined in winstd::reg_key)winstd::reg_key
free()winstd::handle< HKEY, NULL >inline
free_internal() noexcept overridewinstd::reg_keyinlineprotectedvirtual
free_internal() noexcept=0winstd::handle< HKEY, NULL >protectedpure virtual
handle() noexceptwinstd::handle< HKEY, NULL >inline
handle(handle_type h) noexceptwinstd::handle< HKEY, NULL >inline
handle(handle< handle_type, INVAL > &&h) noexceptwinstd::handle< HKEY, NULL >inline
handle_type typedefwinstd::handle< HKEY, NULL >
invalidwinstd::handle< HKEY, NULL >static
m_hwinstd::handle< HKEY, NULL >protected
open(HKEY hKey, LPCTSTR lpSubKey, DWORD ulOptions, REGSAM samDesired) noexceptwinstd::reg_keyinline
lpClass (defined in winstd::reg_key)winstd::reg_key
lpSecurityAttributes (defined in winstd::reg_key)winstd::reg_key
lpSubKey (defined in winstd::reg_key)winstd::reg_key
m_hwinstd::handle< HKEY, NULL >protected
operator handle_type() constwinstd::handle< HKEY, NULL >inline
operator!() constwinstd::handle< HKEY, NULL >inline
operator!=(handle_type h) constwinstd::handle< HKEY, NULL >inline
operator==(handle_type h) constwinstd::handle< HKEY, NULL >inline
operator>(handle_type h) constwinstd::handle< HKEY, NULL >inline
operator>=(handle_type h) constwinstd::handle< HKEY, NULL >inline
~reg_key()winstd::reg_keyinlinevirtual
samDesired (defined in winstd::reg_key)winstd::reg_key
~reg_key()winstd::reg_keyinlinevirtual
diff --git a/classwinstd_1_1reg__key.html b/classwinstd_1_1reg__key.html index 1a9cb005..a6dbd959 100644 --- a/classwinstd_1_1reg__key.html +++ b/classwinstd_1_1reg__key.html @@ -69,7 +69,7 @@ $(function() { @@ -94,15 +94,9 @@ Public Member Functions virtual ~reg_key ()  Closes a handle to the registry key. More...
  -bool create (HKEY hKey, LPCTSTR lpSubKey, LPTSTR lpClass, DWORD dwOptions, REGSAM samDesired, LPSECURITY_ATTRIBUTES lpSecurityAttributes=NULL, LPDWORD lpdwDisposition=NULL) noexcept - Creates the specified registry key. If the key already exists, the function opens it. More...
-  -bool open (HKEY hKey, LPCTSTR lpSubKey, DWORD ulOptions, REGSAM samDesired) noexcept - Opens the specified registry key. More...
-  -bool delete_subkey (LPCTSTR szSubkey) - Deletes the specified registry subkey. More...
-  + __declspec (deprecated("Use RegCreateKeyEx - mind it returns error number rather than SetLastError")) bool create(HKEY hKey + Creates the specified registry key. If the key already exists, the function opens it. More...
- Public Member Functions inherited from winstd::handle< HKEY, NULL >  handle () noexcept @@ -164,14 +158,23 @@ void free ()  Destroys the object.
  - - - - - - - + + + + + + + + + + +

-Protected Member Functions

void free_internal () noexcept override
 Closes a handle to the registry key. More...
 
virtual void free_internal () noexcept=0
 Abstract member function that must be implemented by child classes to do the actual object destruction. More...
 

+Public Attributes

+LPCTSTR lpSubKey
 
+LPCTSTR LPTSTR lpClass
 
+LPCTSTR LPTSTR DWORD dwOptions
 
+LPCTSTR LPTSTR DWORD REGSAM samDesired
 
+LPCTSTR LPTSTR DWORD REGSAM LPSECURITY_ATTRIBUTES lpSecurityAttributes = NULL
 
@@ -185,6 +188,11 @@ typedef HKEY  + + + + @@ -223,68 +231,20 @@ static const HKEY 

Additional Inherited Members

handle_typeinvalid
 Invalid handle value.
 
- Protected Member Functions inherited from winstd::handle< HKEY, NULL >
+virtual void free_internal () noexcept=0
 Abstract member function that must be implemented by child classes to do the actual object destruction.
 
- Protected Attributes inherited from winstd::handle< HKEY, NULL >
handle_type m_h
invalid<

Member Function Documentation

- -

◆ create()

+ +

◆ __declspec()

- - - - - -
- + - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
bool winstd::reg_key::create winstd::reg_key::__declspec (HKEY hKey,
deprecated("Use RegCreateKeyEx - mind it returns error number rather than SetLastError") ) LPCTSTR lpSubKey,
LPTSTR lpClass,
DWORD dwOptions,
REGSAM samDesired,
LPSECURITY_ATTRIBUTES lpSecurityAttributes = NULL,
LPDWORD lpdwDisposition = NULL 
)
-
-inlinenoexcept

Creates the specified registry key. If the key already exists, the function opens it.

@@ -295,131 +255,6 @@ static const HKEY 
invalid<
See also
RegCreateKeyEx function
- - - -

◆ delete_subkey()

- -
-
- - - - - -
- - - - - - - - -
bool winstd::reg_key::delete_subkey (LPCTSTR szSubkey)
-
-inline
-
- -

Deletes the specified registry subkey.

-
Parameters
- - -
[in]szSubkeyName of the subkey to delete
-
-
-
Returns
    -
  • true when creation succeeds;
  • -
  • false when creation fails. For extended error information, call GetLastError().
  • -
-
- -
-
- -

◆ free_internal()

- -
-
- - - - - -
- - - - - - - -
void winstd::reg_key::free_internal ()
-
-inlineoverrideprotectedvirtualnoexcept
-
- -

Closes a handle to the registry key.

-
See also
RegCloseKey function
- -

Implements winstd::handle< HKEY, NULL >.

- -
-
- -

◆ open()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
bool winstd::reg_key::open (HKEY hKey,
LPCTSTR lpSubKey,
DWORD ulOptions,
REGSAM samDesired 
)
-
-inlinenoexcept
-
- -

Opens the specified registry key.

-
Returns
    -
  • true when creation succeeds;
  • -
  • false when creation fails. For extended error information, call GetLastError().
  • -
-
-
See also
RegOpenKeyEx function
-

The documentation for this class was generated from the following file:
    @@ -428,7 +263,7 @@ static const HKEY 
invalid< diff --git a/classwinstd_1_1sanitizing__allocator-members.html b/classwinstd_1_1sanitizing__allocator-members.html index fdc46a0e..bea1ebd7 100644 --- a/classwinstd_1_1sanitizing__allocator-members.html +++ b/classwinstd_1_1sanitizing__allocator-members.html @@ -81,7 +81,7 @@ $(function() {
diff --git a/classwinstd_1_1sanitizing__allocator.html b/classwinstd_1_1sanitizing__allocator.html index f2d148d5..ab41fc45 100644 --- a/classwinstd_1_1sanitizing__allocator.html +++ b/classwinstd_1_1sanitizing__allocator.html @@ -130,7 +130,7 @@ class winstd::sanitizing_allocator< _Ty >

An allocator template t

diff --git a/classwinstd_1_1sanitizing__blob-members.html b/classwinstd_1_1sanitizing__blob-members.html index edb0febe..7a41beca 100644 --- a/classwinstd_1_1sanitizing__blob-members.html +++ b/classwinstd_1_1sanitizing__blob-members.html @@ -79,7 +79,7 @@ $(function() { diff --git a/classwinstd_1_1sanitizing__blob.html b/classwinstd_1_1sanitizing__blob.html index 2aa84109..406e8b4b 100644 --- a/classwinstd_1_1sanitizing__blob.html +++ b/classwinstd_1_1sanitizing__blob.html @@ -107,7 +107,7 @@ class winstd::sanitizing_blob< N >

Sanitizing BLOB.

diff --git a/classwinstd_1_1sec__buffer__desc-members.html b/classwinstd_1_1sec__buffer__desc-members.html index 0b7fa2c0..fce78ae0 100644 --- a/classwinstd_1_1sec__buffer__desc-members.html +++ b/classwinstd_1_1sec__buffer__desc-members.html @@ -78,7 +78,7 @@ $(function() { diff --git a/classwinstd_1_1sec__buffer__desc.html b/classwinstd_1_1sec__buffer__desc.html index ceaac48d..550eee1d 100644 --- a/classwinstd_1_1sec__buffer__desc.html +++ b/classwinstd_1_1sec__buffer__desc.html @@ -132,7 +132,7 @@ Public Member Functions diff --git a/classwinstd_1_1sec__context-members.html b/classwinstd_1_1sec__context-members.html index e47c21d7..11b2b5c8 100644 --- a/classwinstd_1_1sec__context-members.html +++ b/classwinstd_1_1sec__context-members.html @@ -107,7 +107,7 @@ $(function() { diff --git a/classwinstd_1_1sec__context.html b/classwinstd_1_1sec__context.html index c4211ff4..60ac49b0 100644 --- a/classwinstd_1_1sec__context.html +++ b/classwinstd_1_1sec__context.html @@ -482,7 +482,7 @@ static const PCtxtHandle i diff --git a/classwinstd_1_1sec__credentials-members.html b/classwinstd_1_1sec__credentials-members.html index 0f03943a..e7a8cfa4 100644 --- a/classwinstd_1_1sec__credentials-members.html +++ b/classwinstd_1_1sec__credentials-members.html @@ -106,7 +106,7 @@ $(function() { diff --git a/classwinstd_1_1sec__credentials.html b/classwinstd_1_1sec__credentials.html index 81b525ba..4855e3fa 100644 --- a/classwinstd_1_1sec__credentials.html +++ b/classwinstd_1_1sec__credentials.html @@ -461,7 +461,7 @@ static const PCredHandle i diff --git a/classwinstd_1_1sec__runtime__error-members.html b/classwinstd_1_1sec__runtime__error-members.html index cf47745c..67c9f6bd 100644 --- a/classwinstd_1_1sec__runtime__error-members.html +++ b/classwinstd_1_1sec__runtime__error-members.html @@ -84,7 +84,7 @@ $(function() { diff --git a/classwinstd_1_1sec__runtime__error.html b/classwinstd_1_1sec__runtime__error.html index 0cc20f7f..ab9a8b48 100644 --- a/classwinstd_1_1sec__runtime__error.html +++ b/classwinstd_1_1sec__runtime__error.html @@ -258,7 +258,7 @@ typedef SECURITY_STATUS er diff --git a/classwinstd_1_1security__id-members.html b/classwinstd_1_1security__id-members.html index 4ab2fce4..6b8d7ac7 100644 --- a/classwinstd_1_1security__id-members.html +++ b/classwinstd_1_1security__id-members.html @@ -100,7 +100,7 @@ $(function() { diff --git a/classwinstd_1_1security__id.html b/classwinstd_1_1security__id.html index 87394731..b68b2b9d 100644 --- a/classwinstd_1_1security__id.html +++ b/classwinstd_1_1security__id.html @@ -250,7 +250,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 7a37369e..6be3227f 100644 --- a/classwinstd_1_1setup__device__info__list-members.html +++ b/classwinstd_1_1setup__device__info__list-members.html @@ -73,18 +73,28 @@ $(function() {

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

+ + - - + + + + - - + + + + + + + + @@ -102,7 +112,7 @@ $(function() {
__declspec(deprecated("Use SetupDiCreateDeviceInfoList")) bool create(const GUID *ClassGuidwinstd::setup_device_info_list
__declspec(deprecated("Use SetupDiGetClassDevsEx")) bool create(const GUID *ClassGuidwinstd::setup_device_info_list
attach(handle_type h) noexceptwinstd::handle< HDEVINFO, INVALID_HANDLE_VALUE >inline
create(const GUID *ClassGuid, HWND hwndParent) noexceptwinstd::setup_device_info_listinline
create(const GUID *ClassGuid, PCTSTR Enumerator, HWND hwndParent, DWORD Flags, HDEVINFO DeviceInfoSet, PCTSTR MachineName, PVOID Reserved) noexceptwinstd::setup_device_info_listinline
detach()winstd::handle< HDEVINFO, INVALID_HANDLE_VALUE >inline
DeviceInfoSet (defined in winstd::setup_device_info_list)winstd::setup_device_info_list
Enumerator (defined in winstd::setup_device_info_list)winstd::setup_device_info_list
false (defined in winstd::setup_device_info_list)winstd::setup_device_info_list
Flags (defined in winstd::setup_device_info_list)winstd::setup_device_info_list
free()winstd::handle< HDEVINFO, INVALID_HANDLE_VALUE >inline
free_internal() noexcept overridewinstd::setup_device_info_listinlineprotectedvirtual
handle() noexceptwinstd::handle< HDEVINFO, INVALID_HANDLE_VALUE >inline
handle(handle_type h) noexceptwinstd::handle< HDEVINFO, INVALID_HANDLE_VALUE >inline
handle(handle< handle_type, INVAL > &&h) noexceptwinstd::handle< HDEVINFO, INVALID_HANDLE_VALUE >inline
handle_type typedefwinstd::handle< HDEVINFO, INVALID_HANDLE_VALUE >
invalidwinstd::handle< HDEVINFO, INVALID_HANDLE_VALUE >static
m_hwinstd::handle< HDEVINFO, INVALID_HANDLE_VALUE >protected
hwndParent (defined in winstd::setup_device_info_list)winstd::setup_device_info_list
if(h !=invalid) (defined in winstd::setup_device_info_list)winstd::setup_device_info_listinline
if(h !=invalid) (defined in winstd::setup_device_info_list)winstd::setup_device_info_listinline
invalidwinstd::handle< HDEVINFO, INVALID_HANDLE_VALUE >static
m_hwinstd::handle< HDEVINFO, INVALID_HANDLE_VALUE >protected
MachineName (defined in winstd::setup_device_info_list)winstd::setup_device_info_list
noexcept (defined in winstd::setup_device_info_list)winstd::setup_device_info_list
noexcept (defined in winstd::setup_device_info_list)winstd::setup_device_info_list
operator handle_type() constwinstd::handle< HDEVINFO, INVALID_HANDLE_VALUE >inline
operator!() constwinstd::handle< HDEVINFO, INVALID_HANDLE_VALUE >inline
operator!=(handle_type h) constwinstd::handle< HDEVINFO, INVALID_HANDLE_VALUE >inline
diff --git a/classwinstd_1_1setup__device__info__list.html b/classwinstd_1_1setup__device__info__list.html index 8989d6a4..0b547e02 100644 --- a/classwinstd_1_1setup__device__info__list.html +++ b/classwinstd_1_1setup__device__info__list.html @@ -69,6 +69,7 @@ $(function() {
winstd::setup_device_info_list Class Reference
@@ -94,12 +95,18 @@ Public Member Functions virtual ~setup_device_info_list ()  Frees the device information set. More...
  -bool create (const GUID *ClassGuid, HWND hwndParent) noexcept - Creates an empty device information set and optionally associates the set with a device setup class and a top-level window. More...
-  -bool create (const GUID *ClassGuid, PCTSTR Enumerator, HWND hwndParent, DWORD Flags, HDEVINFO DeviceInfoSet, PCTSTR MachineName, PVOID Reserved) noexcept - Creates a device information set that contains requested device information elements for a local or a remote computer. More...
-  + __declspec (deprecated("Use SetupDiCreateDeviceInfoList")) bool create(const GUID *ClassGuid + Creates an empty device information set and optionally associates the set with a device setup class and a top-level window. More...
+  +if (h !=invalid) +  + __declspec (deprecated("Use SetupDiGetClassDevsEx")) bool create(const GUID *ClassGuid + Creates a device information set that contains requested device information elements for a local or a remote computer. More...
+  +if (h !=invalid) +  - Public Member Functions inherited from winstd::handle< HDEVINFO, INVALID_HANDLE_VALUE >  handle () noexcept @@ -161,6 +168,31 @@ void free ()  Destroys the object.
  + + + + + + + + + + + + + + + + + +

+Public Attributes

HWND hwndParent noexcept
 
+else return false
 
+PCTSTR Enumerator
 
+PCTSTR HWND hwndParent
 
+PCTSTR HWND DWORD Flags
 
+PCTSTR HWND DWORD HDEVINFO DeviceInfoSet
 
+PCTSTR HWND DWORD HDEVINFO PCTSTR MachineName
 
PCTSTR HWND DWORD HDEVINFO PCTSTR PVOID Reserved noexcept
 
@@ -220,38 +252,20 @@ static const HDEVINFO 

Protected Member Functions

void free_internal () noexcept override
inva

Member Function Documentation

- -

◆ create() [1/2]

+ +

◆ __declspec() [1/2]

- - - - - -
- + - - - - - - - - - - - - - + + +
bool winstd::setup_device_info_list::create winstd::setup_device_info_list::__declspec (const GUID * ClassGuid,
HWND hwndParent 
)deprecated("Use SetupDiCreateDeviceInfoList") ) const
-
-inlinenoexcept

Creates an empty device information set and optionally associates the set with a device setup class and a top-level window.

@@ -264,68 +278,20 @@ static const HDEVINFO 
inva - -

◆ create() [2/2]

+ +

◆ __declspec() [2/2]

- - - - - -
- + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + +
bool winstd::setup_device_info_list::create winstd::setup_device_info_list::__declspec (const GUID * ClassGuid,
PCTSTR Enumerator,
HWND hwndParent,
DWORD Flags,
HDEVINFO DeviceInfoSet,
PCTSTR MachineName,
PVOID Reserved 
)deprecated("Use SetupDiGetClassDevsEx") ) const
-
-inlinenoexcept

Creates a device information set that contains requested device information elements for a local or a remote computer.

@@ -366,6 +332,40 @@ static const HDEVINFO 
inva

Implements winstd::handle< HDEVINFO, INVALID_HANDLE_VALUE >.

+ + +

Member Data Documentation

+ +

◆ noexcept [1/2]

+ +
+
+ + + + +
HWND hwndParent winstd::setup_device_info_list::noexcept
+
+Initial value:
{
+
handle_type h = SetupDiCreateDeviceInfoList(ClassGuid, hwndParent)
+
HDEVINFO handle_type
Datatype of the object handle this template class handles.
Definition: Common.h:608
+
+
+
+ +

◆ noexcept [2/2]

+ +
+
+ + + + +
PCTSTR HWND DWORD HDEVINFO PCTSTR PVOID Reserved winstd::setup_device_info_list::noexcept
+
+Initial value:
{
+
handle_type h = SetupDiGetClassDevsEx(ClassGuid, Enumerator, hwndParent, Flags, DeviceInfoSet, MachineName, Reserved)
+

The documentation for this class was generated from the following file:
    @@ -374,7 +374,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 72ab31cc..d603f623 100644 --- a/classwinstd_1_1setup__driver__info__list__builder-members.html +++ b/classwinstd_1_1setup__driver__info__list__builder-members.html @@ -79,7 +79,7 @@ $(function() {
diff --git a/classwinstd_1_1setup__driver__info__list__builder.html b/classwinstd_1_1setup__driver__info__list__builder.html index 852dac4c..adf4adab 100644 --- a/classwinstd_1_1setup__driver__info__list__builder.html +++ b/classwinstd_1_1setup__driver__info__list__builder.html @@ -202,7 +202,7 @@ Public Member Functions diff --git a/classwinstd_1_1string__guid-members.html b/classwinstd_1_1string__guid-members.html index 58f3c17f..43ffaf23 100644 --- a/classwinstd_1_1string__guid-members.html +++ b/classwinstd_1_1string__guid-members.html @@ -78,7 +78,7 @@ $(function() { diff --git a/classwinstd_1_1string__guid.html b/classwinstd_1_1string__guid.html index 99c71675..e3dc3929 100644 --- a/classwinstd_1_1string__guid.html +++ b/classwinstd_1_1string__guid.html @@ -141,7 +141,7 @@ Public Member Functions diff --git a/classwinstd_1_1user__impersonator-members.html b/classwinstd_1_1user__impersonator-members.html index a120cdea..c4771867 100644 --- a/classwinstd_1_1user__impersonator-members.html +++ b/classwinstd_1_1user__impersonator-members.html @@ -79,7 +79,7 @@ $(function() { diff --git a/classwinstd_1_1user__impersonator.html b/classwinstd_1_1user__impersonator.html index 237b44b8..2c993034 100644 --- a/classwinstd_1_1user__impersonator.html +++ b/classwinstd_1_1user__impersonator.html @@ -168,7 +168,7 @@ BOOL m_cookie diff --git a/classwinstd_1_1variant-members.html b/classwinstd_1_1variant-members.html index c7c22156..19cb86d8 100644 --- a/classwinstd_1_1variant-members.html +++ b/classwinstd_1_1variant-members.html @@ -137,7 +137,7 @@ $(function() { diff --git a/classwinstd_1_1variant.html b/classwinstd_1_1variant.html index 8bad4f7c..f7490282 100644 --- a/classwinstd_1_1variant.html +++ b/classwinstd_1_1variant.html @@ -607,7 +607,7 @@ virtual ~variant () diff --git a/classwinstd_1_1vmemory-members.html b/classwinstd_1_1vmemory-members.html index 80bab5de..5854b83f 100644 --- a/classwinstd_1_1vmemory-members.html +++ b/classwinstd_1_1vmemory-members.html @@ -107,7 +107,7 @@ $(function() { diff --git a/classwinstd_1_1vmemory.html b/classwinstd_1_1vmemory.html index 9d492f29..ad719294 100644 --- a/classwinstd_1_1vmemory.html +++ b/classwinstd_1_1vmemory.html @@ -498,7 +498,7 @@ static const LPVOID invali diff --git a/classwinstd_1_1waddrinfo-members.html b/classwinstd_1_1waddrinfo-members.html new file mode 100644 index 00000000..e6f26546 --- /dev/null +++ b/classwinstd_1_1waddrinfo-members.html @@ -0,0 +1,111 @@ + + + + + + + +WinStd: Member List + + + + + + + + + +
+
+ + + + + + +
+
WinStd +
+
Additional templates and function helpers for Microsoft Windows using Standard C++ classes
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
winstd::waddrinfo Member List
+
+
+ +

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

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
__declspec(deprecated("Use GetAddrInfoW")) bool get(PCWSTR pNodeNamewinstd::waddrinfo
attach(handle_type h) noexceptwinstd::handle< PADDRINFOW, NULL >inline
detach()winstd::handle< PADDRINFOW, NULL >inline
false (defined in winstd::waddrinfo)winstd::waddrinfo
free()winstd::handle< PADDRINFOW, NULL >inline
free_internal() noexcept overridewinstd::waddrinfoinlineprotectedvirtual
handle() noexceptwinstd::handle< PADDRINFOW, NULL >inline
handle(handle_type h) noexceptwinstd::handle< PADDRINFOW, NULL >inline
handle(handle< handle_type, INVAL > &&h) noexceptwinstd::handle< PADDRINFOW, NULL >inline
handle_type typedefwinstd::handle< PADDRINFOW, NULL >
if(GetAddrInfoW(pNodeName, pServiceName, pHints, &h)==0) (defined in winstd::waddrinfo)winstd::waddrinfoinline
invalidwinstd::handle< PADDRINFOW, NULL >static
m_hwinstd::handle< PADDRINFOW, NULL >protected
operator handle_type() constwinstd::handle< PADDRINFOW, NULL >inline
operator!() constwinstd::handle< PADDRINFOW, NULL >inline
operator!=(handle_type h) constwinstd::handle< PADDRINFOW, NULL >inline
operator&()winstd::handle< PADDRINFOW, NULL >inline
operator*() constwinstd::handle< PADDRINFOW, NULL >inline
operator->() constwinstd::handle< PADDRINFOW, NULL >inline
operator<(handle_type h) constwinstd::handle< PADDRINFOW, NULL >inline
operator<=(handle_type h) constwinstd::handle< PADDRINFOW, NULL >inline
operator=(handle_type h) noexceptwinstd::handle< PADDRINFOW, NULL >inline
operator=(handle< handle_type, INVAL > &&h) noexceptwinstd::handle< PADDRINFOW, NULL >inline
operator==(handle_type h) constwinstd::handle< PADDRINFOW, NULL >inline
operator>(handle_type h) constwinstd::handle< PADDRINFOW, NULL >inline
operator>=(handle_type h) constwinstd::handle< PADDRINFOW, NULL >inline
pHints (defined in winstd::waddrinfo)winstd::waddrinfo
pServiceName (defined in winstd::waddrinfo)winstd::waddrinfo
~waddrinfo()winstd::waddrinfoinlinevirtual
+ + + + diff --git a/classwinstd_1_1waddrinfo.html b/classwinstd_1_1waddrinfo.html new file mode 100644 index 00000000..2e8655a0 --- /dev/null +++ b/classwinstd_1_1waddrinfo.html @@ -0,0 +1,313 @@ + + + + + + + +WinStd: winstd::waddrinfo Class Reference + + + + + + + + + +
+
+ + + + + + +
+
WinStd +
+
Additional templates and function helpers for Microsoft Windows using Standard C++ classes
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+ +
+ +

SID wrapper class. + More...

+ +

#include <WinStd/WinSock2.h>

+
+Inheritance diagram for winstd::waddrinfo:
+
+
+ + +winstd::handle< PADDRINFOW, NULL > + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 __declspec (deprecated("Use GetAddrInfoW")) bool get(PCWSTR pNodeName
 Provides protocol-independent translation from a host name to an address. More...
 
if (GetAddrInfoW(pNodeName, pServiceName, pHints, &h)==0)
 
virtual ~waddrinfo ()
 Frees address information. More...
 
- Public Member Functions inherited from winstd::handle< PADDRINFOW, NULL >
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. More...
 
 handle (handle< handle_type, INVAL > &&h) noexcept
 Move constructor. More...
 
handle< handle_type, INVAL > & operator= (handle_type h) noexcept
 Attaches already available object handle. More...
 
handle< handle_type, INVAL > & operator= (handle< handle_type, INVAL > &&h) noexcept
 Move assignment. More...
 
 operator handle_type () const
 Auto-typecasting operator. More...
 
handle_type *& operator* () const
 Returns the object handle value when the object handle is a pointer to a value (class, struct, etc.). More...
 
handle_typeoperator& ()
 Returns the object handle reference. More...
 
handle_type operator-> () const
 Provides object handle member access when the object handle is a pointer to a class or struct. More...
 
bool operator! () const
 Tests if the object handle is INVAL. More...
 
bool operator< (handle_type h) const
 Is handle less than? More...
 
bool operator<= (handle_type h) const
 Is handle less than or equal to? More...
 
bool operator>= (handle_type h) const
 Is handle greater than or equal to? More...
 
bool operator> (handle_type h) const
 Is handle greater than? More...
 
bool operator!= (handle_type h) const
 Is handle not equal to? More...
 
bool operator== (handle_type h) const
 Is handle equal to? More...
 
void attach (handle_type h) noexcept
 Sets a new object handle for the class. More...
 
handle_type detach ()
 Dismisses the object handle from this class. More...
 
+void free ()
 Destroys the object.
 
+ + + + + + + +

+Public Attributes

+PCWSTR pServiceName
 
PCWSTR const ADDRINFOW * pHints
 
+else return false
 
+ + + + + + + +

+Protected Member Functions

void free_internal () noexcept override
 Frees address information. More...
 
virtual void free_internal () noexcept=0
 Abstract member function that must be implemented by child classes to do the actual object destruction. More...
 
+ + + + + + + + + + + + + +

+Additional Inherited Members

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

Detailed Description

+

SID wrapper class.

+

Constructor & Destructor Documentation

+ +

◆ ~waddrinfo()

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

Frees address information.

+
See also
FreeAddrInfoW function
+ +
+
+

Member Function Documentation

+ +

◆ __declspec()

+ +
+
+ + + + + + + + +
winstd::waddrinfo::__declspec (deprecated("Use GetAddrInfoW") )
+
+ +

Provides protocol-independent translation from a host name to an address.

+
See also
GetAddrInfoW function
+ +
+
+ +

◆ free_internal()

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

Frees address information.

+
See also
FreeAddrInfoW function
+ +

Implements winstd::handle< PADDRINFOW, NULL >.

+ +
+
+

Member Data Documentation

+ +

◆ pHints

+ +
+
+ + + + +
PCWSTR const ADDRINFOW* winstd::waddrinfo::pHints
+
+Initial value:
{
+ +
PADDRINFOW handle_type
Datatype of the object handle this template class handles.
Definition: Common.h:608
+
+
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classwinstd_1_1waddrinfo.png b/classwinstd_1_1waddrinfo.png new file mode 100644 index 00000000..ea41a8e5 Binary files /dev/null and b/classwinstd_1_1waddrinfo.png differ diff --git a/classwinstd_1_1win__handle-members.html b/classwinstd_1_1win__handle-members.html index d02debaa..82f3a1a5 100644 --- a/classwinstd_1_1win__handle-members.html +++ b/classwinstd_1_1win__handle-members.html @@ -100,7 +100,7 @@ $(function() { diff --git a/classwinstd_1_1win__handle.html b/classwinstd_1_1win__handle.html index 839e2997..30823af1 100644 --- a/classwinstd_1_1win__handle.html +++ b/classwinstd_1_1win__handle.html @@ -255,7 +255,7 @@ template<HANDLE INVALID> diff --git a/classwinstd_1_1win__runtime__error-members.html b/classwinstd_1_1win__runtime__error-members.html index 3513dc4b..43bc5ca3 100644 --- a/classwinstd_1_1win__runtime__error-members.html +++ b/classwinstd_1_1win__runtime__error-members.html @@ -86,7 +86,7 @@ $(function() { diff --git a/classwinstd_1_1win__runtime__error.html b/classwinstd_1_1win__runtime__error.html index b19103b7..8370f514 100644 --- a/classwinstd_1_1win__runtime__error.html +++ b/classwinstd_1_1win__runtime__error.html @@ -328,7 +328,7 @@ typedef DWORD error_type diff --git a/classwinstd_1_1window__dc-members.html b/classwinstd_1_1window__dc-members.html index f2d07ef8..201c8af9 100644 --- a/classwinstd_1_1window__dc-members.html +++ b/classwinstd_1_1window__dc-members.html @@ -105,7 +105,7 @@ $(function() { diff --git a/classwinstd_1_1window__dc.html b/classwinstd_1_1window__dc.html index 05ebad08..7d09b071 100644 --- a/classwinstd_1_1window__dc.html +++ b/classwinstd_1_1window__dc.html @@ -274,7 +274,7 @@ static const HDC invalid diff --git a/classwinstd_1_1wintrust-members.html b/classwinstd_1_1wintrust-members.html index 16eae2cd..dd08363c 100644 --- a/classwinstd_1_1wintrust-members.html +++ b/classwinstd_1_1wintrust-members.html @@ -78,7 +78,7 @@ $(function() { diff --git a/classwinstd_1_1wintrust.html b/classwinstd_1_1wintrust.html index c0a2202d..0ba41aa7 100644 --- a/classwinstd_1_1wintrust.html +++ b/classwinstd_1_1wintrust.html @@ -98,7 +98,7 @@ virtual ~wintrust () diff --git a/classwinstd_1_1wlan__handle-members.html b/classwinstd_1_1wlan__handle-members.html index ab30df71..334b6d43 100644 --- a/classwinstd_1_1wlan__handle-members.html +++ b/classwinstd_1_1wlan__handle-members.html @@ -73,35 +73,40 @@ $(function() {

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

- - + + + + + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + +
attach(handle_type h) noexceptwinstd::handle< HANDLE, NULL >inline
detach()winstd::handle< HANDLE, NULL >inline
__declspec(deprecated("Use WlanOpenHandle - mind it returns error number rather than SetLastError")) bool open(DWORD dwClientVersionwinstd::wlan_handle
attach(handle_type h) noexceptwinstd::handle< HANDLE, NULL >inline
detach()winstd::handle< HANDLE, NULL >inline
dwResult (defined in winstd::wlan_handle)winstd::wlan_handle
else (defined in winstd::wlan_handle)winstd::wlan_handle
false (defined in winstd::wlan_handle)winstd::wlan_handle
free()winstd::handle< HANDLE, NULL >inline
free_internal() noexcept overridewinstd::wlan_handleinlineprotectedvirtual
handle() noexceptwinstd::handle< HANDLE, NULL >inline
handle(handle_type h) noexceptwinstd::handle< HANDLE, NULL >inline
handle(handle< handle_type, INVAL > &&h) noexceptwinstd::handle< HANDLE, NULL >inline
handle_type typedefwinstd::handle< HANDLE, NULL >
invalidwinstd::handle< HANDLE, NULL >static
m_hwinstd::handle< HANDLE, NULL >protected
open(DWORD dwClientVersion, PDWORD pdwNegotiatedVersion) noexceptwinstd::wlan_handleinline
operator handle_type() constwinstd::handle< HANDLE, NULL >inline
operator!() constwinstd::handle< HANDLE, NULL >inline
operator!=(handle_type h) constwinstd::handle< HANDLE, NULL >inline
operator&()winstd::handle< HANDLE, NULL >inline
operator*() constwinstd::handle< HANDLE, NULL >inline
operator->() constwinstd::handle< HANDLE, NULL >inline
operator<(handle_type h) constwinstd::handle< HANDLE, NULL >inline
operator<=(handle_type h) constwinstd::handle< HANDLE, NULL >inline
operator=(handle_type h) noexceptwinstd::handle< HANDLE, NULL >inline
operator=(handle< handle_type, INVAL > &&h) noexceptwinstd::handle< HANDLE, NULL >inline
operator==(handle_type h) constwinstd::handle< HANDLE, NULL >inline
operator>(handle_type h) constwinstd::handle< HANDLE, NULL >inline
operator>=(handle_type h) constwinstd::handle< HANDLE, NULL >inline
~wlan_handle()winstd::wlan_handleinlinevirtual
if(dwResult==ERROR_SUCCESS) (defined in winstd::wlan_handle)winstd::wlan_handleinline
invalidwinstd::handle< HANDLE, NULL >static
m_hwinstd::handle< HANDLE, NULL >protected
noexcept (defined in winstd::wlan_handle)winstd::wlan_handle
operator handle_type() constwinstd::handle< HANDLE, NULL >inline
operator!() constwinstd::handle< HANDLE, NULL >inline
operator!=(handle_type h) constwinstd::handle< HANDLE, NULL >inline
operator&()winstd::handle< HANDLE, NULL >inline
operator*() constwinstd::handle< HANDLE, NULL >inline
operator->() constwinstd::handle< HANDLE, NULL >inline
operator<(handle_type h) constwinstd::handle< HANDLE, NULL >inline
operator<=(handle_type h) constwinstd::handle< HANDLE, NULL >inline
operator=(handle_type h) noexceptwinstd::handle< HANDLE, NULL >inline
operator=(handle< handle_type, INVAL > &&h) noexceptwinstd::handle< HANDLE, NULL >inline
operator==(handle_type h) constwinstd::handle< HANDLE, NULL >inline
operator>(handle_type h) constwinstd::handle< HANDLE, NULL >inline
operator>=(handle_type h) constwinstd::handle< HANDLE, NULL >inline
~wlan_handle()winstd::wlan_handleinlinevirtual
diff --git a/classwinstd_1_1wlan__handle.html b/classwinstd_1_1wlan__handle.html index 2e2b99b7..081fe162 100644 --- a/classwinstd_1_1wlan__handle.html +++ b/classwinstd_1_1wlan__handle.html @@ -69,6 +69,7 @@ $(function() {
winstd::wlan_handle Class Reference
@@ -94,9 +95,12 @@ Public Member Functions virtual ~wlan_handle ()  Closes a connection to the server. More...
  -bool open (DWORD dwClientVersion, PDWORD pdwNegotiatedVersion) noexcept - Opens a connection to the server. More...
-  + __declspec (deprecated("Use WlanOpenHandle - mind it returns error number rather than SetLastError")) bool open(DWORD dwClientVersion + Opens a connection to the server. More...
+  +if (dwResult==ERROR_SUCCESS) +  - Public Member Functions inherited from winstd::handle< HANDLE, NULL >  handle () noexcept @@ -158,6 +162,19 @@ void free ()  Destroys the object.
  + + + + + + + + + +

+Public Attributes

PDWORD pdwNegotiatedVersion noexcept
 
+const DWORD dwResult = WlanOpenHandle(dwClientVersion, 0, pdwNegotiatedVersion, &h)
 
 else
 
+return false
 
@@ -217,6 +234,32 @@ static const HANDLE 

Protected Member Functions

void free_internal () noexcept override
invali

Member Function Documentation

+ +

◆ __declspec()

+ +
+
+ + + + + + + + +
winstd::wlan_handle::__declspec (deprecated("Use WlanOpenHandle - mind it returns error number rather than SetLastError") )
+
+ +

Opens a connection to the server.

+
See also
WlanOpenHandle function
+
Returns
    +
  • true when succeeds;
  • +
  • false when fails. Use GetLastError() for failure reason.
  • +
+
+ +
+

◆ free_internal()

@@ -247,48 +290,38 @@ static const HANDLE 
invali - -

◆ open()

+

Member Data Documentation

+ +

◆ else

- - - - - -
- - - - - - - - - - - - - - - +
bool winstd::wlan_handle::open (DWORD dwClientVersion,
PDWORD pdwNegotiatedVersion 
)winstd::wlan_handle::else
-
-inlinenoexcept
+Initial value:
{
+
SetLastError(dwResult)
+
+
+
+ +

◆ noexcept

-

Opens a connection to the server.

-
See also
WlanOpenHandle function
-
Returns
    -
  • true when succeeds;
  • -
  • false when fails. Use GetLastError() for failure reason.
  • -
-
- +
+
+ + + + +
PDWORD pdwNegotiatedVersion winstd::wlan_handle::noexcept
+
+Initial value:
{
+ +
HANDLE handle_type
Datatype of the object handle this template class handles.
Definition: Common.h:608
+

The documentation for this class was generated from the following file:
    @@ -297,7 +330,7 @@ static const HANDLE 
invali diff --git a/classwinstd_1_1ws2__runtime__error-members.html b/classwinstd_1_1ws2__runtime__error-members.html index 35ba6c5e..0846bc41 100644 --- a/classwinstd_1_1ws2__runtime__error-members.html +++ b/classwinstd_1_1ws2__runtime__error-members.html @@ -86,7 +86,7 @@ $(function() {
diff --git a/classwinstd_1_1ws2__runtime__error.html b/classwinstd_1_1ws2__runtime__error.html index d54175c9..50a58d28 100644 --- a/classwinstd_1_1ws2__runtime__error.html +++ b/classwinstd_1_1ws2__runtime__error.html @@ -327,7 +327,7 @@ typedef int error_type diff --git a/classwinstd_1_1wstring__guid-members.html b/classwinstd_1_1wstring__guid-members.html index f62617dc..6cdea08b 100644 --- a/classwinstd_1_1wstring__guid-members.html +++ b/classwinstd_1_1wstring__guid-members.html @@ -78,7 +78,7 @@ $(function() { diff --git a/classwinstd_1_1wstring__guid.html b/classwinstd_1_1wstring__guid.html index 597eb5f0..fdb2a84a 100644 --- a/classwinstd_1_1wstring__guid.html +++ b/classwinstd_1_1wstring__guid.html @@ -141,7 +141,7 @@ Public Member Functions diff --git a/dir_6f50bb204833d887b928571856c82fbe.html b/dir_6f50bb204833d887b928571856c82fbe.html index 555c22e1..e5301469 100644 --- a/dir_6f50bb204833d887b928571856c82fbe.html +++ b/dir_6f50bb204833d887b928571856c82fbe.html @@ -107,7 +107,7 @@ Files diff --git a/dir_d44c64559bbebec7f509842c48db8b23.html b/dir_d44c64559bbebec7f509842c48db8b23.html index 728119c6..623c0419 100644 --- a/dir_d44c64559bbebec7f509842c48db8b23.html +++ b/dir_d44c64559bbebec7f509842c48db8b23.html @@ -79,7 +79,7 @@ Directories diff --git a/files.html b/files.html index 9f4a69ef..5d9f1fbf 100644 --- a/files.html +++ b/files.html @@ -90,7 +90,7 @@ $(function() { diff --git a/functions.html b/functions.html index ce25d694..8e587e38 100644 --- a/functions.html +++ b/functions.html @@ -66,13 +66,14 @@ $(function() {
Here is a list of all documented class members with links to the class documentation for each member:

- _ -

diff --git a/functions_a.html b/functions_a.html index bf6edb0d..8b80519c 100644 --- a/functions_a.html +++ b/functions_a.html @@ -76,7 +76,7 @@ $(function() { diff --git a/functions_b.html b/functions_b.html index 96e19c28..d9269ef1 100644 --- a/functions_b.html +++ b/functions_b.html @@ -74,7 +74,7 @@ $(function() { diff --git a/functions_c.html b/functions_c.html index c52fedf4..eedd6b64 100644 --- a/functions_c.html +++ b/functions_c.html @@ -68,14 +68,13 @@ $(function() {

- c -

diff --git a/functions_e.html b/functions_e.html index 465118c4..f57e31bd 100644 --- a/functions_e.html +++ b/functions_e.html @@ -88,7 +88,7 @@ $(function() { diff --git a/functions_f.html b/functions_f.html index 22e7411d..2f79841b 100644 --- a/functions_f.html +++ b/functions_f.html @@ -66,14 +66,13 @@ $(function() {
Here is a list of all documented class members with links to the class documentation for each member:

- f -

diff --git a/functions_func.html b/functions_func.html index 8f21e6f3..54a0405f 100644 --- a/functions_func.html +++ b/functions_func.html @@ -65,18 +65,13 @@ $(function() { diff --git a/functions_func_g.html b/functions_func_a.html similarity index 65% rename from functions_func_g.html rename to functions_func_a.html index 644ce020..467fda61 100644 --- a/functions_func_g.html +++ b/functions_func_a.html @@ -65,14 +65,18 @@ $(function() {
  -

- g -

diff --git a/functions_func_b.html b/functions_func_b.html index 7655a1dd..26138de4 100644 --- a/functions_func_b.html +++ b/functions_func_b.html @@ -74,7 +74,7 @@ $(function() { diff --git a/functions_func_c.html b/functions_func_c.html index 3c961fec..e607db5b 100644 --- a/functions_func_c.html +++ b/functions_func_c.html @@ -68,12 +68,11 @@ $(function() {

- c -

diff --git a/functions_func_e.html b/functions_func_e.html index 234ef948..5ebeba30 100644 --- a/functions_func_e.html +++ b/functions_func_e.html @@ -87,7 +87,7 @@ $(function() { diff --git a/functions_func_f.html b/functions_func_f.html index f61360f6..8203a775 100644 --- a/functions_func_f.html +++ b/functions_func_f.html @@ -66,14 +66,13 @@ $(function() {  

- f -

diff --git a/functions_func_h.html b/functions_func_h.html index 9a36cab8..4b59a250 100644 --- a/functions_func_h.html +++ b/functions_func_h.html @@ -73,7 +73,7 @@ $(function() { diff --git a/functions_func_i.html b/functions_func_i.html index 29672480..d7ed9fa6 100644 --- a/functions_func_i.html +++ b/functions_func_i.html @@ -66,14 +66,12 @@ $(function() {  

- i -

diff --git a/functions_func_l.html b/functions_func_l.html index 87ba0062..ec385830 100644 --- a/functions_func_l.html +++ b/functions_func_l.html @@ -67,13 +67,12 @@ $(function() {

- l -

diff --git a/functions_func_m.html b/functions_func_m.html index cb14a005..fe405fb7 100644 --- a/functions_func_m.html +++ b/functions_func_m.html @@ -72,7 +72,7 @@ $(function() { diff --git a/functions_func_n.html b/functions_func_n.html index 8b46e8df..7b64e733 100644 --- a/functions_func_n.html +++ b/functions_func_n.html @@ -73,7 +73,7 @@ $(function() { diff --git a/functions_func_o.html b/functions_func_o.html index 9eb36788..9e622c79 100644 --- a/functions_func_o.html +++ b/functions_func_o.html @@ -66,7 +66,6 @@ $(function() {  

- o -

    -
  • open() : winstd::event, winstd::event_log, winstd::process, winstd::reg_key, winstd::wlan_handle
  • operator const EVENT_TRACE_PROPERTIES *() : winstd::event_session
  • operator handle_type() : winstd::handle< T, INVAL >
  • operator LPCRITICAL_SECTION() : winstd::critical_section
  • @@ -75,12 +74,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::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::ref_unique_ptr< _Ty[], _Dx >, winstd::sec_context, winstd::sec_credentials, 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::ref_unique_ptr< _Ty[], _Dx >, winstd::sec_context, winstd::sec_credentials, 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
  • @@ -88,7 +87,7 @@ $(function() { diff --git a/functions_func_p.html b/functions_func_p.html index 8d0fa3bd..0731d48c 100644 --- a/functions_func_p.html +++ b/functions_func_p.html @@ -72,7 +72,7 @@ $(function() { diff --git a/functions_func_q.html b/functions_func_q.html deleted file mode 100644 index 80e5bdaa..00000000 --- a/functions_func_q.html +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - - -WinStd: Class Members - Functions - - - - - - - - - -
    -
    - - - - - - -
    -
    WinStd -
    -
    Additional templates and function helpers for Microsoft Windows using Standard C++ classes
    -
    -
    - - - - - - - -
    - -
    -
    - - -
    - -
    - -
    -  - -

    - q -

    -
    - - - - diff --git a/functions_func_r.html b/functions_func_r.html index 3075a00d..14c870ce 100644 --- a/functions_func_r.html +++ b/functions_func_r.html @@ -76,7 +76,7 @@ $(function() { diff --git a/functions_func_s.html b/functions_func_s.html index 5f3fa931..dbb661c5 100644 --- a/functions_func_s.html +++ b/functions_func_s.html @@ -84,7 +84,7 @@ $(function() { diff --git a/functions_func_t.html b/functions_func_t.html index 78e87924..9d2213d3 100644 --- a/functions_func_t.html +++ b/functions_func_t.html @@ -71,7 +71,7 @@ $(function() { diff --git a/functions_func_u.html b/functions_func_u.html index d87486c8..71d1ea88 100644 --- a/functions_func_u.html +++ b/functions_func_u.html @@ -72,7 +72,7 @@ $(function() { diff --git a/functions_func_v.html b/functions_func_v.html index a9120e83..d7c01553 100644 --- a/functions_func_v.html +++ b/functions_func_v.html @@ -72,7 +72,7 @@ $(function() { diff --git a/functions_func_w.html b/functions_func_w.html index d415c36e..de30affe 100644 --- a/functions_func_w.html +++ b/functions_func_w.html @@ -77,7 +77,7 @@ $(function() { diff --git a/functions_func_~.html b/functions_func_~.html index c5bb96bf..1ece9b12 100644 --- a/functions_func_~.html +++ b/functions_func_~.html @@ -73,7 +73,6 @@ $(function() {
  • ~cert_context() : winstd::cert_context
  • ~cert_store() : winstd::cert_store
  • ~com_initializer() : winstd::com_initializer
  • -
  • ~com_obj() : winstd::com_obj< T >
  • ~console_ctrl_handler() : winstd::console_ctrl_handler
  • ~critical_section() : winstd::critical_section
  • ~crypt_hash() : winstd::crypt_hash
  • @@ -110,6 +109,7 @@ $(function() {
  • ~user_impersonator() : winstd::user_impersonator
  • ~variant() : winstd::variant
  • ~vmemory() : winstd::vmemory
  • +
  • ~waddrinfo() : winstd::waddrinfo
  • ~win_handle() : winstd::win_handle< INVALID >
  • ~window_dc() : winstd::window_dc
  • ~wintrust() : winstd::wintrust
  • @@ -118,7 +118,7 @@ $(function() { diff --git a/functions_g.html b/functions_g.html deleted file mode 100644 index 125815ce..00000000 --- a/functions_g.html +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - - -WinStd: Class Members - - - - - - - - - -
    -
    - - - - - - -
    -
    WinStd -
    -
    Additional templates and function helpers for Microsoft Windows using Standard C++ classes
    -
    -
    - - - - - - - -
    - -
    -
    - - -
    - -
    - -
    -
    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 966097f3..1703cb68 100644 --- a/functions_h.html +++ b/functions_h.html @@ -74,7 +74,7 @@ $(function() { diff --git a/functions_i.html b/functions_i.html index f0e18172..6e85bcec 100644 --- a/functions_i.html +++ b/functions_i.html @@ -66,15 +66,13 @@ $(function() {
    Here is a list of all documented class members with links to the class documentation for each member:

    - i -

    diff --git a/functions_l.html b/functions_l.html index f5151326..c71e9564 100644 --- a/functions_l.html +++ b/functions_l.html @@ -67,13 +67,12 @@ $(function() {

    - l -

    diff --git a/functions_m.html b/functions_m.html index 717a3be8..5bddd657 100644 --- a/functions_m.html +++ b/functions_m.html @@ -108,7 +108,7 @@ $(function() { diff --git a/functions_n.html b/functions_n.html index 7f4c87c7..e9d3908e 100644 --- a/functions_n.html +++ b/functions_n.html @@ -73,7 +73,7 @@ $(function() { diff --git a/functions_o.html b/functions_o.html index 9efd8df4..9131bce3 100644 --- a/functions_o.html +++ b/functions_o.html @@ -66,7 +66,6 @@ $(function() {
    Here is a list of all documented class members with links to the class documentation for each member:

    - o -

      -
    • open() : winstd::event, winstd::event_log, winstd::process, winstd::reg_key, winstd::wlan_handle
    • operator const EVENT_TRACE_PROPERTIES *() : winstd::event_session
    • operator handle_type() : winstd::handle< T, INVAL >
    • operator LPCRITICAL_SECTION() : winstd::critical_section
    • @@ -75,12 +74,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::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::ref_unique_ptr< _Ty[], _Dx >, winstd::sec_context, winstd::sec_credentials, 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::ref_unique_ptr< _Ty[], _Dx >, winstd::sec_context, winstd::sec_credentials, 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
    • @@ -89,7 +88,7 @@ $(function() { diff --git a/functions_p.html b/functions_p.html index 590db8e0..5af8a68d 100644 --- a/functions_p.html +++ b/functions_p.html @@ -73,7 +73,7 @@ $(function() { diff --git a/functions_q.html b/functions_q.html deleted file mode 100644 index 70f8e1c1..00000000 --- a/functions_q.html +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - - -WinStd: Class Members - - - - - - - - - -
      -
      - - - - - - -
      -
      WinStd -
      -
      Additional templates and function helpers for Microsoft Windows using Standard C++ classes
      -
      -
      - - - - - - - -
      - -
      -
      - - -
      - -
      - -
      -
      Here is a list of all documented class members with links to the class documentation for each member:
      - -

      - q -

      -
      - - - - diff --git a/functions_r.html b/functions_r.html index 372213cc..a0289d4d 100644 --- a/functions_r.html +++ b/functions_r.html @@ -77,7 +77,7 @@ $(function() { diff --git a/functions_s.html b/functions_s.html index d9222fcb..bec31430 100644 --- a/functions_s.html +++ b/functions_s.html @@ -85,7 +85,7 @@ $(function() { diff --git a/functions_t.html b/functions_t.html index 613ed3ec..dbc45130 100644 --- a/functions_t.html +++ b/functions_t.html @@ -71,7 +71,7 @@ $(function() { diff --git a/functions_type.html b/functions_type.html index bf956db8..eb3f51dc 100644 --- a/functions_type.html +++ b/functions_type.html @@ -80,7 +80,7 @@ $(function() { diff --git a/functions_u.html b/functions_u.html index 27924d84..71c89c7d 100644 --- a/functions_u.html +++ b/functions_u.html @@ -72,7 +72,7 @@ $(function() { diff --git a/functions_v.html b/functions_v.html index c262fbec..c9700c55 100644 --- a/functions_v.html +++ b/functions_v.html @@ -73,7 +73,7 @@ $(function() { diff --git a/functions_vars.html b/functions_vars.html index d61a3305..fa5ba1d4 100644 --- a/functions_vars.html +++ b/functions_vars.html @@ -111,7 +111,7 @@ $(function() { diff --git a/functions_w.html b/functions_w.html index 8b4221b0..b50a14d6 100644 --- a/functions_w.html +++ b/functions_w.html @@ -77,7 +77,7 @@ $(function() { diff --git a/functions_~.html b/functions_~.html index 362c6f48..fede4e20 100644 --- a/functions_~.html +++ b/functions_~.html @@ -73,7 +73,6 @@ $(function() {
    • ~cert_context() : winstd::cert_context
    • ~cert_store() : winstd::cert_store
    • ~com_initializer() : winstd::com_initializer
    • -
    • ~com_obj() : winstd::com_obj< T >
    • ~console_ctrl_handler() : winstd::console_ctrl_handler
    • ~critical_section() : winstd::critical_section
    • ~crypt_hash() : winstd::crypt_hash
    • @@ -110,6 +109,7 @@ $(function() {
    • ~user_impersonator() : winstd::user_impersonator
    • ~variant() : winstd::variant
    • ~vmemory() : winstd::vmemory
    • +
    • ~waddrinfo() : winstd::waddrinfo
    • ~win_handle() : winstd::win_handle< INVALID >
    • ~window_dc() : winstd::window_dc
    • ~wintrust() : winstd::wintrust
    • @@ -118,7 +118,7 @@ $(function() { diff --git a/group___setup_a_p_i.html b/group___setup_a_p_i.html index 37206635..14255bae 100644 --- a/group___setup_a_p_i.html +++ b/group___setup_a_p_i.html @@ -86,7 +86,7 @@ Classes diff --git a/group___win_sock2_a_p_i.html b/group___win_sock2_a_p_i.html index 140822b8..f2f430ed 100644 --- a/group___win_sock2_a_p_i.html +++ b/group___win_sock2_a_p_i.html @@ -64,7 +64,8 @@ $(function() {
      WinSock2 API
      @@ -80,13 +81,23 @@ Classes class  winstd::addrinfo  SID wrapper class. More...
        +class  winstd::waddrinfo + SID wrapper class. More...
      +  + + + + +

      +Typedefs

      +typedef addrinfo winstd::taddrinfo
       Multi-byte / Wide-character SID wrapper class (according to _UNICODE)
       

      Detailed Description

      Integrates WinStd classes with Microsoft WinSock2 API.

      diff --git a/group___win_std_c_o_m.html b/group___win_std_c_o_m.html index caa5ee48..3626c417 100644 --- a/group___win_std_c_o_m.html +++ b/group___win_std_c_o_m.html @@ -95,7 +95,7 @@ Classes diff --git a/group___win_std_cred_a_p_i.html b/group___win_std_cred_a_p_i.html index dd1022c1..5ac2a16e 100644 --- a/group___win_std_cred_a_p_i.html +++ b/group___win_std_cred_a_p_i.html @@ -86,7 +86,7 @@ Classes diff --git a/group___win_std_crypto_a_p_i.html b/group___win_std_crypto_a_p_i.html index c4234879..a8b5087b 100644 --- a/group___win_std_crypto_a_p_i.html +++ b/group___win_std_crypto_a_p_i.html @@ -101,7 +101,7 @@ Classes 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 e6f4c95b..d7e9fb38 100644 --- a/group___win_std_e_a_p_a_p_i.html +++ b/group___win_std_e_a_p_a_p_i.html @@ -222,7 +222,7 @@ Enumerations 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 314cd369..687766ac 100644 --- a/group___win_std_e_t_w_a_p_i.html +++ b/group___win_std_e_t_w_a_p_i.html @@ -104,7 +104,7 @@ Classes diff --git a/group___win_std_exceptions.html b/group___win_std_exceptions.html index 3779ddfd..df603a84 100644 --- a/group___win_std_exceptions.html +++ b/group___win_std_exceptions.html @@ -95,7 +95,7 @@ Classes diff --git a/group___win_std_gdi_a_p_i.html b/group___win_std_gdi_a_p_i.html index 7c7d7e56..37f907fc 100644 --- a/group___win_std_gdi_a_p_i.html +++ b/group___win_std_gdi_a_p_i.html @@ -92,7 +92,7 @@ Classes diff --git a/group___win_std_general.html b/group___win_std_general.html index 8e615b3c..72d56f2e 100644 --- a/group___win_std_general.html +++ b/group___win_std_general.html @@ -281,7 +281,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 d4cfba8b..40524ccf 100644 --- a/group___win_std_m_s_i_a_p_i.html +++ b/group___win_std_m_s_i_a_p_i.html @@ -74,7 +74,7 @@ $(function() { diff --git a/group___win_std_mem_sanitize.html b/group___win_std_mem_sanitize.html index bf1a07bc..012b7b03 100644 --- a/group___win_std_mem_sanitize.html +++ b/group___win_std_mem_sanitize.html @@ -135,7 +135,7 @@ typedef diff --git a/group___win_std_security_a_p_i.html b/group___win_std_security_a_p_i.html index 67a1d006..a611d21b 100644 --- a/group___win_std_security_a_p_i.html +++ b/group___win_std_security_a_p_i.html @@ -89,7 +89,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 84bc5fa0..1e0ac39e 100644 --- a/group___win_std_shell_w_a_p_i.html +++ b/group___win_std_shell_w_a_p_i.html @@ -74,7 +74,7 @@ $(function() { diff --git a/group___win_std_str_format.html b/group___win_std_str_format.html index 20ba2761..e08a04c6 100644 --- a/group___win_std_str_format.html +++ b/group___win_std_str_format.html @@ -177,7 +177,7 @@ typedef string_guid diff --git a/group___win_std_sys_handles.html b/group___win_std_sys_handles.html index 53e894a7..b31574e9 100644 --- a/group___win_std_sys_handles.html +++ b/group___win_std_sys_handles.html @@ -181,7 +181,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 eba0f3f3..808fbcc0 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 @@ -89,7 +89,7 @@ Classes diff --git a/group___win_std_win_a_p_i.html b/group___win_std_win_a_p_i.html index 745e20d7..015c6620 100644 --- a/group___win_std_win_a_p_i.html +++ b/group___win_std_win_a_p_i.html @@ -138,6 +138,9 @@ Classes + + + @@ -198,12 +201,49 @@ Macros + + + +

      ◆ WINSTD_WINHANDLE_IMPL

      + +
      +
      +

      Macros

      #define WINSTD_WINHANDLE_IMPL(C, INVAL)
       Implements default constructors and operators to prevent their auto-generation by compiler. More...
       
      #define GuidToString   GuidToStringA
       Formats GUID and stores it in a std::wstring string. More...
       
      + + + + + + + + + + + + + + + + + +
      #define WINSTD_WINHANDLE_IMPL( C,
       INVAL 
      )
      +
      +Value:
      public: \
      +
      C ( ) noexcept { } \
      +
      C (_In_opt_ handle_type h) noexcept : win_handle<INVAL>( h ) { } \
      +
      C (_Inout_ C &&h) noexcept : win_handle<INVAL>(std::move(h)) { } \
      +
      C& operator=(_In_opt_ handle_type h) noexcept { win_handle<INVAL>::operator=( h ); return *this; } \
      +
      C& operator=(_Inout_ C &&h) noexcept { win_handle<INVAL>::operator=(std::move(h)); return *this; } \
      +
      WINSTD_NONCOPYABLE(C)
      +
      +

      Implements default constructors and operators to prevent their auto-generation by compiler.

      +
      diff --git a/group___win_trust_a_p_i.html b/group___win_trust_a_p_i.html index ec715aa8..be23e65c 100644 --- a/group___win_trust_a_p_i.html +++ b/group___win_trust_a_p_i.html @@ -83,7 +83,7 @@ Classes diff --git a/hierarchy.html b/hierarchy.html index be928a8e..84f9271b 100644 --- a/hierarchy.html +++ b/hierarchy.html @@ -148,69 +148,71 @@ $(function() {  Cwinstd::libraryModule handle wrapper  Cwinstd::handle< LPVOID, NULL >  Cwinstd::vmemoryMemory in virtual address space of a process handle wrapper - Cwinstd::handle< PADDRINFOT, NULL > + Cwinstd::handle< PADDRINFOA, NULL >  Cwinstd::addrinfoSID wrapper class - Cwinstd::handle< PCCERT_CHAIN_CONTEXT, INVAL > - Cwinstd::dplhandle< PCCERT_CHAIN_CONTEXT, NULL > - Cwinstd::cert_chain_contextPCCERT_CHAIN_CONTEXT wrapper class - Cwinstd::handle< PCCERT_CONTEXT, INVAL > - Cwinstd::dplhandle< PCCERT_CONTEXT, NULL > - Cwinstd::cert_contextPCCERT_CONTEXT wrapper class - 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< T *, INVAL > - Cwinstd::dplhandle< T *, NULL > - Cwinstd::com_obj< T >COM object wrapper template - 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::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 - 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 - Cwinstd::user_impersonatorLets the calling thread impersonate the security context of a logged-on user - 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::handle< PADDRINFOW, NULL > + Cwinstd::waddrinfoSID wrapper class + Cwinstd::handle< PCCERT_CHAIN_CONTEXT, INVAL > + Cwinstd::dplhandle< PCCERT_CHAIN_CONTEXT, NULL > + Cwinstd::cert_chain_contextPCCERT_CHAIN_CONTEXT wrapper class + Cwinstd::handle< PCCERT_CONTEXT, INVAL > + Cwinstd::dplhandle< PCCERT_CONTEXT, NULL > + Cwinstd::cert_contextPCCERT_CONTEXT wrapper class + 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< T *, INVAL > + Cwinstd::dplhandle< T *, NULL > + Cwinstd::com_obj< T >COM object wrapper template + 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::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 + 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 + Cwinstd::user_impersonatorLets the calling thread impersonate the security context of a logged-on user + 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 00d91575..2163c720 100644 --- a/index.html +++ b/index.html @@ -134,7 +134,7 @@ Usage diff --git a/menudata.js b/menudata.js index 94d6f4bc..06c6c2ff 100644 --- a/menudata.js +++ b/menudata.js @@ -38,7 +38,6 @@ 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"}, @@ -46,7 +45,6 @@ var menudata={children:[ {text:"n",url:"functions_n.html#index_n"}, {text:"o",url:"functions_o.html#index_o"}, {text:"p",url:"functions_p.html#index_p"}, -{text:"q",url:"functions_q.html#index_q"}, {text:"r",url:"functions_r.html#index_r"}, {text:"s",url:"functions_s.html#index_s"}, {text:"t",url:"functions_t.html#index_t"}, @@ -55,13 +53,13 @@ var menudata={children:[ {text:"w",url:"functions_w.html#index_w"}, {text:"~",url:"functions_~.html#index__7E"}]}, {text:"Functions",url:"functions_func.html",children:[ -{text:"a",url:"functions_func.html#index_a"}, +{text:"_",url:"functions_func.html#index__5F"}, +{text:"a",url:"functions_func_a.html#index_a"}, {text:"b",url:"functions_func_b.html#index_b"}, {text:"c",url:"functions_func_c.html#index_c"}, {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"}, @@ -69,7 +67,6 @@ var menudata={children:[ {text:"n",url:"functions_func_n.html#index_n"}, {text:"o",url:"functions_func_o.html#index_o"}, {text:"p",url:"functions_func_p.html#index_p"}, -{text:"q",url:"functions_func_q.html#index_q"}, {text:"r",url:"functions_func_r.html#index_r"}, {text:"s",url:"functions_func_s.html#index_s"}, {text:"t",url:"functions_func_t.html#index_t"}, diff --git a/modules.html b/modules.html index 91ced85f..97111943 100644 --- a/modules.html +++ b/modules.html @@ -92,7 +92,7 @@ $(function() { diff --git a/search/all_0.js b/search/all_0.js index 43663505..3ad2d226 100644 --- a/search/all_0.js +++ b/search/all_0.js @@ -1,11 +1,12 @@ var searchData= [ - ['_5f_5fl_0',['__L',['../group___win_std_general.html#ga2cbff438813b72648c18c8af875f47c9',1,'Common.h']]], - ['_5fl_1',['_L',['../group___win_std_general.html#ga8b08a24569840250e78cb8d510f1324a',1,'Common.h']]], - ['_5fmybase_2',['_Mybase',['../classwinstd_1_1sanitizing__allocator.html#af60051d2fb18f2c2353ffe9bb6a06087',1,'winstd::sanitizing_allocator']]], - ['_5fmyt_3',['_Myt',['../structwinstd_1_1_local_free__delete.html#a1711e7f5b78649499330c8fe8007b3ea',1,'winstd::LocalFree_delete::_Myt()'],['../structwinstd_1_1_local_free__delete_3_01___ty_0f_0e_4.html#a7c9ed5a011c6d31b3189bdf3d212cd0d',1,'winstd::LocalFree_delete< _Ty[]>::_Myt()'],['../structwinstd_1_1_cred_free__delete.html#ab46fe0807ba356084523c04c8c565b53',1,'winstd::CredFree_delete::_Myt()'],['../structwinstd_1_1_cred_free__delete_3_01___ty_0f_0e_4.html#aa735db2daba14212c29b3c5af0e0b0d1',1,'winstd::CredFree_delete< _Ty[]>::_Myt()'],['../structwinstd_1_1_unmap_view_of_file__delete.html#aa38ff5b3a531d1074a7ddd681de563b6',1,'winstd::UnmapViewOfFile_delete::_Myt()'],['../structwinstd_1_1_unmap_view_of_file__delete_3_01___ty_0f_0e_4.html#aabd3d19b0796e7de041f8475f5e4cc6c',1,'winstd::UnmapViewOfFile_delete< _Ty[]>::_Myt()'],['../structwinstd_1_1_wlan_free_memory__delete.html#a92dd05a3becb4a67ad858472eb615668',1,'winstd::WlanFreeMemory_delete::_Myt()'],['../structwinstd_1_1_wlan_free_memory__delete_3_01___ty_0f_0e_4.html#a42bc91dcaea20ff32034ba5482027837',1,'winstd::WlanFreeMemory_delete< _Ty[]>::_Myt()']]], - ['_5ftcerr_4',['_tcerr',['../group___win_std_str_format.html#gad92c7b3354a4cc35a5b9ddd16841a9c0',1,'Common.h']]], - ['_5ftcin_5',['_tcin',['../group___win_std_str_format.html#gadd052e867c5d82d180924da9d0e16798',1,'Common.h']]], - ['_5ftclog_6',['_tclog',['../group___win_std_str_format.html#ga51ea87c84320a64b846a002ab52ac1b8',1,'Common.h']]], - ['_5ftcout_7',['_tcout',['../group___win_std_str_format.html#ga4b7f5dbc77bb5d56afbb217a8dcc8544',1,'Common.h']]] + ['_5f_5fdeclspec_0',['__declspec',['../classwinstd_1_1cert__context.html#ac69666d447dd88f5f4b0e15824200270',1,'winstd::cert_context::__declspec()'],['../classwinstd_1_1wlan__handle.html#ae6c9c7b142cb6434afadb5db61db7334',1,'winstd::wlan_handle::__declspec()'],['../classwinstd_1_1waddrinfo.html#a76c68fdab030ad17fa59b8879657a12e',1,'winstd::waddrinfo::__declspec()'],['../classwinstd_1_1addrinfo.html#ad506b71b76ee837dc727883acfe08ea0',1,'winstd::addrinfo::__declspec()'],['../classwinstd_1_1event__log.html#af1ff6bdf207ba72d1edb26c3a8ed38e6',1,'winstd::event_log::__declspec()'],['../classwinstd_1_1reg__key.html#a2b8468435096a51c239f986adecfaa50',1,'winstd::reg_key::__declspec()'],['../classwinstd_1_1heap.html#a9f05e5c3822be42b2f8b0fb937526bea',1,'winstd::heap::__declspec()'],['../classwinstd_1_1find__file.html#a0101334986c142dfc07aca7a250833be',1,'winstd::find_file::__declspec()'],['../classwinstd_1_1event.html#a5f42085bfce4c8d55a9a84bcf2046dfd',1,'winstd::event::__declspec()'],['../classwinstd_1_1file__mapping.html#a99c10964c6f204bb767d50094c536919',1,'winstd::file_mapping::__declspec()'],['../classwinstd_1_1file.html#a0c704aa90163be2d7deac42f689a45ab',1,'winstd::file::__declspec()'],['../classwinstd_1_1process.html#a9251c042710f7c68c29d9d1243436260',1,'winstd::process::__declspec()'],['../classwinstd_1_1library.html#a68bbfa7f533a9a19f61766f46dbf7a45',1,'winstd::library::__declspec()'],['../classwinstd_1_1setup__device__info__list.html#a32f9ef2a22f02740517f2148f0cbe6eb',1,'winstd::setup_device_info_list::__declspec(deprecated("Use SetupDiCreateDeviceInfoList")) bool create(const GUID *ClassGuid'],['../classwinstd_1_1setup__device__info__list.html#a6716eae1d58e3c5d49ae66cfe4b76063',1,'winstd::setup_device_info_list::__declspec(deprecated("Use SetupDiGetClassDevsEx")) bool create(const GUID *ClassGuid'],['../classwinstd_1_1com__obj.html#a2966e875af3a43084e494b6846f2ecec',1,'winstd::com_obj::__declspec()'],['../classwinstd_1_1cert__chain__context.html#ad9812a21e3b8b02f8f9de905136efdc9',1,'winstd::cert_chain_context::__declspec()'],['../classwinstd_1_1cert__store.html#a4d0a0bb30c7a69aebe4513ca615cecbb',1,'winstd::cert_store::__declspec(deprecated("Use CertOpenStore")) bool create(LPCSTR lpszStoreProvider'],['../classwinstd_1_1cert__store.html#aa40c1231fe12f8c83f4964bfe3784566',1,'winstd::cert_store::__declspec(deprecated("Use CertOpenSystemStore")) bool create(HCRYPTPROV_LEGACY hCryptProv'],['../classwinstd_1_1crypt__prov.html#a50d96dd58c57a08cdf9148f36a1e88d5',1,'winstd::crypt_prov::__declspec()'],['../classwinstd_1_1crypt__hash.html#a16c0895203571182b3a27219401b453d',1,'winstd::crypt_hash::__declspec()'],['../classwinstd_1_1crypt__key.html#a5ef17f3785334f4b71fcb9d261934b5d',1,'winstd::crypt_key::__declspec(deprecated("Use CryptGenKey")) bool generate(HCRYPTPROV hProv'],['../classwinstd_1_1crypt__key.html#af739d250cfd15a210a030ac37b13e097',1,'winstd::crypt_key::__declspec(deprecated("Use CryptImportKey")) bool import(HCRYPTPROV hProv'],['../classwinstd_1_1crypt__key.html#ae858523209565263ded161c0f9db3aec',1,'winstd::crypt_key::__declspec(deprecated("Use CryptImportPublicKeyInfo")) bool import_public(HCRYPTPROV hCryptProv'],['../classwinstd_1_1crypt__key.html#afbca7cf94a63d444438e1883ccfe5ab9',1,'winstd::crypt_key::__declspec(deprecated("Use CryptDeriveKey")) bool derive(HCRYPTPROV hProv'],['../classwinstd_1_1event__trace.html#a861e2a59d1a512f1106205de0aefc986',1,'winstd::event_trace::__declspec()']]], + ['_5f_5fl_1',['__L',['../group___win_std_general.html#ga2cbff438813b72648c18c8af875f47c9',1,'Common.h']]], + ['_5fl_2',['_L',['../group___win_std_general.html#ga8b08a24569840250e78cb8d510f1324a',1,'Common.h']]], + ['_5fmybase_3',['_Mybase',['../classwinstd_1_1sanitizing__allocator.html#af60051d2fb18f2c2353ffe9bb6a06087',1,'winstd::sanitizing_allocator']]], + ['_5fmyt_4',['_Myt',['../structwinstd_1_1_local_free__delete.html#a1711e7f5b78649499330c8fe8007b3ea',1,'winstd::LocalFree_delete::_Myt()'],['../structwinstd_1_1_wlan_free_memory__delete_3_01___ty_0f_0e_4.html#a42bc91dcaea20ff32034ba5482027837',1,'winstd::WlanFreeMemory_delete< _Ty[]>::_Myt()'],['../structwinstd_1_1_wlan_free_memory__delete.html#a92dd05a3becb4a67ad858472eb615668',1,'winstd::WlanFreeMemory_delete::_Myt()'],['../structwinstd_1_1_unmap_view_of_file__delete_3_01___ty_0f_0e_4.html#aabd3d19b0796e7de041f8475f5e4cc6c',1,'winstd::UnmapViewOfFile_delete< _Ty[]>::_Myt()'],['../structwinstd_1_1_unmap_view_of_file__delete.html#aa38ff5b3a531d1074a7ddd681de563b6',1,'winstd::UnmapViewOfFile_delete::_Myt()'],['../structwinstd_1_1_cred_free__delete_3_01___ty_0f_0e_4.html#aa735db2daba14212c29b3c5af0e0b0d1',1,'winstd::CredFree_delete< _Ty[]>::_Myt()'],['../structwinstd_1_1_cred_free__delete.html#ab46fe0807ba356084523c04c8c565b53',1,'winstd::CredFree_delete::_Myt()'],['../structwinstd_1_1_local_free__delete_3_01___ty_0f_0e_4.html#a7c9ed5a011c6d31b3189bdf3d212cd0d',1,'winstd::LocalFree_delete< _Ty[]>::_Myt()']]], + ['_5ftcerr_5',['_tcerr',['../group___win_std_str_format.html#gad92c7b3354a4cc35a5b9ddd16841a9c0',1,'Common.h']]], + ['_5ftcin_6',['_tcin',['../group___win_std_str_format.html#gadd052e867c5d82d180924da9d0e16798',1,'Common.h']]], + ['_5ftclog_7',['_tclog',['../group___win_std_str_format.html#ga51ea87c84320a64b846a002ab52ac1b8',1,'Common.h']]], + ['_5ftcout_8',['_tcout',['../group___win_std_str_format.html#ga4b7f5dbc77bb5d56afbb217a8dcc8544',1,'Common.h']]] ]; diff --git a/search/all_10.js b/search/all_10.js index 89d72eed..e28554ba 100644 --- a/search/all_10.js +++ b/search/all_10.js @@ -1,13 +1,32 @@ var searchData= [ - ['reason_0',['reason',['../classwinstd_1_1eap__runtime__error.html#a3329eb549dce7f57f5a59e3f5a16705c',1,'winstd::eap_runtime_error']]], - ['rebind_1',['rebind',['../structwinstd_1_1heap__allocator_1_1rebind.html',1,'winstd::heap_allocator< _Ty >::rebind< _Other >'],['../structwinstd_1_1sanitizing__allocator_1_1rebind.html',1,'winstd::sanitizing_allocator< _Ty >::rebind< _Other >']]], - ['ref_5funique_5fptr_2',['ref_unique_ptr',['../classwinstd_1_1ref__unique__ptr.html#af092ed7ea1346c7a92b20ae2f6de5577',1,'winstd::ref_unique_ptr::ref_unique_ptr(std::unique_ptr< _Ty, _Dx > &owner)'],['../classwinstd_1_1ref__unique__ptr.html#a755e6f4235fa54330304921ea14b76bc',1,'winstd::ref_unique_ptr::ref_unique_ptr(ref_unique_ptr< _Ty, _Dx > &&other)'],['../classwinstd_1_1ref__unique__ptr_3_01___ty_0f_0e_00_01___dx_01_4.html#a884355151c4c7d65f4ac279966793d5d',1,'winstd::ref_unique_ptr< _Ty[], _Dx >::ref_unique_ptr(std::unique_ptr< _Ty[], _Dx > &owner) noexcept'],['../classwinstd_1_1ref__unique__ptr_3_01___ty_0f_0e_00_01___dx_01_4.html#a2e6a20baa25af8b928d80ccc566e11cc',1,'winstd::ref_unique_ptr< _Ty[], _Dx >::ref_unique_ptr(ref_unique_ptr< _Ty[], _Dx > &&other)'],['../classwinstd_1_1ref__unique__ptr.html',1,'winstd::ref_unique_ptr< _Ty, _Dx >']]], - ['ref_5funique_5fptr_3c_20_5fty_5b_5d_2c_20_5fdx_20_3e_3',['ref_unique_ptr< _Ty[], _Dx >',['../classwinstd_1_1ref__unique__ptr_3_01___ty_0f_0e_00_01___dx_01_4.html',1,'winstd']]], - ['reference_4',['reference',['../classwinstd_1_1heap__allocator.html#a88ed8962cd0d64849119d7a11135b2d0',1,'winstd::heap_allocator']]], - ['reg_5fkey_5',['reg_key',['../classwinstd_1_1reg__key.html',1,'winstd']]], - ['repair_6',['repair',['../classwinstd_1_1eap__runtime__error.html#a981cb9a1cbf0c6e7e19252d776a2558f',1,'winstd::eap_runtime_error']]], - ['repair_5fid_7',['repair_id',['../classwinstd_1_1eap__runtime__error.html#a1e80ead2a4d348ab2c939bfbbaf9330a',1,'winstd::eap_runtime_error']]], - ['root_5fcause_8',['root_cause',['../classwinstd_1_1eap__runtime__error.html#a0aa17a51b2c110e874b60924281a3743',1,'winstd::eap_runtime_error']]], - ['root_5fcause_5fid_9',['root_cause_id',['../classwinstd_1_1eap__runtime__error.html#ae39b6b32c9505c0be2e199d8692175d1',1,'winstd::eap_runtime_error']]] + ['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']]], + ['sec_5fbuffer_5fdesc_5',['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_6',['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_7',['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_8',['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']]], + ['security_20api_9',['Security API',['../group___win_std_security_a_p_i.html',1,'']]], + ['security_5fid_10',['security_id',['../classwinstd_1_1security__id.html',1,'winstd']]], + ['set_5fextended_5fdata_11',['set_extended_data',['../classwinstd_1_1event__rec.html#abfab939c3bb27839c3b591b9a62f9470',1,'winstd::event_rec']]], + ['set_5fextended_5fdata_5finternal_12',['set_extended_data_internal',['../classwinstd_1_1event__rec.html#a0c1c63cc3a3e2f83924aa9f21a298f6c',1,'winstd::event_rec']]], + ['set_5fuser_5fdata_13',['set_user_data',['../classwinstd_1_1event__rec.html#a0df49a47cf45cb76003b85148d7d5098',1,'winstd::event_rec']]], + ['set_5fuser_5fdata_5finternal_14',['set_user_data_internal',['../classwinstd_1_1event__rec.html#af71cc10ff1b9f9935c824b7c7a4130b8',1,'winstd::event_rec']]], + ['setup_20api_15',['Setup API',['../group___setup_a_p_i.html',1,'']]], + ['setup_5fdevice_5finfo_5flist_16',['setup_device_info_list',['../classwinstd_1_1setup__device__info__list.html',1,'winstd']]], + ['setup_5fdriver_5finfo_5flist_5fbuilder_17',['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_18',['Shell API',['../group___win_std_shell_w_a_p_i.html',1,'']]], + ['size_19',['size',['../classwinstd_1_1eap__packet.html#a2534ad15ae47e2d46354d9f535f4031f',1,'winstd::eap_packet::size()'],['../classwinstd_1_1data__blob.html#ab2ad06e271e8503d7158408773054d23',1,'winstd::data_blob::size()']]], + ['size_5ftype_20',['size_type',['../classwinstd_1_1heap__allocator.html#a01815f4f9097b1447c7ddaa2de868f59',1,'winstd::heap_allocator']]], + ['start_21',['start',['../group___win_std_e_a_p_a_p_i.html#gga50f5584ca708165f43cec42c42243315aea2b2676c28c0db26d39331a336c6b92',1,'winstd']]], + ['status_22',['status',['../classwinstd_1_1dc__selector.html#aacb4060094f2c4b1747ffa76455b235d',1,'winstd::dc_selector::status()'],['../classwinstd_1_1setup__driver__info__list__builder.html#ae9c062e82afc1ee1eda5926a0567637e',1,'winstd::setup_driver_info_list_builder::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_20formatting_23',['String Formatting',['../group___win_std_str_format.html',1,'']]], + ['string_5fguid_24',['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_25',['string_msg',['../group___win_std_str_format.html#gae63195e25e08e2b3d9a9b9c2987f5740',1,'winstd']]], + ['string_5fprintf_26',['string_printf',['../group___win_std_str_format.html#ga9dda7a9a763b666f6fe00c4c6626621d',1,'winstd']]], + ['stringtoguid_27',['StringToGuid',['../group___win_std_win_a_p_i.html#gab9c35127ac48f8d941a5354b1a1b7abe',1,'Win.h']]], + ['system_20handles_28',['System Handles',['../group___win_std_sys_handles.html',1,'']]] ]; diff --git a/search/all_11.js b/search/all_11.js index e28554ba..f740c7f6 100644 --- a/search/all_11.js +++ b/search/all_11.js @@ -1,32 +1,11 @@ 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']]], - ['sec_5fbuffer_5fdesc_5',['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_6',['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_7',['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_8',['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']]], - ['security_20api_9',['Security API',['../group___win_std_security_a_p_i.html',1,'']]], - ['security_5fid_10',['security_id',['../classwinstd_1_1security__id.html',1,'winstd']]], - ['set_5fextended_5fdata_11',['set_extended_data',['../classwinstd_1_1event__rec.html#abfab939c3bb27839c3b591b9a62f9470',1,'winstd::event_rec']]], - ['set_5fextended_5fdata_5finternal_12',['set_extended_data_internal',['../classwinstd_1_1event__rec.html#a0c1c63cc3a3e2f83924aa9f21a298f6c',1,'winstd::event_rec']]], - ['set_5fuser_5fdata_13',['set_user_data',['../classwinstd_1_1event__rec.html#a0df49a47cf45cb76003b85148d7d5098',1,'winstd::event_rec']]], - ['set_5fuser_5fdata_5finternal_14',['set_user_data_internal',['../classwinstd_1_1event__rec.html#af71cc10ff1b9f9935c824b7c7a4130b8',1,'winstd::event_rec']]], - ['setup_20api_15',['Setup API',['../group___setup_a_p_i.html',1,'']]], - ['setup_5fdevice_5finfo_5flist_16',['setup_device_info_list',['../classwinstd_1_1setup__device__info__list.html',1,'winstd']]], - ['setup_5fdriver_5finfo_5flist_5fbuilder_17',['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_18',['Shell API',['../group___win_std_shell_w_a_p_i.html',1,'']]], - ['size_19',['size',['../classwinstd_1_1eap__packet.html#a2534ad15ae47e2d46354d9f535f4031f',1,'winstd::eap_packet::size()'],['../classwinstd_1_1data__blob.html#ab2ad06e271e8503d7158408773054d23',1,'winstd::data_blob::size()']]], - ['size_5ftype_20',['size_type',['../classwinstd_1_1heap__allocator.html#a01815f4f9097b1447c7ddaa2de868f59',1,'winstd::heap_allocator']]], - ['start_21',['start',['../group___win_std_e_a_p_a_p_i.html#gga50f5584ca708165f43cec42c42243315aea2b2676c28c0db26d39331a336c6b92',1,'winstd']]], - ['status_22',['status',['../classwinstd_1_1dc__selector.html#aacb4060094f2c4b1747ffa76455b235d',1,'winstd::dc_selector::status()'],['../classwinstd_1_1setup__driver__info__list__builder.html#ae9c062e82afc1ee1eda5926a0567637e',1,'winstd::setup_driver_info_list_builder::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_20formatting_23',['String Formatting',['../group___win_std_str_format.html',1,'']]], - ['string_5fguid_24',['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_25',['string_msg',['../group___win_std_str_format.html#gae63195e25e08e2b3d9a9b9c2987f5740',1,'winstd']]], - ['string_5fprintf_26',['string_printf',['../group___win_std_str_format.html#ga9dda7a9a763b666f6fe00c4c6626621d',1,'winstd']]], - ['stringtoguid_27',['StringToGuid',['../group___win_std_win_a_p_i.html#gab9c35127ac48f8d941a5354b1a1b7abe',1,'Win.h']]], - ['system_20handles_28',['System Handles',['../group___win_std_sys_handles.html',1,'']]] + ['taddrinfo_0',['taddrinfo',['../group___win_sock2_a_p_i.html#ga73a783d5ebf3d1af2a565cb78062b5b6',1,'winstd']]], + ['tls_1',['tls',['../group___win_std_e_a_p_a_p_i.html#gga50f5584ca708165f43cec42c42243315aa60aeea3d4cdbb5049fc37164644bb34',1,'winstd']]], + ['tstring_2',['tstring',['../group___win_std_general.html#ga8081292a94f5d070e644bdc90662d1fc',1,'winstd']]], + ['tstring_5fguid_3',['tstring_guid',['../group___win_std_str_format.html#ga4c44b6a587f894ee33bb58a10ba27d6b',1,'winstd']]], + ['tstring_5fmsg_4',['tstring_msg',['../group___win_std_str_format.html#gaf47f07aac0b4c8ef47cf42216ab17f1b',1,'winstd']]], + ['tstring_5fprintf_5',['tstring_printf',['../group___win_std_str_format.html#gab805ccda115191833fb01ba4457f208a',1,'winstd']]], + ['ttls_6',['ttls',['../group___win_std_e_a_p_a_p_i.html#gga50f5584ca708165f43cec42c42243315accd905a8bbc449980aa7f26fcbd206e2',1,'winstd']]], + ['type_7',['type',['../classwinstd_1_1eap__runtime__error.html#a0562abef7454f9a6f97902d4260b7f50',1,'winstd::eap_runtime_error']]] ]; diff --git a/search/all_12.js b/search/all_12.js index 96243486..16252e42 100644 --- a/search/all_12.js +++ b/search/all_12.js @@ -1,10 +1,7 @@ var searchData= [ - ['tls_0',['tls',['../group___win_std_e_a_p_a_p_i.html#gga50f5584ca708165f43cec42c42243315aa60aeea3d4cdbb5049fc37164644bb34',1,'winstd']]], - ['tstring_1',['tstring',['../group___win_std_general.html#ga8081292a94f5d070e644bdc90662d1fc',1,'winstd']]], - ['tstring_5fguid_2',['tstring_guid',['../group___win_std_str_format.html#ga4c44b6a587f894ee33bb58a10ba27d6b',1,'winstd']]], - ['tstring_5fmsg_3',['tstring_msg',['../group___win_std_str_format.html#gaf47f07aac0b4c8ef47cf42216ab17f1b',1,'winstd']]], - ['tstring_5fprintf_4',['tstring_printf',['../group___win_std_str_format.html#gab805ccda115191833fb01ba4457f208a',1,'winstd']]], - ['ttls_5',['ttls',['../group___win_std_e_a_p_a_p_i.html#gga50f5584ca708165f43cec42c42243315accd905a8bbc449980aa7f26fcbd206e2',1,'winstd']]], - ['type_6',['type',['../classwinstd_1_1eap__runtime__error.html#a0562abef7454f9a6f97902d4260b7f50',1,'winstd::eap_runtime_error']]] + ['undefined_0',['undefined',['../group___win_std_e_a_p_a_p_i.html#gga50f5584ca708165f43cec42c42243315a5e543256c480ac577d30f76f9120eb74',1,'winstd']]], + ['unmapviewoffile_5fdelete_1',['UnmapViewOfFile_delete',['../structwinstd_1_1_unmap_view_of_file__delete.html#af907afdb0be87ca6295673035d727279',1,'winstd::UnmapViewOfFile_delete::UnmapViewOfFile_delete()'],['../structwinstd_1_1_unmap_view_of_file__delete.html#a691a3dc8241514532164af426bbab7ee',1,'winstd::UnmapViewOfFile_delete::UnmapViewOfFile_delete(const UnmapViewOfFile_delete< _Ty2 > &)'],['../structwinstd_1_1_unmap_view_of_file__delete_3_01___ty_0f_0e_4.html#a49fbab80e6bee74067b9762abb659365',1,'winstd::UnmapViewOfFile_delete< _Ty[]>::UnmapViewOfFile_delete()'],['../structwinstd_1_1_unmap_view_of_file__delete.html',1,'winstd::UnmapViewOfFile_delete< _Ty >']]], + ['unmapviewoffile_5fdelete_3c_20_5fty_5b_5d_3e_2',['UnmapViewOfFile_delete< _Ty[]>',['../structwinstd_1_1_unmap_view_of_file__delete_3_01___ty_0f_0e_4.html',1,'winstd']]], + ['user_5fimpersonator_3',['user_impersonator',['../classwinstd_1_1user__impersonator.html#a843ed65fc3673b6620a81e6883c1de34',1,'winstd::user_impersonator::user_impersonator()'],['../classwinstd_1_1user__impersonator.html',1,'winstd::user_impersonator']]] ]; diff --git a/search/all_13.js b/search/all_13.js index 16252e42..181207e4 100644 --- a/search/all_13.js +++ b/search/all_13.js @@ -1,7 +1,6 @@ var searchData= [ - ['undefined_0',['undefined',['../group___win_std_e_a_p_a_p_i.html#gga50f5584ca708165f43cec42c42243315a5e543256c480ac577d30f76f9120eb74',1,'winstd']]], - ['unmapviewoffile_5fdelete_1',['UnmapViewOfFile_delete',['../structwinstd_1_1_unmap_view_of_file__delete.html#af907afdb0be87ca6295673035d727279',1,'winstd::UnmapViewOfFile_delete::UnmapViewOfFile_delete()'],['../structwinstd_1_1_unmap_view_of_file__delete.html#a691a3dc8241514532164af426bbab7ee',1,'winstd::UnmapViewOfFile_delete::UnmapViewOfFile_delete(const UnmapViewOfFile_delete< _Ty2 > &)'],['../structwinstd_1_1_unmap_view_of_file__delete_3_01___ty_0f_0e_4.html#a49fbab80e6bee74067b9762abb659365',1,'winstd::UnmapViewOfFile_delete< _Ty[]>::UnmapViewOfFile_delete()'],['../structwinstd_1_1_unmap_view_of_file__delete.html',1,'winstd::UnmapViewOfFile_delete< _Ty >']]], - ['unmapviewoffile_5fdelete_3c_20_5fty_5b_5d_3e_2',['UnmapViewOfFile_delete< _Ty[]>',['../structwinstd_1_1_unmap_view_of_file__delete_3_01___ty_0f_0e_4.html',1,'winstd']]], - ['user_5fimpersonator_3',['user_impersonator',['../classwinstd_1_1user__impersonator.html#a843ed65fc3673b6620a81e6883c1de34',1,'winstd::user_impersonator::user_impersonator()'],['../classwinstd_1_1user__impersonator.html',1,'winstd::user_impersonator']]] + ['value_5ftype_0',['value_type',['../classwinstd_1_1heap__allocator.html#a091ba3fb46ee75b8350c3fa9e6277c57',1,'winstd::heap_allocator']]], + ['variant_1',['variant',['../classwinstd_1_1variant.html#a89726aecadc0b6e14108daae894a477b',1,'winstd::variant::variant(unsigned int nSrc, VARTYPE vtSrc=VT_UI4) noexcept'],['../classwinstd_1_1variant.html#a841c962b433fd374aa1dfafc844e4b64',1,'winstd::variant::variant(IUnknown *pSrc)'],['../classwinstd_1_1variant.html#a2040f3ea8b404ff6b2847c9c9146141a',1,'winstd::variant::variant(IDispatch *pSrc)'],['../classwinstd_1_1variant.html#ad22ad4af4e10101790dc481dbe1630da',1,'winstd::variant::variant(BSTR bstr) noexcept'],['../classwinstd_1_1variant.html#a66bf6c6544769977e1032732142bb464',1,'winstd::variant::variant(LPCOLESTR lpszSrc) noexcept'],['../classwinstd_1_1variant.html#ae60f506468b32ba02fe499c8a93a9b56',1,'winstd::variant::variant(CY cySrc) noexcept'],['../classwinstd_1_1variant.html#ac1bc843b25415fd843bc2420a48ff9ad',1,'winstd::variant::variant(unsigned long long nSrc) noexcept'],['../classwinstd_1_1variant.html#a9ebbc5928574b7008c1c317e3528b7cb',1,'winstd::variant::variant(long long nSrc) noexcept'],['../classwinstd_1_1variant.html#add6d3bb11f3ba343d2286dde7a4ce90a',1,'winstd::variant::variant(double dblSrc, VARTYPE vtSrc=VT_R8) noexcept'],['../classwinstd_1_1variant.html#a1399659c252205487f2f85f2855567e2',1,'winstd::variant::variant(float fltSrc) noexcept'],['../classwinstd_1_1variant.html#a76dee63188ebb8946d0c2152f553e0f5',1,'winstd::variant::variant(unsigned long nSrc) noexcept'],['../classwinstd_1_1variant.html#aa0b2188d63b23c1e7ade2d8c4871e172',1,'winstd::variant::variant(long nSrc, VARTYPE vtSrc=VT_I4) noexcept'],['../classwinstd_1_1variant.html#a26d5b7a108cc2ae8ea6b9a60e8cfe68d',1,'winstd::variant::variant(int nSrc, VARTYPE vtSrc=VT_I4) noexcept'],['../classwinstd_1_1variant.html#aa38cc1a50cd08a3b81b8c87a968dd55a',1,'winstd::variant::variant(unsigned short nSrc) noexcept'],['../classwinstd_1_1variant.html#ae5f40c0c9ceb73d9a11f9eb5cf6e7acf',1,'winstd::variant::variant(short nSrc) noexcept'],['../classwinstd_1_1variant.html#a6b7b7b21cd5e8293fc95957dec6ad1ac',1,'winstd::variant::variant(unsigned char nSrc) noexcept'],['../classwinstd_1_1variant.html#ac3d480425647e2ce72aa291eee5259bb',1,'winstd::variant::variant(char cSrc) noexcept'],['../classwinstd_1_1variant.html#a02c9aacfd9b4db09f83d470d9ee62207',1,'winstd::variant::variant(bool bSrc) noexcept'],['../classwinstd_1_1variant.html#a170212d31acb2971ddf55b9247d6dc48',1,'winstd::variant::variant(VARIANT &&varSrc) noexcept'],['../classwinstd_1_1variant.html#a6b13abee9e259102b5cfcadf799ac33d',1,'winstd::variant::variant(const VARIANT &varSrc)'],['../classwinstd_1_1variant.html#ab5b8d68675d23082008f57e9439c3a19',1,'winstd::variant::variant() noexcept'],['../classwinstd_1_1variant.html#a278e06d505cad1af830dd88c2c656cd3',1,'winstd::variant::variant(const SAFEARRAY *pSrc)'],['../classwinstd_1_1variant.html',1,'winstd::variant']]], + ['vmemory_2',['vmemory',['../classwinstd_1_1vmemory.html#af3f982d2e1dd1309512aec2182a3b78b',1,'winstd::vmemory::vmemory(vmemory &&h) noexcept'],['../classwinstd_1_1vmemory.html#aa0f7cc6aaa5737fc3ea2deb1544fe0b2',1,'winstd::vmemory::vmemory(handle_type h, HANDLE proc) noexcept'],['../classwinstd_1_1vmemory.html#ae49dd901cfb090ed736510e68a39be7d',1,'winstd::vmemory::vmemory() noexcept'],['../classwinstd_1_1vmemory.html',1,'winstd::vmemory']]] ]; diff --git a/search/all_14.js b/search/all_14.js index 181207e4..f70edeec 100644 --- a/search/all_14.js +++ b/search/all_14.js @@ -1,6 +1,31 @@ var searchData= [ - ['value_5ftype_0',['value_type',['../classwinstd_1_1heap__allocator.html#a091ba3fb46ee75b8350c3fa9e6277c57',1,'winstd::heap_allocator']]], - ['variant_1',['variant',['../classwinstd_1_1variant.html#a89726aecadc0b6e14108daae894a477b',1,'winstd::variant::variant(unsigned int nSrc, VARTYPE vtSrc=VT_UI4) noexcept'],['../classwinstd_1_1variant.html#a841c962b433fd374aa1dfafc844e4b64',1,'winstd::variant::variant(IUnknown *pSrc)'],['../classwinstd_1_1variant.html#a2040f3ea8b404ff6b2847c9c9146141a',1,'winstd::variant::variant(IDispatch *pSrc)'],['../classwinstd_1_1variant.html#ad22ad4af4e10101790dc481dbe1630da',1,'winstd::variant::variant(BSTR bstr) noexcept'],['../classwinstd_1_1variant.html#a66bf6c6544769977e1032732142bb464',1,'winstd::variant::variant(LPCOLESTR lpszSrc) noexcept'],['../classwinstd_1_1variant.html#ae60f506468b32ba02fe499c8a93a9b56',1,'winstd::variant::variant(CY cySrc) noexcept'],['../classwinstd_1_1variant.html#ac1bc843b25415fd843bc2420a48ff9ad',1,'winstd::variant::variant(unsigned long long nSrc) noexcept'],['../classwinstd_1_1variant.html#a9ebbc5928574b7008c1c317e3528b7cb',1,'winstd::variant::variant(long long nSrc) noexcept'],['../classwinstd_1_1variant.html#add6d3bb11f3ba343d2286dde7a4ce90a',1,'winstd::variant::variant(double dblSrc, VARTYPE vtSrc=VT_R8) noexcept'],['../classwinstd_1_1variant.html#a1399659c252205487f2f85f2855567e2',1,'winstd::variant::variant(float fltSrc) noexcept'],['../classwinstd_1_1variant.html#a76dee63188ebb8946d0c2152f553e0f5',1,'winstd::variant::variant(unsigned long nSrc) noexcept'],['../classwinstd_1_1variant.html#aa0b2188d63b23c1e7ade2d8c4871e172',1,'winstd::variant::variant(long nSrc, VARTYPE vtSrc=VT_I4) noexcept'],['../classwinstd_1_1variant.html#a26d5b7a108cc2ae8ea6b9a60e8cfe68d',1,'winstd::variant::variant(int nSrc, VARTYPE vtSrc=VT_I4) noexcept'],['../classwinstd_1_1variant.html#aa38cc1a50cd08a3b81b8c87a968dd55a',1,'winstd::variant::variant(unsigned short nSrc) noexcept'],['../classwinstd_1_1variant.html#ae5f40c0c9ceb73d9a11f9eb5cf6e7acf',1,'winstd::variant::variant(short nSrc) noexcept'],['../classwinstd_1_1variant.html#a6b7b7b21cd5e8293fc95957dec6ad1ac',1,'winstd::variant::variant(unsigned char nSrc) noexcept'],['../classwinstd_1_1variant.html#ac3d480425647e2ce72aa291eee5259bb',1,'winstd::variant::variant(char cSrc) noexcept'],['../classwinstd_1_1variant.html#a02c9aacfd9b4db09f83d470d9ee62207',1,'winstd::variant::variant(bool bSrc) noexcept'],['../classwinstd_1_1variant.html#a170212d31acb2971ddf55b9247d6dc48',1,'winstd::variant::variant(VARIANT &&varSrc) noexcept'],['../classwinstd_1_1variant.html#a6b13abee9e259102b5cfcadf799ac33d',1,'winstd::variant::variant(const VARIANT &varSrc)'],['../classwinstd_1_1variant.html#ab5b8d68675d23082008f57e9439c3a19',1,'winstd::variant::variant() noexcept'],['../classwinstd_1_1variant.html#a278e06d505cad1af830dd88c2c656cd3',1,'winstd::variant::variant(const SAFEARRAY *pSrc)'],['../classwinstd_1_1variant.html',1,'winstd::variant']]], - ['vmemory_2',['vmemory',['../classwinstd_1_1vmemory.html#af3f982d2e1dd1309512aec2182a3b78b',1,'winstd::vmemory::vmemory(vmemory &&h) noexcept'],['../classwinstd_1_1vmemory.html#aa0f7cc6aaa5737fc3ea2deb1544fe0b2',1,'winstd::vmemory::vmemory(handle_type h, HANDLE proc) noexcept'],['../classwinstd_1_1vmemory.html#ae49dd901cfb090ed736510e68a39be7d',1,'winstd::vmemory::vmemory() noexcept'],['../classwinstd_1_1vmemory.html',1,'winstd::vmemory']]] + ['waddrinfo_0',['waddrinfo',['../classwinstd_1_1waddrinfo.html',1,'winstd']]], + ['win_5fhandle_1',['win_handle',['../classwinstd_1_1win__handle.html',1,'winstd']]], + ['win_5fhandle_3c_20invalid_5fhandle_5fvalue_20_3e_2',['win_handle< INVALID_HANDLE_VALUE >',['../classwinstd_1_1win__handle.html',1,'winstd']]], + ['win_5fhandle_3c_20null_20_3e_3',['win_handle< NULL >',['../classwinstd_1_1win__handle.html',1,'winstd']]], + ['win_5fruntime_5ferror_4',['win_runtime_error',['../classwinstd_1_1win__runtime__error.html#aca84ec751726966e72136c67ef7f694f',1,'winstd::win_runtime_error::win_runtime_error(error_type num, const std::string &msg)'],['../classwinstd_1_1win__runtime__error.html#a9adb54bf4ff1bfece100a3886b441a77',1,'winstd::win_runtime_error::win_runtime_error(error_type num, const char *msg=nullptr)'],['../classwinstd_1_1win__runtime__error.html#ab38b42a2a55681bb97cc83ae4a6e5635',1,'winstd::win_runtime_error::win_runtime_error(const std::string &msg)'],['../classwinstd_1_1win__runtime__error.html#ac22014ee7d3fee84ca95ab52ac66e5b6',1,'winstd::win_runtime_error::win_runtime_error(const char *msg=nullptr)'],['../classwinstd_1_1win__runtime__error.html',1,'winstd::win_runtime_error']]], + ['window_5fdc_5',['window_dc',['../classwinstd_1_1window__dc.html#af4841fbba9da009955938892fad8de0e',1,'winstd::window_dc::window_dc(window_dc &&h) noexcept'],['../classwinstd_1_1window__dc.html#a2b4c7b6f55d8d87dedadf08457031d12',1,'winstd::window_dc::window_dc(handle_type h, HWND hwnd) noexcept'],['../classwinstd_1_1window__dc.html#a82c191df2785d2d83517d44744b28e0a',1,'winstd::window_dc::window_dc() noexcept'],['../classwinstd_1_1window__dc.html',1,'winstd::window_dc']]], + ['windows_20api_6',['Windows API',['../group___win_std_win_a_p_i.html',1,'']]], + ['winsock2_20api_7',['WinSock2 API',['../group___win_sock2_a_p_i.html',1,'']]], + ['winstd_8',['WinStd',['../index.html',1,'']]], + ['winstd_5fdplhandle_5fimpl_9',['WINSTD_DPLHANDLE_IMPL',['../group___win_std_sys_handles.html#ga2768b80bcf124e3127f0b7fe64395adb',1,'Common.h']]], + ['winstd_5fhandle_5fimpl_10',['WINSTD_HANDLE_IMPL',['../group___win_std_sys_handles.html#ga419efffd12b5c96abc8a275ba375ca60',1,'Common.h']]], + ['winstd_5fnoncopyable_11',['WINSTD_NONCOPYABLE',['../group___win_std_general.html#ga11254c72ad33a6e0f5de31db708f784c',1,'Common.h']]], + ['winstd_5fnonmovable_12',['WINSTD_NONMOVABLE',['../group___win_std_general.html#gac91fa8d79c860b1fdbba65b6a322f760',1,'Common.h']]], + ['winstd_5fstack_5fbuffer_5fbytes_13',['WINSTD_STACK_BUFFER_BYTES',['../group___win_std_general.html#ga3ca39107a61bbcd05f901898ec584986',1,'Common.h']]], + ['winstd_5fstring_14',['WINSTD_STRING',['../group___win_std_general.html#gac2a4fa0600886ba34fd4f7d2116d35da',1,'Common.h']]], + ['winstd_5fstring_5fimpl_15',['WINSTD_STRING_IMPL',['../group___win_std_general.html#ga4a46b36a9276ea0451d0790e51c7621f',1,'Common.h']]], + ['winstd_5fwinhandle_5fimpl_16',['WINSTD_WINHANDLE_IMPL',['../group___win_std_win_a_p_i.html#gaba2cbef7017ee8daf1c65e4105257f95',1,'Win.h']]], + ['wintrust_17',['wintrust',['../classwinstd_1_1wintrust.html',1,'winstd::wintrust'],['../classwinstd_1_1wintrust.html#a5f01f7952ccb4e4f6b3b52968470e49b',1,'winstd::wintrust::wintrust()']]], + ['wintrust_20api_18',['WinTrust API',['../group___win_trust_a_p_i.html',1,'']]], + ['wlan_20api_19',['WLAN API',['../group___win_std_w_l_a_n_a_p_i.html',1,'']]], + ['wlan_5fhandle_20',['wlan_handle',['../classwinstd_1_1wlan__handle.html',1,'winstd']]], + ['wlanfreememory_5fdelete_21',['WlanFreeMemory_delete',['../structwinstd_1_1_wlan_free_memory__delete.html',1,'winstd::WlanFreeMemory_delete< _Ty >'],['../structwinstd_1_1_wlan_free_memory__delete_3_01___ty_0f_0e_4.html#a39d42f9429ac337513cd2cad1b5c8fdf',1,'winstd::WlanFreeMemory_delete< _Ty[]>::WlanFreeMemory_delete()'],['../structwinstd_1_1_wlan_free_memory__delete.html#ab30e2946800931f214e9a55a527fe546',1,'winstd::WlanFreeMemory_delete::WlanFreeMemory_delete(const WlanFreeMemory_delete< _Ty2 > &)'],['../structwinstd_1_1_wlan_free_memory__delete.html#a3e356b7c4a09f33100e3e35a71d1d94e',1,'winstd::WlanFreeMemory_delete::WlanFreeMemory_delete()']]], + ['wlanfreememory_5fdelete_3c_20_5fty_5b_5d_3e_22',['WlanFreeMemory_delete< _Ty[]>',['../structwinstd_1_1_wlan_free_memory__delete_3_01___ty_0f_0e_4.html',1,'winstd']]], + ['write_23',['write',['../classwinstd_1_1event__provider.html#ad782c4daf27784c0762d09578362db08',1,'winstd::event_provider::write(PCEVENT_DESCRIPTOR EventDescriptor, const EVENT_DATA_DESCRIPTOR param1,...)'],['../classwinstd_1_1event__provider.html#aa956835d2f62705db20e6c82c07be7fe',1,'winstd::event_provider::write(PCEVENT_DESCRIPTOR EventDescriptor, va_list arg)'],['../classwinstd_1_1event__provider.html#a9063c2f40716779223fe618b70df0888',1,'winstd::event_provider::write(UCHAR Level, ULONGLONG Keyword, PCWSTR String,...)'],['../classwinstd_1_1event__provider.html#a570ec5977a37f490ddac7aaa047db5e9',1,'winstd::event_provider::write(PCEVENT_DESCRIPTOR EventDescriptor, ULONG UserDataCount=0, PEVENT_DATA_DESCRIPTOR UserData=NULL)'],['../classwinstd_1_1event__provider.html#a068407834baa836c690b80a39a2d2692',1,'winstd::event_provider::write(PCEVENT_DESCRIPTOR EventDescriptor)']]], + ['ws2_5fruntime_5ferror_24',['ws2_runtime_error',['../classwinstd_1_1ws2__runtime__error.html',1,'winstd::ws2_runtime_error'],['../classwinstd_1_1ws2__runtime__error.html#a2e54221cc0f78724af416f9af1415267',1,'winstd::ws2_runtime_error::ws2_runtime_error(const char *msg=nullptr)'],['../classwinstd_1_1ws2__runtime__error.html#ae7914ed1c76d543399992573bc580b4e',1,'winstd::ws2_runtime_error::ws2_runtime_error(const std::string &msg)'],['../classwinstd_1_1ws2__runtime__error.html#a0f57437dbc7c87ac05230a5a5458846b',1,'winstd::ws2_runtime_error::ws2_runtime_error(error_type num, const char *msg=nullptr)'],['../classwinstd_1_1ws2__runtime__error.html#aa6ed38106310751800eca077c2fcb71a',1,'winstd::ws2_runtime_error::ws2_runtime_error(error_type num, const std::string &msg)']]], + ['wstring_5fguid_25',['wstring_guid',['../classwinstd_1_1wstring__guid.html',1,'winstd::wstring_guid'],['../classwinstd_1_1wstring__guid.html#adca059128e082167a19d1281719d9d60',1,'winstd::wstring_guid::wstring_guid()']]], + ['wstring_5fmsg_26',['wstring_msg',['../group___win_std_str_format.html#ga52a88ab19a1a96f778dbf7a2938bc98f',1,'winstd']]], + ['wstring_5fprintf_27',['wstring_printf',['../group___win_std_str_format.html#ga0abdccf0a03840f984b7a889fea13cac',1,'winstd']]] ]; diff --git a/search/all_15.js b/search/all_15.js index 8a5b2067..575179da 100644 --- a/search/all_15.js +++ b/search/all_15.js @@ -1,29 +1,51 @@ var searchData= [ - ['win_5fhandle_0',['win_handle',['../classwinstd_1_1win__handle.html',1,'winstd']]], - ['win_5fhandle_3c_20invalid_5fhandle_5fvalue_20_3e_1',['win_handle< INVALID_HANDLE_VALUE >',['../classwinstd_1_1win__handle.html',1,'winstd']]], - ['win_5fhandle_3c_20null_20_3e_2',['win_handle< NULL >',['../classwinstd_1_1win__handle.html',1,'winstd']]], - ['win_5fruntime_5ferror_3',['win_runtime_error',['../classwinstd_1_1win__runtime__error.html#aca84ec751726966e72136c67ef7f694f',1,'winstd::win_runtime_error::win_runtime_error(error_type num, const std::string &msg)'],['../classwinstd_1_1win__runtime__error.html#a9adb54bf4ff1bfece100a3886b441a77',1,'winstd::win_runtime_error::win_runtime_error(error_type num, const char *msg=nullptr)'],['../classwinstd_1_1win__runtime__error.html#ab38b42a2a55681bb97cc83ae4a6e5635',1,'winstd::win_runtime_error::win_runtime_error(const std::string &msg)'],['../classwinstd_1_1win__runtime__error.html#ac22014ee7d3fee84ca95ab52ac66e5b6',1,'winstd::win_runtime_error::win_runtime_error(const char *msg=nullptr)'],['../classwinstd_1_1win__runtime__error.html',1,'winstd::win_runtime_error']]], - ['window_5fdc_4',['window_dc',['../classwinstd_1_1window__dc.html#af4841fbba9da009955938892fad8de0e',1,'winstd::window_dc::window_dc(window_dc &&h) noexcept'],['../classwinstd_1_1window__dc.html#a2b4c7b6f55d8d87dedadf08457031d12',1,'winstd::window_dc::window_dc(handle_type h, HWND hwnd) noexcept'],['../classwinstd_1_1window__dc.html#a82c191df2785d2d83517d44744b28e0a',1,'winstd::window_dc::window_dc() noexcept'],['../classwinstd_1_1window__dc.html',1,'winstd::window_dc']]], - ['windows_20api_5',['Windows API',['../group___win_std_win_a_p_i.html',1,'']]], - ['winsock2_20api_6',['WinSock2 API',['../group___win_sock2_a_p_i.html',1,'']]], - ['winstd_7',['WinStd',['../index.html',1,'']]], - ['winstd_5fdplhandle_5fimpl_8',['WINSTD_DPLHANDLE_IMPL',['../group___win_std_sys_handles.html#ga2768b80bcf124e3127f0b7fe64395adb',1,'Common.h']]], - ['winstd_5fhandle_5fimpl_9',['WINSTD_HANDLE_IMPL',['../group___win_std_sys_handles.html#ga419efffd12b5c96abc8a275ba375ca60',1,'Common.h']]], - ['winstd_5fnoncopyable_10',['WINSTD_NONCOPYABLE',['../group___win_std_general.html#ga11254c72ad33a6e0f5de31db708f784c',1,'Common.h']]], - ['winstd_5fnonmovable_11',['WINSTD_NONMOVABLE',['../group___win_std_general.html#gac91fa8d79c860b1fdbba65b6a322f760',1,'Common.h']]], - ['winstd_5fstack_5fbuffer_5fbytes_12',['WINSTD_STACK_BUFFER_BYTES',['../group___win_std_general.html#ga3ca39107a61bbcd05f901898ec584986',1,'Common.h']]], - ['winstd_5fstring_13',['WINSTD_STRING',['../group___win_std_general.html#gac2a4fa0600886ba34fd4f7d2116d35da',1,'Common.h']]], - ['winstd_5fstring_5fimpl_14',['WINSTD_STRING_IMPL',['../group___win_std_general.html#ga4a46b36a9276ea0451d0790e51c7621f',1,'Common.h']]], - ['wintrust_15',['wintrust',['../classwinstd_1_1wintrust.html',1,'winstd::wintrust'],['../classwinstd_1_1wintrust.html#a5f01f7952ccb4e4f6b3b52968470e49b',1,'winstd::wintrust::wintrust()']]], - ['wintrust_20api_16',['WinTrust API',['../group___win_trust_a_p_i.html',1,'']]], - ['wlan_20api_17',['WLAN API',['../group___win_std_w_l_a_n_a_p_i.html',1,'']]], - ['wlan_5fhandle_18',['wlan_handle',['../classwinstd_1_1wlan__handle.html',1,'winstd']]], - ['wlanfreememory_5fdelete_19',['WlanFreeMemory_delete',['../structwinstd_1_1_wlan_free_memory__delete.html',1,'winstd::WlanFreeMemory_delete< _Ty >'],['../structwinstd_1_1_wlan_free_memory__delete_3_01___ty_0f_0e_4.html#a39d42f9429ac337513cd2cad1b5c8fdf',1,'winstd::WlanFreeMemory_delete< _Ty[]>::WlanFreeMemory_delete()'],['../structwinstd_1_1_wlan_free_memory__delete.html#ab30e2946800931f214e9a55a527fe546',1,'winstd::WlanFreeMemory_delete::WlanFreeMemory_delete(const WlanFreeMemory_delete< _Ty2 > &)'],['../structwinstd_1_1_wlan_free_memory__delete.html#a3e356b7c4a09f33100e3e35a71d1d94e',1,'winstd::WlanFreeMemory_delete::WlanFreeMemory_delete()']]], - ['wlanfreememory_5fdelete_3c_20_5fty_5b_5d_3e_20',['WlanFreeMemory_delete< _Ty[]>',['../structwinstd_1_1_wlan_free_memory__delete_3_01___ty_0f_0e_4.html',1,'winstd']]], - ['write_21',['write',['../classwinstd_1_1event__provider.html#a570ec5977a37f490ddac7aaa047db5e9',1,'winstd::event_provider::write(PCEVENT_DESCRIPTOR EventDescriptor, ULONG UserDataCount=0, PEVENT_DATA_DESCRIPTOR UserData=NULL)'],['../classwinstd_1_1event__provider.html#ad782c4daf27784c0762d09578362db08',1,'winstd::event_provider::write(PCEVENT_DESCRIPTOR EventDescriptor, const EVENT_DATA_DESCRIPTOR param1,...)'],['../classwinstd_1_1event__provider.html#aa956835d2f62705db20e6c82c07be7fe',1,'winstd::event_provider::write(PCEVENT_DESCRIPTOR EventDescriptor, va_list arg)'],['../classwinstd_1_1event__provider.html#a9063c2f40716779223fe618b70df0888',1,'winstd::event_provider::write(UCHAR Level, ULONGLONG Keyword, PCWSTR String,...)'],['../classwinstd_1_1event__provider.html#a068407834baa836c690b80a39a2d2692',1,'winstd::event_provider::write(PCEVENT_DESCRIPTOR EventDescriptor)']]], - ['ws2_5fruntime_5ferror_22',['ws2_runtime_error',['../classwinstd_1_1ws2__runtime__error.html',1,'winstd::ws2_runtime_error'],['../classwinstd_1_1ws2__runtime__error.html#a2e54221cc0f78724af416f9af1415267',1,'winstd::ws2_runtime_error::ws2_runtime_error(const char *msg=nullptr)'],['../classwinstd_1_1ws2__runtime__error.html#ae7914ed1c76d543399992573bc580b4e',1,'winstd::ws2_runtime_error::ws2_runtime_error(const std::string &msg)'],['../classwinstd_1_1ws2__runtime__error.html#a0f57437dbc7c87ac05230a5a5458846b',1,'winstd::ws2_runtime_error::ws2_runtime_error(error_type num, const char *msg=nullptr)'],['../classwinstd_1_1ws2__runtime__error.html#aa6ed38106310751800eca077c2fcb71a',1,'winstd::ws2_runtime_error::ws2_runtime_error(error_type num, const std::string &msg)']]], - ['wstring_5fguid_23',['wstring_guid',['../classwinstd_1_1wstring__guid.html',1,'winstd::wstring_guid'],['../classwinstd_1_1wstring__guid.html#adca059128e082167a19d1281719d9d60',1,'winstd::wstring_guid::wstring_guid()']]], - ['wstring_5fmsg_24',['wstring_msg',['../group___win_std_str_format.html#ga52a88ab19a1a96f778dbf7a2938bc98f',1,'winstd']]], - ['wstring_5fprintf_25',['wstring_printf',['../group___win_std_str_format.html#ga0abdccf0a03840f984b7a889fea13cac',1,'winstd']]] + ['_7eactctx_5factivator_0',['~actctx_activator',['../classwinstd_1_1actctx__activator.html#a9487820e29c331362b1ecd36de3b692a',1,'winstd::actctx_activator']]], + ['_7eaddrinfo_1',['~addrinfo',['../classwinstd_1_1addrinfo.html#aaa7a9365cde194bb9f54a96ea04f9883',1,'winstd::addrinfo']]], + ['_7ebstr_2',['~bstr',['../classwinstd_1_1bstr.html#a317d3e0783e7d3de7cc6516964ea3f5e',1,'winstd::bstr']]], + ['_7ecert_5fchain_5fcontext_3',['~cert_chain_context',['../classwinstd_1_1cert__chain__context.html#a9f8b8604ea5766ffa59726b46e210eb3',1,'winstd::cert_chain_context']]], + ['_7ecert_5fcontext_4',['~cert_context',['../classwinstd_1_1cert__context.html#affa4b97554e6676d392301b5928130fd',1,'winstd::cert_context']]], + ['_7ecert_5fstore_5',['~cert_store',['../classwinstd_1_1cert__store.html#a80783d444ae3555aea01f959c9c01405',1,'winstd::cert_store']]], + ['_7ecom_5finitializer_6',['~com_initializer',['../classwinstd_1_1com__initializer.html#ad53a7697dfaf83d4832f8a57a4cf00f6',1,'winstd::com_initializer']]], + ['_7econsole_5fctrl_5fhandler_7',['~console_ctrl_handler',['../classwinstd_1_1console__ctrl__handler.html#a2cba550aa8c659f63386ed6322ccbd6e',1,'winstd::console_ctrl_handler']]], + ['_7ecritical_5fsection_8',['~critical_section',['../classwinstd_1_1critical__section.html#a67af5836304f27084f296c0cc17d7d20',1,'winstd::critical_section']]], + ['_7ecrypt_5fhash_9',['~crypt_hash',['../classwinstd_1_1crypt__hash.html#a7c688405c14799681018e0dfc8b51264',1,'winstd::crypt_hash']]], + ['_7ecrypt_5fkey_10',['~crypt_key',['../classwinstd_1_1crypt__key.html#a396a4af75fd99c896757679a890e6e29',1,'winstd::crypt_key']]], + ['_7ecrypt_5fprov_11',['~crypt_prov',['../classwinstd_1_1crypt__prov.html#a91c1f3d10b03ef1b5d1e1da029060289',1,'winstd::crypt_prov']]], + ['_7edata_5fblob_12',['~data_blob',['../classwinstd_1_1data__blob.html#a1c79df4fa5413536c745258d09e69599',1,'winstd::data_blob']]], + ['_7edc_13',['~dc',['../classwinstd_1_1dc.html#ae8c5722935c8a1c3f6a1857679f4563c',1,'winstd::dc']]], + ['_7edc_5fselector_14',['~dc_selector',['../classwinstd_1_1dc__selector.html#a6e4daf6736cab31fc696dd3adfe4bcfd',1,'winstd::dc_selector']]], + ['_7eeap_5fattr_15',['~eap_attr',['../classwinstd_1_1eap__attr.html#a085d6ade88a42ba69cf128a97b7c9b0d',1,'winstd::eap_attr']]], + ['_7eeap_5fmethod_5finfo_5farray_16',['~eap_method_info_array',['../classwinstd_1_1eap__method__info__array.html#a6870644e66359b0448094a193ef0b4b8',1,'winstd::eap_method_info_array']]], + ['_7eeap_5fpacket_17',['~eap_packet',['../classwinstd_1_1eap__packet.html#a6abed7e1c0460fd6e2ae5d832fbd7493',1,'winstd::eap_packet']]], + ['_7eevent_5ffn_5fauto_18',['~event_fn_auto',['../classwinstd_1_1event__fn__auto.html#a764a83cffe2ed2ae41e9d973073d5cb0',1,'winstd::event_fn_auto']]], + ['_7eevent_5ffn_5fauto_5fret_19',['~event_fn_auto_ret',['../classwinstd_1_1event__fn__auto__ret.html#a1bd1de5df10856a08187ad112992979f',1,'winstd::event_fn_auto_ret']]], + ['_7eevent_5flog_20',['~event_log',['../classwinstd_1_1event__log.html#adcaee9990fb509eb281159b170218700',1,'winstd::event_log']]], + ['_7eevent_5fprovider_21',['~event_provider',['../classwinstd_1_1event__provider.html#ab219ea75734671f98fabbf41485e558b',1,'winstd::event_provider']]], + ['_7eevent_5frec_22',['~event_rec',['../classwinstd_1_1event__rec.html#a2968045a00cf5994ffc2db1a7eb38601',1,'winstd::event_rec']]], + ['_7eevent_5fsession_23',['~event_session',['../classwinstd_1_1event__session.html#a31fe172bd0ce3fb712924de08445476a',1,'winstd::event_session']]], + ['_7eevent_5ftrace_24',['~event_trace',['../classwinstd_1_1event__trace.html#ab8800a2c88f1b96d5134e7eac24ac582',1,'winstd::event_trace']]], + ['_7eevent_5ftrace_5fenabler_25',['~event_trace_enabler',['../classwinstd_1_1event__trace__enabler.html#a6be72a0a5dc8da579e26b74a1ac24a4f',1,'winstd::event_trace_enabler']]], + ['_7efind_5ffile_26',['~find_file',['../classwinstd_1_1find__file.html#a5135c1a0bf6b1c5f4ab695f208a87607',1,'winstd::find_file']]], + ['_7egdi_5fhandle_27',['~gdi_handle',['../classwinstd_1_1gdi__handle.html#aae79abc9495f415a548d7f1f1ce4dab2',1,'winstd::gdi_handle']]], + ['_7eheap_28',['~heap',['../classwinstd_1_1heap.html#aecb12bb6a2677638a6061510bdda868b',1,'winstd::heap']]], + ['_7elibrary_29',['~library',['../classwinstd_1_1library.html#ae33e87cbe9236861b5e8d37e8e544716',1,'winstd::library']]], + ['_7eprocess_5finformation_30',['~process_information',['../classwinstd_1_1process__information.html#a0a176161ac9779e203f3fd8942115196',1,'winstd::process_information']]], + ['_7eref_5funique_5fptr_31',['~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_32',['~reg_key',['../classwinstd_1_1reg__key.html#ae54556effe6fe91942f87fc8c8ff5d7c',1,'winstd::reg_key']]], + ['_7esanitizing_5fblob_33',['~sanitizing_blob',['../classwinstd_1_1sanitizing__blob.html#ad478c9b04cc75d3ad1053ba9b23ea065',1,'winstd::sanitizing_blob']]], + ['_7esec_5fbuffer_5fdesc_34',['~sec_buffer_desc',['../classwinstd_1_1sec__buffer__desc.html#a70ebe23821ab3f90eb20e4a5e69c49c4',1,'winstd::sec_buffer_desc']]], + ['_7esec_5fcontext_35',['~sec_context',['../classwinstd_1_1sec__context.html#a2307770cc707a4f8e815c3fea57ac8a9',1,'winstd::sec_context']]], + ['_7esec_5fcredentials_36',['~sec_credentials',['../classwinstd_1_1sec__credentials.html#ad8b34c3a231201fd201e56a28235b9c3',1,'winstd::sec_credentials']]], + ['_7esecurity_5fid_37',['~security_id',['../classwinstd_1_1security__id.html#ac26d9d505eed5f5104e3ce8278913683',1,'winstd::security_id']]], + ['_7esetup_5fdevice_5finfo_5flist_38',['~setup_device_info_list',['../classwinstd_1_1setup__device__info__list.html#a25368d32a4f4bfe23cb9749464daa487',1,'winstd::setup_device_info_list']]], + ['_7esetup_5fdriver_5finfo_5flist_5fbuilder_39',['~setup_driver_info_list_builder',['../classwinstd_1_1setup__driver__info__list__builder.html#a836a7bb6c3c78c7c78965a32cfc2750e',1,'winstd::setup_driver_info_list_builder']]], + ['_7euser_5fimpersonator_40',['~user_impersonator',['../classwinstd_1_1user__impersonator.html#a986ca1cabf89b994f1634feb911c26a6',1,'winstd::user_impersonator']]], + ['_7evariant_41',['~variant',['../classwinstd_1_1variant.html#a69b429a61582fc777b07541daad7887b',1,'winstd::variant']]], + ['_7evmemory_42',['~vmemory',['../classwinstd_1_1vmemory.html#aa0d2edd7c1986736662b54a553695d51',1,'winstd::vmemory']]], + ['_7ewaddrinfo_43',['~waddrinfo',['../classwinstd_1_1waddrinfo.html#a2b1209904bd7486acefd833ff5c4bcca',1,'winstd::waddrinfo']]], + ['_7ewin_5fhandle_44',['~win_handle',['../classwinstd_1_1win__handle.html#a6b8070a3be4dede99a1c764b7f341a36',1,'winstd::win_handle']]], + ['_7ewindow_5fdc_45',['~window_dc',['../classwinstd_1_1window__dc.html#a3fd01c5264443520462cb7cab886a79b',1,'winstd::window_dc']]], + ['_7ewintrust_46',['~wintrust',['../classwinstd_1_1wintrust.html#ac529a244b4f2f4eb85bcdf594ff723c3',1,'winstd::wintrust']]], + ['_7ewlan_5fhandle_47',['~wlan_handle',['../classwinstd_1_1wlan__handle.html#a57e97a572a121f6e28673e6d84493de9',1,'winstd::wlan_handle']]] ]; diff --git a/search/all_16.html b/search/all_16.html deleted file mode 100644 index de305d99..00000000 --- a/search/all_16.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
      -
      Loading...
      -
      - -
      Searching...
      -
      No Matches
      - -
      - - diff --git a/search/all_16.js b/search/all_16.js deleted file mode 100644 index 2d119513..00000000 --- a/search/all_16.js +++ /dev/null @@ -1,51 +0,0 @@ -var searchData= -[ - ['_7eactctx_5factivator_0',['~actctx_activator',['../classwinstd_1_1actctx__activator.html#a9487820e29c331362b1ecd36de3b692a',1,'winstd::actctx_activator']]], - ['_7eaddrinfo_1',['~addrinfo',['../classwinstd_1_1addrinfo.html#aaa7a9365cde194bb9f54a96ea04f9883',1,'winstd::addrinfo']]], - ['_7ebstr_2',['~bstr',['../classwinstd_1_1bstr.html#a317d3e0783e7d3de7cc6516964ea3f5e',1,'winstd::bstr']]], - ['_7ecert_5fchain_5fcontext_3',['~cert_chain_context',['../classwinstd_1_1cert__chain__context.html#a9f8b8604ea5766ffa59726b46e210eb3',1,'winstd::cert_chain_context']]], - ['_7ecert_5fcontext_4',['~cert_context',['../classwinstd_1_1cert__context.html#affa4b97554e6676d392301b5928130fd',1,'winstd::cert_context']]], - ['_7ecert_5fstore_5',['~cert_store',['../classwinstd_1_1cert__store.html#a80783d444ae3555aea01f959c9c01405',1,'winstd::cert_store']]], - ['_7ecom_5finitializer_6',['~com_initializer',['../classwinstd_1_1com__initializer.html#ad53a7697dfaf83d4832f8a57a4cf00f6',1,'winstd::com_initializer']]], - ['_7ecom_5fobj_7',['~com_obj',['../classwinstd_1_1com__obj.html#a91383e6e26266b0d3803c8594b8c5149',1,'winstd::com_obj']]], - ['_7econsole_5fctrl_5fhandler_8',['~console_ctrl_handler',['../classwinstd_1_1console__ctrl__handler.html#a2cba550aa8c659f63386ed6322ccbd6e',1,'winstd::console_ctrl_handler']]], - ['_7ecritical_5fsection_9',['~critical_section',['../classwinstd_1_1critical__section.html#a67af5836304f27084f296c0cc17d7d20',1,'winstd::critical_section']]], - ['_7ecrypt_5fhash_10',['~crypt_hash',['../classwinstd_1_1crypt__hash.html#a7c688405c14799681018e0dfc8b51264',1,'winstd::crypt_hash']]], - ['_7ecrypt_5fkey_11',['~crypt_key',['../classwinstd_1_1crypt__key.html#a396a4af75fd99c896757679a890e6e29',1,'winstd::crypt_key']]], - ['_7ecrypt_5fprov_12',['~crypt_prov',['../classwinstd_1_1crypt__prov.html#a91c1f3d10b03ef1b5d1e1da029060289',1,'winstd::crypt_prov']]], - ['_7edata_5fblob_13',['~data_blob',['../classwinstd_1_1data__blob.html#a1c79df4fa5413536c745258d09e69599',1,'winstd::data_blob']]], - ['_7edc_14',['~dc',['../classwinstd_1_1dc.html#ae8c5722935c8a1c3f6a1857679f4563c',1,'winstd::dc']]], - ['_7edc_5fselector_15',['~dc_selector',['../classwinstd_1_1dc__selector.html#a6e4daf6736cab31fc696dd3adfe4bcfd',1,'winstd::dc_selector']]], - ['_7eeap_5fattr_16',['~eap_attr',['../classwinstd_1_1eap__attr.html#a085d6ade88a42ba69cf128a97b7c9b0d',1,'winstd::eap_attr']]], - ['_7eeap_5fmethod_5finfo_5farray_17',['~eap_method_info_array',['../classwinstd_1_1eap__method__info__array.html#a6870644e66359b0448094a193ef0b4b8',1,'winstd::eap_method_info_array']]], - ['_7eeap_5fpacket_18',['~eap_packet',['../classwinstd_1_1eap__packet.html#a6abed7e1c0460fd6e2ae5d832fbd7493',1,'winstd::eap_packet']]], - ['_7eevent_5ffn_5fauto_19',['~event_fn_auto',['../classwinstd_1_1event__fn__auto.html#a764a83cffe2ed2ae41e9d973073d5cb0',1,'winstd::event_fn_auto']]], - ['_7eevent_5ffn_5fauto_5fret_20',['~event_fn_auto_ret',['../classwinstd_1_1event__fn__auto__ret.html#a1bd1de5df10856a08187ad112992979f',1,'winstd::event_fn_auto_ret']]], - ['_7eevent_5flog_21',['~event_log',['../classwinstd_1_1event__log.html#adcaee9990fb509eb281159b170218700',1,'winstd::event_log']]], - ['_7eevent_5fprovider_22',['~event_provider',['../classwinstd_1_1event__provider.html#ab219ea75734671f98fabbf41485e558b',1,'winstd::event_provider']]], - ['_7eevent_5frec_23',['~event_rec',['../classwinstd_1_1event__rec.html#a2968045a00cf5994ffc2db1a7eb38601',1,'winstd::event_rec']]], - ['_7eevent_5fsession_24',['~event_session',['../classwinstd_1_1event__session.html#a31fe172bd0ce3fb712924de08445476a',1,'winstd::event_session']]], - ['_7eevent_5ftrace_25',['~event_trace',['../classwinstd_1_1event__trace.html#ab8800a2c88f1b96d5134e7eac24ac582',1,'winstd::event_trace']]], - ['_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']]], - ['_7elibrary_30',['~library',['../classwinstd_1_1library.html#ae33e87cbe9236861b5e8d37e8e544716',1,'winstd::library']]], - ['_7eprocess_5finformation_31',['~process_information',['../classwinstd_1_1process__information.html#a0a176161ac9779e203f3fd8942115196',1,'winstd::process_information']]], - ['_7eref_5funique_5fptr_32',['~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_33',['~reg_key',['../classwinstd_1_1reg__key.html#ae54556effe6fe91942f87fc8c8ff5d7c',1,'winstd::reg_key']]], - ['_7esanitizing_5fblob_34',['~sanitizing_blob',['../classwinstd_1_1sanitizing__blob.html#ad478c9b04cc75d3ad1053ba9b23ea065',1,'winstd::sanitizing_blob']]], - ['_7esec_5fbuffer_5fdesc_35',['~sec_buffer_desc',['../classwinstd_1_1sec__buffer__desc.html#a70ebe23821ab3f90eb20e4a5e69c49c4',1,'winstd::sec_buffer_desc']]], - ['_7esec_5fcontext_36',['~sec_context',['../classwinstd_1_1sec__context.html#a2307770cc707a4f8e815c3fea57ac8a9',1,'winstd::sec_context']]], - ['_7esec_5fcredentials_37',['~sec_credentials',['../classwinstd_1_1sec__credentials.html#ad8b34c3a231201fd201e56a28235b9c3',1,'winstd::sec_credentials']]], - ['_7esecurity_5fid_38',['~security_id',['../classwinstd_1_1security__id.html#ac26d9d505eed5f5104e3ce8278913683',1,'winstd::security_id']]], - ['_7esetup_5fdevice_5finfo_5flist_39',['~setup_device_info_list',['../classwinstd_1_1setup__device__info__list.html#a25368d32a4f4bfe23cb9749464daa487',1,'winstd::setup_device_info_list']]], - ['_7esetup_5fdriver_5finfo_5flist_5fbuilder_40',['~setup_driver_info_list_builder',['../classwinstd_1_1setup__driver__info__list__builder.html#a836a7bb6c3c78c7c78965a32cfc2750e',1,'winstd::setup_driver_info_list_builder']]], - ['_7euser_5fimpersonator_41',['~user_impersonator',['../classwinstd_1_1user__impersonator.html#a986ca1cabf89b994f1634feb911c26a6',1,'winstd::user_impersonator']]], - ['_7evariant_42',['~variant',['../classwinstd_1_1variant.html#a69b429a61582fc777b07541daad7887b',1,'winstd::variant']]], - ['_7evmemory_43',['~vmemory',['../classwinstd_1_1vmemory.html#aa0d2edd7c1986736662b54a553695d51',1,'winstd::vmemory']]], - ['_7ewin_5fhandle_44',['~win_handle',['../classwinstd_1_1win__handle.html#a6b8070a3be4dede99a1c764b7f341a36',1,'winstd::win_handle']]], - ['_7ewindow_5fdc_45',['~window_dc',['../classwinstd_1_1window__dc.html#a3fd01c5264443520462cb7cab886a79b',1,'winstd::window_dc']]], - ['_7ewintrust_46',['~wintrust',['../classwinstd_1_1wintrust.html#ac529a244b4f2f4eb85bcdf594ff723c3',1,'winstd::wintrust']]], - ['_7ewlan_5fhandle_47',['~wlan_handle',['../classwinstd_1_1wlan__handle.html#a57e97a572a121f6e28673e6d84493de9',1,'winstd::wlan_handle']]] -]; diff --git a/search/all_3.js b/search/all_3.js index e182eec2..dc77e1eb 100644 --- a/search/all_3.js +++ b/search/all_3.js @@ -6,18 +6,18 @@ var searchData= ['change_5ftype_3',['change_type',['../classwinstd_1_1variant.html#a499d38db49d577c816e447c6a3875ff5',1,'winstd::variant']]], ['com_20object_20management_4',['COM object management',['../group___win_std_c_o_m.html',1,'']]], ['com_5finitializer_5',['com_initializer',['../classwinstd_1_1com__initializer.html#a20c89f6e237eb97166aac61f0dbdcbf6',1,'winstd::com_initializer::com_initializer(LPVOID pvReserved, DWORD dwCoInit) noexcept'],['../classwinstd_1_1com__initializer.html#a2e1dceaa4a658f2d35b93fe85d71e109',1,'winstd::com_initializer::com_initializer(LPVOID pvReserved) noexcept'],['../classwinstd_1_1com__initializer.html',1,'winstd::com_initializer']]], - ['com_5fobj_6',['com_obj',['../classwinstd_1_1com__obj.html#aace64e8520e9caf7c258ae207a5ef874',1,'winstd::com_obj::com_obj(com_obj< _Other > &other)'],['../classwinstd_1_1com__obj.html#aa2c8f855aaad8e35c1da6cfd9f32e01e',1,'winstd::com_obj::com_obj(_Other *other)'],['../classwinstd_1_1com__obj.html#aa7fb56997597a348bd33e583f59d28a3',1,'winstd::com_obj::com_obj(REFCLSID rclsid, LPUNKNOWN pUnkOuter=NULL, DWORD dwClsContext=CLSCTX_ALL)'],['../classwinstd_1_1com__obj.html',1,'winstd::com_obj< T >']]], + ['com_5fobj_6',['com_obj',['../classwinstd_1_1com__obj.html',1,'winstd']]], ['com_5fruntime_5ferror_7',['com_runtime_error',['../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#a75030cbe7acc6532140c73caf4b15ed8',1,'winstd::com_runtime_error::com_runtime_error(error_type num, const std::string &msg)'],['../classwinstd_1_1com__runtime__error.html',1,'winstd::com_runtime_error']]], ['console_5fctrl_5fhandler_8',['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_9',['const_pointer',['../classwinstd_1_1heap__allocator.html#adc56ad9f2484d7d34299bef73709ef9c',1,'winstd::heap_allocator']]], ['const_5freference_10',['const_reference',['../classwinstd_1_1heap__allocator.html#ad98c7e8fc3e14da42a8dfc897e75a790',1,'winstd::heap_allocator']]], - ['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)']]], ['cotaskmemfree_5fdelete_12',['CoTaskMemFree_delete',['../structwinstd_1_1_co_task_mem_free__delete.html#a712d2e91abc99bebe8cf8d32ac649326',1,'winstd::CoTaskMemFree_delete::CoTaskMemFree_delete()'],['../structwinstd_1_1_co_task_mem_free__delete.html',1,'winstd::CoTaskMemFree_delete']]], - ['create_13',['create',['../classwinstd_1_1event__session.html#af75b790f98bc16ed94f1167fe4acdb50',1,'winstd::event_session::create()'],['../classwinstd_1_1reg__key.html#ad331246ce1b00187315048df2716ed57',1,'winstd::reg_key::create()'],['../classwinstd_1_1heap.html#ae0f6791633a50ff1b2d616a76cd1e021',1,'winstd::heap::create()'],['../classwinstd_1_1event.html#a97d7be96a11e0b5232db73e7cb5d1395',1,'winstd::event::create()'],['../classwinstd_1_1file__mapping.html#a951f00273e41acc57b386500c05c4e35',1,'winstd::file_mapping::create()'],['../classwinstd_1_1file.html#a9ea28e7360dd6700c014bc25cea2093f',1,'winstd::file::create()'],['../classwinstd_1_1setup__device__info__list.html#a4771923fd032c1caf574f7e14056d0e3',1,'winstd::setup_device_info_list::create(const GUID *ClassGuid, PCTSTR Enumerator, HWND hwndParent, DWORD Flags, HDEVINFO DeviceInfoSet, PCTSTR MachineName, PVOID Reserved) noexcept'],['../classwinstd_1_1setup__device__info__list.html#a022aef9dcf004062bde1594035711792',1,'winstd::setup_device_info_list::create(const GUID *ClassGuid, HWND hwndParent) noexcept'],['../classwinstd_1_1event__trace.html#aa18b726564c539c8689dd9b36e2aeae9',1,'winstd::event_trace::create()'],['../classwinstd_1_1event__provider.html#aeb28bf6cc859920913e604b2d342f316',1,'winstd::event_provider::create()'],['../classwinstd_1_1eap__packet.html#ac769190286a427b778b17215f19010e9',1,'winstd::eap_packet::create()'],['../classwinstd_1_1crypt__prov.html#a08b54970721effdfa94ee27920df8983',1,'winstd::crypt_prov::create()'],['../classwinstd_1_1cert__store.html#ac426f1c354886dbc124d40cd878add19',1,'winstd::cert_store::create()'],['../classwinstd_1_1crypt__hash.html#a61cffe43e118aab93ad8fc3b662f9ab2',1,'winstd::crypt_hash::create()'],['../classwinstd_1_1cert__store.html#a2c6c8766f36f2f80cb6ccfffff3420ab',1,'winstd::cert_store::create()'],['../classwinstd_1_1cert__chain__context.html#acdd5a92af7d4eeca32f3a7a7ae7dc4a6',1,'winstd::cert_chain_context::create()'],['../classwinstd_1_1cert__context.html#a48348ed522045126105b05b4371dd782',1,'winstd::cert_context::create()'],['../classwinstd_1_1com__obj.html#a81ffdc99034437423210d3da111b50c5',1,'winstd::com_obj::create()']]], + ['create_13',['create',['../classwinstd_1_1eap__packet.html#ac769190286a427b778b17215f19010e9',1,'winstd::eap_packet::create()'],['../classwinstd_1_1event__provider.html#aeb28bf6cc859920913e604b2d342f316',1,'winstd::event_provider::create()'],['../classwinstd_1_1event__session.html#af75b790f98bc16ed94f1167fe4acdb50',1,'winstd::event_session::create()']]], ['create_5fexp1_14',['create_exp1',['../classwinstd_1_1crypt__key.html#a9a6097582df953795969c29ec134914a',1,'winstd::crypt_key']]], ['create_5fms_5fmppe_5fkey_15',['create_ms_mppe_key',['../classwinstd_1_1eap__attr.html#a8098b30108457f2c96c865bfabce3021',1,'winstd::eap_attr']]], ['credentials_20api_16',['Credentials API',['../group___win_std_cred_a_p_i.html',1,'']]], - ['credfree_5fdelete_17',['CredFree_delete',['../structwinstd_1_1_cred_free__delete.html#a3959d2b3727e557e19d8b0f5c449b57a',1,'winstd::CredFree_delete::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_3_01___ty_0f_0e_4.html#aad102423f4fb96fd105b57a88a6031ab',1,'winstd::CredFree_delete< _Ty[]>::CredFree_delete()'],['../structwinstd_1_1_cred_free__delete.html',1,'winstd::CredFree_delete< _Ty >']]], + ['credfree_5fdelete_17',['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_3c_20_5fty_5b_5d_3e_18',['CredFree_delete< _Ty[]>',['../structwinstd_1_1_cred_free__delete_3_01___ty_0f_0e_4.html',1,'winstd']]], ['critical_5fsection_19',['critical_section',['../classwinstd_1_1critical__section.html#aa8875ee96e273ba72e86457fe0f4c768',1,'winstd::critical_section::critical_section()'],['../classwinstd_1_1critical__section.html',1,'winstd::critical_section']]], ['crypt_5fhash_20',['crypt_hash',['../classwinstd_1_1crypt__hash.html',1,'winstd']]], diff --git a/search/all_4.js b/search/all_4.js index 12234022..aa525f0c 100644 --- a/search/all_4.js +++ b/search/all_4.js @@ -4,21 +4,19 @@ var searchData= ['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()']]], - ['delete_5fsubkey_5',['delete_subkey',['../classwinstd_1_1reg__key.html#a5b8ee8731e0caa51c84b271f43604f54',1,'winstd::reg_key']]], - ['derive_6',['derive',['../classwinstd_1_1crypt__key.html#a1d31c1f07a3880db6d75f3d5bea8b681',1,'winstd::crypt_key']]], - ['destroy_7',['destroy',['../classwinstd_1_1heap__allocator.html#aef179f33ca0ad99ffda16f004b146143',1,'winstd::heap_allocator']]], - ['detach_8',['detach',['../classwinstd_1_1handle.html#ad5acf6ce53e092b8d4d53f909cf321f9',1,'winstd::handle']]], - ['difference_5ftype_9',['difference_type',['../classwinstd_1_1heap__allocator.html#a4b39b8176ea30e1ceb02642c44de7b43',1,'winstd::heap_allocator']]], - ['disable_5ftrace_10',['disable_trace',['../classwinstd_1_1event__session.html#a86ff12521bc1c863ea685b8a689fd81b',1,'winstd::event_session']]], - ['dplhandle_11',['dplhandle',['../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'],['../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',1,'winstd::dplhandle< T, INVAL >']]], - ['dplhandle_3c_20bstr_2c_20null_20_3e_12',['dplhandle< BSTR, NULL >',['../classwinstd_1_1dplhandle.html',1,'winstd']]], - ['dplhandle_3c_20eappacket_20_2a_2c_20null_20_3e_13',['dplhandle< EapPacket *, NULL >',['../classwinstd_1_1dplhandle.html',1,'winstd']]], - ['dplhandle_3c_20hcrypthash_2c_20null_20_3e_14',['dplhandle< HCRYPTHASH, NULL >',['../classwinstd_1_1dplhandle.html',1,'winstd']]], - ['dplhandle_3c_20hcryptkey_2c_20null_20_3e_15',['dplhandle< HCRYPTKEY, NULL >',['../classwinstd_1_1dplhandle.html',1,'winstd']]], - ['dplhandle_3c_20pccert_5fchain_5fcontext_2c_20null_20_3e_16',['dplhandle< PCCERT_CHAIN_CONTEXT, NULL >',['../classwinstd_1_1dplhandle.html',1,'winstd']]], - ['dplhandle_3c_20pccert_5fcontext_2c_20null_20_3e_17',['dplhandle< PCCERT_CONTEXT, 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#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()']]] + ['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(pointer ptr, size_type size)']]], + ['destroy_5',['destroy',['../classwinstd_1_1heap__allocator.html#aef179f33ca0ad99ffda16f004b146143',1,'winstd::heap_allocator']]], + ['detach_6',['detach',['../classwinstd_1_1handle.html#ad5acf6ce53e092b8d4d53f909cf321f9',1,'winstd::handle']]], + ['difference_5ftype_7',['difference_type',['../classwinstd_1_1heap__allocator.html#a4b39b8176ea30e1ceb02642c44de7b43',1,'winstd::heap_allocator']]], + ['disable_5ftrace_8',['disable_trace',['../classwinstd_1_1event__session.html#a86ff12521bc1c863ea685b8a689fd81b',1,'winstd::event_session']]], + ['dplhandle_9',['dplhandle',['../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'],['../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_10',['dplhandle< BSTR, NULL >',['../classwinstd_1_1dplhandle.html',1,'winstd']]], + ['dplhandle_3c_20eappacket_20_2a_2c_20null_20_3e_11',['dplhandle< EapPacket *, NULL >',['../classwinstd_1_1dplhandle.html',1,'winstd']]], + ['dplhandle_3c_20hcrypthash_2c_20null_20_3e_12',['dplhandle< HCRYPTHASH, NULL >',['../classwinstd_1_1dplhandle.html',1,'winstd']]], + ['dplhandle_3c_20hcryptkey_2c_20null_20_3e_13',['dplhandle< HCRYPTKEY, NULL >',['../classwinstd_1_1dplhandle.html',1,'winstd']]], + ['dplhandle_3c_20pccert_5fchain_5fcontext_2c_20null_20_3e_14',['dplhandle< PCCERT_CHAIN_CONTEXT, NULL >',['../classwinstd_1_1dplhandle.html',1,'winstd']]], + ['dplhandle_3c_20pccert_5fcontext_2c_20null_20_3e_15',['dplhandle< PCCERT_CONTEXT, NULL >',['../classwinstd_1_1dplhandle.html',1,'winstd']]], + ['dplhandle_3c_20t_20_2a_2c_20null_20_3e_16',['dplhandle< T *, NULL >',['../classwinstd_1_1dplhandle.html',1,'winstd']]], + ['duplicate_17',['duplicate',['../classwinstd_1_1dplhandle.html#a48e66c8979560019e339867de944a265',1,'winstd::dplhandle']]], + ['duplicate_5finternal_18',['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_1crypt__key.html#aa9983160147883cf7526e9df1889b7bf',1,'winstd::crypt_key::duplicate_internal()'],['../classwinstd_1_1eap__packet.html#a5c5bc551e5c467e814e13f6d05d17ac2',1,'winstd::eap_packet::duplicate_internal()']]] ]; diff --git a/search/all_6.js b/search/all_6.js index cd6ff75c..4b00d1b9 100644 --- a/search/all_6.js +++ b/search/all_6.js @@ -2,8 +2,7 @@ var searchData= [ ['file_0',['file',['../classwinstd_1_1file.html',1,'winstd']]], ['file_5fmapping_1',['file_mapping',['../classwinstd_1_1file__mapping.html',1,'winstd']]], - ['find_2',['find',['../classwinstd_1_1find__file.html#a645530e3824df60edfb070bcc47501cb',1,'winstd::find_file']]], - ['find_5ffile_3',['find_file',['../classwinstd_1_1find__file.html',1,'winstd']]], - ['free_4',['free',['../classwinstd_1_1handle.html#a706aaab7691a472c608890f8e5dd0d96',1,'winstd::handle']]], - ['free_5finternal_5',['free_internal',['../classwinstd_1_1window__dc.html#a351bae4203ad766c94f4fc6eac74e98a',1,'winstd::window_dc::free_internal()'],['../classwinstd_1_1wlan__handle.html#a86e2b4aa2a5177b6ebac0258099f9261',1,'winstd::wlan_handle::free_internal()'],['../classwinstd_1_1sec__credentials.html#a6156649d1a93696c8369361cb426e260',1,'winstd::sec_credentials::free_internal()'],['../classwinstd_1_1sec__context.html#afe8682a77fe50e5818ee6c4c741f36d9',1,'winstd::sec_context::free_internal()'],['../classwinstd_1_1setup__device__info__list.html#a41f013a37e16074f1972fd279f8c1437',1,'winstd::setup_device_info_list::free_internal()'],['../classwinstd_1_1win__handle.html#a456fe19828113913f42e901f112c6455',1,'winstd::win_handle::free_internal()'],['../classwinstd_1_1library.html#a0c602319cb498fa2b6a5c4eda4a150aa',1,'winstd::library::free_internal()'],['../classwinstd_1_1find__file.html#a5bb4f7e12689153f991ffcb08dbbe703',1,'winstd::find_file::free_internal()'],['../classwinstd_1_1heap.html#ae25434d96356a74d27c0b3b0e268df45',1,'winstd::heap::free_internal()'],['../classwinstd_1_1vmemory.html#a616dbfba873b9a3dcf393cff6504fc2e',1,'winstd::vmemory::free_internal()'],['../classwinstd_1_1reg__key.html#a3dba00d2105a1c633c571d8ad3131f54',1,'winstd::reg_key::free_internal()'],['../classwinstd_1_1security__id.html#a464626311e64ea1273fd6bca9ef93a73',1,'winstd::security_id::free_internal()'],['../classwinstd_1_1event__log.html#a3e7c083403f5692926aff600f6ead52e',1,'winstd::event_log::free_internal()'],['../classwinstd_1_1addrinfo.html#a279ad84ce2877b22797eedbec80cd55f',1,'winstd::addrinfo::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()']]] + ['find_5ffile_2',['find_file',['../classwinstd_1_1find__file.html',1,'winstd']]], + ['free_3',['free',['../classwinstd_1_1handle.html#a706aaab7691a472c608890f8e5dd0d96',1,'winstd::handle']]], + ['free_5finternal_4',['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_1event__log.html#a3e7c083403f5692926aff600f6ead52e',1,'winstd::event_log::free_internal()'],['../classwinstd_1_1security__id.html#a464626311e64ea1273fd6bca9ef93a73',1,'winstd::security_id::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_1cert__store.html#ab709fe692a4117173eae26e741da2069',1,'winstd::cert_store::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()']]] ]; diff --git a/search/all_7.js b/search/all_7.js index 9d8c530b..0005887a 100644 --- a/search/all_7.js +++ b/search/all_7.js @@ -3,10 +3,8 @@ var searchData= ['gdi_20api_0',['GDI API',['../group___win_std_gdi_a_p_i.html',1,'']]], ['gdi_5fhandle_1',['gdi_handle',['../classwinstd_1_1gdi__handle.html',1,'winstd']]], ['general_2',['General',['../group___win_std_general.html',1,'']]], - ['generate_3',['generate',['../classwinstd_1_1crypt__key.html#a17f93ad625dd48168ca1b16765024fd9',1,'winstd::crypt_key']]], - ['get_4',['get',['../classwinstd_1_1addrinfo.html#aee91b14ae5681b117305df51ddf1e138',1,'winstd::addrinfo']]], - ['get_5fptr_5',['get_ptr',['../group___win_std_general.html#gab4ddaca47a234b4f81a1c3314b3ba205',1,'winstd::get_ptr(std::unique_ptr< _Ty, _Dx > &owner) noexcept'],['../group___win_std_general.html#ga7ecb3b65341fd45c36fce1fe692ec19a',1,'winstd::get_ptr(std::unique_ptr< _Ty[], _Dx > &owner) noexcept']]], - ['gtc_6',['gtc',['../group___win_std_e_a_p_a_p_i.html#gga50f5584ca708165f43cec42c42243315a3761e7920c97542314b1aa50434f9293',1,'winstd']]], - ['gtcp_7',['gtcp',['../group___win_std_e_a_p_a_p_i.html#gga50f5584ca708165f43cec42c42243315a811f41353a6e1e0ecf7a03308c4f8e0e',1,'winstd']]], - ['guidtostring_8',['GuidToString',['../group___win_std_win_a_p_i.html#gad08dfb2a0d1254918a2a4ed45061a50d',1,'Win.h']]] + ['get_5fptr_3',['get_ptr',['../group___win_std_general.html#gab4ddaca47a234b4f81a1c3314b3ba205',1,'winstd::get_ptr(std::unique_ptr< _Ty, _Dx > &owner) noexcept'],['../group___win_std_general.html#ga7ecb3b65341fd45c36fce1fe692ec19a',1,'winstd::get_ptr(std::unique_ptr< _Ty[], _Dx > &owner) noexcept']]], + ['gtc_4',['gtc',['../group___win_std_e_a_p_a_p_i.html#gga50f5584ca708165f43cec42c42243315a3761e7920c97542314b1aa50434f9293',1,'winstd']]], + ['gtcp_5',['gtcp',['../group___win_std_e_a_p_a_p_i.html#gga50f5584ca708165f43cec42c42243315a811f41353a6e1e0ecf7a03308c4f8e0e',1,'winstd']]], + ['guidtostring_6',['GuidToString',['../group___win_std_win_a_p_i.html#gad08dfb2a0d1254918a2a4ed45061a50d',1,'Win.h']]] ]; diff --git a/search/all_8.js b/search/all_8.js index 020a11c2..ddeb30fe 100644 --- a/search/all_8.js +++ b/search/all_8.js @@ -15,19 +15,20 @@ var searchData= ['handle_3c_20hkey_2c_20null_20_3e_12',['handle< HKEY, NULL >',['../classwinstd_1_1handle.html',1,'winstd']]], ['handle_3c_20hmodule_2c_20null_20_3e_13',['handle< HMODULE, NULL >',['../classwinstd_1_1handle.html',1,'winstd']]], ['handle_3c_20lpvoid_2c_20null_20_3e_14',['handle< LPVOID, NULL >',['../classwinstd_1_1handle.html',1,'winstd']]], - ['handle_3c_20paddrinfot_2c_20null_20_3e_15',['handle< PADDRINFOT, NULL >',['../classwinstd_1_1handle.html',1,'winstd']]], - ['handle_3c_20pccert_5fchain_5fcontext_2c_20inval_20_3e_16',['handle< PCCERT_CHAIN_CONTEXT, INVAL >',['../classwinstd_1_1handle.html',1,'winstd']]], - ['handle_3c_20pccert_5fcontext_2c_20inval_20_3e_17',['handle< PCCERT_CONTEXT, INVAL >',['../classwinstd_1_1handle.html',1,'winstd']]], - ['handle_3c_20pcredhandle_2c_20null_20_3e_18',['handle< PCredHandle, NULL >',['../classwinstd_1_1handle.html',1,'winstd']]], - ['handle_3c_20pctxthandle_2c_20null_20_3e_19',['handle< PCtxtHandle, NULL >',['../classwinstd_1_1handle.html',1,'winstd']]], - ['handle_3c_20psid_2c_20null_20_3e_20',['handle< PSID, NULL >',['../classwinstd_1_1handle.html',1,'winstd']]], - ['handle_3c_20reghandle_2c_20null_20_3e_21',['handle< REGHANDLE, NULL >',['../classwinstd_1_1handle.html',1,'winstd']]], - ['handle_3c_20t_20_2a_2c_20inval_20_3e_22',['handle< T *, INVAL >',['../classwinstd_1_1handle.html',1,'winstd']]], - ['handle_3c_20t_2c_20null_20_3e_23',['handle< T, NULL >',['../classwinstd_1_1handle.html',1,'winstd']]], - ['handle_3c_20tracehandle_2c_200_20_3e_24',['handle< TRACEHANDLE, 0 >',['../classwinstd_1_1handle.html',1,'winstd']]], - ['handle_3c_20tracehandle_2c_20invalid_5fprocesstrace_5fhandle_20_3e_25',['handle< TRACEHANDLE, INVALID_PROCESSTRACE_HANDLE >',['../classwinstd_1_1handle.html',1,'winstd']]], - ['handle_5ftype_26',['handle_type',['../classwinstd_1_1handle.html#a3dda19199ecfbc378c932e7d84d0ea81',1,'winstd::handle']]], - ['heap_27',['heap',['../classwinstd_1_1heap.html',1,'winstd']]], - ['heap_5fallocator_28',['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_29',['help_link_id',['../classwinstd_1_1eap__runtime__error.html#af7179a9cc9ff633a0e7d5983a4680171',1,'winstd::eap_runtime_error']]] + ['handle_3c_20paddrinfoa_2c_20null_20_3e_15',['handle< PADDRINFOA, NULL >',['../classwinstd_1_1handle.html',1,'winstd']]], + ['handle_3c_20paddrinfow_2c_20null_20_3e_16',['handle< PADDRINFOW, NULL >',['../classwinstd_1_1handle.html',1,'winstd']]], + ['handle_3c_20pccert_5fchain_5fcontext_2c_20inval_20_3e_17',['handle< PCCERT_CHAIN_CONTEXT, INVAL >',['../classwinstd_1_1handle.html',1,'winstd']]], + ['handle_3c_20pccert_5fcontext_2c_20inval_20_3e_18',['handle< PCCERT_CONTEXT, INVAL >',['../classwinstd_1_1handle.html',1,'winstd']]], + ['handle_3c_20pcredhandle_2c_20null_20_3e_19',['handle< PCredHandle, NULL >',['../classwinstd_1_1handle.html',1,'winstd']]], + ['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_20t_20_2a_2c_20inval_20_3e_23',['handle< T *, INVAL >',['../classwinstd_1_1handle.html',1,'winstd']]], + ['handle_3c_20t_2c_20null_20_3e_24',['handle< T, NULL >',['../classwinstd_1_1handle.html',1,'winstd']]], + ['handle_3c_20tracehandle_2c_200_20_3e_25',['handle< TRACEHANDLE, 0 >',['../classwinstd_1_1handle.html',1,'winstd']]], + ['handle_3c_20tracehandle_2c_20invalid_5fprocesstrace_5fhandle_20_3e_26',['handle< TRACEHANDLE, INVALID_PROCESSTRACE_HANDLE >',['../classwinstd_1_1handle.html',1,'winstd']]], + ['handle_5ftype_27',['handle_type',['../classwinstd_1_1handle.html#a3dda19199ecfbc378c932e7d84d0ea81',1,'winstd::handle']]], + ['heap_28',['heap',['../classwinstd_1_1heap.html',1,'winstd']]], + ['heap_5fallocator_29',['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_30',['help_link_id',['../classwinstd_1_1eap__runtime__error.html#af7179a9cc9ff633a0e7d5983a4680171',1,'winstd::eap_runtime_error']]] ]; diff --git a/search/all_9.js b/search/all_9.js index af6f6c66..e26f657b 100644 --- a/search/all_9.js +++ b/search/all_9.js @@ -1,8 +1,6 @@ var searchData= [ ['identity_0',['identity',['../group___win_std_e_a_p_a_p_i.html#gga50f5584ca708165f43cec42c42243315aff483d1ff591898a9942916050d2ca3f',1,'winstd']]], - ['import_1',['import',['../classwinstd_1_1crypt__key.html#ac383be38a4b70b63c53e4650a1b15d7c',1,'winstd::crypt_key']]], - ['import_5fpublic_2',['import_public',['../classwinstd_1_1crypt__key.html#ab78817b44504f46fba8688b44a5d23bc',1,'winstd::crypt_key']]], - ['initialize_3',['initialize',['../classwinstd_1_1sec__context.html#a7cc49346bd63d78928e65b11b21b6e21',1,'winstd::sec_context']]], - ['invalid_4',['invalid',['../group___win_std_sys_handles.html#gacf43e306968474166474090690857e1c',1,'winstd::handle']]] + ['initialize_1',['initialize',['../classwinstd_1_1sec__context.html#a7cc49346bd63d78928e65b11b21b6e21',1,'winstd::sec_context']]], + ['invalid_2',['invalid',['../group___win_std_sys_handles.html#gacf43e306968474166474090690857e1c',1,'winstd::handle']]] ]; diff --git a/search/all_a.js b/search/all_a.js index e7adacfd..6fa46763 100644 --- a/search/all_a.js +++ b/search/all_a.js @@ -4,7 +4,6 @@ var searchData= ['legacy_5fpap_1',['legacy_pap',['../group___win_std_e_a_p_a_p_i.html#gga50f5584ca708165f43cec42c42243315a262032c7bb2ef8f08d5b85ee63f79eff',1,'winstd']]], ['length_2',['length',['../classwinstd_1_1bstr.html#aa6970921c6334a993f5f0fc1be5d54e3',1,'winstd::bstr']]], ['library_3',['library',['../classwinstd_1_1library.html',1,'winstd']]], - ['load_4',['load',['../classwinstd_1_1library.html#ae3dfbb0ede1b778fdefde72f0a47cb3f',1,'winstd::library']]], - ['localfree_5fdelete_5',['LocalFree_delete',['../structwinstd_1_1_local_free__delete.html#ae7e35dd11650c49de0ebcab4388c9400',1,'winstd::LocalFree_delete::LocalFree_delete()'],['../structwinstd_1_1_local_free__delete.html#abbb52355375f34eca425d61a59261461',1,'winstd::LocalFree_delete::LocalFree_delete(const LocalFree_delete< _Ty2 > &)'],['../structwinstd_1_1_local_free__delete_3_01___ty_0f_0e_4.html#a34a948cc7b0f12c0f1e4b7e234d8181c',1,'winstd::LocalFree_delete< _Ty[]>::LocalFree_delete()'],['../structwinstd_1_1_local_free__delete.html',1,'winstd::LocalFree_delete< _Ty >']]], - ['localfree_5fdelete_3c_20_5fty_5b_5d_3e_6',['LocalFree_delete< _Ty[]>',['../structwinstd_1_1_local_free__delete_3_01___ty_0f_0e_4.html',1,'winstd']]] + ['localfree_5fdelete_4',['LocalFree_delete',['../structwinstd_1_1_local_free__delete.html#ae7e35dd11650c49de0ebcab4388c9400',1,'winstd::LocalFree_delete::LocalFree_delete()'],['../structwinstd_1_1_local_free__delete.html#abbb52355375f34eca425d61a59261461',1,'winstd::LocalFree_delete::LocalFree_delete(const LocalFree_delete< _Ty2 > &)'],['../structwinstd_1_1_local_free__delete_3_01___ty_0f_0e_4.html#a34a948cc7b0f12c0f1e4b7e234d8181c',1,'winstd::LocalFree_delete< _Ty[]>::LocalFree_delete()'],['../structwinstd_1_1_local_free__delete.html',1,'winstd::LocalFree_delete< _Ty >']]], + ['localfree_5fdelete_3c_20_5fty_5b_5d_3e_5',['LocalFree_delete< _Ty[]>',['../structwinstd_1_1_local_free__delete_3_01___ty_0f_0e_4.html',1,'winstd']]] ]; diff --git a/search/all_d.js b/search/all_d.js index 80e38c9f..dd794bb1 100644 --- a/search/all_d.js +++ b/search/all_d.js @@ -1,23 +1,22 @@ var searchData= [ - ['open_0',['open',['../classwinstd_1_1event.html#a208402e837b0663e6f2a4babbc555145',1,'winstd::event::open()'],['../classwinstd_1_1process.html#a3b2799779d92e9b8e6b010f90594e52e',1,'winstd::process::open()'],['../classwinstd_1_1wlan__handle.html#ab6d75e3603c311c0ea66224ab15555f9',1,'winstd::wlan_handle::open()'],['../classwinstd_1_1reg__key.html#abb5d9b3f87c70423940818b5c5df79a7',1,'winstd::reg_key::open()'],['../classwinstd_1_1event__log.html#afd27669d627368ec4a71719382c871ca',1,'winstd::event_log::open()']]], - ['operator_20const_20event_5ftrace_5fproperties_20_2a_1',['operator const EVENT_TRACE_PROPERTIES *',['../classwinstd_1_1event__session.html#a1a37f33aed68839679f91bfe51e675d1',1,'winstd::event_session']]], - ['operator_20handle_5ftype_2',['operator handle_type',['../classwinstd_1_1handle.html#a86114637674c82d6fd96d7b3eae39ac8',1,'winstd::handle']]], - ['operator_20lpcritical_5fsection_3',['operator LPCRITICAL_SECTION',['../classwinstd_1_1critical__section.html#a7d071e54253a18e11dfdba7130333083',1,'winstd::critical_section']]], - ['operator_20typename_20_5fty_20_2a_26_4',['operator typename _Ty *&',['../classwinstd_1_1ref__unique__ptr.html#a45bf0e1b5544e6b8f8f1e907ddaec41b',1,'winstd::ref_unique_ptr::operator typename _Ty *&()'],['../classwinstd_1_1ref__unique__ptr_3_01___ty_0f_0e_00_01___dx_01_4.html#afe5ec21f5765e9023bf8379d05c12187',1,'winstd::ref_unique_ptr< _Ty[], _Dx >::operator typename _Ty *&()']]], - ['operator_20typename_20_5fty_20_2a_2a_5',['operator typename _Ty **',['../classwinstd_1_1ref__unique__ptr.html#a0a43c89cd281cfe203cd45655d537a02',1,'winstd::ref_unique_ptr::operator typename _Ty **()'],['../classwinstd_1_1ref__unique__ptr_3_01___ty_0f_0e_00_01___dx_01_4.html#ae7d16a5850060668cf78a7fc92b62719',1,'winstd::ref_unique_ptr< _Ty[], _Dx >::operator typename _Ty **()']]], - ['operator_21_6',['operator!',['../classwinstd_1_1handle.html#a5df08ecb32b9040bf7342479aee2286c',1,'winstd::handle']]], - ['operator_21_3d_7',['operator!=',['../classwinstd_1_1handle.html#a6df58f6c131ab4288acb96d5b8f3012e',1,'winstd::handle::operator!=()'],['../classwinstd_1_1cert__context.html#adfad0db8dd947143a8406f2f988d04ad',1,'winstd::cert_context::operator!=()'],['../classwinstd_1_1variant.html#a70dc99253ef9de24b443e6d48b662643',1,'winstd::variant::operator!=()']]], - ['operator_26_8',['operator&',['../classwinstd_1_1handle.html#a2bd2de7bb89dcebe2c9379dd54ee79c1',1,'winstd::handle']]], - ['operator_28_29_9',['operator()',['../structwinstd_1_1_local_free__delete_3_01___ty_0f_0e_4.html#abf0ecfcfbb58493103f7e0905272d8d8',1,'winstd::LocalFree_delete< _Ty[]>::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_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()()'],['../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_10',['operator*',['../classwinstd_1_1handle.html#a0f1ac60cf62e41c24394bf0e3457fbd9',1,'winstd::handle']]], - ['operator_2d_3e_11',['operator->',['../classwinstd_1_1handle.html#a285ada5936fe7afdd12eed70b38c2084',1,'winstd::handle']]], - ['operator_3c_12',['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<(const VARIANT &varSrc) const noexcept']]], - ['operator_3c_3d_13',['operator<=',['../classwinstd_1_1variant.html#a02366b97c9a937f57806640dc942ecaf',1,'winstd::variant::operator<=()'],['../classwinstd_1_1handle.html#af9e9538d58b952799db4a1c68b0184b9',1,'winstd::handle::operator<=()'],['../classwinstd_1_1cert__context.html#a042240321d22636cddc379b198c7fd84',1,'winstd::cert_context::operator<=()']]], - ['operator_3d_14',['operator=',['../classwinstd_1_1eap__attr.html#a242766666ce3cbb83429ddd0eaeb9cc6',1,'winstd::eap_attr::operator=()'],['../classwinstd_1_1variant.html#a1df6086270e7799b83ee2889e2b88d9e',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_1ref__unique__ptr_3_01___ty_0f_0e_00_01___dx_01_4.html#acfb43bdf589d00763538f35ac5893641',1,'winstd::ref_unique_ptr< _Ty[], _Dx >::operator=(ref_unique_ptr< _Ty[], _Dx > &&other)'],['../classwinstd_1_1ref__unique__ptr_3_01___ty_0f_0e_00_01___dx_01_4.html#a55590736d435041213af5b54ffe722bf',1,'winstd::ref_unique_ptr< _Ty[], _Dx >::operator=(std::unique_ptr< _Ty[], _Dx > &owner) noexcept'],['../classwinstd_1_1variant.html#a39d9e97b57c37f3d876574cc2fd6e0a5',1,'winstd::variant::operator=(const SAFEARRAY *pSrc) 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_1variant.html#aebabfcb503a43abecc9f3c07629f591f',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_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#ad0ef65b5a3f40b1a812ac78ca5e5eb50',1,'winstd::variant::operator=(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#a1786d099ef012c301c0774f98af0f13a',1,'winstd::variant::operator=(float fltSrc) noexcept'],['../classwinstd_1_1variant.html#a935f6cff8004781f60d66b04a01c2330',1,'winstd::variant::operator=(CY cySrc) noexcept'],['../classwinstd_1_1variant.html#ad4a0fd8999d8d526bb232ebf70c18887',1,'winstd::variant::operator=(unsigned long long *pnSrc) 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#aa01c928f87788c505b818b7930c0f3a0',1,'winstd::variant::operator=(unsigned int *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#a5bc092e989de74c42d92de5647248a57',1,'winstd::variant::operator=(unsigned char *pbSrc) noexcept'],['../classwinstd_1_1variant.html#a55f962bb7a077f87aaa4a6bec03c10da',1,'winstd::variant::operator=(IUnknown *pSrc)'],['../classwinstd_1_1variant.html#af5e22f4158921eb49c2207335d7c7593',1,'winstd::variant::operator=(IDispatch *pSrc)'],['../classwinstd_1_1variant.html#a984b2e054639678f06a40e3f57abf4d7',1,'winstd::variant::operator=(LPCOLESTR lpszSrc) noexcept'],['../classwinstd_1_1variant.html#a6fa877e7a098dba125c6342bd5e1c896',1,'winstd::variant::operator=(double dblSrc) noexcept'],['../classwinstd_1_1variant.html#aa8c701dc6deac688a83d04ed9afdd4b5',1,'winstd::variant::operator=(short *pnSrc) noexcept']]], - ['operator_3d_3d_15',['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==()']]], - ['operator_3e_16',['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>()']]], - ['operator_3e_3d_17',['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>=()']]], - ['other_18',['other',['../structwinstd_1_1sanitizing__allocator_1_1rebind.html#a6a195ba8f7b42d8e82304efb08e18679',1,'winstd::sanitizing_allocator::rebind::other()'],['../structwinstd_1_1heap__allocator_1_1rebind.html#a7916519ada01914c23461a64334ff331',1,'winstd::heap_allocator::rebind::other()']]], - ['otp_19',['otp',['../group___win_std_e_a_p_a_p_i.html#gga50f5584ca708165f43cec42c42243315ad2270e7120a93c8b0a6a34760e654c7d',1,'winstd']]] + ['operator_20const_20event_5ftrace_5fproperties_20_2a_0',['operator const EVENT_TRACE_PROPERTIES *',['../classwinstd_1_1event__session.html#a1a37f33aed68839679f91bfe51e675d1',1,'winstd::event_session']]], + ['operator_20handle_5ftype_1',['operator handle_type',['../classwinstd_1_1handle.html#a86114637674c82d6fd96d7b3eae39ac8',1,'winstd::handle']]], + ['operator_20lpcritical_5fsection_2',['operator LPCRITICAL_SECTION',['../classwinstd_1_1critical__section.html#a7d071e54253a18e11dfdba7130333083',1,'winstd::critical_section']]], + ['operator_20typename_20_5fty_20_2a_26_3',['operator typename _Ty *&',['../classwinstd_1_1ref__unique__ptr.html#a45bf0e1b5544e6b8f8f1e907ddaec41b',1,'winstd::ref_unique_ptr::operator typename _Ty *&()'],['../classwinstd_1_1ref__unique__ptr_3_01___ty_0f_0e_00_01___dx_01_4.html#afe5ec21f5765e9023bf8379d05c12187',1,'winstd::ref_unique_ptr< _Ty[], _Dx >::operator typename _Ty *&()']]], + ['operator_20typename_20_5fty_20_2a_2a_4',['operator typename _Ty **',['../classwinstd_1_1ref__unique__ptr.html#a0a43c89cd281cfe203cd45655d537a02',1,'winstd::ref_unique_ptr::operator typename _Ty **()'],['../classwinstd_1_1ref__unique__ptr_3_01___ty_0f_0e_00_01___dx_01_4.html#ae7d16a5850060668cf78a7fc92b62719',1,'winstd::ref_unique_ptr< _Ty[], _Dx >::operator typename _Ty **()']]], + ['operator_21_5',['operator!',['../classwinstd_1_1handle.html#a5df08ecb32b9040bf7342479aee2286c',1,'winstd::handle']]], + ['operator_21_3d_6',['operator!=',['../classwinstd_1_1cert__context.html#adfad0db8dd947143a8406f2f988d04ad',1,'winstd::cert_context::operator!=()'],['../classwinstd_1_1handle.html#a6df58f6c131ab4288acb96d5b8f3012e',1,'winstd::handle::operator!=()'],['../classwinstd_1_1variant.html#a70dc99253ef9de24b443e6d48b662643',1,'winstd::variant::operator!=()']]], + ['operator_26_7',['operator&',['../classwinstd_1_1handle.html#a2bd2de7bb89dcebe2c9379dd54ee79c1',1,'winstd::handle']]], + ['operator_28_29_8',['operator()',['../structwinstd_1_1_cred_free__delete.html#a247d6f53f119468b6ccb08ff01338465',1,'winstd::CredFree_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_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_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_9',['operator*',['../classwinstd_1_1handle.html#a0f1ac60cf62e41c24394bf0e3457fbd9',1,'winstd::handle']]], + ['operator_2d_3e_10',['operator->',['../classwinstd_1_1handle.html#a285ada5936fe7afdd12eed70b38c2084',1,'winstd::handle']]], + ['operator_3c_11',['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<(const VARIANT &varSrc) const noexcept']]], + ['operator_3c_3d_12',['operator<=',['../classwinstd_1_1variant.html#a02366b97c9a937f57806640dc942ecaf',1,'winstd::variant::operator<=()'],['../classwinstd_1_1handle.html#af9e9538d58b952799db4a1c68b0184b9',1,'winstd::handle::operator<=()'],['../classwinstd_1_1cert__context.html#a042240321d22636cddc379b198c7fd84',1,'winstd::cert_context::operator<=()']]], + ['operator_3d_13',['operator=',['../classwinstd_1_1eap__attr.html#aa5909d52c15557908ff584f4712eea05',1,'winstd::eap_attr::operator=()'],['../classwinstd_1_1variant.html#a1df6086270e7799b83ee2889e2b88d9e',1,'winstd::variant::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_1ref__unique__ptr_3_01___ty_0f_0e_00_01___dx_01_4.html#acfb43bdf589d00763538f35ac5893641',1,'winstd::ref_unique_ptr< _Ty[], _Dx >::operator=(ref_unique_ptr< _Ty[], _Dx > &&other)'],['../classwinstd_1_1ref__unique__ptr_3_01___ty_0f_0e_00_01___dx_01_4.html#a55590736d435041213af5b54ffe722bf',1,'winstd::ref_unique_ptr< _Ty[], _Dx >::operator=(std::unique_ptr< _Ty[], _Dx > &owner) noexcept'],['../classwinstd_1_1variant.html#a39d9e97b57c37f3d876574cc2fd6e0a5',1,'winstd::variant::operator=(const SAFEARRAY *pSrc) noexcept'],['../classwinstd_1_1variant.html#a2ea74c1b7a770188f7f59d7eb6923dbe',1,'winstd::variant::operator=(double *pfSrc) noexcept'],['../classwinstd_1_1variant.html#a935f6cff8004781f60d66b04a01c2330',1,'winstd::variant::operator=(CY cySrc) noexcept'],['../classwinstd_1_1eap__attr.html#a242766666ce3cbb83429ddd0eaeb9cc6',1,'winstd::eap_attr::operator=()'],['../classwinstd_1_1eap__method__info__array.html#aea48aefd91b676cdbeb9511640108f2a',1,'winstd::eap_method_info_array::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_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#ad0ef65b5a3f40b1a812ac78ca5e5eb50',1,'winstd::variant::operator=(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#ad4a0fd8999d8d526bb232ebf70c18887',1,'winstd::variant::operator=(unsigned long long *pnSrc) 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#aa01c928f87788c505b818b7930c0f3a0',1,'winstd::variant::operator=(unsigned int *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#a5bc092e989de74c42d92de5647248a57',1,'winstd::variant::operator=(unsigned char *pbSrc) noexcept'],['../classwinstd_1_1variant.html#a55f962bb7a077f87aaa4a6bec03c10da',1,'winstd::variant::operator=(IUnknown *pSrc)'],['../classwinstd_1_1variant.html#af5e22f4158921eb49c2207335d7c7593',1,'winstd::variant::operator=(IDispatch *pSrc)'],['../classwinstd_1_1variant.html#a984b2e054639678f06a40e3f57abf4d7',1,'winstd::variant::operator=(LPCOLESTR lpszSrc) noexcept'],['../classwinstd_1_1variant.html#a1786d099ef012c301c0774f98af0f13a',1,'winstd::variant::operator=(float fltSrc) noexcept'],['../classwinstd_1_1variant.html#aa8c701dc6deac688a83d04ed9afdd4b5',1,'winstd::variant::operator=(short *pnSrc) noexcept']]], + ['operator_3d_3d_14',['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==()']]], + ['operator_3e_15',['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>()']]], + ['operator_3e_3d_16',['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>=()']]], + ['other_17',['other',['../structwinstd_1_1sanitizing__allocator_1_1rebind.html#a6a195ba8f7b42d8e82304efb08e18679',1,'winstd::sanitizing_allocator::rebind::other()'],['../structwinstd_1_1heap__allocator_1_1rebind.html#a7916519ada01914c23461a64334ff331',1,'winstd::heap_allocator::rebind::other()']]], + ['otp_18',['otp',['../group___win_std_e_a_p_a_p_i.html#gga50f5584ca708165f43cec42c42243315ad2270e7120a93c8b0a6a34760e654c7d',1,'winstd']]] ]; diff --git a/search/all_f.js b/search/all_f.js index b80f4d6e..89d72eed 100644 --- a/search/all_f.js +++ b/search/all_f.js @@ -1,4 +1,13 @@ var searchData= [ - ['query_5finterface_0',['query_interface',['../classwinstd_1_1com__obj.html#a1ce5cf9682ee1b876cb9eba372e2b1a1',1,'winstd::com_obj::query_interface(_Other **h) const'],['../classwinstd_1_1com__obj.html#a8e898e0977c00b196e1986a02709c185',1,'winstd::com_obj::query_interface(com_obj< _Other > &h) const']]] + ['reason_0',['reason',['../classwinstd_1_1eap__runtime__error.html#a3329eb549dce7f57f5a59e3f5a16705c',1,'winstd::eap_runtime_error']]], + ['rebind_1',['rebind',['../structwinstd_1_1heap__allocator_1_1rebind.html',1,'winstd::heap_allocator< _Ty >::rebind< _Other >'],['../structwinstd_1_1sanitizing__allocator_1_1rebind.html',1,'winstd::sanitizing_allocator< _Ty >::rebind< _Other >']]], + ['ref_5funique_5fptr_2',['ref_unique_ptr',['../classwinstd_1_1ref__unique__ptr.html#af092ed7ea1346c7a92b20ae2f6de5577',1,'winstd::ref_unique_ptr::ref_unique_ptr(std::unique_ptr< _Ty, _Dx > &owner)'],['../classwinstd_1_1ref__unique__ptr.html#a755e6f4235fa54330304921ea14b76bc',1,'winstd::ref_unique_ptr::ref_unique_ptr(ref_unique_ptr< _Ty, _Dx > &&other)'],['../classwinstd_1_1ref__unique__ptr_3_01___ty_0f_0e_00_01___dx_01_4.html#a884355151c4c7d65f4ac279966793d5d',1,'winstd::ref_unique_ptr< _Ty[], _Dx >::ref_unique_ptr(std::unique_ptr< _Ty[], _Dx > &owner) noexcept'],['../classwinstd_1_1ref__unique__ptr_3_01___ty_0f_0e_00_01___dx_01_4.html#a2e6a20baa25af8b928d80ccc566e11cc',1,'winstd::ref_unique_ptr< _Ty[], _Dx >::ref_unique_ptr(ref_unique_ptr< _Ty[], _Dx > &&other)'],['../classwinstd_1_1ref__unique__ptr.html',1,'winstd::ref_unique_ptr< _Ty, _Dx >']]], + ['ref_5funique_5fptr_3c_20_5fty_5b_5d_2c_20_5fdx_20_3e_3',['ref_unique_ptr< _Ty[], _Dx >',['../classwinstd_1_1ref__unique__ptr_3_01___ty_0f_0e_00_01___dx_01_4.html',1,'winstd']]], + ['reference_4',['reference',['../classwinstd_1_1heap__allocator.html#a88ed8962cd0d64849119d7a11135b2d0',1,'winstd::heap_allocator']]], + ['reg_5fkey_5',['reg_key',['../classwinstd_1_1reg__key.html',1,'winstd']]], + ['repair_6',['repair',['../classwinstd_1_1eap__runtime__error.html#a981cb9a1cbf0c6e7e19252d776a2558f',1,'winstd::eap_runtime_error']]], + ['repair_5fid_7',['repair_id',['../classwinstd_1_1eap__runtime__error.html#a1e80ead2a4d348ab2c939bfbbaf9330a',1,'winstd::eap_runtime_error']]], + ['root_5fcause_8',['root_cause',['../classwinstd_1_1eap__runtime__error.html#a0aa17a51b2c110e874b60924281a3743',1,'winstd::eap_runtime_error']]], + ['root_5fcause_5fid_9',['root_cause_id',['../classwinstd_1_1eap__runtime__error.html#ae39b6b32c9505c0be2e199d8692175d1',1,'winstd::eap_runtime_error']]] ]; diff --git a/search/classes_7.js b/search/classes_7.js index cd242867..a65b88e3 100644 --- a/search/classes_7.js +++ b/search/classes_7.js @@ -15,17 +15,18 @@ var searchData= ['handle_3c_20hkey_2c_20null_20_3e_12',['handle< HKEY, NULL >',['../classwinstd_1_1handle.html',1,'winstd']]], ['handle_3c_20hmodule_2c_20null_20_3e_13',['handle< HMODULE, NULL >',['../classwinstd_1_1handle.html',1,'winstd']]], ['handle_3c_20lpvoid_2c_20null_20_3e_14',['handle< LPVOID, NULL >',['../classwinstd_1_1handle.html',1,'winstd']]], - ['handle_3c_20paddrinfot_2c_20null_20_3e_15',['handle< PADDRINFOT, NULL >',['../classwinstd_1_1handle.html',1,'winstd']]], - ['handle_3c_20pccert_5fchain_5fcontext_2c_20inval_20_3e_16',['handle< PCCERT_CHAIN_CONTEXT, INVAL >',['../classwinstd_1_1handle.html',1,'winstd']]], - ['handle_3c_20pccert_5fcontext_2c_20inval_20_3e_17',['handle< PCCERT_CONTEXT, INVAL >',['../classwinstd_1_1handle.html',1,'winstd']]], - ['handle_3c_20pcredhandle_2c_20null_20_3e_18',['handle< PCredHandle, NULL >',['../classwinstd_1_1handle.html',1,'winstd']]], - ['handle_3c_20pctxthandle_2c_20null_20_3e_19',['handle< PCtxtHandle, NULL >',['../classwinstd_1_1handle.html',1,'winstd']]], - ['handle_3c_20psid_2c_20null_20_3e_20',['handle< PSID, NULL >',['../classwinstd_1_1handle.html',1,'winstd']]], - ['handle_3c_20reghandle_2c_20null_20_3e_21',['handle< REGHANDLE, NULL >',['../classwinstd_1_1handle.html',1,'winstd']]], - ['handle_3c_20t_20_2a_2c_20inval_20_3e_22',['handle< T *, INVAL >',['../classwinstd_1_1handle.html',1,'winstd']]], - ['handle_3c_20t_2c_20null_20_3e_23',['handle< T, NULL >',['../classwinstd_1_1handle.html',1,'winstd']]], - ['handle_3c_20tracehandle_2c_200_20_3e_24',['handle< TRACEHANDLE, 0 >',['../classwinstd_1_1handle.html',1,'winstd']]], - ['handle_3c_20tracehandle_2c_20invalid_5fprocesstrace_5fhandle_20_3e_25',['handle< TRACEHANDLE, INVALID_PROCESSTRACE_HANDLE >',['../classwinstd_1_1handle.html',1,'winstd']]], - ['heap_26',['heap',['../classwinstd_1_1heap.html',1,'winstd']]], - ['heap_5fallocator_27',['heap_allocator',['../classwinstd_1_1heap__allocator.html',1,'winstd']]] + ['handle_3c_20paddrinfoa_2c_20null_20_3e_15',['handle< PADDRINFOA, NULL >',['../classwinstd_1_1handle.html',1,'winstd']]], + ['handle_3c_20paddrinfow_2c_20null_20_3e_16',['handle< PADDRINFOW, NULL >',['../classwinstd_1_1handle.html',1,'winstd']]], + ['handle_3c_20pccert_5fchain_5fcontext_2c_20inval_20_3e_17',['handle< PCCERT_CHAIN_CONTEXT, INVAL >',['../classwinstd_1_1handle.html',1,'winstd']]], + ['handle_3c_20pccert_5fcontext_2c_20inval_20_3e_18',['handle< PCCERT_CONTEXT, INVAL >',['../classwinstd_1_1handle.html',1,'winstd']]], + ['handle_3c_20pcredhandle_2c_20null_20_3e_19',['handle< PCredHandle, NULL >',['../classwinstd_1_1handle.html',1,'winstd']]], + ['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_20t_20_2a_2c_20inval_20_3e_23',['handle< T *, INVAL >',['../classwinstd_1_1handle.html',1,'winstd']]], + ['handle_3c_20t_2c_20null_20_3e_24',['handle< T, NULL >',['../classwinstd_1_1handle.html',1,'winstd']]], + ['handle_3c_20tracehandle_2c_200_20_3e_25',['handle< TRACEHANDLE, 0 >',['../classwinstd_1_1handle.html',1,'winstd']]], + ['handle_3c_20tracehandle_2c_20invalid_5fprocesstrace_5fhandle_20_3e_26',['handle< TRACEHANDLE, INVALID_PROCESSTRACE_HANDLE >',['../classwinstd_1_1handle.html',1,'winstd']]], + ['heap_27',['heap',['../classwinstd_1_1heap.html',1,'winstd']]], + ['heap_5fallocator_28',['heap_allocator',['../classwinstd_1_1heap__allocator.html',1,'winstd']]] ]; diff --git a/search/classes_f.js b/search/classes_f.js index 06e6b274..0a0e7085 100644 --- a/search/classes_f.js +++ b/search/classes_f.js @@ -1,14 +1,15 @@ var searchData= [ - ['win_5fhandle_0',['win_handle',['../classwinstd_1_1win__handle.html',1,'winstd']]], - ['win_5fhandle_3c_20invalid_5fhandle_5fvalue_20_3e_1',['win_handle< INVALID_HANDLE_VALUE >',['../classwinstd_1_1win__handle.html',1,'winstd']]], - ['win_5fhandle_3c_20null_20_3e_2',['win_handle< NULL >',['../classwinstd_1_1win__handle.html',1,'winstd']]], - ['win_5fruntime_5ferror_3',['win_runtime_error',['../classwinstd_1_1win__runtime__error.html',1,'winstd']]], - ['window_5fdc_4',['window_dc',['../classwinstd_1_1window__dc.html',1,'winstd']]], - ['wintrust_5',['wintrust',['../classwinstd_1_1wintrust.html',1,'winstd']]], - ['wlan_5fhandle_6',['wlan_handle',['../classwinstd_1_1wlan__handle.html',1,'winstd']]], - ['wlanfreememory_5fdelete_7',['WlanFreeMemory_delete',['../structwinstd_1_1_wlan_free_memory__delete.html',1,'winstd']]], - ['wlanfreememory_5fdelete_3c_20_5fty_5b_5d_3e_8',['WlanFreeMemory_delete< _Ty[]>',['../structwinstd_1_1_wlan_free_memory__delete_3_01___ty_0f_0e_4.html',1,'winstd']]], - ['ws2_5fruntime_5ferror_9',['ws2_runtime_error',['../classwinstd_1_1ws2__runtime__error.html',1,'winstd']]], - ['wstring_5fguid_10',['wstring_guid',['../classwinstd_1_1wstring__guid.html',1,'winstd']]] + ['waddrinfo_0',['waddrinfo',['../classwinstd_1_1waddrinfo.html',1,'winstd']]], + ['win_5fhandle_1',['win_handle',['../classwinstd_1_1win__handle.html',1,'winstd']]], + ['win_5fhandle_3c_20invalid_5fhandle_5fvalue_20_3e_2',['win_handle< INVALID_HANDLE_VALUE >',['../classwinstd_1_1win__handle.html',1,'winstd']]], + ['win_5fhandle_3c_20null_20_3e_3',['win_handle< NULL >',['../classwinstd_1_1win__handle.html',1,'winstd']]], + ['win_5fruntime_5ferror_4',['win_runtime_error',['../classwinstd_1_1win__runtime__error.html',1,'winstd']]], + ['window_5fdc_5',['window_dc',['../classwinstd_1_1window__dc.html',1,'winstd']]], + ['wintrust_6',['wintrust',['../classwinstd_1_1wintrust.html',1,'winstd']]], + ['wlan_5fhandle_7',['wlan_handle',['../classwinstd_1_1wlan__handle.html',1,'winstd']]], + ['wlanfreememory_5fdelete_8',['WlanFreeMemory_delete',['../structwinstd_1_1_wlan_free_memory__delete.html',1,'winstd']]], + ['wlanfreememory_5fdelete_3c_20_5fty_5b_5d_3e_9',['WlanFreeMemory_delete< _Ty[]>',['../structwinstd_1_1_wlan_free_memory__delete_3_01___ty_0f_0e_4.html',1,'winstd']]], + ['ws2_5fruntime_5ferror_10',['ws2_runtime_error',['../classwinstd_1_1ws2__runtime__error.html',1,'winstd']]], + ['wstring_5fguid_11',['wstring_guid',['../classwinstd_1_1wstring__guid.html',1,'winstd']]] ]; diff --git a/search/functions_0.js b/search/functions_0.js index ead10693..4688943c 100644 --- a/search/functions_0.js +++ b/search/functions_0.js @@ -1,9 +1,4 @@ var searchData= [ - ['acquire_0',['acquire',['../classwinstd_1_1sec__credentials.html#af01c07130505e33fb2d4fbf5a8377280',1,'winstd::sec_credentials']]], - ['actctx_5factivator_1',['actctx_activator',['../classwinstd_1_1actctx__activator.html#a557774255df823c979be34bf5f82a0f2',1,'winstd::actctx_activator']]], - ['alloc_2',['alloc',['../classwinstd_1_1vmemory.html#a3a2a287a47ac11ce1eb0490b5bb37c3c',1,'winstd::vmemory']]], - ['allocate_3',['allocate',['../classwinstd_1_1heap__allocator.html#a371eaa06a2056171126eba66d7023b03',1,'winstd::heap_allocator']]], - ['attach_4',['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_5',['attach_duplicated',['../classwinstd_1_1dplhandle.html#a876c939da531b1c4f493c2e6ea042f65',1,'winstd::dplhandle']]] + ['_5f_5fdeclspec_0',['__declspec',['../classwinstd_1_1setup__device__info__list.html#a6716eae1d58e3c5d49ae66cfe4b76063',1,'winstd::setup_device_info_list::__declspec()'],['../classwinstd_1_1wlan__handle.html#ae6c9c7b142cb6434afadb5db61db7334',1,'winstd::wlan_handle::__declspec()'],['../classwinstd_1_1waddrinfo.html#a76c68fdab030ad17fa59b8879657a12e',1,'winstd::waddrinfo::__declspec()'],['../classwinstd_1_1addrinfo.html#ad506b71b76ee837dc727883acfe08ea0',1,'winstd::addrinfo::__declspec()'],['../classwinstd_1_1event__log.html#af1ff6bdf207ba72d1edb26c3a8ed38e6',1,'winstd::event_log::__declspec()'],['../classwinstd_1_1reg__key.html#a2b8468435096a51c239f986adecfaa50',1,'winstd::reg_key::__declspec()'],['../classwinstd_1_1heap.html#a9f05e5c3822be42b2f8b0fb937526bea',1,'winstd::heap::__declspec()'],['../classwinstd_1_1find__file.html#a0101334986c142dfc07aca7a250833be',1,'winstd::find_file::__declspec()'],['../classwinstd_1_1event.html#a5f42085bfce4c8d55a9a84bcf2046dfd',1,'winstd::event::__declspec()'],['../classwinstd_1_1file__mapping.html#a99c10964c6f204bb767d50094c536919',1,'winstd::file_mapping::__declspec()'],['../classwinstd_1_1file.html#a0c704aa90163be2d7deac42f689a45ab',1,'winstd::file::__declspec()'],['../classwinstd_1_1process.html#a9251c042710f7c68c29d9d1243436260',1,'winstd::process::__declspec()'],['../classwinstd_1_1library.html#a68bbfa7f533a9a19f61766f46dbf7a45',1,'winstd::library::__declspec()'],['../classwinstd_1_1com__obj.html#a2966e875af3a43084e494b6846f2ecec',1,'winstd::com_obj::__declspec()'],['../classwinstd_1_1setup__device__info__list.html#a32f9ef2a22f02740517f2148f0cbe6eb',1,'winstd::setup_device_info_list::__declspec()'],['../classwinstd_1_1event__trace.html#a861e2a59d1a512f1106205de0aefc986',1,'winstd::event_trace::__declspec()'],['../classwinstd_1_1crypt__key.html#afbca7cf94a63d444438e1883ccfe5ab9',1,'winstd::crypt_key::__declspec(deprecated("Use CryptDeriveKey")) bool derive(HCRYPTPROV hProv'],['../classwinstd_1_1crypt__key.html#ae858523209565263ded161c0f9db3aec',1,'winstd::crypt_key::__declspec(deprecated("Use CryptImportPublicKeyInfo")) bool import_public(HCRYPTPROV hCryptProv'],['../classwinstd_1_1crypt__key.html#af739d250cfd15a210a030ac37b13e097',1,'winstd::crypt_key::__declspec(deprecated("Use CryptImportKey")) bool import(HCRYPTPROV hProv'],['../classwinstd_1_1crypt__key.html#a5ef17f3785334f4b71fcb9d261934b5d',1,'winstd::crypt_key::__declspec(deprecated("Use CryptGenKey")) bool generate(HCRYPTPROV hProv'],['../classwinstd_1_1crypt__hash.html#a16c0895203571182b3a27219401b453d',1,'winstd::crypt_hash::__declspec()'],['../classwinstd_1_1crypt__prov.html#a50d96dd58c57a08cdf9148f36a1e88d5',1,'winstd::crypt_prov::__declspec()'],['../classwinstd_1_1cert__store.html#aa40c1231fe12f8c83f4964bfe3784566',1,'winstd::cert_store::__declspec(deprecated("Use CertOpenSystemStore")) bool create(HCRYPTPROV_LEGACY hCryptProv'],['../classwinstd_1_1cert__store.html#a4d0a0bb30c7a69aebe4513ca615cecbb',1,'winstd::cert_store::__declspec(deprecated("Use CertOpenStore")) bool create(LPCSTR lpszStoreProvider'],['../classwinstd_1_1cert__chain__context.html#ad9812a21e3b8b02f8f9de905136efdc9',1,'winstd::cert_chain_context::__declspec()'],['../classwinstd_1_1cert__context.html#ac69666d447dd88f5f4b0e15824200270',1,'winstd::cert_context::__declspec()']]] ]; diff --git a/search/functions_1.js b/search/functions_1.js index 7ba7b84e..ead10693 100644 --- a/search/functions_1.js +++ b/search/functions_1.js @@ -1,7 +1,9 @@ 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']]] + ['acquire_0',['acquire',['../classwinstd_1_1sec__credentials.html#af01c07130505e33fb2d4fbf5a8377280',1,'winstd::sec_credentials']]], + ['actctx_5factivator_1',['actctx_activator',['../classwinstd_1_1actctx__activator.html#a557774255df823c979be34bf5f82a0f2',1,'winstd::actctx_activator']]], + ['alloc_2',['alloc',['../classwinstd_1_1vmemory.html#a3a2a287a47ac11ce1eb0490b5bb37c3c',1,'winstd::vmemory']]], + ['allocate_3',['allocate',['../classwinstd_1_1heap__allocator.html#a371eaa06a2056171126eba66d7023b03',1,'winstd::heap_allocator']]], + ['attach_4',['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_5',['attach_duplicated',['../classwinstd_1_1dplhandle.html#a876c939da531b1c4f493c2e6ea042f65',1,'winstd::dplhandle']]] ]; diff --git a/search/functions_15.js b/search/functions_15.js index 2d119513..575179da 100644 --- a/search/functions_15.js +++ b/search/functions_15.js @@ -7,43 +7,43 @@ var searchData= ['_7ecert_5fcontext_4',['~cert_context',['../classwinstd_1_1cert__context.html#affa4b97554e6676d392301b5928130fd',1,'winstd::cert_context']]], ['_7ecert_5fstore_5',['~cert_store',['../classwinstd_1_1cert__store.html#a80783d444ae3555aea01f959c9c01405',1,'winstd::cert_store']]], ['_7ecom_5finitializer_6',['~com_initializer',['../classwinstd_1_1com__initializer.html#ad53a7697dfaf83d4832f8a57a4cf00f6',1,'winstd::com_initializer']]], - ['_7ecom_5fobj_7',['~com_obj',['../classwinstd_1_1com__obj.html#a91383e6e26266b0d3803c8594b8c5149',1,'winstd::com_obj']]], - ['_7econsole_5fctrl_5fhandler_8',['~console_ctrl_handler',['../classwinstd_1_1console__ctrl__handler.html#a2cba550aa8c659f63386ed6322ccbd6e',1,'winstd::console_ctrl_handler']]], - ['_7ecritical_5fsection_9',['~critical_section',['../classwinstd_1_1critical__section.html#a67af5836304f27084f296c0cc17d7d20',1,'winstd::critical_section']]], - ['_7ecrypt_5fhash_10',['~crypt_hash',['../classwinstd_1_1crypt__hash.html#a7c688405c14799681018e0dfc8b51264',1,'winstd::crypt_hash']]], - ['_7ecrypt_5fkey_11',['~crypt_key',['../classwinstd_1_1crypt__key.html#a396a4af75fd99c896757679a890e6e29',1,'winstd::crypt_key']]], - ['_7ecrypt_5fprov_12',['~crypt_prov',['../classwinstd_1_1crypt__prov.html#a91c1f3d10b03ef1b5d1e1da029060289',1,'winstd::crypt_prov']]], - ['_7edata_5fblob_13',['~data_blob',['../classwinstd_1_1data__blob.html#a1c79df4fa5413536c745258d09e69599',1,'winstd::data_blob']]], - ['_7edc_14',['~dc',['../classwinstd_1_1dc.html#ae8c5722935c8a1c3f6a1857679f4563c',1,'winstd::dc']]], - ['_7edc_5fselector_15',['~dc_selector',['../classwinstd_1_1dc__selector.html#a6e4daf6736cab31fc696dd3adfe4bcfd',1,'winstd::dc_selector']]], - ['_7eeap_5fattr_16',['~eap_attr',['../classwinstd_1_1eap__attr.html#a085d6ade88a42ba69cf128a97b7c9b0d',1,'winstd::eap_attr']]], - ['_7eeap_5fmethod_5finfo_5farray_17',['~eap_method_info_array',['../classwinstd_1_1eap__method__info__array.html#a6870644e66359b0448094a193ef0b4b8',1,'winstd::eap_method_info_array']]], - ['_7eeap_5fpacket_18',['~eap_packet',['../classwinstd_1_1eap__packet.html#a6abed7e1c0460fd6e2ae5d832fbd7493',1,'winstd::eap_packet']]], - ['_7eevent_5ffn_5fauto_19',['~event_fn_auto',['../classwinstd_1_1event__fn__auto.html#a764a83cffe2ed2ae41e9d973073d5cb0',1,'winstd::event_fn_auto']]], - ['_7eevent_5ffn_5fauto_5fret_20',['~event_fn_auto_ret',['../classwinstd_1_1event__fn__auto__ret.html#a1bd1de5df10856a08187ad112992979f',1,'winstd::event_fn_auto_ret']]], - ['_7eevent_5flog_21',['~event_log',['../classwinstd_1_1event__log.html#adcaee9990fb509eb281159b170218700',1,'winstd::event_log']]], - ['_7eevent_5fprovider_22',['~event_provider',['../classwinstd_1_1event__provider.html#ab219ea75734671f98fabbf41485e558b',1,'winstd::event_provider']]], - ['_7eevent_5frec_23',['~event_rec',['../classwinstd_1_1event__rec.html#a2968045a00cf5994ffc2db1a7eb38601',1,'winstd::event_rec']]], - ['_7eevent_5fsession_24',['~event_session',['../classwinstd_1_1event__session.html#a31fe172bd0ce3fb712924de08445476a',1,'winstd::event_session']]], - ['_7eevent_5ftrace_25',['~event_trace',['../classwinstd_1_1event__trace.html#ab8800a2c88f1b96d5134e7eac24ac582',1,'winstd::event_trace']]], - ['_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']]], - ['_7elibrary_30',['~library',['../classwinstd_1_1library.html#ae33e87cbe9236861b5e8d37e8e544716',1,'winstd::library']]], - ['_7eprocess_5finformation_31',['~process_information',['../classwinstd_1_1process__information.html#a0a176161ac9779e203f3fd8942115196',1,'winstd::process_information']]], - ['_7eref_5funique_5fptr_32',['~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_33',['~reg_key',['../classwinstd_1_1reg__key.html#ae54556effe6fe91942f87fc8c8ff5d7c',1,'winstd::reg_key']]], - ['_7esanitizing_5fblob_34',['~sanitizing_blob',['../classwinstd_1_1sanitizing__blob.html#ad478c9b04cc75d3ad1053ba9b23ea065',1,'winstd::sanitizing_blob']]], - ['_7esec_5fbuffer_5fdesc_35',['~sec_buffer_desc',['../classwinstd_1_1sec__buffer__desc.html#a70ebe23821ab3f90eb20e4a5e69c49c4',1,'winstd::sec_buffer_desc']]], - ['_7esec_5fcontext_36',['~sec_context',['../classwinstd_1_1sec__context.html#a2307770cc707a4f8e815c3fea57ac8a9',1,'winstd::sec_context']]], - ['_7esec_5fcredentials_37',['~sec_credentials',['../classwinstd_1_1sec__credentials.html#ad8b34c3a231201fd201e56a28235b9c3',1,'winstd::sec_credentials']]], - ['_7esecurity_5fid_38',['~security_id',['../classwinstd_1_1security__id.html#ac26d9d505eed5f5104e3ce8278913683',1,'winstd::security_id']]], - ['_7esetup_5fdevice_5finfo_5flist_39',['~setup_device_info_list',['../classwinstd_1_1setup__device__info__list.html#a25368d32a4f4bfe23cb9749464daa487',1,'winstd::setup_device_info_list']]], - ['_7esetup_5fdriver_5finfo_5flist_5fbuilder_40',['~setup_driver_info_list_builder',['../classwinstd_1_1setup__driver__info__list__builder.html#a836a7bb6c3c78c7c78965a32cfc2750e',1,'winstd::setup_driver_info_list_builder']]], - ['_7euser_5fimpersonator_41',['~user_impersonator',['../classwinstd_1_1user__impersonator.html#a986ca1cabf89b994f1634feb911c26a6',1,'winstd::user_impersonator']]], - ['_7evariant_42',['~variant',['../classwinstd_1_1variant.html#a69b429a61582fc777b07541daad7887b',1,'winstd::variant']]], - ['_7evmemory_43',['~vmemory',['../classwinstd_1_1vmemory.html#aa0d2edd7c1986736662b54a553695d51',1,'winstd::vmemory']]], + ['_7econsole_5fctrl_5fhandler_7',['~console_ctrl_handler',['../classwinstd_1_1console__ctrl__handler.html#a2cba550aa8c659f63386ed6322ccbd6e',1,'winstd::console_ctrl_handler']]], + ['_7ecritical_5fsection_8',['~critical_section',['../classwinstd_1_1critical__section.html#a67af5836304f27084f296c0cc17d7d20',1,'winstd::critical_section']]], + ['_7ecrypt_5fhash_9',['~crypt_hash',['../classwinstd_1_1crypt__hash.html#a7c688405c14799681018e0dfc8b51264',1,'winstd::crypt_hash']]], + ['_7ecrypt_5fkey_10',['~crypt_key',['../classwinstd_1_1crypt__key.html#a396a4af75fd99c896757679a890e6e29',1,'winstd::crypt_key']]], + ['_7ecrypt_5fprov_11',['~crypt_prov',['../classwinstd_1_1crypt__prov.html#a91c1f3d10b03ef1b5d1e1da029060289',1,'winstd::crypt_prov']]], + ['_7edata_5fblob_12',['~data_blob',['../classwinstd_1_1data__blob.html#a1c79df4fa5413536c745258d09e69599',1,'winstd::data_blob']]], + ['_7edc_13',['~dc',['../classwinstd_1_1dc.html#ae8c5722935c8a1c3f6a1857679f4563c',1,'winstd::dc']]], + ['_7edc_5fselector_14',['~dc_selector',['../classwinstd_1_1dc__selector.html#a6e4daf6736cab31fc696dd3adfe4bcfd',1,'winstd::dc_selector']]], + ['_7eeap_5fattr_15',['~eap_attr',['../classwinstd_1_1eap__attr.html#a085d6ade88a42ba69cf128a97b7c9b0d',1,'winstd::eap_attr']]], + ['_7eeap_5fmethod_5finfo_5farray_16',['~eap_method_info_array',['../classwinstd_1_1eap__method__info__array.html#a6870644e66359b0448094a193ef0b4b8',1,'winstd::eap_method_info_array']]], + ['_7eeap_5fpacket_17',['~eap_packet',['../classwinstd_1_1eap__packet.html#a6abed7e1c0460fd6e2ae5d832fbd7493',1,'winstd::eap_packet']]], + ['_7eevent_5ffn_5fauto_18',['~event_fn_auto',['../classwinstd_1_1event__fn__auto.html#a764a83cffe2ed2ae41e9d973073d5cb0',1,'winstd::event_fn_auto']]], + ['_7eevent_5ffn_5fauto_5fret_19',['~event_fn_auto_ret',['../classwinstd_1_1event__fn__auto__ret.html#a1bd1de5df10856a08187ad112992979f',1,'winstd::event_fn_auto_ret']]], + ['_7eevent_5flog_20',['~event_log',['../classwinstd_1_1event__log.html#adcaee9990fb509eb281159b170218700',1,'winstd::event_log']]], + ['_7eevent_5fprovider_21',['~event_provider',['../classwinstd_1_1event__provider.html#ab219ea75734671f98fabbf41485e558b',1,'winstd::event_provider']]], + ['_7eevent_5frec_22',['~event_rec',['../classwinstd_1_1event__rec.html#a2968045a00cf5994ffc2db1a7eb38601',1,'winstd::event_rec']]], + ['_7eevent_5fsession_23',['~event_session',['../classwinstd_1_1event__session.html#a31fe172bd0ce3fb712924de08445476a',1,'winstd::event_session']]], + ['_7eevent_5ftrace_24',['~event_trace',['../classwinstd_1_1event__trace.html#ab8800a2c88f1b96d5134e7eac24ac582',1,'winstd::event_trace']]], + ['_7eevent_5ftrace_5fenabler_25',['~event_trace_enabler',['../classwinstd_1_1event__trace__enabler.html#a6be72a0a5dc8da579e26b74a1ac24a4f',1,'winstd::event_trace_enabler']]], + ['_7efind_5ffile_26',['~find_file',['../classwinstd_1_1find__file.html#a5135c1a0bf6b1c5f4ab695f208a87607',1,'winstd::find_file']]], + ['_7egdi_5fhandle_27',['~gdi_handle',['../classwinstd_1_1gdi__handle.html#aae79abc9495f415a548d7f1f1ce4dab2',1,'winstd::gdi_handle']]], + ['_7eheap_28',['~heap',['../classwinstd_1_1heap.html#aecb12bb6a2677638a6061510bdda868b',1,'winstd::heap']]], + ['_7elibrary_29',['~library',['../classwinstd_1_1library.html#ae33e87cbe9236861b5e8d37e8e544716',1,'winstd::library']]], + ['_7eprocess_5finformation_30',['~process_information',['../classwinstd_1_1process__information.html#a0a176161ac9779e203f3fd8942115196',1,'winstd::process_information']]], + ['_7eref_5funique_5fptr_31',['~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_32',['~reg_key',['../classwinstd_1_1reg__key.html#ae54556effe6fe91942f87fc8c8ff5d7c',1,'winstd::reg_key']]], + ['_7esanitizing_5fblob_33',['~sanitizing_blob',['../classwinstd_1_1sanitizing__blob.html#ad478c9b04cc75d3ad1053ba9b23ea065',1,'winstd::sanitizing_blob']]], + ['_7esec_5fbuffer_5fdesc_34',['~sec_buffer_desc',['../classwinstd_1_1sec__buffer__desc.html#a70ebe23821ab3f90eb20e4a5e69c49c4',1,'winstd::sec_buffer_desc']]], + ['_7esec_5fcontext_35',['~sec_context',['../classwinstd_1_1sec__context.html#a2307770cc707a4f8e815c3fea57ac8a9',1,'winstd::sec_context']]], + ['_7esec_5fcredentials_36',['~sec_credentials',['../classwinstd_1_1sec__credentials.html#ad8b34c3a231201fd201e56a28235b9c3',1,'winstd::sec_credentials']]], + ['_7esecurity_5fid_37',['~security_id',['../classwinstd_1_1security__id.html#ac26d9d505eed5f5104e3ce8278913683',1,'winstd::security_id']]], + ['_7esetup_5fdevice_5finfo_5flist_38',['~setup_device_info_list',['../classwinstd_1_1setup__device__info__list.html#a25368d32a4f4bfe23cb9749464daa487',1,'winstd::setup_device_info_list']]], + ['_7esetup_5fdriver_5finfo_5flist_5fbuilder_39',['~setup_driver_info_list_builder',['../classwinstd_1_1setup__driver__info__list__builder.html#a836a7bb6c3c78c7c78965a32cfc2750e',1,'winstd::setup_driver_info_list_builder']]], + ['_7euser_5fimpersonator_40',['~user_impersonator',['../classwinstd_1_1user__impersonator.html#a986ca1cabf89b994f1634feb911c26a6',1,'winstd::user_impersonator']]], + ['_7evariant_41',['~variant',['../classwinstd_1_1variant.html#a69b429a61582fc777b07541daad7887b',1,'winstd::variant']]], + ['_7evmemory_42',['~vmemory',['../classwinstd_1_1vmemory.html#aa0d2edd7c1986736662b54a553695d51',1,'winstd::vmemory']]], + ['_7ewaddrinfo_43',['~waddrinfo',['../classwinstd_1_1waddrinfo.html#a2b1209904bd7486acefd833ff5c4bcca',1,'winstd::waddrinfo']]], ['_7ewin_5fhandle_44',['~win_handle',['../classwinstd_1_1win__handle.html#a6b8070a3be4dede99a1c764b7f341a36',1,'winstd::win_handle']]], ['_7ewindow_5fdc_45',['~window_dc',['../classwinstd_1_1window__dc.html#a3fd01c5264443520462cb7cab886a79b',1,'winstd::window_dc']]], ['_7ewintrust_46',['~wintrust',['../classwinstd_1_1wintrust.html#ac529a244b4f2f4eb85bcdf594ff723c3',1,'winstd::wintrust']]], diff --git a/search/functions_2.js b/search/functions_2.js index 24ff659f..7ba7b84e 100644 --- a/search/functions_2.js +++ b/search/functions_2.js @@ -1,15 +1,7 @@ var searchData= [ - ['change_5ftype_0',['change_type',['../classwinstd_1_1variant.html#a499d38db49d577c816e447c6a3875ff5',1,'winstd::variant']]], - ['com_5finitializer_1',['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_2',['com_obj',['../classwinstd_1_1com__obj.html#aa7fb56997597a348bd33e583f59d28a3',1,'winstd::com_obj::com_obj(REFCLSID rclsid, LPUNKNOWN pUnkOuter=NULL, DWORD dwClsContext=CLSCTX_ALL)'],['../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_3',['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_4',['console_ctrl_handler',['../classwinstd_1_1console__ctrl__handler.html#a1c05134a4453123739ac5b45f62fe13a',1,'winstd::console_ctrl_handler']]], - ['construct_5',['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)']]], - ['cotaskmemfree_5fdelete_6',['CoTaskMemFree_delete',['../structwinstd_1_1_co_task_mem_free__delete.html#a712d2e91abc99bebe8cf8d32ac649326',1,'winstd::CoTaskMemFree_delete']]], - ['create_7',['create',['../classwinstd_1_1crypt__hash.html#a61cffe43e118aab93ad8fc3b662f9ab2',1,'winstd::crypt_hash::create()'],['../classwinstd_1_1reg__key.html#ad331246ce1b00187315048df2716ed57',1,'winstd::reg_key::create()'],['../classwinstd_1_1heap.html#ae0f6791633a50ff1b2d616a76cd1e021',1,'winstd::heap::create()'],['../classwinstd_1_1event.html#a97d7be96a11e0b5232db73e7cb5d1395',1,'winstd::event::create()'],['../classwinstd_1_1file__mapping.html#a951f00273e41acc57b386500c05c4e35',1,'winstd::file_mapping::create()'],['../classwinstd_1_1file.html#a9ea28e7360dd6700c014bc25cea2093f',1,'winstd::file::create()'],['../classwinstd_1_1setup__device__info__list.html#a4771923fd032c1caf574f7e14056d0e3',1,'winstd::setup_device_info_list::create(const GUID *ClassGuid, PCTSTR Enumerator, HWND hwndParent, DWORD Flags, HDEVINFO DeviceInfoSet, PCTSTR MachineName, PVOID Reserved) noexcept'],['../classwinstd_1_1setup__device__info__list.html#a022aef9dcf004062bde1594035711792',1,'winstd::setup_device_info_list::create(const GUID *ClassGuid, HWND hwndParent) noexcept'],['../classwinstd_1_1event__trace.html#aa18b726564c539c8689dd9b36e2aeae9',1,'winstd::event_trace::create()'],['../classwinstd_1_1event__session.html#af75b790f98bc16ed94f1167fe4acdb50',1,'winstd::event_session::create()'],['../classwinstd_1_1event__provider.html#aeb28bf6cc859920913e604b2d342f316',1,'winstd::event_provider::create()'],['../classwinstd_1_1eap__packet.html#ac769190286a427b778b17215f19010e9',1,'winstd::eap_packet::create()'],['../classwinstd_1_1crypt__prov.html#a08b54970721effdfa94ee27920df8983',1,'winstd::crypt_prov::create()'],['../classwinstd_1_1cert__store.html#ac426f1c354886dbc124d40cd878add19',1,'winstd::cert_store::create(HCRYPTPROV_LEGACY hCryptProv, LPCTSTR szSubsystemProtocol) noexcept'],['../classwinstd_1_1cert__store.html#a2c6c8766f36f2f80cb6ccfffff3420ab',1,'winstd::cert_store::create(LPCSTR lpszStoreProvider, DWORD dwEncodingType, HCRYPTPROV_LEGACY hCryptProv, DWORD dwFlags, const void *pvPara) noexcept'],['../classwinstd_1_1cert__chain__context.html#acdd5a92af7d4eeca32f3a7a7ae7dc4a6',1,'winstd::cert_chain_context::create()'],['../classwinstd_1_1cert__context.html#a48348ed522045126105b05b4371dd782',1,'winstd::cert_context::create()'],['../classwinstd_1_1com__obj.html#a81ffdc99034437423210d3da111b50c5',1,'winstd::com_obj::create()']]], - ['create_5fexp1_8',['create_exp1',['../classwinstd_1_1crypt__key.html#a9a6097582df953795969c29ec134914a',1,'winstd::crypt_key']]], - ['create_5fms_5fmppe_5fkey_9',['create_ms_mppe_key',['../classwinstd_1_1eap__attr.html#a8098b30108457f2c96c865bfabce3021',1,'winstd::eap_attr']]], - ['credfree_5fdelete_10',['CredFree_delete',['../structwinstd_1_1_cred_free__delete.html#a3959d2b3727e557e19d8b0f5c449b57a',1,'winstd::CredFree_delete::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_3_01___ty_0f_0e_4.html#aad102423f4fb96fd105b57a88a6031ab',1,'winstd::CredFree_delete< _Ty[]>::CredFree_delete()']]], - ['critical_5fsection_11',['critical_section',['../classwinstd_1_1critical__section.html#aa8875ee96e273ba72e86457fe0f4c768',1,'winstd::critical_section']]] + ['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']]] ]; diff --git a/search/functions_3.js b/search/functions_3.js index cf4e55b2..b5ad9b83 100644 --- a/search/functions_3.js +++ b/search/functions_3.js @@ -1,15 +1,14 @@ 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_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()']]], - ['delete_5fsubkey_4',['delete_subkey',['../classwinstd_1_1reg__key.html#a5b8ee8731e0caa51c84b271f43604f54',1,'winstd::reg_key']]], - ['derive_5',['derive',['../classwinstd_1_1crypt__key.html#a1d31c1f07a3880db6d75f3d5bea8b681',1,'winstd::crypt_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']]], - ['disable_5ftrace_8',['disable_trace',['../classwinstd_1_1event__session.html#a86ff12521bc1c863ea685b8a689fd81b',1,'winstd::event_session']]], - ['dplhandle_9',['dplhandle',['../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#ac1aa19e060402006d8ff8404be6b07c3',1,'winstd::dplhandle::dplhandle(dplhandle< handle_type, INVAL > &&h) noexcept']]], - ['duplicate_10',['duplicate',['../classwinstd_1_1dplhandle.html#a48e66c8979560019e339867de944a265',1,'winstd::dplhandle']]], - ['duplicate_5finternal_11',['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()']]] + ['change_5ftype_0',['change_type',['../classwinstd_1_1variant.html#a499d38db49d577c816e447c6a3875ff5',1,'winstd::variant']]], + ['com_5finitializer_1',['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_5fruntime_5ferror_2',['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_3',['console_ctrl_handler',['../classwinstd_1_1console__ctrl__handler.html#a1c05134a4453123739ac5b45f62fe13a',1,'winstd::console_ctrl_handler']]], + ['construct_4',['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)']]], + ['cotaskmemfree_5fdelete_5',['CoTaskMemFree_delete',['../structwinstd_1_1_co_task_mem_free__delete.html#a712d2e91abc99bebe8cf8d32ac649326',1,'winstd::CoTaskMemFree_delete']]], + ['create_6',['create',['../classwinstd_1_1eap__packet.html#ac769190286a427b778b17215f19010e9',1,'winstd::eap_packet::create()'],['../classwinstd_1_1event__session.html#af75b790f98bc16ed94f1167fe4acdb50',1,'winstd::event_session::create()'],['../classwinstd_1_1event__provider.html#aeb28bf6cc859920913e604b2d342f316',1,'winstd::event_provider::create()']]], + ['create_5fexp1_7',['create_exp1',['../classwinstd_1_1crypt__key.html#a9a6097582df953795969c29ec134914a',1,'winstd::crypt_key']]], + ['create_5fms_5fmppe_5fkey_8',['create_ms_mppe_key',['../classwinstd_1_1eap__attr.html#a8098b30108457f2c96c865bfabce3021',1,'winstd::eap_attr']]], + ['credfree_5fdelete_9',['CredFree_delete',['../structwinstd_1_1_cred_free__delete.html#a3959d2b3727e557e19d8b0f5c449b57a',1,'winstd::CredFree_delete::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_3_01___ty_0f_0e_4.html#aad102423f4fb96fd105b57a88a6031ab',1,'winstd::CredFree_delete< _Ty[]>::CredFree_delete()']]], + ['critical_5fsection_10',['critical_section',['../classwinstd_1_1critical__section.html#aa8875ee96e273ba72e86457fe0f4c768',1,'winstd::critical_section']]] ]; diff --git a/search/functions_4.js b/search/functions_4.js index 63f1e7f5..e9670848 100644 --- a/search/functions_4.js +++ b/search/functions_4.js @@ -1,20 +1,13 @@ var searchData= [ - ['eap_5fattr_0',['eap_attr',['../classwinstd_1_1eap__attr.html#a4cb8d6fbf7f4e53ec64a030bea00d148',1,'winstd::eap_attr::eap_attr(const EAP_ATTRIBUTE &a)'],['../classwinstd_1_1eap__attr.html#a029d15ddb8b9cd33b4907f01719da5b8',1,'winstd::eap_attr::eap_attr(eap_attr &&a) noexcept'],['../classwinstd_1_1eap__attr.html#a015a82d7f91679f76ca590bbdabc04c1',1,'winstd::eap_attr::eap_attr() noexcept']]], - ['eap_5fmethod_5finfo_5farray_1',['eap_method_info_array',['../classwinstd_1_1eap__method__info__array.html#a3dc5d1571c9e85dedd3dd3d6626947b7',1,'winstd::eap_method_info_array::eap_method_info_array() noexcept'],['../classwinstd_1_1eap__method__info__array.html#a3c3e0f0150d21c09801c67ceb927e873',1,'winstd::eap_method_info_array::eap_method_info_array(eap_method_info_array &&other) noexcept']]], - ['eap_5fmethod_5fprop_2',['eap_method_prop',['../classwinstd_1_1eap__method__prop.html#a06b8588c10a52d60556ced6b6a111ac3',1,'winstd::eap_method_prop::eap_method_prop(EAP_METHOD_PROPERTY_TYPE type, BOOL value) noexcept'],['../classwinstd_1_1eap__method__prop.html#a7f0f5817c41e839a1e71eda3a2284949',1,'winstd::eap_method_prop::eap_method_prop(EAP_METHOD_PROPERTY_TYPE type, DWORD value) noexcept'],['../classwinstd_1_1eap__method__prop.html#adc01bff4048e03f5f7b88d186940b9d8',1,'winstd::eap_method_prop::eap_method_prop(EAP_METHOD_PROPERTY_TYPE type, LPCWSTR value) noexcept']]], - ['eap_5fruntime_5ferror_3',['eap_runtime_error',['../classwinstd_1_1eap__runtime__error.html#a68708f0598e27325339cc34473131240',1,'winstd::eap_runtime_error::eap_runtime_error(const EAP_ERROR &err, const std::string &msg)'],['../classwinstd_1_1eap__runtime__error.html#a4e271e11e866ee7114df20b63022d827',1,'winstd::eap_runtime_error::eap_runtime_error(const EAP_ERROR &err, const char *msg=nullptr)']]], - ['eaphostpeerfreeeaperror_5fdelete_4',['EapHostPeerFreeEapError_delete',['../structwinstd_1_1_eap_host_peer_free_eap_error__delete.html#ab4dd927d7e4cd40b2ce7068fe252b76e',1,'winstd::EapHostPeerFreeEapError_delete']]], - ['eaphostpeerfreeerrormemory_5fdelete_5',['EapHostPeerFreeErrorMemory_delete',['../structwinstd_1_1_eap_host_peer_free_error_memory__delete.html#a43f0b1a440b9a431e9fee807bc1386be',1,'winstd::EapHostPeerFreeErrorMemory_delete']]], - ['eaphostpeerfreememory_5fdelete_6',['EapHostPeerFreeMemory_delete',['../structwinstd_1_1_eap_host_peer_free_memory__delete.html#af6220ac1d99cc114670c363ecfe64557',1,'winstd::EapHostPeerFreeMemory_delete']]], - ['eaphostpeerfreeruntimememory_5fdelete_7',['EapHostPeerFreeRuntimeMemory_delete',['../structwinstd_1_1_eap_host_peer_free_runtime_memory__delete.html#afdd46f3517e59ce19fdaddebbbaeb10d',1,'winstd::EapHostPeerFreeRuntimeMemory_delete']]], - ['enable_5fcallback_8',['enable_callback',['../classwinstd_1_1event__provider.html#ac896e3a23b3f44ef0b1cb0ac6717e894',1,'winstd::event_provider::enable_callback(LPCGUID SourceId, ULONG IsEnabled, UCHAR Level, ULONGLONG MatchAnyKeyword, ULONGLONG MatchAllKeyword, PEVENT_FILTER_DESCRIPTOR FilterData)'],['../classwinstd_1_1event__provider.html#ae1bde7438a09da9e878e86890de50a07',1,'winstd::event_provider::enable_callback(LPCGUID SourceId, ULONG IsEnabled, UCHAR Level, ULONGLONG MatchAnyKeyword, ULONGLONG MatchAllKeyword, PEVENT_FILTER_DESCRIPTOR FilterData, PVOID CallbackContext)']]], - ['enable_5ftrace_9',['enable_trace',['../classwinstd_1_1event__session.html#aa140384c61972ebabbf6489e8aa5700b',1,'winstd::event_session']]], - ['enumerate_10',['enumerate',['../classwinstd_1_1heap.html#a938dca2d614e8d33ae5add61b013847f',1,'winstd::heap']]], - ['event_5fdata_11',['event_data',['../classwinstd_1_1event__data.html#a31af4a774845ec0f7db4267f573cd422',1,'winstd::event_data::event_data(const void *data, ULONG size)'],['../classwinstd_1_1event__data.html#aa9741846e354b469b750db2ea982b12d',1,'winstd::event_data::event_data(const std::basic_string< _Elem, _Traits, _Ax > &data)'],['../classwinstd_1_1event__data.html#a0ac38aca75ec84f5265eb897fb3c7a7e',1,'winstd::event_data::event_data(const wchar_t *data)'],['../classwinstd_1_1event__data.html#a74be98ecad61265232c0752e0e823a8e',1,'winstd::event_data::event_data(const char *data)'],['../classwinstd_1_1event__data.html#a59b2ac8e1b681412ea0aa582b3028681',1,'winstd::event_data::event_data(const unsigned int &data)'],['../classwinstd_1_1event__data.html#a4d309bcda353b42ba1005b3c7b6f8dc1',1,'winstd::event_data::event_data(const GUID &data)'],['../classwinstd_1_1event__data.html#aef6715d8e3e68eac7b7bbceacb3aff93',1,'winstd::event_data::event_data(const long &data)'],['../classwinstd_1_1event__data.html#a26563233e9507adbf183291974005eaf',1,'winstd::event_data::event_data(const int &data)'],['../classwinstd_1_1event__data.html#a86447ba8727fe91c0de85b8f7835a4c1',1,'winstd::event_data::event_data(const unsigned char &data)'],['../classwinstd_1_1event__data.html#a0a53ee58077eed5bca18f146c34ced44',1,'winstd::event_data::event_data(const char &data)'],['../classwinstd_1_1event__data.html#acb4032673a3b2376eb0d62115bb37c4f',1,'winstd::event_data::event_data()'],['../classwinstd_1_1event__data.html#aba0a6535c84e9165b5ccdf943449e10c',1,'winstd::event_data::event_data(const unsigned long &data)']]], - ['event_5ffn_5fauto_12',['event_fn_auto',['../classwinstd_1_1event__fn__auto.html#a751244aeeeceb01401da27c5080fc590',1,'winstd::event_fn_auto::event_fn_auto(event_provider &ep, const EVENT_DESCRIPTOR *event_cons, const EVENT_DESCRIPTOR *event_dest, LPCSTR pszFnName)'],['../classwinstd_1_1event__fn__auto.html#aed0b955ff2db183f6667345925801b0b',1,'winstd::event_fn_auto::event_fn_auto(const event_fn_auto &other)'],['../classwinstd_1_1event__fn__auto.html#a5c45c1de3b87f6547f6e76a80b80f500',1,'winstd::event_fn_auto::event_fn_auto(event_fn_auto &&other) noexcept']]], - ['event_5ffn_5fauto_5fret_13',['event_fn_auto_ret',['../classwinstd_1_1event__fn__auto__ret.html#a0f656d3899f65afdaee9c651baf69bff',1,'winstd::event_fn_auto_ret::event_fn_auto_ret(const event_fn_auto_ret< T > &other)'],['../classwinstd_1_1event__fn__auto__ret.html#ac8b93b2bb498280707f795c03024d7d3',1,'winstd::event_fn_auto_ret::event_fn_auto_ret(event_fn_auto_ret< T > &&other)'],['../classwinstd_1_1event__fn__auto__ret.html#a52fe971a33082d3652dd6d99378f17c5',1,'winstd::event_fn_auto_ret::event_fn_auto_ret(event_provider &ep, const EVENT_DESCRIPTOR *event_cons, const EVENT_DESCRIPTOR *event_dest, LPCSTR pszFnName, T &result)']]], - ['event_5frec_14',['event_rec',['../classwinstd_1_1event__rec.html#af2f781ca85c2d92b001bb32bf4839f11',1,'winstd::event_rec::event_rec()'],['../classwinstd_1_1event__rec.html#afd6e48f124743c9f5b0c576db2165787',1,'winstd::event_rec::event_rec(const event_rec &other)'],['../classwinstd_1_1event__rec.html#a73f9f035b70ce7c030e2c616d3f42e37',1,'winstd::event_rec::event_rec(const EVENT_RECORD &other)'],['../classwinstd_1_1event__rec.html#ac3a21e4c1a4469e7b85fc235f65006ca',1,'winstd::event_rec::event_rec(event_rec &&other) noexcept']]], - ['event_5fsession_15',['event_session',['../classwinstd_1_1event__session.html#a24a43016accd86270c6a2ca6cf4934de',1,'winstd::event_session::event_session()'],['../classwinstd_1_1event__session.html#a21775ae7a7620d92be3b63d36bba757d',1,'winstd::event_session::event_session(handle_type h, const EVENT_TRACE_PROPERTIES *prop)'],['../classwinstd_1_1event__session.html#a14581a7203ad6d89bf69903093cfe83c',1,'winstd::event_session::event_session(event_session &&other) noexcept']]], - ['event_5ftrace_5fenabler_16',['event_trace_enabler',['../classwinstd_1_1event__trace__enabler.html#a50ce2e4286dbfc133c7f4a4762b65a05',1,'winstd::event_trace_enabler::event_trace_enabler(LPCGUID SourceId, TRACEHANDLE TraceHandle, LPCGUID ProviderId, UCHAR Level, ULONGLONG MatchAnyKeyword=0, ULONGLONG MatchAllKeyword=0, ULONG EnableProperty=0, PEVENT_FILTER_DESCRIPTOR EnableFilterDesc=NULL)'],['../classwinstd_1_1event__trace__enabler.html#a8666ba08639a65fa01eb64c4855d68a3',1,'winstd::event_trace_enabler::event_trace_enabler(const event_session &session, LPCGUID ProviderId, UCHAR Level, ULONGLONG MatchAnyKeyword=0, ULONGLONG MatchAllKeyword=0, ULONG EnableProperty=0, PEVENT_FILTER_DESCRIPTOR EnableFilterDesc=NULL)']]] + ['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_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(pointer ptr, size_type size)']]], + ['destroy_4',['destroy',['../classwinstd_1_1heap__allocator.html#aef179f33ca0ad99ffda16f004b146143',1,'winstd::heap_allocator']]], + ['detach_5',['detach',['../classwinstd_1_1handle.html#ad5acf6ce53e092b8d4d53f909cf321f9',1,'winstd::handle']]], + ['disable_5ftrace_6',['disable_trace',['../classwinstd_1_1event__session.html#a86ff12521bc1c863ea685b8a689fd81b',1,'winstd::event_session']]], + ['dplhandle_7',['dplhandle',['../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#ac1aa19e060402006d8ff8404be6b07c3',1,'winstd::dplhandle::dplhandle(dplhandle< handle_type, INVAL > &&h) noexcept']]], + ['duplicate_8',['duplicate',['../classwinstd_1_1dplhandle.html#a48e66c8979560019e339867de944a265',1,'winstd::dplhandle']]], + ['duplicate_5finternal_9',['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_1crypt__key.html#aa9983160147883cf7526e9df1889b7bf',1,'winstd::crypt_key::duplicate_internal()'],['../classwinstd_1_1eap__packet.html#a5c5bc551e5c467e814e13f6d05d17ac2',1,'winstd::eap_packet::duplicate_internal()']]] ]; diff --git a/search/functions_5.js b/search/functions_5.js index 44386799..63f1e7f5 100644 --- a/search/functions_5.js +++ b/search/functions_5.js @@ -1,6 +1,20 @@ var searchData= [ - ['find_0',['find',['../classwinstd_1_1find__file.html#a645530e3824df60edfb070bcc47501cb',1,'winstd::find_file']]], - ['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_1addrinfo.html#a279ad84ce2877b22797eedbec80cd55f',1,'winstd::addrinfo::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()']]] + ['eap_5fattr_0',['eap_attr',['../classwinstd_1_1eap__attr.html#a4cb8d6fbf7f4e53ec64a030bea00d148',1,'winstd::eap_attr::eap_attr(const EAP_ATTRIBUTE &a)'],['../classwinstd_1_1eap__attr.html#a029d15ddb8b9cd33b4907f01719da5b8',1,'winstd::eap_attr::eap_attr(eap_attr &&a) noexcept'],['../classwinstd_1_1eap__attr.html#a015a82d7f91679f76ca590bbdabc04c1',1,'winstd::eap_attr::eap_attr() noexcept']]], + ['eap_5fmethod_5finfo_5farray_1',['eap_method_info_array',['../classwinstd_1_1eap__method__info__array.html#a3dc5d1571c9e85dedd3dd3d6626947b7',1,'winstd::eap_method_info_array::eap_method_info_array() noexcept'],['../classwinstd_1_1eap__method__info__array.html#a3c3e0f0150d21c09801c67ceb927e873',1,'winstd::eap_method_info_array::eap_method_info_array(eap_method_info_array &&other) noexcept']]], + ['eap_5fmethod_5fprop_2',['eap_method_prop',['../classwinstd_1_1eap__method__prop.html#a06b8588c10a52d60556ced6b6a111ac3',1,'winstd::eap_method_prop::eap_method_prop(EAP_METHOD_PROPERTY_TYPE type, BOOL value) noexcept'],['../classwinstd_1_1eap__method__prop.html#a7f0f5817c41e839a1e71eda3a2284949',1,'winstd::eap_method_prop::eap_method_prop(EAP_METHOD_PROPERTY_TYPE type, DWORD value) noexcept'],['../classwinstd_1_1eap__method__prop.html#adc01bff4048e03f5f7b88d186940b9d8',1,'winstd::eap_method_prop::eap_method_prop(EAP_METHOD_PROPERTY_TYPE type, LPCWSTR value) noexcept']]], + ['eap_5fruntime_5ferror_3',['eap_runtime_error',['../classwinstd_1_1eap__runtime__error.html#a68708f0598e27325339cc34473131240',1,'winstd::eap_runtime_error::eap_runtime_error(const EAP_ERROR &err, const std::string &msg)'],['../classwinstd_1_1eap__runtime__error.html#a4e271e11e866ee7114df20b63022d827',1,'winstd::eap_runtime_error::eap_runtime_error(const EAP_ERROR &err, const char *msg=nullptr)']]], + ['eaphostpeerfreeeaperror_5fdelete_4',['EapHostPeerFreeEapError_delete',['../structwinstd_1_1_eap_host_peer_free_eap_error__delete.html#ab4dd927d7e4cd40b2ce7068fe252b76e',1,'winstd::EapHostPeerFreeEapError_delete']]], + ['eaphostpeerfreeerrormemory_5fdelete_5',['EapHostPeerFreeErrorMemory_delete',['../structwinstd_1_1_eap_host_peer_free_error_memory__delete.html#a43f0b1a440b9a431e9fee807bc1386be',1,'winstd::EapHostPeerFreeErrorMemory_delete']]], + ['eaphostpeerfreememory_5fdelete_6',['EapHostPeerFreeMemory_delete',['../structwinstd_1_1_eap_host_peer_free_memory__delete.html#af6220ac1d99cc114670c363ecfe64557',1,'winstd::EapHostPeerFreeMemory_delete']]], + ['eaphostpeerfreeruntimememory_5fdelete_7',['EapHostPeerFreeRuntimeMemory_delete',['../structwinstd_1_1_eap_host_peer_free_runtime_memory__delete.html#afdd46f3517e59ce19fdaddebbbaeb10d',1,'winstd::EapHostPeerFreeRuntimeMemory_delete']]], + ['enable_5fcallback_8',['enable_callback',['../classwinstd_1_1event__provider.html#ac896e3a23b3f44ef0b1cb0ac6717e894',1,'winstd::event_provider::enable_callback(LPCGUID SourceId, ULONG IsEnabled, UCHAR Level, ULONGLONG MatchAnyKeyword, ULONGLONG MatchAllKeyword, PEVENT_FILTER_DESCRIPTOR FilterData)'],['../classwinstd_1_1event__provider.html#ae1bde7438a09da9e878e86890de50a07',1,'winstd::event_provider::enable_callback(LPCGUID SourceId, ULONG IsEnabled, UCHAR Level, ULONGLONG MatchAnyKeyword, ULONGLONG MatchAllKeyword, PEVENT_FILTER_DESCRIPTOR FilterData, PVOID CallbackContext)']]], + ['enable_5ftrace_9',['enable_trace',['../classwinstd_1_1event__session.html#aa140384c61972ebabbf6489e8aa5700b',1,'winstd::event_session']]], + ['enumerate_10',['enumerate',['../classwinstd_1_1heap.html#a938dca2d614e8d33ae5add61b013847f',1,'winstd::heap']]], + ['event_5fdata_11',['event_data',['../classwinstd_1_1event__data.html#a31af4a774845ec0f7db4267f573cd422',1,'winstd::event_data::event_data(const void *data, ULONG size)'],['../classwinstd_1_1event__data.html#aa9741846e354b469b750db2ea982b12d',1,'winstd::event_data::event_data(const std::basic_string< _Elem, _Traits, _Ax > &data)'],['../classwinstd_1_1event__data.html#a0ac38aca75ec84f5265eb897fb3c7a7e',1,'winstd::event_data::event_data(const wchar_t *data)'],['../classwinstd_1_1event__data.html#a74be98ecad61265232c0752e0e823a8e',1,'winstd::event_data::event_data(const char *data)'],['../classwinstd_1_1event__data.html#a59b2ac8e1b681412ea0aa582b3028681',1,'winstd::event_data::event_data(const unsigned int &data)'],['../classwinstd_1_1event__data.html#a4d309bcda353b42ba1005b3c7b6f8dc1',1,'winstd::event_data::event_data(const GUID &data)'],['../classwinstd_1_1event__data.html#aef6715d8e3e68eac7b7bbceacb3aff93',1,'winstd::event_data::event_data(const long &data)'],['../classwinstd_1_1event__data.html#a26563233e9507adbf183291974005eaf',1,'winstd::event_data::event_data(const int &data)'],['../classwinstd_1_1event__data.html#a86447ba8727fe91c0de85b8f7835a4c1',1,'winstd::event_data::event_data(const unsigned char &data)'],['../classwinstd_1_1event__data.html#a0a53ee58077eed5bca18f146c34ced44',1,'winstd::event_data::event_data(const char &data)'],['../classwinstd_1_1event__data.html#acb4032673a3b2376eb0d62115bb37c4f',1,'winstd::event_data::event_data()'],['../classwinstd_1_1event__data.html#aba0a6535c84e9165b5ccdf943449e10c',1,'winstd::event_data::event_data(const unsigned long &data)']]], + ['event_5ffn_5fauto_12',['event_fn_auto',['../classwinstd_1_1event__fn__auto.html#a751244aeeeceb01401da27c5080fc590',1,'winstd::event_fn_auto::event_fn_auto(event_provider &ep, const EVENT_DESCRIPTOR *event_cons, const EVENT_DESCRIPTOR *event_dest, LPCSTR pszFnName)'],['../classwinstd_1_1event__fn__auto.html#aed0b955ff2db183f6667345925801b0b',1,'winstd::event_fn_auto::event_fn_auto(const event_fn_auto &other)'],['../classwinstd_1_1event__fn__auto.html#a5c45c1de3b87f6547f6e76a80b80f500',1,'winstd::event_fn_auto::event_fn_auto(event_fn_auto &&other) noexcept']]], + ['event_5ffn_5fauto_5fret_13',['event_fn_auto_ret',['../classwinstd_1_1event__fn__auto__ret.html#a0f656d3899f65afdaee9c651baf69bff',1,'winstd::event_fn_auto_ret::event_fn_auto_ret(const event_fn_auto_ret< T > &other)'],['../classwinstd_1_1event__fn__auto__ret.html#ac8b93b2bb498280707f795c03024d7d3',1,'winstd::event_fn_auto_ret::event_fn_auto_ret(event_fn_auto_ret< T > &&other)'],['../classwinstd_1_1event__fn__auto__ret.html#a52fe971a33082d3652dd6d99378f17c5',1,'winstd::event_fn_auto_ret::event_fn_auto_ret(event_provider &ep, const EVENT_DESCRIPTOR *event_cons, const EVENT_DESCRIPTOR *event_dest, LPCSTR pszFnName, T &result)']]], + ['event_5frec_14',['event_rec',['../classwinstd_1_1event__rec.html#af2f781ca85c2d92b001bb32bf4839f11',1,'winstd::event_rec::event_rec()'],['../classwinstd_1_1event__rec.html#afd6e48f124743c9f5b0c576db2165787',1,'winstd::event_rec::event_rec(const event_rec &other)'],['../classwinstd_1_1event__rec.html#a73f9f035b70ce7c030e2c616d3f42e37',1,'winstd::event_rec::event_rec(const EVENT_RECORD &other)'],['../classwinstd_1_1event__rec.html#ac3a21e4c1a4469e7b85fc235f65006ca',1,'winstd::event_rec::event_rec(event_rec &&other) noexcept']]], + ['event_5fsession_15',['event_session',['../classwinstd_1_1event__session.html#a24a43016accd86270c6a2ca6cf4934de',1,'winstd::event_session::event_session()'],['../classwinstd_1_1event__session.html#a21775ae7a7620d92be3b63d36bba757d',1,'winstd::event_session::event_session(handle_type h, const EVENT_TRACE_PROPERTIES *prop)'],['../classwinstd_1_1event__session.html#a14581a7203ad6d89bf69903093cfe83c',1,'winstd::event_session::event_session(event_session &&other) noexcept']]], + ['event_5ftrace_5fenabler_16',['event_trace_enabler',['../classwinstd_1_1event__trace__enabler.html#a50ce2e4286dbfc133c7f4a4762b65a05',1,'winstd::event_trace_enabler::event_trace_enabler(LPCGUID SourceId, TRACEHANDLE TraceHandle, LPCGUID ProviderId, UCHAR Level, ULONGLONG MatchAnyKeyword=0, ULONGLONG MatchAllKeyword=0, ULONG EnableProperty=0, PEVENT_FILTER_DESCRIPTOR EnableFilterDesc=NULL)'],['../classwinstd_1_1event__trace__enabler.html#a8666ba08639a65fa01eb64c4855d68a3',1,'winstd::event_trace_enabler::event_trace_enabler(const event_session &session, LPCGUID ProviderId, UCHAR Level, ULONGLONG MatchAnyKeyword=0, ULONGLONG MatchAllKeyword=0, ULONG EnableProperty=0, PEVENT_FILTER_DESCRIPTOR EnableFilterDesc=NULL)']]] ]; diff --git a/search/functions_6.js b/search/functions_6.js index 7a2a9f76..f9ea70fe 100644 --- a/search/functions_6.js +++ b/search/functions_6.js @@ -1,6 +1,5 @@ var searchData= [ - ['generate_0',['generate',['../classwinstd_1_1crypt__key.html#a17f93ad625dd48168ca1b16765024fd9',1,'winstd::crypt_key']]], - ['get_1',['get',['../classwinstd_1_1addrinfo.html#aee91b14ae5681b117305df51ddf1e138',1,'winstd::addrinfo']]], - ['get_5fptr_2',['get_ptr',['../group___win_std_general.html#gab4ddaca47a234b4f81a1c3314b3ba205',1,'winstd::get_ptr(std::unique_ptr< _Ty, _Dx > &owner) noexcept'],['../group___win_std_general.html#ga7ecb3b65341fd45c36fce1fe692ec19a',1,'winstd::get_ptr(std::unique_ptr< _Ty[], _Dx > &owner) noexcept']]] + ['free_0',['free',['../classwinstd_1_1handle.html#a706aaab7691a472c608890f8e5dd0d96',1,'winstd::handle']]], + ['free_5finternal_1',['free_internal',['../classwinstd_1_1sec__credentials.html#a6156649d1a93696c8369361cb426e260',1,'winstd::sec_credentials::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_1event__log.html#a3e7c083403f5692926aff600f6ead52e',1,'winstd::event_log::free_internal()'],['../classwinstd_1_1security__id.html#a464626311e64ea1273fd6bca9ef93a73',1,'winstd::security_id::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_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_1cert__store.html#ab709fe692a4117173eae26e741da2069',1,'winstd::cert_store::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()']]] ]; diff --git a/search/functions_7.js b/search/functions_7.js index bbef7052..11b96c3a 100644 --- a/search/functions_7.js +++ b/search/functions_7.js @@ -1,6 +1,4 @@ var searchData= [ - ['handle_0',['handle',['../classwinstd_1_1handle.html#a1b9c4f9529c9efa7d16dec8bab3b00e4',1,'winstd::handle::handle() noexcept'],['../classwinstd_1_1handle.html#a4a0f9b6caadf4a55c7bc0dcc0ce39dac',1,'winstd::handle::handle(handle_type h) noexcept'],['../classwinstd_1_1handle.html#ac52f342530bb97ce1ff255a7054547d5',1,'winstd::handle::handle(handle< handle_type, INVAL > &&h) noexcept']]], - ['heap_5fallocator_1',['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)']]], - ['help_5flink_5fid_2',['help_link_id',['../classwinstd_1_1eap__runtime__error.html#af7179a9cc9ff633a0e7d5983a4680171',1,'winstd::eap_runtime_error']]] + ['get_5fptr_0',['get_ptr',['../group___win_std_general.html#gab4ddaca47a234b4f81a1c3314b3ba205',1,'winstd::get_ptr(std::unique_ptr< _Ty, _Dx > &owner) noexcept'],['../group___win_std_general.html#ga7ecb3b65341fd45c36fce1fe692ec19a',1,'winstd::get_ptr(std::unique_ptr< _Ty[], _Dx > &owner) noexcept']]] ]; diff --git a/search/functions_8.js b/search/functions_8.js index bc07af7c..bbef7052 100644 --- a/search/functions_8.js +++ b/search/functions_8.js @@ -1,6 +1,6 @@ var searchData= [ - ['import_0',['import',['../classwinstd_1_1crypt__key.html#ac383be38a4b70b63c53e4650a1b15d7c',1,'winstd::crypt_key']]], - ['import_5fpublic_1',['import_public',['../classwinstd_1_1crypt__key.html#ab78817b44504f46fba8688b44a5d23bc',1,'winstd::crypt_key']]], - ['initialize_2',['initialize',['../classwinstd_1_1sec__context.html#a7cc49346bd63d78928e65b11b21b6e21',1,'winstd::sec_context']]] + ['handle_0',['handle',['../classwinstd_1_1handle.html#a1b9c4f9529c9efa7d16dec8bab3b00e4',1,'winstd::handle::handle() noexcept'],['../classwinstd_1_1handle.html#a4a0f9b6caadf4a55c7bc0dcc0ce39dac',1,'winstd::handle::handle(handle_type h) noexcept'],['../classwinstd_1_1handle.html#ac52f342530bb97ce1ff255a7054547d5',1,'winstd::handle::handle(handle< handle_type, INVAL > &&h) noexcept']]], + ['heap_5fallocator_1',['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)']]], + ['help_5flink_5fid_2',['help_link_id',['../classwinstd_1_1eap__runtime__error.html#af7179a9cc9ff633a0e7d5983a4680171',1,'winstd::eap_runtime_error']]] ]; diff --git a/search/functions_9.js b/search/functions_9.js index 93031d43..36044ce9 100644 --- a/search/functions_9.js +++ b/search/functions_9.js @@ -1,6 +1,4 @@ var searchData= [ - ['length_0',['length',['../classwinstd_1_1bstr.html#aa6970921c6334a993f5f0fc1be5d54e3',1,'winstd::bstr']]], - ['load_1',['load',['../classwinstd_1_1library.html#ae3dfbb0ede1b778fdefde72f0a47cb3f',1,'winstd::library']]], - ['localfree_5fdelete_2',['LocalFree_delete',['../structwinstd_1_1_local_free__delete.html#ae7e35dd11650c49de0ebcab4388c9400',1,'winstd::LocalFree_delete::LocalFree_delete()'],['../structwinstd_1_1_local_free__delete.html#abbb52355375f34eca425d61a59261461',1,'winstd::LocalFree_delete::LocalFree_delete(const LocalFree_delete< _Ty2 > &)'],['../structwinstd_1_1_local_free__delete_3_01___ty_0f_0e_4.html#a34a948cc7b0f12c0f1e4b7e234d8181c',1,'winstd::LocalFree_delete< _Ty[]>::LocalFree_delete()']]] + ['initialize_0',['initialize',['../classwinstd_1_1sec__context.html#a7cc49346bd63d78928e65b11b21b6e21',1,'winstd::sec_context']]] ]; diff --git a/search/functions_a.js b/search/functions_a.js index 597424e1..1280a7bc 100644 --- a/search/functions_a.js +++ b/search/functions_a.js @@ -1,5 +1,5 @@ var searchData= [ - ['max_5fsize_0',['max_size',['../classwinstd_1_1heap__allocator.html#ab2018e74ee3bc84eb3841fae8bc71b01',1,'winstd::heap_allocator']]], - ['msg_1',['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()']]] + ['length_0',['length',['../classwinstd_1_1bstr.html#aa6970921c6334a993f5f0fc1be5d54e3',1,'winstd::bstr']]], + ['localfree_5fdelete_1',['LocalFree_delete',['../structwinstd_1_1_local_free__delete.html#ae7e35dd11650c49de0ebcab4388c9400',1,'winstd::LocalFree_delete::LocalFree_delete()'],['../structwinstd_1_1_local_free__delete.html#abbb52355375f34eca425d61a59261461',1,'winstd::LocalFree_delete::LocalFree_delete(const LocalFree_delete< _Ty2 > &)'],['../structwinstd_1_1_local_free__delete_3_01___ty_0f_0e_4.html#a34a948cc7b0f12c0f1e4b7e234d8181c',1,'winstd::LocalFree_delete< _Ty[]>::LocalFree_delete()']]] ]; diff --git a/search/functions_b.js b/search/functions_b.js index 56f2b510..597424e1 100644 --- a/search/functions_b.js +++ b/search/functions_b.js @@ -1,6 +1,5 @@ var searchData= [ - ['name_0',['name',['../classwinstd_1_1event__session.html#a029e88ded7419ed152e398388f6a8578',1,'winstd::event_session']]], - ['num_5fruntime_5ferror_1',['num_runtime_error',['../classwinstd_1_1num__runtime__error.html#a4cfc6c7f3b1d5fed5a3d9e0c5aac3d19',1,'winstd::num_runtime_error::num_runtime_error(error_type num, const std::string &msg)'],['../classwinstd_1_1num__runtime__error.html#a4c0d5efd086891093156fede0dd43cd0',1,'winstd::num_runtime_error::num_runtime_error(error_type num, const char *msg=nullptr)']]], - ['number_2',['number',['../classwinstd_1_1num__runtime__error.html#a6388a483c00628c1a94a5ce45ca63e70',1,'winstd::num_runtime_error']]] + ['max_5fsize_0',['max_size',['../classwinstd_1_1heap__allocator.html#ab2018e74ee3bc84eb3841fae8bc71b01',1,'winstd::heap_allocator']]], + ['msg_1',['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()']]] ]; diff --git a/search/functions_c.js b/search/functions_c.js index 7f99f131..56f2b510 100644 --- a/search/functions_c.js +++ b/search/functions_c.js @@ -1,21 +1,6 @@ var searchData= [ - ['open_0',['open',['../classwinstd_1_1event.html#a208402e837b0663e6f2a4babbc555145',1,'winstd::event::open()'],['../classwinstd_1_1process.html#a3b2799779d92e9b8e6b010f90594e52e',1,'winstd::process::open()'],['../classwinstd_1_1wlan__handle.html#ab6d75e3603c311c0ea66224ab15555f9',1,'winstd::wlan_handle::open()'],['../classwinstd_1_1reg__key.html#abb5d9b3f87c70423940818b5c5df79a7',1,'winstd::reg_key::open()'],['../classwinstd_1_1event__log.html#afd27669d627368ec4a71719382c871ca',1,'winstd::event_log::open()']]], - ['operator_20const_20event_5ftrace_5fproperties_20_2a_1',['operator const EVENT_TRACE_PROPERTIES *',['../classwinstd_1_1event__session.html#a1a37f33aed68839679f91bfe51e675d1',1,'winstd::event_session']]], - ['operator_20handle_5ftype_2',['operator handle_type',['../classwinstd_1_1handle.html#a86114637674c82d6fd96d7b3eae39ac8',1,'winstd::handle']]], - ['operator_20lpcritical_5fsection_3',['operator LPCRITICAL_SECTION',['../classwinstd_1_1critical__section.html#a7d071e54253a18e11dfdba7130333083',1,'winstd::critical_section']]], - ['operator_20typename_20_5fty_20_2a_26_4',['operator typename _Ty *&',['../classwinstd_1_1ref__unique__ptr.html#a45bf0e1b5544e6b8f8f1e907ddaec41b',1,'winstd::ref_unique_ptr::operator typename _Ty *&()'],['../classwinstd_1_1ref__unique__ptr_3_01___ty_0f_0e_00_01___dx_01_4.html#afe5ec21f5765e9023bf8379d05c12187',1,'winstd::ref_unique_ptr< _Ty[], _Dx >::operator typename _Ty *&()']]], - ['operator_20typename_20_5fty_20_2a_2a_5',['operator typename _Ty **',['../classwinstd_1_1ref__unique__ptr.html#a0a43c89cd281cfe203cd45655d537a02',1,'winstd::ref_unique_ptr::operator typename _Ty **()'],['../classwinstd_1_1ref__unique__ptr_3_01___ty_0f_0e_00_01___dx_01_4.html#ae7d16a5850060668cf78a7fc92b62719',1,'winstd::ref_unique_ptr< _Ty[], _Dx >::operator typename _Ty **()']]], - ['operator_21_6',['operator!',['../classwinstd_1_1handle.html#a5df08ecb32b9040bf7342479aee2286c',1,'winstd::handle']]], - ['operator_21_3d_7',['operator!=',['../classwinstd_1_1handle.html#a6df58f6c131ab4288acb96d5b8f3012e',1,'winstd::handle::operator!=()'],['../classwinstd_1_1cert__context.html#adfad0db8dd947143a8406f2f988d04ad',1,'winstd::cert_context::operator!=()'],['../classwinstd_1_1variant.html#a70dc99253ef9de24b443e6d48b662643',1,'winstd::variant::operator!=()']]], - ['operator_26_8',['operator&',['../classwinstd_1_1handle.html#a2bd2de7bb89dcebe2c9379dd54ee79c1',1,'winstd::handle']]], - ['operator_28_29_9',['operator()',['../structwinstd_1_1_local_free__delete_3_01___ty_0f_0e_4.html#abf0ecfcfbb58493103f7e0905272d8d8',1,'winstd::LocalFree_delete< _Ty[]>::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_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()()'],['../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_10',['operator*',['../classwinstd_1_1handle.html#a0f1ac60cf62e41c24394bf0e3457fbd9',1,'winstd::handle']]], - ['operator_2d_3e_11',['operator->',['../classwinstd_1_1handle.html#a285ada5936fe7afdd12eed70b38c2084',1,'winstd::handle']]], - ['operator_3c_12',['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<(const VARIANT &varSrc) const noexcept']]], - ['operator_3c_3d_13',['operator<=',['../classwinstd_1_1variant.html#a02366b97c9a937f57806640dc942ecaf',1,'winstd::variant::operator<=()'],['../classwinstd_1_1handle.html#af9e9538d58b952799db4a1c68b0184b9',1,'winstd::handle::operator<=()'],['../classwinstd_1_1cert__context.html#a042240321d22636cddc379b198c7fd84',1,'winstd::cert_context::operator<=()']]], - ['operator_3d_14',['operator=',['../classwinstd_1_1eap__attr.html#a242766666ce3cbb83429ddd0eaeb9cc6',1,'winstd::eap_attr::operator=()'],['../classwinstd_1_1variant.html#a1df6086270e7799b83ee2889e2b88d9e',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_1ref__unique__ptr_3_01___ty_0f_0e_00_01___dx_01_4.html#acfb43bdf589d00763538f35ac5893641',1,'winstd::ref_unique_ptr< _Ty[], _Dx >::operator=(ref_unique_ptr< _Ty[], _Dx > &&other)'],['../classwinstd_1_1ref__unique__ptr_3_01___ty_0f_0e_00_01___dx_01_4.html#a55590736d435041213af5b54ffe722bf',1,'winstd::ref_unique_ptr< _Ty[], _Dx >::operator=(std::unique_ptr< _Ty[], _Dx > &owner) noexcept'],['../classwinstd_1_1variant.html#a39d9e97b57c37f3d876574cc2fd6e0a5',1,'winstd::variant::operator=(const SAFEARRAY *pSrc) 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_1event__rec.html#aa5287b5572575d440f881c1d8c17bac3',1,'winstd::event_rec::operator=()'],['../classwinstd_1_1variant.html#af1898a82e4199d1f34924d448867f68f',1,'winstd::variant::operator=()'],['../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_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#ad0ef65b5a3f40b1a812ac78ca5e5eb50',1,'winstd::variant::operator=(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#aebabfcb503a43abecc9f3c07629f591f',1,'winstd::variant::operator=(unsigned long long nSrc) noexcept'],['../classwinstd_1_1variant.html#a1786d099ef012c301c0774f98af0f13a',1,'winstd::variant::operator=(float fltSrc) noexcept'],['../classwinstd_1_1variant.html#a935f6cff8004781f60d66b04a01c2330',1,'winstd::variant::operator=(CY cySrc) noexcept'],['../classwinstd_1_1variant.html#ad4a0fd8999d8d526bb232ebf70c18887',1,'winstd::variant::operator=(unsigned long long *pnSrc) 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#aa01c928f87788c505b818b7930c0f3a0',1,'winstd::variant::operator=(unsigned int *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#af5e22f4158921eb49c2207335d7c7593',1,'winstd::variant::operator=(IDispatch *pSrc)'],['../classwinstd_1_1variant.html#a984b2e054639678f06a40e3f57abf4d7',1,'winstd::variant::operator=(LPCOLESTR lpszSrc) noexcept'],['../classwinstd_1_1variant.html#a6fa877e7a098dba125c6342bd5e1c896',1,'winstd::variant::operator=(double dblSrc) noexcept']]], - ['operator_3d_3d_15',['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==()']]], - ['operator_3e_16',['operator>',['../classwinstd_1_1variant.html#a323955b7123424305aed08eea20f9381',1,'winstd::variant::operator>()'],['../classwinstd_1_1handle.html#ae7361f6159006e3f87cbe10ba2a76329',1,'winstd::handle::operator>()'],['../classwinstd_1_1cert__context.html#a7224d1fe6c57bfe903fa8a6df32d2466',1,'winstd::cert_context::operator>()']]], - ['operator_3e_3d_17',['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>=()']]] + ['name_0',['name',['../classwinstd_1_1event__session.html#a029e88ded7419ed152e398388f6a8578',1,'winstd::event_session']]], + ['num_5fruntime_5ferror_1',['num_runtime_error',['../classwinstd_1_1num__runtime__error.html#a4cfc6c7f3b1d5fed5a3d9e0c5aac3d19',1,'winstd::num_runtime_error::num_runtime_error(error_type num, const std::string &msg)'],['../classwinstd_1_1num__runtime__error.html#a4c0d5efd086891093156fede0dd43cd0',1,'winstd::num_runtime_error::num_runtime_error(error_type num, const char *msg=nullptr)']]], + ['number_2',['number',['../classwinstd_1_1num__runtime__error.html#a6388a483c00628c1a94a5ce45ca63e70',1,'winstd::num_runtime_error']]] ]; diff --git a/search/functions_d.js b/search/functions_d.js index 423e5b75..3d6ad423 100644 --- a/search/functions_d.js +++ b/search/functions_d.js @@ -1,5 +1,20 @@ var searchData= [ - ['process_0',['process',['../classwinstd_1_1sec__context.html#a07d7c85d0db22a2b7ababdac632b3c54',1,'winstd::sec_context']]], - ['process_5finformation_1',['process_information',['../classwinstd_1_1process__information.html#a8b66efb1e5c75ac7aef0ea02b9f9fd39',1,'winstd::process_information']]] + ['operator_20const_20event_5ftrace_5fproperties_20_2a_0',['operator const EVENT_TRACE_PROPERTIES *',['../classwinstd_1_1event__session.html#a1a37f33aed68839679f91bfe51e675d1',1,'winstd::event_session']]], + ['operator_20handle_5ftype_1',['operator handle_type',['../classwinstd_1_1handle.html#a86114637674c82d6fd96d7b3eae39ac8',1,'winstd::handle']]], + ['operator_20lpcritical_5fsection_2',['operator LPCRITICAL_SECTION',['../classwinstd_1_1critical__section.html#a7d071e54253a18e11dfdba7130333083',1,'winstd::critical_section']]], + ['operator_20typename_20_5fty_20_2a_26_3',['operator typename _Ty *&',['../classwinstd_1_1ref__unique__ptr.html#a45bf0e1b5544e6b8f8f1e907ddaec41b',1,'winstd::ref_unique_ptr::operator typename _Ty *&()'],['../classwinstd_1_1ref__unique__ptr_3_01___ty_0f_0e_00_01___dx_01_4.html#afe5ec21f5765e9023bf8379d05c12187',1,'winstd::ref_unique_ptr< _Ty[], _Dx >::operator typename _Ty *&()']]], + ['operator_20typename_20_5fty_20_2a_2a_4',['operator typename _Ty **',['../classwinstd_1_1ref__unique__ptr.html#a0a43c89cd281cfe203cd45655d537a02',1,'winstd::ref_unique_ptr::operator typename _Ty **()'],['../classwinstd_1_1ref__unique__ptr_3_01___ty_0f_0e_00_01___dx_01_4.html#ae7d16a5850060668cf78a7fc92b62719',1,'winstd::ref_unique_ptr< _Ty[], _Dx >::operator typename _Ty **()']]], + ['operator_21_5',['operator!',['../classwinstd_1_1handle.html#a5df08ecb32b9040bf7342479aee2286c',1,'winstd::handle']]], + ['operator_21_3d_6',['operator!=',['../classwinstd_1_1cert__context.html#adfad0db8dd947143a8406f2f988d04ad',1,'winstd::cert_context::operator!=()'],['../classwinstd_1_1handle.html#a6df58f6c131ab4288acb96d5b8f3012e',1,'winstd::handle::operator!=()'],['../classwinstd_1_1variant.html#a70dc99253ef9de24b443e6d48b662643',1,'winstd::variant::operator!=()']]], + ['operator_26_7',['operator&',['../classwinstd_1_1handle.html#a2bd2de7bb89dcebe2c9379dd54ee79c1',1,'winstd::handle']]], + ['operator_28_29_8',['operator()',['../structwinstd_1_1_cred_free__delete.html#a247d6f53f119468b6ccb08ff01338465',1,'winstd::CredFree_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_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_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_9',['operator*',['../classwinstd_1_1handle.html#a0f1ac60cf62e41c24394bf0e3457fbd9',1,'winstd::handle']]], + ['operator_2d_3e_10',['operator->',['../classwinstd_1_1handle.html#a285ada5936fe7afdd12eed70b38c2084',1,'winstd::handle']]], + ['operator_3c_11',['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<(const VARIANT &varSrc) const noexcept']]], + ['operator_3c_3d_12',['operator<=',['../classwinstd_1_1variant.html#a02366b97c9a937f57806640dc942ecaf',1,'winstd::variant::operator<=()'],['../classwinstd_1_1cert__context.html#a042240321d22636cddc379b198c7fd84',1,'winstd::cert_context::operator<=()'],['../classwinstd_1_1handle.html#af9e9538d58b952799db4a1c68b0184b9',1,'winstd::handle::operator<=()']]], + ['operator_3d_13',['operator=',['../classwinstd_1_1variant.html#a1786d099ef012c301c0774f98af0f13a',1,'winstd::variant::operator=(float fltSrc) noexcept'],['../classwinstd_1_1variant.html#a2ea74c1b7a770188f7f59d7eb6923dbe',1,'winstd::variant::operator=(double *pfSrc) noexcept'],['../classwinstd_1_1variant.html#a39d9e97b57c37f3d876574cc2fd6e0a5',1,'winstd::variant::operator=(const SAFEARRAY *pSrc) noexcept'],['../classwinstd_1_1ref__unique__ptr_3_01___ty_0f_0e_00_01___dx_01_4.html#a55590736d435041213af5b54ffe722bf',1,'winstd::ref_unique_ptr< _Ty[], _Dx >::operator=(std::unique_ptr< _Ty[], _Dx > &owner) noexcept'],['../classwinstd_1_1ref__unique__ptr_3_01___ty_0f_0e_00_01___dx_01_4.html#acfb43bdf589d00763538f35ac5893641',1,'winstd::ref_unique_ptr< _Ty[], _Dx >::operator=(ref_unique_ptr< _Ty[], _Dx > &&other)'],['../classwinstd_1_1handle.html#a591e006af92e4d088fb9c1ed974c0923',1,'winstd::handle::operator=(handle_type h) noexcept'],['../classwinstd_1_1handle.html#a6326bbc54ec3441e41f30bc1ec4d6a6c',1,'winstd::handle::operator=(handle< handle_type, INVAL > &&h) noexcept'],['../classwinstd_1_1dplhandle.html#a31cec3cdf4ee749b1aef4b4cd7652fb7',1,'winstd::dplhandle::operator=(handle_type h) noexcept'],['../classwinstd_1_1dplhandle.html#abcccb97671b96da3623f700a93bb5c39',1,'winstd::dplhandle::operator=(const dplhandle< handle_type, INVAL > &h) noexcept'],['../classwinstd_1_1dplhandle.html#a546f1f737bc3da0c9b19967d849776d3',1,'winstd::dplhandle::operator=(dplhandle< handle_type, INVAL > &&h) noexcept'],['../classwinstd_1_1data__blob.html#ac818a3116ab5fc0af960f82aa505b6ae',1,'winstd::data_blob::operator=(const DATA_BLOB &other)'],['../classwinstd_1_1data__blob.html#a637b625d29bacc0875d543c69da351c2',1,'winstd::data_blob::operator=(data_blob &&other) noexcept'],['../classwinstd_1_1eap__attr.html#aa5909d52c15557908ff584f4712eea05',1,'winstd::eap_attr::operator=()'],['../classwinstd_1_1variant.html#a1df6086270e7799b83ee2889e2b88d9e',1,'winstd::variant::operator=()'],['../classwinstd_1_1eap__attr.html#a242766666ce3cbb83429ddd0eaeb9cc6',1,'winstd::eap_attr::operator=()'],['../classwinstd_1_1eap__method__info__array.html#aea48aefd91b676cdbeb9511640108f2a',1,'winstd::eap_method_info_array::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_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#ad0ef65b5a3f40b1a812ac78ca5e5eb50',1,'winstd::variant::operator=(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#a935f6cff8004781f60d66b04a01c2330',1,'winstd::variant::operator=(CY cySrc) noexcept'],['../classwinstd_1_1variant.html#ad4a0fd8999d8d526bb232ebf70c18887',1,'winstd::variant::operator=(unsigned long long *pnSrc) 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#aa01c928f87788c505b818b7930c0f3a0',1,'winstd::variant::operator=(unsigned int *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#af5e22f4158921eb49c2207335d7c7593',1,'winstd::variant::operator=(IDispatch *pSrc)'],['../classwinstd_1_1variant.html#a984b2e054639678f06a40e3f57abf4d7',1,'winstd::variant::operator=(LPCOLESTR lpszSrc) noexcept'],['../classwinstd_1_1variant.html#a6fa877e7a098dba125c6342bd5e1c896',1,'winstd::variant::operator=(double dblSrc) noexcept']]], + ['operator_3d_3d_14',['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==()']]], + ['operator_3e_15',['operator>',['../classwinstd_1_1variant.html#a323955b7123424305aed08eea20f9381',1,'winstd::variant::operator>()'],['../classwinstd_1_1handle.html#ae7361f6159006e3f87cbe10ba2a76329',1,'winstd::handle::operator>()'],['../classwinstd_1_1cert__context.html#a7224d1fe6c57bfe903fa8a6df32d2466',1,'winstd::cert_context::operator>()']]], + ['operator_3e_3d_16',['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/functions_e.js b/search/functions_e.js index b80f4d6e..423e5b75 100644 --- a/search/functions_e.js +++ b/search/functions_e.js @@ -1,4 +1,5 @@ var searchData= [ - ['query_5finterface_0',['query_interface',['../classwinstd_1_1com__obj.html#a1ce5cf9682ee1b876cb9eba372e2b1a1',1,'winstd::com_obj::query_interface(_Other **h) const'],['../classwinstd_1_1com__obj.html#a8e898e0977c00b196e1986a02709c185',1,'winstd::com_obj::query_interface(com_obj< _Other > &h) const']]] + ['process_0',['process',['../classwinstd_1_1sec__context.html#a07d7c85d0db22a2b7ababdac632b3c54',1,'winstd::sec_context']]], + ['process_5finformation_1',['process_information',['../classwinstd_1_1process__information.html#a8b66efb1e5c75ac7aef0ea02b9f9fd39',1,'winstd::process_information']]] ]; diff --git a/search/searchdata.js b/search/searchdata.js index cd4decf2..62f91e05 100644 --- a/search/searchdata.js +++ b/search/searchdata.js @@ -1,8 +1,8 @@ var indexSectionsWithContent = { - 0: "_abcdefghilmnopqrstuvw~", + 0: "_abcdefghilmnoprstuvw~", 1: "abcdefghlnprsuvw", - 2: "abcdefghilmnopqrstuvw~", + 2: "_abcdefghilmnoprstuvw~", 3: "im", 4: "_cdehoprstvw", 5: "e", diff --git a/search/typedefs_9.js b/search/typedefs_9.js index 2550875c..abdcd7ed 100644 --- a/search/typedefs_9.js +++ b/search/typedefs_9.js @@ -1,7 +1,8 @@ var searchData= [ - ['tstring_0',['tstring',['../group___win_std_general.html#ga8081292a94f5d070e644bdc90662d1fc',1,'winstd']]], - ['tstring_5fguid_1',['tstring_guid',['../group___win_std_str_format.html#ga4c44b6a587f894ee33bb58a10ba27d6b',1,'winstd']]], - ['tstring_5fmsg_2',['tstring_msg',['../group___win_std_str_format.html#gaf47f07aac0b4c8ef47cf42216ab17f1b',1,'winstd']]], - ['tstring_5fprintf_3',['tstring_printf',['../group___win_std_str_format.html#gab805ccda115191833fb01ba4457f208a',1,'winstd']]] + ['taddrinfo_0',['taddrinfo',['../group___win_sock2_a_p_i.html#ga73a783d5ebf3d1af2a565cb78062b5b6',1,'winstd']]], + ['tstring_1',['tstring',['../group___win_std_general.html#ga8081292a94f5d070e644bdc90662d1fc',1,'winstd']]], + ['tstring_5fguid_2',['tstring_guid',['../group___win_std_str_format.html#ga4c44b6a587f894ee33bb58a10ba27d6b',1,'winstd']]], + ['tstring_5fmsg_3',['tstring_msg',['../group___win_std_str_format.html#gaf47f07aac0b4c8ef47cf42216ab17f1b',1,'winstd']]], + ['tstring_5fprintf_4',['tstring_printf',['../group___win_std_str_format.html#gab805ccda115191833fb01ba4457f208a',1,'winstd']]] ]; 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 53dc60cc..34c53e18 100644 --- a/structwinstd_1_1_co_task_mem_free__delete-members.html +++ b/structwinstd_1_1_co_task_mem_free__delete-members.html @@ -78,7 +78,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 0903a2fb..f507748e 100644 --- a/structwinstd_1_1_co_task_mem_free__delete.html +++ b/structwinstd_1_1_co_task_mem_free__delete.html @@ -130,7 +130,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 8c14d015..c84919bb 100644 --- a/structwinstd_1_1_cred_free__delete-members.html +++ b/structwinstd_1_1_cred_free__delete-members.html @@ -80,7 +80,7 @@ $(function() { diff --git a/structwinstd_1_1_cred_free__delete.html b/structwinstd_1_1_cred_free__delete.html index beb065e1..43227767 100644 --- a/structwinstd_1_1_cred_free__delete.html +++ b/structwinstd_1_1_cred_free__delete.html @@ -143,7 +143,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 2b24e89d..9e0d7767 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 @@ -80,7 +80,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 237928fb..42c1f69a 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 @@ -175,7 +175,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 a7553d13..1a82e914 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 @@ -78,7 +78,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 607f8475..e7643919 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 @@ -127,7 +127,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 68bbe265..cb3c4258 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 @@ -78,7 +78,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 b0170136..f0614993 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 @@ -127,7 +127,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 5679d2d0..715b6807 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 @@ -78,7 +78,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 838b42d5..a17c2e8e 100644 --- a/structwinstd_1_1_eap_host_peer_free_memory__delete.html +++ b/structwinstd_1_1_eap_host_peer_free_memory__delete.html @@ -130,7 +130,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 cced8f88..01076a99 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 @@ -78,7 +78,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 2cf9039f..ad995d99 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 @@ -99,7 +99,7 @@ template<class _T > diff --git a/structwinstd_1_1_local_free__delete-members.html b/structwinstd_1_1_local_free__delete-members.html index 396d5bf2..26dbcebe 100644 --- a/structwinstd_1_1_local_free__delete-members.html +++ b/structwinstd_1_1_local_free__delete-members.html @@ -80,7 +80,7 @@ $(function() { diff --git a/structwinstd_1_1_local_free__delete.html b/structwinstd_1_1_local_free__delete.html index 40da4cdc..bd4e0375 100644 --- a/structwinstd_1_1_local_free__delete.html +++ b/structwinstd_1_1_local_free__delete.html @@ -143,7 +143,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 d01e9ba5..b66801a6 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 @@ -80,7 +80,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 2a5bcfa9..f3af5b83 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 @@ -145,7 +145,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 cf69f5b7..c284cc81 100644 --- a/structwinstd_1_1_unmap_view_of_file__delete-members.html +++ b/structwinstd_1_1_unmap_view_of_file__delete-members.html @@ -80,7 +80,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 b0ec3f7c..3ef297b7 100644 --- a/structwinstd_1_1_unmap_view_of_file__delete.html +++ b/structwinstd_1_1_unmap_view_of_file__delete.html @@ -112,7 +112,7 @@ struct winstd::UnmapViewOfFile_delete< _Ty >

      Deleter for unique_p

      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 3be65061..8275d18e 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 @@ -80,7 +80,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 92fd41ba..ac542018 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 @@ -112,7 +112,7 @@ struct winstd::UnmapViewOfFile_delete< _Ty[]>

      Deleter for unique_

      diff --git a/structwinstd_1_1_wlan_free_memory__delete-members.html b/structwinstd_1_1_wlan_free_memory__delete-members.html index e0a35af5..e2912973 100644 --- a/structwinstd_1_1_wlan_free_memory__delete-members.html +++ b/structwinstd_1_1_wlan_free_memory__delete-members.html @@ -80,7 +80,7 @@ $(function() { diff --git a/structwinstd_1_1_wlan_free_memory__delete.html b/structwinstd_1_1_wlan_free_memory__delete.html index 1ec82bce..cfd759e8 100644 --- a/structwinstd_1_1_wlan_free_memory__delete.html +++ b/structwinstd_1_1_wlan_free_memory__delete.html @@ -112,7 +112,7 @@ struct winstd::WlanFreeMemory_delete< _Ty >

      Deleter for unique_pt

      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 a0a0a098..b2d33f97 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 @@ -80,7 +80,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 543ffdb9..e1833625 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 @@ -112,7 +112,7 @@ struct winstd::WlanFreeMemory_delete< _Ty[]>

      Deleter for unique_p

      diff --git a/structwinstd_1_1heap__allocator_1_1rebind-members.html b/structwinstd_1_1heap__allocator_1_1rebind-members.html index 30fcb3db..86fd5885 100644 --- a/structwinstd_1_1heap__allocator_1_1rebind-members.html +++ b/structwinstd_1_1heap__allocator_1_1rebind-members.html @@ -77,7 +77,7 @@ $(function() { diff --git a/structwinstd_1_1heap__allocator_1_1rebind.html b/structwinstd_1_1heap__allocator_1_1rebind.html index c0ada9f2..39377f1f 100644 --- a/structwinstd_1_1heap__allocator_1_1rebind.html +++ b/structwinstd_1_1heap__allocator_1_1rebind.html @@ -96,7 +96,7 @@ struct winstd::heap_allocator< _Ty >::rebind< _Other >

      A st

      diff --git a/structwinstd_1_1sanitizing__allocator_1_1rebind-members.html b/structwinstd_1_1sanitizing__allocator_1_1rebind-members.html index 9f58de6f..7f1cda7b 100644 --- a/structwinstd_1_1sanitizing__allocator_1_1rebind-members.html +++ b/structwinstd_1_1sanitizing__allocator_1_1rebind-members.html @@ -77,7 +77,7 @@ $(function() { diff --git a/structwinstd_1_1sanitizing__allocator_1_1rebind.html b/structwinstd_1_1sanitizing__allocator_1_1rebind.html index 9132bd97..cb5004c1 100644 --- a/structwinstd_1_1sanitizing__allocator_1_1rebind.html +++ b/structwinstd_1_1sanitizing__allocator_1_1rebind.html @@ -96,7 +96,7 @@ struct winstd::sanitizing_allocator< _Ty >::rebind< _Other >