diff --git a/_c_o_m_8h_source.html b/_c_o_m_8h_source.html index 5b4866e6..5246f697 100644 --- a/_c_o_m_8h_source.html +++ b/_c_o_m_8h_source.html @@ -110,790 +110,777 @@ $(function() {
74 }
75 };
76
-
80 template <class T>
-
81 class com_obj : public dplhandle<T*, NULL>
-
82 {
-
83 WINSTD_DPLHANDLE_IMPL(com_obj, NULL)
-
84
-
85 public:
-
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);
+
82 template <class T>
+
83 class com_obj : public dplhandle<T*, NULL>
+
84 {
+
85 WINSTD_DPLHANDLE_IMPL(com_obj, NULL)
+
86
+
87 public:
+
93 template <class _Other>
+
94 com_obj(_In_ _Other *other)
+
95 {
+
96 assert(other);
+
97 other->QueryInterface(__uuidof(T), (void**)&m_h);
+
98 }
+
99
+
105 template <class _Other>
+
106 com_obj(_In_ com_obj<_Other> &other)
+
107 {
+
108 other->QueryInterface(__uuidof(T), (void**)&m_h);
+
109 }
+
110
+
114 virtual ~com_obj()
+
115 {
+
116 if (m_h != invalid)
+
117 free_internal();
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 };
+
125 template <class _Other>
+
126 HRESULT query_interface(_Out_ _Other **h) const
+
127 {
+
128 assert(h);
+
129 assert(m_h);
+
130 return m_h->QueryInterface(__uuidof(_Other), (void**)h);
+
131 }
+
132
+
138 template <class _Other>
+
139 HRESULT query_interface(_Out_ com_obj<_Other> &h) const
+
140 {
+
141 assert(m_h);
+
142 _Other *_h;
+
143 HRESULT hr = m_h->QueryInterface(__uuidof(_Other), (void**)&_h);
+
144 if (SUCCEEDED(hr))
+
145 h.attach(_h);
+
146 return hr;
+
147 }
+
148
+
149 protected:
+
155 void free_internal() noexcept override
+
156 {
+
157 m_h->Release();
+
158 }
+
159
+
169 handle_type duplicate_internal(_In_ handle_type h) const noexcept override
+
170 {
+
171 h->AddRef();
+
172 return h;
+
173 }
+
174 };
+
175
+
179 class bstr : public dplhandle<BSTR, NULL>
+
180 {
+
181 WINSTD_DPLHANDLE_IMPL(bstr, NULL)
+
182
+
183 public:
+
187 bstr(_In_ LPCOLESTR src) noexcept
+
188 {
+
189 m_h = SysAllocString(src);
+
190 }
+
191
+
195 bstr(_In_ LPCOLESTR src, _In_ UINT len) noexcept
+
196 {
+
197 m_h = SysAllocStringLen(src, len);
+
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;
+
203 template<class _Traits, class _Ax>
+
204 bstr(_In_ const std::basic_string<wchar_t, _Traits, _Ax> &src) noexcept
+
205 {
+
206 m_h = SysAllocStringLen(src.c_str(), (UINT)src.length());
+
207 }
+
208
+
214 virtual ~bstr()
+
215 {
+
216 if (m_h != invalid)
+
217 free_internal();
+
218 }
+
219
+
225 UINT length() const noexcept
+
226 {
+
227 return SysStringLen(m_h);
+
228 }
+
229
+
230 protected:
+
236 void free_internal() noexcept override
+
237 {
+
238 SysFreeString(m_h);
+
239 }
+
240
+
250 handle_type duplicate_internal(_In_ handle_type h) const noexcept override
+
251 {
+
252 return SysAllocStringLen(h, SysStringLen(h));
+
253 }
+
254 };
+
255
+
259 #pragma warning(push)
+
260 #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.
+
261 class variant : public VARIANT
+
262 {
+
263 public:
+
267 variant() noexcept
+
268 {
+
269 VariantInit(this);
+
270 }
+
271
+
275 variant(_In_ const VARIANT& varSrc)
+
276 {
+
277 vt = VT_EMPTY;
+
278 const HRESULT hr = VariantCopy(this, &varSrc);
+
279 if (FAILED(hr))
+
280 throw winstd::com_runtime_error(hr, "VariantCopy failed.");
+
281 }
+
282
+
286 #pragma warning(suppress: 26495) // vt member is initialized as a result of memcpy()
+
287 variant(_Inout_ VARIANT&& varSrc) noexcept
+
288 {
+
289 memcpy(this, &varSrc, sizeof(VARIANT));
+
290 varSrc.vt = VT_EMPTY;
+
291 }
+
292
+
296 variant(_In_ bool bSrc) noexcept
+
297 {
+
298 vt = VT_BOOL;
+
299 boolVal = bSrc ? VARIANT_TRUE : VARIANT_FALSE;
+
300 }
+
301
+
305 variant(_In_ char cSrc) noexcept
+
306 {
+
307 vt = VT_I1;
+
308 cVal = cSrc;
+
309 }
+
310
+
314 variant(_In_ unsigned char nSrc) noexcept
+
315 {
+
316 vt = VT_UI1;
+
317 bVal = nSrc;
+
318 }
+
319
+
323 variant(_In_ short nSrc) noexcept
+
324 {
+
325 vt = VT_I2;
+
326 iVal = nSrc;
+
327 }
+
328
+
332 variant(_In_ unsigned short nSrc) noexcept
+
333 {
+
334 vt = VT_UI2;
+
335 uiVal = nSrc;
+
336 }
+
337
+
341 variant(_In_ int nSrc, _In_ VARTYPE vtSrc = VT_I4) noexcept
+
342 {
+
343 assert(vtSrc == VT_I4 || vtSrc == VT_INT);
+
344 vt = vtSrc;
+
345 intVal = nSrc;
+
346 }
+
347
+
351 variant(_In_ unsigned int nSrc, _In_ VARTYPE vtSrc = VT_UI4) noexcept
+
352 {
+
353 assert(vtSrc == VT_UI4 || vtSrc == VT_UINT);
+
354 vt = vtSrc;
+
355 uintVal= nSrc;
+
356 }
+
357
+
361 variant(_In_ long nSrc, _In_ VARTYPE vtSrc = VT_I4) noexcept
+
362 {
+
363 assert(vtSrc == VT_I4 || vtSrc == VT_ERROR);
+
364 vt = vtSrc;
+
365 lVal = nSrc;
+
366 }
+
367
+
371 variant(_In_ unsigned long nSrc) noexcept
+
372 {
+
373 vt = VT_UI4;
+
374 ulVal = nSrc;
+
375 }
+
376
+
380 variant(_In_ float fltSrc) noexcept
+
381 {
+
382 vt = VT_R4;
+
383 fltVal = fltSrc;
+
384 }
+
385
+
389 variant(_In_ double dblSrc, _In_ VARTYPE vtSrc = VT_R8) noexcept
+
390 {
+
391 assert(vtSrc == VT_R8 || vtSrc == VT_DATE);
+
392 vt = vtSrc;
+
393 dblVal = dblSrc;
+
394 }
+
395
+
399 variant(_In_ long long nSrc) noexcept
+
400 {
+
401 vt = VT_I8;
+
402 llVal = nSrc;
+
403 }
+
404
+
408 variant(_In_ unsigned long long nSrc) noexcept
+
409 {
+
410 vt = VT_UI8;
+
411 ullVal = nSrc;
+
412 }
+
413
+
417 variant(_In_ CY cySrc) noexcept
+
418 {
+
419 vt = VT_CY;
+
420 cyVal.Hi = cySrc.Hi;
+
421 cyVal.Lo = cySrc.Lo;
+
422 }
+
423
+
427 variant(_In_z_ LPCOLESTR lpszSrc) noexcept
+
428 {
+
429 vt = VT_EMPTY;
+
430 *this = lpszSrc;
+
431 }
+
432
+
436 variant(_In_z_ BSTR bstr) noexcept
+
437 {
+
438 vt = VT_EMPTY;
+
439 *this = bstr;
+
440 }
+
441
+
445 variant(_In_opt_ IDispatch* pSrc)
+
446 {
+
447 vt = VT_DISPATCH;
+
448 pdispVal = pSrc;
+
449
+
450 if (pdispVal != NULL)
+
451 pdispVal->AddRef();
+
452 }
+
453
+
457 variant(_In_opt_ IUnknown* pSrc)
+
458 {
+
459 vt = VT_UNKNOWN;
+
460 punkVal = pSrc;
+
461
+
462 if (punkVal != NULL)
+
463 punkVal->AddRef();
464 }
465
-
469 variant(_In_opt_ IDispatch* pSrc)
+
469 variant(_In_ const SAFEARRAY *pSrc)
470 {
-
471 vt = VT_DISPATCH;
-
472 pdispVal = pSrc;
-
473
-
474 if (pdispVal != NULL)
-
475 pdispVal->AddRef();
-
476 }
+
471 assert(pSrc != NULL);
+
472
+
473 LPSAFEARRAY pCopy;
+
474 const HRESULT hr = SafeArrayCopy(const_cast<LPSAFEARRAY>(pSrc), &pCopy);
+
475 if (FAILED(hr))
+
476 throw winstd::com_runtime_error(hr, "SafeArrayCopy failed.");
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 }
+
478 SafeArrayGetVartype(const_cast<LPSAFEARRAY>(pSrc), &vt);
+
479 vt |= VT_ARRAY;
+
480 parray = pCopy;
+
481 }
+
482
+
486 virtual ~variant()
+
487 {
+
488 VariantClear(this);
+
489 }
+
490
+
494 variant& operator=(_In_ const VARIANT& varSrc)
+
495 {
+
496 if (this != &varSrc) {
+
497 const HRESULT hr = VariantCopy(this, &varSrc);
+
498 if (FAILED(hr))
+
499 throw winstd::com_runtime_error(hr, "VariantCopy failed.");
+
500 }
+
501 return *this;
+
502 }
+
503
+
507 variant& operator=(_Inout_ VARIANT&& varSrc) noexcept
+
508 {
+
509 if (this != &varSrc) {
+
510 VariantClear(this);
+
511 memcpy(this, &varSrc, sizeof(VARIANT));
+
512 varSrc.vt = VT_EMPTY;
+
513 }
+
514 return *this;
+
515 }
+
516
+
520 variant& operator=(_In_ bool bSrc) noexcept
+
521 {
+
522 if (vt != VT_BOOL) {
+
523 VariantClear(this);
+
524 vt = VT_BOOL;
+
525 }
+
526 boolVal = bSrc ? VARIANT_TRUE : VARIANT_FALSE;
+
527 return *this;
+
528 }
+
529
+
533 variant& operator=(_In_ char cSrc) noexcept
+
534 {
+
535 if (vt != VT_I1) {
+
536 VariantClear(this);
+
537 vt = VT_I1;
+
538 }
+
539 cVal = cSrc;
+
540 return *this;
+
541 }
+
542
+
546 variant& operator=(_In_ unsigned char nSrc) noexcept
+
547 {
+
548 if (vt != VT_UI1) {
+
549 VariantClear(this);
+
550 vt = VT_UI1;
+
551 }
+
552 bVal = nSrc;
+
553 return *this;
+
554 }
+
555
+
559 variant& operator=(_In_ short nSrc) noexcept
+
560 {
+
561 if (vt != VT_I2) {
+
562 VariantClear(this);
+
563 vt = VT_I2;
+
564 }
+
565 iVal = nSrc;
+
566 return *this;
+
567 }
+
568
+
572 variant& operator=(_In_ unsigned short nSrc) noexcept
+
573 {
+
574 if (vt != VT_UI2) {
+
575 VariantClear(this);
+
576 vt = VT_UI2;
+
577 }
+
578 uiVal = nSrc;
+
579 return *this;
+
580 }
+
581
+
585 variant& operator=(_In_ int nSrc) noexcept
+
586 {
+
587 if (vt != VT_I4) {
+
588 VariantClear(this);
+
589 vt = VT_I4;
+
590 }
+
591 intVal = nSrc;
+
592 return *this;
+
593 }
+
594
+
598 variant& operator=(_In_ unsigned int nSrc) noexcept
+
599 {
+
600 if (vt != VT_UI4) {
+
601 VariantClear(this);
+
602 vt = VT_UI4;
+
603 }
+
604 uintVal= nSrc;
+
605 return *this;
+
606 }
+
607
+
611 variant& operator=(_In_ long nSrc) noexcept
+
612 {
+
613 if (vt != VT_I4) {
+
614 VariantClear(this);
+
615 vt = VT_I4;
+
616 }
+
617 lVal = nSrc;
+
618 return *this;
+
619 }
+
620
+
624 variant& operator=(_In_ unsigned long nSrc) noexcept
+
625 {
+
626 if (vt != VT_UI4) {
+
627 VariantClear(this);
+
628 vt = VT_UI4;
+
629 }
+
630 ulVal = nSrc;
+
631 return *this;
+
632 }
+
633
+
637 variant& operator=(_In_ long long nSrc) noexcept
+
638 {
+
639 if (vt != VT_I8) {
+
640 VariantClear(this);
+
641 vt = VT_I8;
+
642 }
+
643 llVal = nSrc;
+
644 return *this;
+
645 }
+
646
+
650 variant& operator=(_In_ unsigned long long nSrc) noexcept
+
651 {
+
652 if (vt != VT_UI8) {
+
653 VariantClear(this);
+
654 vt = VT_UI8;
+
655 }
+
656 ullVal = nSrc;
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;
+
658 return *this;
+
659 }
+
660
+
664 variant& operator=(_In_ float fltSrc) noexcept
+
665 {
+
666 if (vt != VT_R4) {
+
667 VariantClear(this);
+
668 vt = VT_R4;
+
669 }
+
670 fltVal = fltSrc;
+
671 return *this;
+
672 }
+
673
+
677 variant& operator=(_In_ double dblSrc) noexcept
+
678 {
+
679 if (vt != VT_R8) {
+
680 VariantClear(this);
+
681 vt = VT_R8;
+
682 }
+
683 dblVal = dblSrc;
+
684 return *this;
+
685 }
+
686
+
690 variant& operator=(_In_ CY cySrc) noexcept
+
691 {
+
692 if (vt != VT_CY) {
+
693 VariantClear(this);
+
694 vt = VT_CY;
+
695 }
+
696 cyVal.Hi = cySrc.Hi;
+
697 cyVal.Lo = cySrc.Lo;
+
698 return *this;
+
699 }
+
700
+
704 variant& operator=(_In_z_ LPCOLESTR lpszSrc) noexcept
+
705 {
+
706 VariantClear(this);
+
707 vt = VT_BSTR;
+
708 bstrVal = SysAllocString(lpszSrc);
+
709 return *this;
+
710 }
+
711
+
715 variant& operator=(_Inout_opt_ IDispatch* pSrc)
+
716 {
+
717 VariantClear(this);
+
718 vt = VT_DISPATCH;
+
719 pdispVal = pSrc;
+
720 if (pdispVal != NULL)
+
721 pdispVal->AddRef();
722 return *this;
723 }
724
-
728 variant& operator=(_In_z_ LPCOLESTR lpszSrc) noexcept
+
728 variant& operator=(_Inout_opt_ IUnknown* pSrc)
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 }
+
731 vt = VT_UNKNOWN;
+
732 punkVal = pSrc;
+
733 if (punkVal != NULL)
+
734 punkVal->AddRef();
+
735 return *this;
+
736 }
+
737
+
741 variant& operator=(_In_ unsigned char* pbSrc) noexcept
+
742 {
+
743 if (vt != (VT_UI1|VT_BYREF)) {
+
744 VariantClear(this);
+
745 vt = VT_UI1|VT_BYREF;
+
746 }
+
747 pbVal = pbSrc;
+
748 return *this;
+
749 }
+
750
+
754 variant& operator=(_In_ short* pnSrc) noexcept
+
755 {
+
756 if (vt != (VT_I2|VT_BYREF)) {
+
757 VariantClear(this);
+
758 vt = VT_I2|VT_BYREF;
+
759 }
+
760 piVal = pnSrc;
+
761 return *this;
+
762 }
+
763
+
767 variant& operator=(_In_ unsigned short* pnSrc) noexcept
+
768 {
+
769 if (vt != (VT_UI2|VT_BYREF)) {
+
770 VariantClear(this);
+
771 vt = VT_UI2|VT_BYREF;
+
772 }
+
773 puiVal = pnSrc;
+
774 return *this;
+
775 }
+
776
+
780 variant& operator=(_In_ int* pnSrc) noexcept
+
781 {
+
782 if (vt != (VT_I4|VT_BYREF)) {
+
783 VariantClear(this);
+
784 vt = VT_I4|VT_BYREF;
+
785 }
+
786 pintVal = pnSrc;
+
787 return *this;
+
788 }
+
789
+
793 variant& operator=(_In_ unsigned int* pnSrc) noexcept
+
794 {
+
795 if (vt != (VT_UI4|VT_BYREF)) {
+
796 VariantClear(this);
+
797 vt = VT_UI4|VT_BYREF;
+
798 }
+
799 puintVal = pnSrc;
+
800 return *this;
+
801 }
+
802
+
806 variant& operator=(_In_ long* pnSrc) noexcept
+
807 {
+
808 if (vt != (VT_I4|VT_BYREF)) {
+
809 VariantClear(this);
+
810 vt = VT_I4|VT_BYREF;
+
811 }
+
812 plVal = pnSrc;
+
813 return *this;
+
814 }
+
815
+
819 variant& operator=(_In_ unsigned long* pnSrc) noexcept
+
820 {
+
821 if (vt != (VT_UI4|VT_BYREF)) {
+
822 VariantClear(this);
+
823 vt = VT_UI4|VT_BYREF;
+
824 }
+
825 pulVal = pnSrc;
+
826 return *this;
+
827 }
+
828
+
832 variant& operator=(_In_ long long* pnSrc) noexcept
+
833 {
+
834 if (vt != (VT_I8|VT_BYREF)) {
+
835 VariantClear(this);
+
836 vt = VT_I8|VT_BYREF;
+
837 }
+
838 pllVal = pnSrc;
+
839 return *this;
+
840 }
+
841
+
845 variant& operator=(_In_ unsigned long long* pnSrc) noexcept
+
846 {
+
847 if (vt != (VT_UI8|VT_BYREF)) {
+
848 VariantClear(this);
+
849 vt = VT_UI8|VT_BYREF;
+
850 }
+
851 pullVal = pnSrc;
+
852 return *this;
+
853 }
+
854
+
858 variant& operator=(_In_ float* pfSrc) noexcept
+
859 {
+
860 if (vt != (VT_R4|VT_BYREF)) {
+
861 VariantClear(this);
+
862 vt = VT_R4|VT_BYREF;
+
863 }
+
864 pfltVal = pfSrc;
+
865 return *this;
+
866 }
+
867
+
871 variant& operator=(_In_ double* pfSrc) noexcept
+
872 {
+
873 if (vt != (VT_R8|VT_BYREF)) {
+
874 VariantClear(this);
+
875 vt = VT_R8|VT_BYREF;
+
876 }
+
877 pdblVal = pfSrc;
+
878 return *this;
+
879 }
+
880
+
884 variant& operator=(_In_ const SAFEARRAY *pSrc) noexcept
+
885 {
+
886 assert(pSrc != NULL);
+
887 VariantClear(this);
+
888
+
889 LPSAFEARRAY pCopy;
+
890 const HRESULT hr = SafeArrayCopy(const_cast<LPSAFEARRAY>(pSrc), &pCopy);
+
891 if (SUCCEEDED(hr)) {
+
892 SafeArrayGetVartype(const_cast<LPSAFEARRAY>(pSrc), &vt);
+
893 vt |= VT_ARRAY;
+
894 parray = pCopy;
+
895 } else
+
896 assert(0);
+
897
+
898 return *this;
+
899 }
+
900
+
901 public:
+
910 bool operator==(_In_ const VARIANT& varSrc) const noexcept
+
911 {
+
912 if (vt == VT_NULL && varSrc.vt == VT_NULL) return true;
+
913 if (vt != varSrc.vt) return false;
+
914 return compare(static_cast<const VARIANT&>(*this), varSrc, LOCALE_USER_DEFAULT, 0) == static_cast<HRESULT>(VARCMP_EQ);
+
915 }
+
916
+
925 bool operator!=(_In_ const VARIANT& varSrc) const noexcept
+
926 {
+
927 return !operator==(varSrc);
+
928 }
+
929
+
938 bool operator<(_In_ const VARIANT& varSrc) const noexcept
+
939 {
+
940 if (vt == VT_NULL && varSrc.vt == VT_NULL) return false;
+
941 return compare(static_cast<const VARIANT&>(*this), varSrc, LOCALE_USER_DEFAULT, 0)== static_cast<HRESULT>(VARCMP_LT);
+
942 }
+
943
+
952 bool operator>(_In_ const VARIANT& varSrc) const noexcept
+
953 {
+
954 if (vt == VT_NULL && varSrc.vt == VT_NULL) return false;
+
955 return compare(static_cast<const VARIANT&>(*this), varSrc, LOCALE_USER_DEFAULT, 0)== static_cast<HRESULT>(VARCMP_GT);
+
956 }
+
957
+
966 bool operator<=(_In_ const VARIANT& varSrc) const noexcept
+
967 {
+
968 return !operator>(varSrc);
+
969 }
+
970
+
979 bool operator>=(_In_ const VARIANT& varSrc) const noexcept
+
980 {
+
981 return !operator<(varSrc);
+
982 }
+
983
+
989 HRESULT change_type(_In_ VARTYPE _vt, _In_opt_ USHORT wFlags = 0) noexcept
+
990 {
+
991 return VariantChangeType(this, this, wFlags, _vt);
+
992 }
+
993
+
994 private:
+
996 HRESULT compare(_In_ const VARIANT &varLeft, _In_ const VARIANT &varRight, _In_ LCID lcid, _In_ ULONG dwFlags) const noexcept
+
997 {
+
998 switch(vt) {
+
999 case VT_I1: return varLeft.cVal == varRight.cVal ? VARCMP_EQ : varLeft.cVal > varRight.cVal ? VARCMP_GT : VARCMP_LT;
+
1000 case VT_UI2: return varLeft.uiVal == varRight.uiVal ? VARCMP_EQ : varLeft.uiVal > varRight.uiVal ? VARCMP_GT : VARCMP_LT;
+
1001 case VT_UI4: return varLeft.uintVal == varRight.uintVal ? VARCMP_EQ : varLeft.uintVal > varRight.uintVal ? VARCMP_GT : VARCMP_LT;
+
1002 case VT_UI8: return varLeft.ullVal == varRight.ullVal ? VARCMP_EQ : varLeft.ullVal > varRight.ullVal ? VARCMP_GT : VARCMP_LT;
+
1003 default: return VarCmp(const_cast<LPVARIANT>(&varLeft), const_cast<LPVARIANT>(&varRight), lcid, dwFlags);
+
1004 }
+
1005 }
+
1007 };
+
1008 #pragma warning(pop)
+
1009
+
1013 class com_initializer
+
1014 {
+
1015 WINSTD_NONCOPYABLE(com_initializer)
+
1016 WINSTD_NONMOVABLE(com_initializer)
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::__declspec
__declspec(deprecated("Use CoCreateInstance")) com_obj(REFCLSID rclsid
Constructs a new object and creates a new class with it.
+
1018 public:
+
1024 com_initializer(_In_opt_ LPVOID pvReserved) noexcept
+
1025 {
+
1026 m_result = CoInitialize(pvReserved);
+
1027 }
+
1028
+
1034 com_initializer(_In_opt_ LPVOID pvReserved, _In_ DWORD dwCoInit) noexcept
+
1035 {
+
1036 m_result = CoInitializeEx(pvReserved, dwCoInit);
+
1037 }
+
1038
+
1044 virtual ~com_initializer()
+
1045 {
+
1046 if (SUCCEEDED(m_result))
+
1047 CoUninitialize();
+
1048 }
+
1049
+
1055 HRESULT status() const noexcept
+
1056 {
+
1057 return m_result;
+
1058 }
+
1059
+
1060 protected:
+
1061 HRESULT m_result;
+
1062 };
+
1063
+
1065}
+
1066
+
1069
+
1075template <class T>
+
1076static _Check_return_ HRESULT CoCreateInstance(_In_ REFCLSID rclsid, _In_opt_ LPUNKNOWN pUnkOuter, _In_ DWORD dwClsContext, _Inout_ winstd::com_obj<T> &v)
+
1077{
+
1078 T* ppv;
+
1079 HRESULT hr = CoCreateInstance(rclsid, pUnkOuter, dwClsContext, __uuidof(T), (LPVOID*)&ppv);
+
1080 if (SUCCEEDED(hr))
+
1081 v.attach(ppv);
+
1082 return hr;
+
1083}
+
1084
+
winstd::bstr
BSTR string wrapper.
Definition: COM.h:180
+
winstd::bstr::bstr
bstr(LPCOLESTR src) noexcept
Constructs BSTR from OLE string.
Definition: COM.h:187
+
winstd::bstr::~bstr
virtual ~bstr()
Destroys the string.
Definition: COM.h:214
+
winstd::bstr::duplicate_internal
handle_type duplicate_internal(handle_type h) const noexcept override
Duplicates the string.
Definition: COM.h:250
+
winstd::bstr::bstr
bstr(const std::basic_string< wchar_t, _Traits, _Ax > &src) noexcept
Constructs BSTR from std::basic_string.
Definition: COM.h:204
+
winstd::bstr::bstr
bstr(LPCOLESTR src, UINT len) noexcept
Constructs BSTR from OLE string with length.
Definition: COM.h:195
+
winstd::bstr::free_internal
void free_internal() noexcept override
Destroys the string.
Definition: COM.h:236
+
winstd::bstr::length
UINT length() const noexcept
Returns the length of the string.
Definition: COM.h:225
+
winstd::com_initializer
Context scope automatic COM (un)initialization.
Definition: COM.h:1014
+
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:1034
+
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:1024
+
winstd::com_initializer::status
HRESULT status() const noexcept
Return result of CoInitialize() call.
Definition: COM.h:1055
+
winstd::com_initializer::~com_initializer
virtual ~com_initializer()
Uninitializes COM.
Definition: COM.h:1044
+
winstd::com_initializer::m_result
HRESULT m_result
Result of CoInitialize call.
Definition: COM.h:1061
+
winstd::com_obj
COM object wrapper template.
Definition: COM.h:84
+
winstd::com_obj::free_internal
void free_internal() noexcept override
Releases the object by decrementing reference counter.
Definition: COM.h:155
+
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:169
+
winstd::com_obj::query_interface
HRESULT query_interface(_Other **h) const
Queries the object for another interface.
Definition: COM.h:126
+
winstd::com_obj::query_interface
HRESULT query_interface(com_obj< _Other > &h) const
Queries the object for another interface.
Definition: COM.h:139
+
winstd::com_obj::~com_obj
virtual ~com_obj()
Releases object.
Definition: COM.h:114
+
winstd::com_obj::com_obj
com_obj(_Other *other)
Queries the object for another interface and creates new class with it.
Definition: COM.h:94
+
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:106
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: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::variant
VARIANT struct wrapper.
Definition: COM.h:262
+
winstd::variant::operator<=
bool operator<=(const VARIANT &varSrc) const noexcept
Is variant less than or equal to?
Definition: COM.h:966
+
winstd::variant::variant
variant(bool bSrc) noexcept
Constructs VARIANT from bool.
Definition: COM.h:296
+
winstd::variant::operator=
variant & operator=(unsigned int nSrc) noexcept
Copy from unsigned int value.
Definition: COM.h:598
+
winstd::variant::operator=
variant & operator=(unsigned long nSrc) noexcept
Copy from unsigned long value.
Definition: COM.h:624
+
winstd::variant::variant
variant(float fltSrc) noexcept
Constructs VARIANT from float.
Definition: COM.h:380
+
winstd::variant::variant
variant(VARIANT &&varSrc) noexcept
Moves VARIANT from another.
Definition: COM.h:287
+
winstd::variant::operator=
variant & operator=(float fltSrc) noexcept
Copy from float value.
Definition: COM.h:664
+
winstd::variant::operator=
variant & operator=(float *pfSrc) noexcept
Copy from float reference.
Definition: COM.h:858
+
winstd::variant::variant
variant(IDispatch *pSrc)
Constructs VARIANT from IDispatch.
Definition: COM.h:445
+
winstd::variant::variant
variant(int nSrc, VARTYPE vtSrc=VT_I4) noexcept
Constructs VARIANT from integer.
Definition: COM.h:341
+
winstd::variant::variant
variant(const SAFEARRAY *pSrc)
Constructs VARIANT from SAFEARRAY.
Definition: COM.h:469
+
winstd::variant::operator=
variant & operator=(double *pfSrc) noexcept
Copy from double reference.
Definition: COM.h:871
+
winstd::variant::operator=
variant & operator=(int *pnSrc) noexcept
Copy from int reference.
Definition: COM.h:780
+
winstd::variant::operator>
bool operator>(const VARIANT &varSrc) const noexcept
Is variant greater than?
Definition: COM.h:952
+
winstd::variant::operator=
variant & operator=(bool bSrc) noexcept
Copy from bool value.
Definition: COM.h:520
+
winstd::variant::operator=
variant & operator=(long nSrc) noexcept
Copy from long value.
Definition: COM.h:611
+
winstd::variant::operator=
variant & operator=(const SAFEARRAY *pSrc) noexcept
Copy from SAFEARRAY.
Definition: COM.h:884
+
winstd::variant::change_type
HRESULT change_type(VARTYPE _vt, USHORT wFlags=0) noexcept
Converts a variant from one type to another.
Definition: COM.h:989
+
winstd::variant::operator=
variant & operator=(IUnknown *pSrc)
Copy from IUnknown.
Definition: COM.h:728
+
winstd::variant::operator=
variant & operator=(short nSrc) noexcept
Copy from short value.
Definition: COM.h:559
+
winstd::variant::operator=
variant & operator=(unsigned char *pbSrc) noexcept
Copy from unsigned char reference.
Definition: COM.h:741
+
winstd::variant::operator=
variant & operator=(unsigned short nSrc) noexcept
Copy from unsigned short value.
Definition: COM.h:572
+
winstd::variant::operator=
variant & operator=(unsigned char nSrc) noexcept
Copy from unsigned char value.
Definition: COM.h:546
+
winstd::variant::operator=
variant & operator=(char cSrc) noexcept
Copy from char value.
Definition: COM.h:533
+
winstd::variant::variant
variant(LPCOLESTR lpszSrc) noexcept
Constructs VARIANT from OLE string.
Definition: COM.h:427
+
winstd::variant::~variant
virtual ~variant()
Destroys VARIANT.
Definition: COM.h:486
+
winstd::variant::variant
variant(const VARIANT &varSrc)
Constructs VARIANT from another.
Definition: COM.h:275
+
winstd::variant::variant
variant(unsigned char nSrc) noexcept
Constructs VARIANT from byte.
Definition: COM.h:314
+
winstd::variant::operator=
variant & operator=(double dblSrc) noexcept
Copy from double value.
Definition: COM.h:677
+
winstd::variant::operator!=
bool operator!=(const VARIANT &varSrc) const noexcept
Is variant not equal to?
Definition: COM.h:925
+
winstd::variant::operator=
variant & operator=(int nSrc) noexcept
Copy from int value.
Definition: COM.h:585
+
winstd::variant::variant
variant(unsigned long nSrc) noexcept
Constructs VARIANT from unsigned long.
Definition: COM.h:371
+
winstd::variant::operator==
bool operator==(const VARIANT &varSrc) const noexcept
Is variant equal to?
Definition: COM.h:910
+
winstd::variant::variant
variant(IUnknown *pSrc)
Constructs VARIANT from IUnknown.
Definition: COM.h:457
+
winstd::variant::variant
variant(unsigned int nSrc, VARTYPE vtSrc=VT_UI4) noexcept
Constructs VARIANT from unsigned integer.
Definition: COM.h:351
+
winstd::variant::operator=
variant & operator=(CY cySrc) noexcept
Copy from CY value.
Definition: COM.h:690
+
winstd::variant::operator=
variant & operator=(LPCOLESTR lpszSrc) noexcept
Copy from OLE string value.
Definition: COM.h:704
+
winstd::variant::variant
variant(long long nSrc) noexcept
Constructs VARIANT from 64-bit integer.
Definition: COM.h:399
+
winstd::variant::operator=
variant & operator=(unsigned int *pnSrc) noexcept
Copy from unsigned int reference.
Definition: COM.h:793
+
winstd::variant::variant
variant(long nSrc, VARTYPE vtSrc=VT_I4) noexcept
Constructs VARIANT from long.
Definition: COM.h:361
+
winstd::variant::operator=
variant & operator=(long *pnSrc) noexcept
Copy from long reference.
Definition: COM.h:806
+
winstd::variant::variant
variant(unsigned short nSrc) noexcept
Constructs VARIANT from unsigned short.
Definition: COM.h:332
+
winstd::variant::operator>=
bool operator>=(const VARIANT &varSrc) const noexcept
Is variant greater than or equal to?
Definition: COM.h:979
+
winstd::variant::operator=
variant & operator=(short *pnSrc) noexcept
Copy from short reference.
Definition: COM.h:754
+
winstd::variant::variant
variant() noexcept
Constructs blank VARIANT.
Definition: COM.h:267
+
winstd::variant::operator<
bool operator<(const VARIANT &varSrc) const noexcept
Is variant less than?
Definition: COM.h:938
+
winstd::variant::variant
variant(unsigned long long nSrc) noexcept
Constructs VARIANT from unsigned integer.
Definition: COM.h:408
+
winstd::variant::variant
variant(char cSrc) noexcept
Constructs VARIANT from character.
Definition: COM.h:305
+
winstd::variant::operator=
variant & operator=(unsigned short *pnSrc) noexcept
Copy from unsigned short reference.
Definition: COM.h:767
+
winstd::variant::operator=
variant & operator=(long long *pnSrc) noexcept
Copy from long long reference.
Definition: COM.h:832
+
winstd::variant::variant
variant(BSTR bstr) noexcept
Constructs VARIANT from BSTR.
Definition: COM.h:436
+
winstd::variant::operator=
variant & operator=(unsigned long long *pnSrc) noexcept
Copy from unsigned long long reference.
Definition: COM.h:845
+
winstd::variant::variant
variant(double dblSrc, VARTYPE vtSrc=VT_R8) noexcept
Constructs VARIANT from double or variant date.
Definition: COM.h:389
+
winstd::variant::variant
variant(short nSrc) noexcept
Constructs VARIANT from short.
Definition: COM.h:323
+
winstd::variant::variant
variant(CY cySrc) noexcept
Constructs VARIANT from CY (64-bit integer)
Definition: COM.h:417
+
winstd::variant::operator=
variant & operator=(unsigned long long nSrc) noexcept
Copy from unsigned long long value.
Definition: COM.h:650
+
winstd::variant::operator=
variant & operator=(VARIANT &&varSrc) noexcept
Moves from another VARIANT.
Definition: COM.h:507
+
winstd::variant::operator=
variant & operator=(long long nSrc) noexcept
Copy from long long value.
Definition: COM.h:637
+
winstd::variant::operator=
variant & operator=(IDispatch *pSrc)
Copy from IDispatch.
Definition: COM.h:715
+
winstd::variant::operator=
variant & operator=(unsigned long *pnSrc) noexcept
Copy from unsigned long reference.
Definition: COM.h:819
+
winstd::variant::operator=
variant & operator=(const VARIANT &varSrc)
Copy from another VARIANT.
Definition: COM.h:494
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
@@ -904,7 +891,7 @@ $(function() { diff --git a/_common_8h_source.html b/_common_8h_source.html index 87393871..28803fd4 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 53858c1f..545121dd 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 c97b813e..123bf5f9 100644 --- a/_crypt_8h_source.html +++ b/_crypt_8h_source.html @@ -263,567 +263,450 @@ $(function() {
243namespace winstd
244{
247
-
251 class cert_context : public dplhandle<PCCERT_CONTEXT, NULL>
-
252 {
-
253 WINSTD_DPLHANDLE_IMPL(cert_context, NULL)
-
254
-
255 public:
-
261 virtual ~cert_context()
-
262 {
-
263 if (m_h != invalid)
-
264 free_internal();
-
265 }
-
266
-
276 __declspec(deprecated("Use CertCreateCertificateContext"))
-
277 bool create(_In_ DWORD dwCertEncodingType, _In_ LPCBYTE pbCertEncoded, _In_ DWORD cbCertEncoded) noexcept
+
253 class cert_context : public dplhandle<PCCERT_CONTEXT, NULL>
+
254 {
+
255 WINSTD_DPLHANDLE_IMPL(cert_context, NULL)
+
256
+
257 public:
+
263 virtual ~cert_context()
+
264 {
+
265 if (m_h != invalid)
+
266 free_internal();
+
267 }
+
268
+
277 bool operator==(_In_ const handle_type &other) const 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 }
+
279 // TODO: [Crypto] Make constant time.
+
280 return
+
281 m_h == other ||
+
282 m_h->cbCertEncoded == other->cbCertEncoded && memcmp(m_h->pbCertEncoded, other->pbCertEncoded, m_h->cbCertEncoded) == 0;
+
283 }
+
284
+
293 bool operator!=(_In_ const handle_type &other) const noexcept
+
294 {
+
295 return !operator==(other);
+
296 }
+
297
+
306 bool operator<(_In_ const handle_type &other) const noexcept
+
307 {
+
308 // TODO: [Crypto] Make constant time.
+
309 const int r = memcmp(m_h->pbCertEncoded, other->pbCertEncoded, std::min<DWORD>(m_h->cbCertEncoded, other->cbCertEncoded));
+
310 return r < 0 || r == 0 && m_h->cbCertEncoded < other->cbCertEncoded;
+
311 }
+
312
+
321 bool operator>(_In_ const handle_type &other) const noexcept
+
322 {
+
323 // TODO: [Crypto] Make constant time.
+
324 const int r = memcmp(m_h->pbCertEncoded, other->pbCertEncoded, std::min<DWORD>(m_h->cbCertEncoded, other->cbCertEncoded));
+
325 return r > 0 || r == 0 && m_h->cbCertEncoded > other->cbCertEncoded;
+
326 }
+
327
+
336 bool operator<=(_In_ const handle_type &other) const noexcept
+
337 {
+
338 return !operator>(other);
+
339 }
+
340
+
349 bool operator>=(_In_ const handle_type &other) const noexcept
+
350 {
+
351 return !operator<(other);
+
352 }
+
353
+
354 protected:
+
360 void free_internal() noexcept override
+
361 {
+
362 CertFreeCertificateContext(m_h);
+
363 }
+
364
+
374 handle_type duplicate_internal(_In_ handle_type h) const noexcept override
+
375 {
+
376 return CertDuplicateCertificateContext(h);
+
377 }
+
378 };
+
379
+
385 class cert_chain_context : public dplhandle<PCCERT_CHAIN_CONTEXT, NULL>
+
386 {
+
387 WINSTD_DPLHANDLE_IMPL(cert_chain_context, NULL)
+
388
+
389 public:
+
395 virtual ~cert_chain_context()
+
396 {
+
397 if (m_h != invalid)
+
398 free_internal();
+
399 }
+
400
+
401 protected:
+
407 void free_internal() noexcept override
+
408 {
+
409 CertFreeCertificateChain(m_h);
+
410 }
+
411
+
421 handle_type duplicate_internal(_In_ handle_type h) const noexcept override
+
422 {
+
423 return CertDuplicateCertificateChain(h);
+
424 }
+
425 };
+
426
+
433 class cert_store : public handle<HCERTSTORE, NULL>
+
434 {
+
435 WINSTD_HANDLE_IMPL(cert_store, NULL)
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>
+
437 public:
+
443 virtual ~cert_store()
+
444 {
+
445 if (m_h != invalid)
+
446 free_internal();
+
447 }
+
448
+
449 protected:
+
455 void free_internal() noexcept override
+
456 {
+
457 CertCloseStore(m_h, 0);
+
458 }
+
459 };
+
460
+
466 class crypt_prov : public handle<HCRYPTPROV, NULL>
467 {
-
468 WINSTD_HANDLE_IMPL(cert_store, NULL)
+
468 WINSTD_HANDLE_IMPL(crypt_prov, NULL)
469
470 public:
-
476 virtual ~cert_store()
+
476 virtual ~crypt_prov()
477 {
478 if (m_h != invalid)
-
479 free_internal();
+
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 }
+
482 protected:
+
488 void free_internal() noexcept override
+
489 {
+
490 CryptReleaseContext(m_h, 0);
+
491 }
+
492 };
+
493
+
499 class crypt_hash : public dplhandle<HCRYPTHASH, NULL>
+
500 {
+
501 WINSTD_DPLHANDLE_IMPL(crypt_hash, NULL)
+
502
+
503 public:
+
509 virtual ~crypt_hash()
+
510 {
+
511 if (m_h != invalid)
+
512 free_internal();
+
513 }
+
514
+
515 protected:
+
521 void free_internal() noexcept override
+
522 {
+
523 CryptDestroyHash(m_h);
+
524 }
+
525
+
535 handle_type duplicate_internal(_In_ handle_type h) const noexcept override
+
536 {
+
537 handle_type hNew;
+
538 return CryptDuplicateHash(h, NULL, 0, &hNew) ? hNew : invalid;
+
539 }
+
540 };
+
541
+
550 class crypt_key : public dplhandle<HCRYPTKEY, NULL>
+
551 {
+
552 WINSTD_DPLHANDLE_IMPL(crypt_key, NULL)
+
553
+
554 public:
+
560 virtual ~crypt_key()
+
561 {
+
562 if (m_h != invalid)
+
563 free_internal();
+
564 }
+
565
+
574 bool create_exp1(_In_ HCRYPTPROV hProv, _In_ DWORD dwKeySpec)
+
575 {
+
576 if (dwKeySpec != AT_KEYEXCHANGE && dwKeySpec != AT_SIGNATURE) {
+
577 SetLastError(ERROR_INVALID_PARAMETER);
+
578 return false;
+
579 }
+
580
+
581 // Generate the private key.
+
582 handle_type h;
+
583 if (CryptGenKey(hProv, dwKeySpec, CRYPT_EXPORTABLE, &h)) {
+
584 // Export the private key, we'll convert it to a private exponent of one key.
+
585 std::vector<BYTE, sanitizing_allocator<BYTE>> key_blob;
+
586 if (CryptExportKey(h, 0, PRIVATEKEYBLOB, 0, key_blob)) {
+
587 CryptDestroyKey(h);
+
588
+
589 // Get the byte length of the key.
+
590 size_t
+
591 size_key = *reinterpret_cast<DWORD*>(&key_blob[12])/8,
+
592 size_prime = size_key/2;
+
593
+
594 // Modify the Exponent in Key BLOB format
+
595 // Key BLOB format is documented in SDK
+
596
+
597 // Convert pubexp in rsapubkey to 1
+
598 LPBYTE ptr = &key_blob[16];
+
599 *reinterpret_cast<DWORD*>(ptr) = 1;
+
600 ptr += sizeof(DWORD);
+
601
+
602 // Skip modulus, prime1, prime2
+
603 ptr += size_key;
+
604 ptr += size_prime;
+
605 ptr += size_prime;
+
606
+
607 // Convert exponent1 to 1
+
608 ptr[0] = 1;
+
609 memset(ptr + 1, 0, size_prime - 1);
+
610 ptr += size_prime;
+
611
+
612 // Convert exponent2 to 1
+
613 ptr[0] = 1;
+
614 memset(ptr + 1, 0, size_prime - 1);
+
615 ptr += size_prime;
+
616
+
617 // Skip coefficient
+
618 ptr += size_prime;
+
619
+
620 // Convert privateExponent to 1
+
621 ptr[0] = 1;
+
622 memset(ptr + 1, 0, size_key - 1);
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
+
624 // Import the exponent-of-one private key.
+
625 if (CryptImportKey(hProv, key_blob.data(), static_cast<DWORD>(key_blob.size()), 0, 0, &h)) {
+
626 attach(h);
+
627 return true;
+
628 }
+
629 } else
+
630 CryptDestroyKey(h);
+
631 }
+
632
+
633 return false;
+
634 }
+
635
+
636 protected:
+
642 void free_internal() noexcept override
+
643 {
+
644 CryptDestroyKey(m_h);
+
645 }
+
646
+
656 handle_type duplicate_internal(_In_ handle_type h) const noexcept override
+
657 {
+
658 handle_type hNew;
+
659 return CryptDuplicateKey(h, NULL, 0, &hNew) ? hNew : invalid;
+
660 }
+
661 };
+
662
+
666 #pragma warning(push)
+
667 #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.
+
668 class data_blob : public DATA_BLOB
+
669 {
+
670 public:
+
674 data_blob() noexcept
+
675 {
+
676 cbData = 0;
+
677 pbData = NULL;
+
678 }
+
679
+
683 data_blob(_In_count_(size) BYTE *data, _In_ DWORD size) noexcept
+
684 {
+
685 cbData = size;
+
686 pbData = data;
+
687 }
+
688
+
692 data_blob(_In_ const DATA_BLOB &other)
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);
+
694 cbData = other.cbData;
+
695 if (cbData) {
+
696 pbData = static_cast<BYTE*>(LocalAlloc(LMEM_FIXED, other.cbData));
+
697 if (!pbData) throw win_runtime_error("LocalAlloc failed.");
+
698 memcpy(pbData, other.pbData, other.cbData);
+
699 } else
+
700 pbData = NULL;
+
701 }
+
702
+
706 data_blob(_Inout_ data_blob &&other) noexcept
+
707 {
+
708 cbData = other.cbData;
+
709 pbData = other.pbData;
+
710 other.cbData = 0;
+
711 other.pbData = NULL;
+
712 }
+
713
+
717 virtual ~data_blob()
+
718 {
+
719 if (pbData != NULL)
+
720 LocalFree(pbData);
+
721 }
+
722
+
726 data_blob& operator=(_In_ const DATA_BLOB &other)
+
727 {
+
728 if (this != &other) {
+
729 cbData = other.cbData;
+
730 if (pbData)
+
731 LocalFree(pbData);
+
732 if (cbData) {
+
733 pbData = static_cast<BYTE*>(LocalAlloc(LMEM_FIXED, other.cbData));
+
734 if (!pbData) throw win_runtime_error("LocalAlloc failed.");
+
735 memcpy(pbData, other.pbData, other.cbData);
+
736 } else
+
737 pbData = NULL;
+
738 }
+
739
+
740 return *this;
+
741 }
+
742
+
746 data_blob& operator=(_Inout_ data_blob &&other) noexcept
+
747 {
+
748 if (this != &other) {
+
749 cbData = other.cbData;
+
750 if (pbData)
+
751 LocalFree(pbData);
+
752 pbData = other.pbData;
+
753 other.cbData = 0;
+
754 other.pbData = NULL;
+
755 }
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 pubexp in rsapubkey to 1
-
766 LPBYTE ptr = &key_blob[16];
-
767 *reinterpret_cast<DWORD*>(ptr) = 1;
-
768 ptr += sizeof(DWORD);
-
769
-
770 // Skip modulus, prime1, prime2
-
771 ptr += size_key;
-
772 ptr += size_prime;
-
773 ptr += size_prime;
-
774
-
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);
+
757 return *this;
+
758 }
+
759
+
763 DWORD size() const noexcept
+
764 {
+
765 return cbData;
+
766 }
+
767
+
771 const BYTE* data() const noexcept
+
772 {
+
773 return pbData;
+
774 }
+
775
+
779 BYTE* data() noexcept
+
780 {
+
781 return pbData;
+
782 }
+
783 };
+
784 #pragma warning(pop)
+
785
+
787}
+
788
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
-
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: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: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
+
792#pragma warning(push)
+
793#pragma warning(disable: 4505) // Don't warn on unused code
+
794
+
800static 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)
+
801{
+
802 PCCERT_CHAIN_CONTEXT pChainContext;
+
803 BOOL bResult = CertGetCertificateChain(hChainEngine, pCertContext, pTime, hAdditionalStore, pChainPara, dwFlags, pvReserved, &pChainContext);
+
804 if (bResult)
+
805 ctx.attach(pChainContext);
+
806 return bResult;
+
807}
+
808
+
810static BOOL CryptAcquireContextA(_Inout_ winstd::crypt_prov &prov, _In_opt_ LPCSTR szContainer, _In_opt_ LPCSTR szProvider, _In_ DWORD dwProvType, _In_ DWORD dwFlags)
+
811{
+
812 HCRYPTPROV h;
+
813 BOOL bResult = CryptAcquireContextA(&h, szContainer, szProvider, dwProvType, dwFlags);
+
814 if (bResult)
+
815 prov.attach(h);
+
816 return bResult;
+
817}
+
818
+
824static BOOL CryptAcquireContextW(_Inout_ winstd::crypt_prov &prov, _In_opt_ LPCWSTR szContainer, _In_opt_ LPCWSTR szProvider, _In_ DWORD dwProvType, _In_ DWORD dwFlags)
+
825{
+
826 HCRYPTPROV h;
+
827 BOOL bResult = CryptAcquireContextW(&h, szContainer, szProvider, dwProvType, dwFlags);
+
828 if (bResult)
+
829 prov.attach(h);
+
830 return bResult;
+
831}
+
832
+
838static BOOL CryptCreateHash(_In_ HCRYPTPROV hProv, _In_ ALG_ID Algid, _In_ HCRYPTKEY hKey, _In_ DWORD dwFlags, _Inout_ winstd::crypt_hash &hash)
+
839{
+
840 HCRYPTHASH h;
+
841 BOOL bResult = CryptCreateHash(hProv, Algid, hKey, dwFlags, &h);
+
842 if (bResult)
+
843 hash.attach(h);
+
844 return bResult;
+
845}
+
846
+
852static BOOL CryptGenKey(_In_ HCRYPTPROV hProv, _In_ ALG_ID Algid, _In_ DWORD dwFlags, _Inout_ winstd::crypt_key &key)
+
853{
+
854 HCRYPTKEY h;
+
855 BOOL bResult = CryptGenKey(hProv, Algid, dwFlags, &h);
+
856 if (bResult)
+
857 key.attach(h);
+
858 return bResult;
+
859}
+
860
+
866static bool CryptImportKey(_In_ HCRYPTPROV hProv, __in_bcount(dwDataLen) LPCBYTE pbData, _In_ DWORD dwDataLen, _In_ HCRYPTKEY hPubKey, _In_ DWORD dwFlags, _Inout_ winstd::crypt_key &key)
+
867{
+
868 HCRYPTKEY h;
+
869 BOOL bResult = CryptImportKey(hProv, pbData, dwDataLen, hPubKey, dwFlags, &h);
+
870 if (bResult)
+
871 key.attach(h);
+
872 return bResult;
+
873}
+
874
+
880static bool CryptImportPublicKeyInfo(_In_ HCRYPTPROV hCryptProv, _In_ DWORD dwCertEncodingType, _In_ PCERT_PUBLIC_KEY_INFO pInfo, _Inout_ winstd::crypt_key &key)
+
881{
+
882 HCRYPTKEY h;
+
883 BOOL bResult = CryptImportPublicKeyInfo(hCryptProv, dwCertEncodingType, pInfo, &h);
+
884 if (bResult)
+
885 key.attach(h);
+
886 return bResult;
+
887}
+
888
+
894static bool CryptDeriveKey(_In_ HCRYPTPROV hProv, _In_ ALG_ID Algid, _In_ HCRYPTHASH hBaseData, _In_ DWORD dwFlags, _Inout_ winstd::crypt_key &key)
+
895{
+
896 HCRYPTKEY h;
+
897 BOOL bResult = CryptDeriveKey(hProv, Algid, hBaseData, dwFlags, &h);
+
898 if (bResult)
+
899 key.attach(h);
+
900 return bResult;
+
901}
+
902
+
903#pragma warning(pop)
+
904
+
winstd::cert_chain_context
PCCERT_CHAIN_CONTEXT wrapper class.
Definition: Crypt.h:386
+
winstd::cert_chain_context::duplicate_internal
handle_type duplicate_internal(handle_type h) const noexcept override
Duplicates the certificate chain context.
Definition: Crypt.h:421
+
winstd::cert_chain_context::~cert_chain_context
virtual ~cert_chain_context()
Destroys the certificate chain context.
Definition: Crypt.h:395
+
winstd::cert_chain_context::free_internal
void free_internal() noexcept override
Destroys the certificate chain context.
Definition: Crypt.h:407
+
winstd::cert_context
PCCERT_CONTEXT wrapper class.
Definition: Crypt.h:254
+
winstd::cert_context::operator<=
bool operator<=(const handle_type &other) const noexcept
Is certificate less than or equal?
Definition: Crypt.h:336
+
winstd::cert_context::free_internal
void free_internal() noexcept override
Destroys the certificate context.
Definition: Crypt.h:360
+
winstd::cert_context::operator==
bool operator==(const handle_type &other) const noexcept
Is certificate equal to?
Definition: Crypt.h:277
+
winstd::cert_context::duplicate_internal
handle_type duplicate_internal(handle_type h) const noexcept override
Duplicates the certificate context.
Definition: Crypt.h:374
+
winstd::cert_context::operator>=
bool operator>=(const handle_type &other) const noexcept
Is certificate greater than or equal?
Definition: Crypt.h:349
+
winstd::cert_context::operator>
bool operator>(const handle_type &other) const noexcept
Is certificate greater than?
Definition: Crypt.h:321
+
winstd::cert_context::operator<
bool operator<(const handle_type &other) const noexcept
Is certificate less than?
Definition: Crypt.h:306
+
winstd::cert_context::operator!=
bool operator!=(const handle_type &other) const noexcept
Is certificate not equal to?
Definition: Crypt.h:293
+
winstd::cert_context::~cert_context
virtual ~cert_context()
Destroys the certificate context.
Definition: Crypt.h:263
+
winstd::cert_store
HCERTSTORE wrapper class.
Definition: Crypt.h:434
+
winstd::cert_store::~cert_store
virtual ~cert_store()
Closes the certificate store.
Definition: Crypt.h:443
+
winstd::cert_store::free_internal
void free_internal() noexcept override
Closes the certificate store.
Definition: Crypt.h:455
+
winstd::crypt_hash
HCRYPTHASH wrapper class.
Definition: Crypt.h:500
+
winstd::crypt_hash::free_internal
void free_internal() noexcept override
Destroys the hash context.
Definition: Crypt.h:521
+
winstd::crypt_hash::~crypt_hash
virtual ~crypt_hash()
Destroys the hash context.
Definition: Crypt.h:509
+
winstd::crypt_hash::duplicate_internal
handle_type duplicate_internal(handle_type h) const noexcept override
Duplicates the hash context.
Definition: Crypt.h:535
+
winstd::crypt_key
HCRYPTKEY wrapper class.
Definition: Crypt.h:551
+
winstd::crypt_key::~crypt_key
virtual ~crypt_key()
Destroys the key.
Definition: Crypt.h:560
+
winstd::crypt_key::create_exp1
bool create_exp1(HCRYPTPROV hProv, DWORD dwKeySpec)
Creates Exponent-of-one key.
Definition: Crypt.h:574
+
winstd::crypt_key::duplicate_internal
handle_type duplicate_internal(handle_type h) const noexcept override
Duplicates the key.
Definition: Crypt.h:656
+
winstd::crypt_key::free_internal
void free_internal() noexcept override
Destroys the key.
Definition: Crypt.h:642
+
winstd::crypt_prov
HCRYPTPROV wrapper class.
Definition: Crypt.h:467
+
winstd::crypt_prov::~crypt_prov
virtual ~crypt_prov()
Releases the cryptographic context.
Definition: Crypt.h:476
+
winstd::crypt_prov::free_internal
void free_internal() noexcept override
Releases the cryptographic context.
Definition: Crypt.h:488
+
winstd::data_blob
DATA_BLOB wrapper class.
Definition: Crypt.h:669
+
winstd::data_blob::data_blob
data_blob(const DATA_BLOB &other)
Duplicate an existing BLOB.
Definition: Crypt.h:692
+
winstd::data_blob::~data_blob
virtual ~data_blob()
Destroys the BLOB.
Definition: Crypt.h:717
+
winstd::data_blob::data
BYTE * data() noexcept
Get BLOB buffer.
Definition: Crypt.h:779
+
winstd::data_blob::data
const BYTE * data() const noexcept
Get BLOB buffer.
Definition: Crypt.h:771
+
winstd::data_blob::data_blob
data_blob() noexcept
Initializes an empty BLOB.
Definition: Crypt.h:674
+
winstd::data_blob::data_blob
data_blob(data_blob &&other) noexcept
Move an existing BLOB.
Definition: Crypt.h:706
+
winstd::data_blob::operator=
data_blob & operator=(data_blob &&other) noexcept
Move an existing BLOB.
Definition: Crypt.h:746
+
winstd::data_blob::data_blob
data_blob(BYTE *data, DWORD size) noexcept
Initializes a BLOB from existing data.
Definition: Crypt.h:683
+
winstd::data_blob::size
DWORD size() const noexcept
Get BLOB size.
Definition: Crypt.h:763
+
winstd::data_blob::operator=
data_blob & operator=(const DATA_BLOB &other)
Copy an existing BLOB.
Definition: Crypt.h:726
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
+
winstd::handle< HCRYPTKEY, INVAL >::attach
void attach(handle_type h) noexcept
Sets a new object handle for the class.
Definition: Common.h:817
winstd::win_runtime_error
Windows runtime error.
Definition: Common.h:1047
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_DPLHANDLE_IMPL
#define WINSTD_DPLHANDLE_IMPL(C, INVAL)
Implements default constructors and operators to prevent their auto-generation by compiler.
Definition: Common.h:173
@@ -832,7 +715,7 @@ $(function() { diff --git a/_e_a_p_8h_source.html b/_e_a_p_8h_source.html index 590de316..8f99dd8b 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 0b146cf8..a458b4e0 100644 --- a/_e_t_w_8h_source.html +++ b/_e_t_w_8h_source.html @@ -639,261 +639,250 @@ $(function() {
898 std::unique_ptr<EVENT_TRACE_PROPERTIES> m_prop;
899 };
900
-
904 class event_trace : public handle<TRACEHANDLE, INVALID_PROCESSTRACE_HANDLE>
-
905 {
-
906 WINSTD_HANDLE_IMPL(event_trace, INVALID_PROCESSTRACE_HANDLE)
-
907
-
908 public:
-
914 virtual ~event_trace()
-
915 {
-
916 if (m_h != invalid)
-
917 free_internal();
-
918 }
-
919
-
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)
+
906 class event_trace : public handle<TRACEHANDLE, INVALID_PROCESSTRACE_HANDLE>
+
907 {
+
908 WINSTD_HANDLE_IMPL(event_trace, INVALID_PROCESSTRACE_HANDLE)
+
909
+
910 public:
+
916 virtual ~event_trace()
+
917 {
+
918 if (m_h != invalid)
+
919 free_internal();
+
920 }
+
921
+
922 protected:
+
928 void free_internal() noexcept override
+
929 {
+
930 CloseTrace(m_h);
+
931 }
+
932 };
+
933
+
937 class event_trace_enabler
+
938 {
+
939 public:
+
945 event_trace_enabler(
+
946 _In_opt_ LPCGUID SourceId,
+
947 _In_ TRACEHANDLE TraceHandle,
+
948 _In_ LPCGUID ProviderId,
+
949 _In_ UCHAR Level,
+
950 _In_opt_ ULONGLONG MatchAnyKeyword = 0,
+
951 _In_opt_ ULONGLONG MatchAllKeyword = 0,
+
952 _In_opt_ ULONG EnableProperty = 0,
+
953 _In_opt_ PEVENT_FILTER_DESCRIPTOR EnableFilterDesc = NULL) :
+
954 m_provider_id(ProviderId),
+
955 m_source_id(SourceId),
+
956 m_trace_handle(TraceHandle),
+
957 m_level(Level),
+
958 m_match_any_keyword(MatchAnyKeyword),
+
959 m_match_all_keyword(MatchAllKeyword),
+
960 m_enable_property(EnableProperty),
+
961 m_enable_filter_desc(EnableFilterDesc)
+
962 {
+
963 m_status = EnableTraceEx(
+
964 m_provider_id,
+
965 m_source_id,
+
966 m_trace_handle,
+
967 EVENT_CONTROL_CODE_ENABLE_PROVIDER,
+
968 m_level,
+
969 m_match_any_keyword,
+
970 m_match_all_keyword,
+
971 m_enable_property,
+
972 m_enable_filter_desc);
+
973 }
+
974
+
980 event_trace_enabler(
+
981 _In_ const event_session &session,
+
982 _In_ LPCGUID ProviderId,
+
983 _In_ UCHAR Level,
+
984 _In_opt_ ULONGLONG MatchAnyKeyword = 0,
+
985 _In_opt_ ULONGLONG MatchAllKeyword = 0,
+
986 _In_opt_ ULONG EnableProperty = 0,
+
987 _In_opt_ PEVENT_FILTER_DESCRIPTOR EnableFilterDesc = NULL) :
+
988 m_provider_id(ProviderId),
+
989 m_source_id(&((const EVENT_TRACE_PROPERTIES*)session)->Wnode.Guid),
+
990 m_trace_handle(session),
+
991 m_level(Level),
+
992 m_match_any_keyword(MatchAnyKeyword),
+
993 m_match_all_keyword(MatchAllKeyword),
+
994 m_enable_property(EnableProperty),
+
995 m_enable_filter_desc(EnableFilterDesc)
+
996 {
+
997 m_status = EnableTraceEx(
+
998 m_provider_id,
+
999 m_source_id,
+
1000 m_trace_handle,
+
1001 EVENT_CONTROL_CODE_ENABLE_PROVIDER,
+
1002 m_level,
+
1003 m_match_any_keyword,
+
1004 m_match_all_keyword,
+
1005 m_enable_property,
+
1006 m_enable_filter_desc);
+
1007 }
+
1008
+
1014 ULONG status() const
+
1015 {
+
1016 return m_status;
+
1017 }
+
1018
+
1024 virtual ~event_trace_enabler()
+
1025 {
+
1026 if (m_status == ERROR_SUCCESS)
+
1027 EnableTraceEx(
+
1028 m_provider_id,
+
1029 m_source_id,
+
1030 m_trace_handle,
+
1031 EVENT_CONTROL_CODE_DISABLE_PROVIDER,
+
1032 m_level,
+
1033 m_match_any_keyword,
+
1034 m_match_all_keyword,
+
1035 m_enable_property,
+
1036 m_enable_filter_desc);
+
1037 }
+
1038
+
1039 protected:
+
1040 ULONG m_status;
+
1041 LPCGUID m_provider_id;
+
1042 LPCGUID m_source_id;
+
1043 TRACEHANDLE m_trace_handle;
+
1044 UCHAR m_level;
+
1045 ULONGLONG m_match_any_keyword;
+
1046 ULONGLONG m_match_all_keyword;
+
1047 ULONG m_enable_property;
+
1048 PEVENT_FILTER_DESCRIPTOR m_enable_filter_desc;
+
1049 };
+
1050
+
1056 class event_fn_auto
+
1057 {
+
1058 public:
+
1062 event_fn_auto(_In_ event_provider &ep, _In_ const EVENT_DESCRIPTOR *event_cons, _In_ const EVENT_DESCRIPTOR *event_dest, _In_z_ LPCSTR pszFnName) :
+
1063 m_ep(ep),
+
1064 m_event_dest(event_dest)
+
1065 {
+
1066 EventDataDescCreate(&m_fn_name, pszFnName, (ULONG)(strlen(pszFnName) + 1)*sizeof(*pszFnName));
+
1067 m_ep.write(event_cons, 1, &m_fn_name);
+
1068 }
+
1069
+
1073 event_fn_auto(_In_ const event_fn_auto &other) :
+
1074 m_ep(other.m_ep),
+
1075 m_event_dest(other.m_event_dest),
+
1076 m_fn_name(other.m_fn_name)
+
1077 {
+
1078 }
+
1079
+
1083 event_fn_auto(_Inout_ event_fn_auto &&other) noexcept :
+
1084 m_ep(other.m_ep),
+
1085 m_event_dest(other.m_event_dest),
+
1086 m_fn_name(std::move(other.m_fn_name))
+
1087 {
+
1088 other.m_event_dest = NULL;
+
1089 }
+
1090
+
1094 ~event_fn_auto()
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 }
+
1096 if (m_event_dest)
+
1097 m_ep.write(m_event_dest, 1, &m_fn_name);
+
1098 }
+
1099
+
1103 event_fn_auto& operator=(_In_ const event_fn_auto &other)
+
1104 {
+
1105 if (this != &other) {
+
1106 assert(&m_ep == &other.m_ep);
+
1107 m_event_dest = other.m_event_dest;
+
1108 m_fn_name = other.m_fn_name;
+
1109 }
+
1110
+
1111 return *this;
+
1112 }
+
1113
+
1117 event_fn_auto& operator=(_Inout_ event_fn_auto &&other) noexcept
+
1118 {
+
1119 if (this != &other) {
+
1120 assert(&m_ep == &other.m_ep);
+
1121 m_event_dest = other.m_event_dest;
+
1122 m_fn_name = std::move(other.m_fn_name);
+
1123 other.m_event_dest = NULL;
+
1124 }
+
1125
+
1126 return *this;
+
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}
+
1129 protected:
+
1130 event_provider &m_ep;
+
1131 const EVENT_DESCRIPTOR *m_event_dest;
+
1132 EVENT_DATA_DESCRIPTOR m_fn_name;
+
1133 };
+
1134
+
1140 template<class T>
+
1141 class event_fn_auto_ret
+
1142 {
+
1143 public:
+
1147 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) :
+
1148 m_ep(ep),
+
1149 m_event_dest(event_dest),
+
1150 m_result(result)
+
1151 {
+
1152 EventDataDescCreate(m_desc + 0, pszFnName, (ULONG)(strlen(pszFnName) + 1)*sizeof(*pszFnName));
+
1153 m_ep.write(event_cons, 1, m_desc);
+
1154 }
+
1155
+
1159 event_fn_auto_ret(_In_ const event_fn_auto_ret<T> &other) :
+
1160 m_ep(other.m_ep),
+
1161 m_event_dest(other.m_event_dest),
+
1162 m_result(other.m_result)
+
1163 {
+
1164 m_desc[0] = other.m_desc[0];
+
1165 }
+
1166
+
1170 event_fn_auto_ret(_Inout_ event_fn_auto_ret<T> &&other) :
+
1171 m_ep(other.m_ep),
+
1172 m_event_dest(other.m_event_dest),
+
1173 m_result(other.m_result)
+
1174 {
+
1175 m_desc[0] = std::move(other.m_desc[0]);
+
1176 other.m_event_dest = NULL;
+
1177 }
+
1178
+
1182 ~event_fn_auto_ret()
+
1183 {
+
1184 if (m_event_dest) {
+
1185 EventDataDescCreate(m_desc + 1, &m_result, sizeof(T));
+
1186 m_ep.write(m_event_dest, 2, m_desc);
+
1187 }
+
1188 }
+
1189
+
1193 event_fn_auto_ret& operator=(_In_ const event_fn_auto_ret<T> &other)
+
1194 {
+
1195 if (this != &other) {
+
1196 assert(&m_ep == &other.m_ep);
+
1197 m_event_dest = other.m_event_dest;
+
1198 m_desc[0] = other.m_desc[0];
+
1199 assert(&m_result == &other.m_result);
+
1200 }
+
1201
+
1202 return *this;
+
1203 }
+
1204
+
1208 event_fn_auto_ret& operator=(_Inout_ event_fn_auto_ret<T> &&other)
+
1209 {
+
1210 if (this != &other) {
+
1211 assert(&m_ep == &other.m_ep);
+
1212 m_event_dest = other.m_event_dest;
+
1213 m_desc[0] = std::move(other.m_desc[0]);
+
1214 assert(&m_result == &other.m_result);
+
1215 other.m_event_dest = NULL;
+
1216 }
+
1217
+
1218 return *this;
+
1219 }
+
1220
+
1221 protected:
+
1222 event_provider &m_ep;
+
1223 const EVENT_DESCRIPTOR *m_event_dest;
+
1224 EVENT_DATA_DESCRIPTOR m_desc[2];
+
1225 T &m_result;
+
1226 };
+
1227
+
1229}
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
@@ -907,27 +896,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: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_fn_auto_ret
Helper template to write an event on entry/exit of scope with one parameter (typically result).
Definition: ETW.h:1142
+
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:1159
+
winstd::event_fn_auto_ret::~event_fn_auto_ret
~event_fn_auto_ret()
Writes the event_dest event.
Definition: ETW.h:1182
+
winstd::event_fn_auto_ret::m_desc
EVENT_DATA_DESCRIPTOR m_desc[2]
Function name and return value.
Definition: ETW.h:1224
+
winstd::event_fn_auto_ret::m_ep
event_provider & m_ep
Reference to event provider in use.
Definition: ETW.h:1222
+
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:1147
+
winstd::event_fn_auto_ret::m_result
T & m_result
Function result.
Definition: ETW.h:1225
+
winstd::event_fn_auto_ret::operator=
event_fn_auto_ret & operator=(const event_fn_auto_ret< T > &other)
Copies the object.
Definition: ETW.h:1193
+
winstd::event_fn_auto_ret::m_event_dest
const EVENT_DESCRIPTOR * m_event_dest
Event descriptor at destruction.
Definition: ETW.h:1223
+
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:1170
+
winstd::event_fn_auto_ret::operator=
event_fn_auto_ret & operator=(event_fn_auto_ret< T > &&other)
Moves the object.
Definition: ETW.h:1208
+
winstd::event_fn_auto
Helper class to write an event on entry/exit of scope.
Definition: ETW.h:1057
+
winstd::event_fn_auto::m_event_dest
const EVENT_DESCRIPTOR * m_event_dest
Event descriptor at destruction.
Definition: ETW.h:1131
+
winstd::event_fn_auto::event_fn_auto
event_fn_auto(event_fn_auto &&other) noexcept
Moves the object.
Definition: ETW.h:1083
+
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:1062
+
winstd::event_fn_auto::~event_fn_auto
~event_fn_auto()
Writes the event_dest event.
Definition: ETW.h:1094
+
winstd::event_fn_auto::operator=
event_fn_auto & operator=(event_fn_auto &&other) noexcept
Moves the object.
Definition: ETW.h:1117
+
winstd::event_fn_auto::operator=
event_fn_auto & operator=(const event_fn_auto &other)
Copies the object.
Definition: ETW.h:1103
+
winstd::event_fn_auto::m_ep
event_provider & m_ep
Reference to event provider in use.
Definition: ETW.h:1130
+
winstd::event_fn_auto::m_fn_name
EVENT_DATA_DESCRIPTOR m_fn_name
Function name.
Definition: ETW.h:1132
+
winstd::event_fn_auto::event_fn_auto
event_fn_auto(const event_fn_auto &other)
Copies the object.
Definition: ETW.h:1073
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
@@ -965,24 +954,23 @@ $(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: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::__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:946
+
winstd::event_trace_enabler
Helper class to enable event provider in constructor and disables it in destructor.
Definition: ETW.h:938
+
winstd::event_trace_enabler::m_level
UCHAR m_level
Logging level.
Definition: ETW.h:1044
+
winstd::event_trace_enabler::m_enable_filter_desc
PEVENT_FILTER_DESCRIPTOR m_enable_filter_desc
Event filter descriptor.
Definition: ETW.h:1048
+
winstd::event_trace_enabler::m_match_any_keyword
ULONGLONG m_match_any_keyword
Keyword match mask (any)
Definition: ETW.h:1045
+
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:945
+
winstd::event_trace_enabler::m_status
ULONG m_status
Result of EnableTraceEx call.
Definition: ETW.h:1040
+
winstd::event_trace_enabler::m_trace_handle
TRACEHANDLE m_trace_handle
Trace handle.
Definition: ETW.h:1043
+
winstd::event_trace_enabler::~event_trace_enabler
virtual ~event_trace_enabler()
Disables event trace.
Definition: ETW.h:1024
+
winstd::event_trace_enabler::status
ULONG status() const
Return result of EnableTraceEx() call.
Definition: ETW.h:1014
+
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:980
+
winstd::event_trace_enabler::m_match_all_keyword
ULONGLONG m_match_all_keyword
Keyword match mask (all)
Definition: ETW.h:1046
+
winstd::event_trace_enabler::m_provider_id
LPCGUID m_provider_id
Provider ID.
Definition: ETW.h:1041
+
winstd::event_trace_enabler::m_source_id
LPCGUID m_source_id
Session ID.
Definition: ETW.h:1042
+
winstd::event_trace_enabler::m_enable_property
ULONG m_enable_property
Enable property.
Definition: ETW.h:1047
+
winstd::event_trace
ETW trace.
Definition: ETW.h:907
+
winstd::event_trace::~event_trace
virtual ~event_trace()
Closes the trace.
Definition: ETW.h:916
+
winstd::event_trace::free_internal
void free_internal() noexcept override
Closes the trace.
Definition: ETW.h:928
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
@@ -995,7 +983,7 @@ $(function() { diff --git a/_g_d_i_8h_source.html b/_g_d_i_8h_source.html index 965eda37..c895e671 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 762a6c91..36fca7f1 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 ed09dfee..27a3d476 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 6ace1ccb..69bba41a 100644 --- a/_setup_a_p_i_8h_source.html +++ b/_setup_a_p_i_8h_source.html @@ -84,106 +84,69 @@ $(function() {
12namespace winstd
13{
19
-
23 class setup_device_info_list : public handle<HDEVINFO, INVALID_HANDLE_VALUE>
-
24 {
-
25 WINSTD_HANDLE_IMPL(setup_device_info_list, INVALID_HANDLE_VALUE)
-
26
-
27 public:
-
33 virtual ~setup_device_info_list()
-
34 {
-
35 if (m_h != invalid)
-
36 free_internal();
-
37 }
-
38
-
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 }
+
26 class setup_device_info_list : public handle<HDEVINFO, INVALID_HANDLE_VALUE>
+
27 {
+
28 WINSTD_HANDLE_IMPL(setup_device_info_list, INVALID_HANDLE_VALUE)
+
29
+
30 public:
+
36 virtual ~setup_device_info_list()
+
37 {
+
38 if (m_h != invalid)
+
39 free_internal();
+
40 }
+
41
+
42 protected:
+
48 void free_internal() noexcept override
+
49 {
+
50 SetupDiDestroyDeviceInfoList(m_h);
+
51 }
+
52 };
+
53
+
57 class setup_driver_info_list_builder
+
58 {
+
59 WINSTD_NONCOPYABLE(setup_driver_info_list_builder)
+
60 WINSTD_NONMOVABLE(setup_driver_info_list_builder)
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;
+
62 public:
+
68 setup_driver_info_list_builder(
+
69 _In_ HDEVINFO DeviceInfoSet,
+
70 _Inout_opt_ PSP_DEVINFO_DATA DeviceInfoData,
+
71 _In_ DWORD DriverType) noexcept :
+
72 m_DeviceInfoSet (DeviceInfoSet),
+
73 m_DeviceInfoData(DeviceInfoData),
+
74 m_DriverType (DriverType)
+
75 {
+
76 m_result = SetupDiBuildDriverInfoList(m_DeviceInfoSet, m_DeviceInfoData, m_DriverType);
+
77 }
+
78
+
84 virtual ~setup_driver_info_list_builder()
+
85 {
+
86 if (m_result)
+
87 SetupDiDestroyDriverInfoList(m_DeviceInfoSet, m_DeviceInfoData, m_DriverType);
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}
+
95 BOOL status() const noexcept
+
96 {
+
97 return m_result;
+
98 }
+
99
+
100 protected:
+
102 HDEVINFO m_DeviceInfoSet;
+
103 PSP_DEVINFO_DATA m_DeviceInfoData;
+
104 DWORD m_DriverType;
+
105 BOOL m_result;
+
107 };
+
108
+
110}
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::~setup_device_info_list
virtual ~setup_device_info_list()
Frees the device information set.
Definition: SetupAPI.h:33
-
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::setup_device_info_list
HDEVINFO wrapper class.
Definition: SetupAPI.h:27
+
winstd::setup_device_info_list::~setup_device_info_list
virtual ~setup_device_info_list()
Frees the device information set.
Definition: SetupAPI.h:36
+
winstd::setup_device_info_list::free_internal
void free_internal() noexcept override
Frees the device information set.
Definition: SetupAPI.h:48
+
winstd::setup_driver_info_list_builder
Builds a list of drivers in constructor and deletes it in destructor.
Definition: SetupAPI.h:58
+
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:68
+
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:84
+
winstd::setup_driver_info_list_builder::status
BOOL status() const noexcept
Return result of SetupDiBuildDriverInfoList() call.
Definition: SetupAPI.h:95
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
@@ -191,7 +154,7 @@ $(function() { diff --git a/_shell_8h_source.html b/_shell_8h_source.html index 9271de16..2a3b9d18 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 42d96303..fb7456ae 100644 --- a/_w_l_a_n_8h_source.html +++ b/_w_l_a_n_8h_source.html @@ -152,63 +152,46 @@ $(function() {
121 }
122 };
123
-
127 class wlan_handle : public handle<HANDLE, NULL>
-
128 {
-
129 WINSTD_HANDLE_IMPL(wlan_handle, NULL)
-
130
-
131 public:
-
137 virtual ~wlan_handle()
-
138 {
-
139 if (m_h != invalid)
-
140 free_internal();
-
141 }
-
142
-
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
+
129 class wlan_handle : public handle<HANDLE, NULL>
+
130 {
+
131 WINSTD_HANDLE_IMPL(wlan_handle, NULL)
+
132
+
133 public:
+
139 virtual ~wlan_handle()
+
140 {
+
141 if (m_h != invalid)
+
142 free_internal();
+
143 }
+
144
+
145 protected:
+
151 void free_internal() noexcept override
+
152 {
+
153 WlanCloseHandle(m_h, NULL);
+
154 }
+
155 };
+
156
+
158}
+
159
+
162
+
168#pragma warning(suppress: 4505) // Don't warn on unused code
+
169static DWORD WlanOpenHandle(
+
170 _In_ DWORD dwClientVersion,
+
171 _Reserved_ PVOID pReserved,
+
172 _Out_ PDWORD pdwNegotiatedVersion,
+
173 _Inout_ winstd::wlan_handle &handle)
+
174{
+
175 HANDLE h;
+
176 DWORD dwResult = WlanOpenHandle(dwClientVersion, pReserved, pdwNegotiatedVersion, &h);
+
177 if (dwResult == ERROR_SUCCESS)
+
178 handle.attach(h);
+
179 return dwResult;
+
180}
+
181
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: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::wlan_handle
WLAN handle wrapper.
Definition: WLAN.h:130
+
winstd::wlan_handle::~wlan_handle
virtual ~wlan_handle()
Closes a connection to the server.
Definition: WLAN.h:139
+
winstd::wlan_handle::free_internal
void free_internal() noexcept override
Closes a connection to the server.
Definition: WLAN.h:151
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
@@ -223,7 +206,7 @@ $(function() { diff --git a/_win_8h_source.html b/_win_8h_source.html index 53165fdb..bb238fd2 100644 --- a/_win_8h_source.html +++ b/_win_8h_source.html @@ -86,1955 +86,1783 @@ $(function() {
14#pragma warning(disable: 4505) // Don't warn on unused code
15
21
-
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}
+
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;
118
-
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++;
+
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;
288
-
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;
+
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++;
308
-
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++;
+
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;
361
-
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;
+
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++;
381
-
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);
+
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 }
556
-
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}
+
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);
571
-
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);
+
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 }
583
-
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;
+
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;
597}
598
-
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}
+
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;
610
-
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}
+
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)];
638
-
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)];
+
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 }
676
-
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}
+
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)];
717
-
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}
+
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)];
748
-
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)];
+
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 }
760
-
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}
+
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)];
777
-
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)];
+
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 }
844
-
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}
+
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)];
885
-
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}
+
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)];
916
-
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)];
+
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 }
928
-
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}
+
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)];
945
-
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;
+
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());
1093}
1094
-
1100static VOID OutputDebugStrV(_In_z_ LPCSTR lpOutputString, _In_ va_list arg) noexcept
+
1100static VOID OutputDebugStrV(_In_z_ LPCWSTR lpOutputString, _In_ va_list arg) noexcept
1101{
-
1102 std::string str;
+
1102 std::wstring str;
1103 try { vsprintf(str, lpOutputString, arg); } catch (...) { return; }
-
1104 OutputDebugStringA(str.c_str());
+
1104 OutputDebugStringW(str.c_str());
1105}
1106
-
1112static VOID OutputDebugStrV(_In_z_ LPCWSTR lpOutputString, _In_ va_list arg) noexcept
+
1112static VOID OutputDebugStr(_In_z_ LPCSTR lpOutputString, ...) noexcept
1113{
-
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}
+
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;
1215
-
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)
+
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 }
1361
-
1362 public:
-
1368 virtual ~win_handle()
-
1369 {
-
1370 if (m_h != invalid)
-
1371 free_internal();
-
1372 }
+
1362 protected:
+
1368 void free_internal() noexcept override
+
1369 {
+
1370 CloseHandle(m_h);
+
1371 }
+
1372 };
1373
-
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
-
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
-
1471 typedef win_handle<NULL> thread;
-
1472
-
1478 typedef win_handle<INVALID_HANDLE_VALUE> process_snapshot;
-
1479
-
1483 class file : public win_handle<INVALID_HANDLE_VALUE>
-
1484 {
-
1485 WINSTD_WINHANDLE_IMPL(file, INVALID_HANDLE_VALUE)
-
1486
-
1487 public:
-
1497 __declspec(deprecated("Use CreateFile"))
-
1498 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
-
1499 {
-
1500 handle_type h = CreateFile(lpFileName, dwDesiredAccess, dwShareMode, lpSecurityAttributes, dwCreationDisposition, dwFlagsAndAttributes, hTemplateFile);
-
1501 if (h != invalid) {
-
1502 attach(h);
-
1503 return true;
-
1504 } else
-
1505 return false;
-
1506 }
-
1507 };
+
1379 class library : public handle<HMODULE, NULL>
+
1380 {
+
1381 WINSTD_HANDLE_IMPL(library, NULL)
+
1382
+
1383 public:
+
1389 virtual ~library()
+
1390 {
+
1391 if (m_h != invalid)
+
1392 free_internal();
+
1393 }
+
1394
+
1395 protected:
+
1401 void free_internal() noexcept override
+
1402 {
+
1403 FreeLibrary(m_h);
+
1404 }
+
1405 };
+
1406
+
1412 typedef win_handle<NULL> process;
+
1413
+
1419 typedef win_handle<NULL> thread;
+
1420
+
1426 typedef win_handle<INVALID_HANDLE_VALUE> process_snapshot;
+
1427
+
1433 typedef win_handle<INVALID_HANDLE_VALUE> file;
+
1434
+
1440 typedef win_handle<NULL> file_mapping;
+
1441
+
1445 template <class _Ty> struct UnmapViewOfFile_delete
+
1446 {
+
1447 typedef UnmapViewOfFile_delete<_Ty> _Myt;
+
1448
+
1452 UnmapViewOfFile_delete() {}
+
1453
+
1457 template <class _Ty2> UnmapViewOfFile_delete(const UnmapViewOfFile_delete<_Ty2>&) {}
+
1458
+
1462 void operator()(_Ty* _Ptr) const
+
1463 {
+
1464 if (!UnmapViewOfFile(_Ptr))
+
1465 throw win_runtime_error("UnmapViewOfFile failed");
+
1466 }
+
1467 };
+
1468
+
1472 template <class _Ty> struct UnmapViewOfFile_delete<_Ty[]>
+
1473 {
+
1474 typedef UnmapViewOfFile_delete<_Ty> _Myt;
+
1475
+
1479 UnmapViewOfFile_delete() {}
+
1480
+
1484 void operator()(_Ty* _Ptr) const
+
1485 {
+
1486 if (!UnmapViewOfFile(_Ptr))
+
1487 throw win_runtime_error("UnmapViewOfFile failed");
+
1488 }
+
1489
+
1493 template<class _Other>
+
1494 void operator()(_Other*) const
+
1495 {
+
1496 if (!UnmapViewOfFile(_Ptr))
+
1497 throw win_runtime_error("UnmapViewOfFile failed");
+
1498 }
+
1499 };
+
1500
+
1507 typedef win_handle<NULL> event;
1508
-
1512 class file_mapping : public win_handle<NULL>
+
1512 class critical_section
1513 {
-
1514 WINSTD_WINHANDLE_IMPL(file_mapping, NULL)
-
1515
-
1516 public:
-
1526 __declspec(deprecated("Use CreateFileMapping"))
-
1527 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
-
1528 {
-
1529 handle_type h = CreateFileMapping(hFile, lpFileMappingAttributes, flProtect, dwMaximumSizeHigh, dwMaximumSizeLow, lpName);
-
1530 if (h != invalid) {
-
1531 attach(h);
-
1532 return true;
-
1533 } else
-
1534 return false;
-
1535 }
-
1536 };
-
1537
-
1541 template <class _Ty> struct UnmapViewOfFile_delete
-
1542 {
-
1543 typedef UnmapViewOfFile_delete<_Ty> _Myt;
-
1544
-
1548 UnmapViewOfFile_delete() {}
-
1549
-
1553 template <class _Ty2> UnmapViewOfFile_delete(const UnmapViewOfFile_delete<_Ty2>&) {}
-
1554
-
1558 void operator()(_Ty* _Ptr) const
-
1559 {
-
1560 if (!UnmapViewOfFile(_Ptr))
-
1561 throw win_runtime_error("UnmapViewOfFile failed");
-
1562 }
-
1563 };
+
1514 WINSTD_NONCOPYABLE(critical_section)
+
1515 WINSTD_NONMOVABLE(critical_section)
+
1516
+
1517 public:
+
1523 critical_section()
+
1524 {
+
1525 __try {
+
1526 InitializeCriticalSection(&m_data);
+
1527 } __except(EXCEPTION_EXECUTE_HANDLER) {
+
1528 throw std::runtime_error("InitializeCriticalSection failed");
+
1529 }
+
1530 }
+
1531
+
1537 virtual ~critical_section()
+
1538 {
+
1539 DeleteCriticalSection(&m_data);
+
1540 }
+
1541
+
1547 operator LPCRITICAL_SECTION() noexcept
+
1548 {
+
1549 return &m_data;
+
1550 }
+
1551
+
1552 protected:
+
1553 CRITICAL_SECTION m_data;
+
1554 };
+
1555
+
1561 class find_file : public handle<HANDLE, INVALID_HANDLE_VALUE>
+
1562 {
+
1563 WINSTD_HANDLE_IMPL(find_file, INVALID_HANDLE_VALUE)
1564
-
1568 template <class _Ty> struct UnmapViewOfFile_delete<_Ty[]>
-
1569 {
-
1570 typedef UnmapViewOfFile_delete<_Ty> _Myt;
-
1571
-
1575 UnmapViewOfFile_delete() {}
+
1565 public:
+
1571 virtual ~find_file()
+
1572 {
+
1573 if (m_h != invalid)
+
1574 free_internal();
+
1575 }
1576
-
1580 void operator()(_Ty* _Ptr) const
-
1581 {
-
1582 if (!UnmapViewOfFile(_Ptr))
-
1583 throw win_runtime_error("UnmapViewOfFile failed");
-
1584 }
-
1585
-
1589 template<class _Other>
-
1590 void operator()(_Other*) const
-
1591 {
-
1592 if (!UnmapViewOfFile(_Ptr))
-
1593 throw win_runtime_error("UnmapViewOfFile failed");
-
1594 }
-
1595 };
-
1596
-
1600 class event : public win_handle<NULL>
-
1601 {
-
1602 WINSTD_WINHANDLE_IMPL(event, NULL)
-
1603
-
1604 public:
-
1614 __declspec(deprecated("Use CreateEvent"))
-
1615 bool create(_In_ BOOL bManualReset, _In_ BOOL bInitialState, _In_opt_ LPSECURITY_ATTRIBUTES lpEventAttributes = NULL, _In_opt_z_ LPCTSTR lpName = NULL) noexcept
-
1616 {
-
1617 handle_type h = CreateEvent(lpEventAttributes, bManualReset, bInitialState, lpName);
-
1618 if (h != invalid) {
-
1619 attach(h);
-
1620 return true;
-
1621 } else
-
1622 return false;
-
1623 }
-
1624
-
1634 __declspec(deprecated("Use OpenEvent"))
-
1635 bool open(_In_ DWORD dwDesiredAccess, _In_ BOOL bInheritHandle, _In_z_ LPCTSTR lpName) noexcept
-
1636 {
-
1637 handle_type h = OpenEvent(dwDesiredAccess, bInheritHandle, lpName);
-
1638 if (h != invalid) {
-
1639 attach(h);
-
1640 return true;
-
1641 } else
-
1642 return false;
-
1643 }
-
1644 };
-
1645
-
1649 class critical_section
-
1650 {
-
1651 WINSTD_NONCOPYABLE(critical_section)
-
1652 WINSTD_NONMOVABLE(critical_section)
-
1653
-
1654 public:
-
1660 critical_section()
-
1661 {
-
1662 __try {
-
1663 InitializeCriticalSection(&m_data);
-
1664 } __except(EXCEPTION_EXECUTE_HANDLER) {
-
1665 throw std::runtime_error("InitializeCriticalSection failed");
-
1666 }
-
1667 }
-
1668
-
1674 virtual ~critical_section()
-
1675 {
-
1676 DeleteCriticalSection(&m_data);
-
1677 }
-
1678
-
1684 operator LPCRITICAL_SECTION() noexcept
-
1685 {
-
1686 return &m_data;
-
1687 }
-
1688
-
1689 protected:
-
1690 CRITICAL_SECTION m_data;
-
1691 };
-
1692
-
1696 class find_file : public handle<HANDLE, INVALID_HANDLE_VALUE>
-
1697 {
-
1698 WINSTD_HANDLE_IMPL(find_file, INVALID_HANDLE_VALUE)
-
1699
-
1700 public:
-
1706 virtual ~find_file()
-
1707 {
-
1708 if (m_h != invalid)
-
1709 free_internal();
-
1710 }
-
1711
-
1721 __declspec(deprecated("Use FindFirstFile"))
-
1722 bool find(_In_ LPCTSTR lpFileName, _Out_ LPWIN32_FIND_DATA lpFindFileData) noexcept
-
1723 {
-
1724 handle_type h = FindFirstFile(lpFileName, lpFindFileData);
-
1725 if (h != invalid) {
-
1726 attach(h);
-
1727 return true;
-
1728 } else
-
1729 return false;
-
1730 }
-
1731
-
1732 protected:
-
1738 void free_internal() noexcept override
-
1739 {
-
1740 FindClose(m_h);
-
1741 }
-
1742 };
-
1743
-
1747 class heap : public handle<HANDLE, NULL>
-
1748 {
-
1749 WINSTD_HANDLE_IMPL(heap, NULL)
+
1577 protected:
+
1583 void free_internal() noexcept override
+
1584 {
+
1585 FindClose(m_h);
+
1586 }
+
1587 };
+
1588
+
1594 class heap : public handle<HANDLE, NULL>
+
1595 {
+
1596 WINSTD_HANDLE_IMPL(heap, NULL)
+
1597
+
1598 public:
+
1604 virtual ~heap()
+
1605 {
+
1606 if (m_h != invalid)
+
1607 free_internal();
+
1608 }
+
1609
+
1617 bool enumerate() noexcept
+
1618 {
+
1619 assert(m_h != invalid);
+
1620
+
1621 bool found = false;
+
1622
+
1623 // Lock the heap for exclusive access.
+
1624 HeapLock(m_h);
+
1625
+
1626 PROCESS_HEAP_ENTRY e;
+
1627 e.lpData = NULL;
+
1628 while (HeapWalk(m_h, &e) != FALSE) {
+
1629 if ((e.wFlags & PROCESS_HEAP_ENTRY_BUSY) != 0) {
+
1630 OutputDebugStr(
+
1631 _T("Allocated block%s%s\n")
+
1632 _T(" Data portion begins at: %#p\n Size: %d bytes\n")
+
1633 _T(" Overhead: %d bytes\n Region index: %d\n"),
+
1634 (e.wFlags & PROCESS_HEAP_ENTRY_MOVEABLE) != 0 ? tstring_printf(_T(", movable with HANDLE %#p"), e.Block.hMem).c_str() : _T(""),
+
1635 (e.wFlags & PROCESS_HEAP_ENTRY_DDESHARE) != 0 ? _T(", DDESHARE") : _T(""),
+
1636 e.lpData,
+
1637 e.cbData,
+
1638 e.cbOverhead,
+
1639 e.iRegionIndex);
+
1640
+
1641 found = true;
+
1642 }
+
1643 }
+
1644
+
1645 const DWORD dwResult = GetLastError();
+
1646 if (dwResult != ERROR_NO_MORE_ITEMS)
+
1647 OutputDebugStr(_T("HeapWalk failed (error %u).\n"), dwResult);
+
1648
+
1649 // Unlock the heap.
+
1650 HeapUnlock(m_h);
+
1651
+
1652 return found;
+
1653 }
+
1654
+
1655 protected:
+
1661 void free_internal() noexcept override
+
1662 {
+
1663 enumerate();
+
1664 HeapDestroy(m_h);
+
1665 }
+
1666 };
+
1667
+
1671 template <class _Ty>
+
1672 class heap_allocator
+
1673 {
+
1674 public:
+
1675 typedef typename _Ty value_type;
+
1676
+
1677 typedef _Ty *pointer;
+
1678 typedef _Ty& reference;
+
1679 typedef const _Ty *const_pointer;
+
1680 typedef const _Ty& const_reference;
+
1681
+
1682 typedef SIZE_T size_type;
+
1683 typedef ptrdiff_t difference_type;
+
1684
+
1688 template <class _Other>
+
1689 struct rebind
+
1690 {
+
1691 typedef heap_allocator<_Other> other;
+
1692 };
+
1693
+
1694 public:
+
1700 heap_allocator(_In_ HANDLE heap) : m_heap(heap)
+
1701 {
+
1702 }
+
1703
+
1709 template <class _Other>
+
1710 heap_allocator(_In_ const heap_allocator<_Other> &other) : m_heap(other.m_heap)
+
1711 {
+
1712 }
+
1713
+
1721 pointer allocate(_In_ size_type count)
+
1722 {
+
1723 assert(m_heap);
+
1724 return (pointer)HeapAlloc(m_heap, 0, count * sizeof(_Ty));
+
1725 }
+
1726
+
1733 void deallocate(_In_ pointer ptr, _In_ size_type size)
+
1734 {
+
1735 UNREFERENCED_PARAMETER(size);
+
1736 assert(m_heap);
+
1737 HeapFree(m_heap, 0, ptr);
+
1738 }
+
1739
+
1746 void construct(_Inout_ pointer ptr, _In_ const _Ty& val)
+
1747 {
+
1748 ::new ((void*)ptr) _Ty(val);
+
1749 }
1750
-
1751 public:
-
1757 virtual ~heap()
+
1757 void construct(_Inout_ pointer ptr, _Inout_ _Ty&& val)
1758 {
-
1759 if (m_h != invalid)
-
1760 free_internal();
-
1761 }
-
1762
-
1772 __declspec(deprecated("Use HeapCreate"))
-
1773 bool create(_In_ DWORD flOptions, _In_ SIZE_T dwInitialSize, _In_ SIZE_T dwMaximumSize) noexcept
-
1774 {
-
1775 handle_type h = HeapCreate(flOptions, dwInitialSize, dwMaximumSize);
-
1776 if (h != invalid) {
-
1777 attach(h);
-
1778 return true;
-
1779 } else
-
1780 return false;
-
1781 }
-
1782
-
1790 bool enumerate() noexcept
-
1791 {
-
1792 assert(m_h != invalid);
-
1793
-
1794 bool found = false;
-
1795
-
1796 // Lock the heap for exclusive access.
-
1797 HeapLock(m_h);
-
1798
-
1799 PROCESS_HEAP_ENTRY e;
-
1800 e.lpData = NULL;
-
1801 while (HeapWalk(m_h, &e) != FALSE) {
-
1802 if ((e.wFlags & PROCESS_HEAP_ENTRY_BUSY) != 0) {
-
1803 OutputDebugStr(
-
1804 _T("Allocated block%s%s\n")
-
1805 _T(" Data portion begins at: %#p\n Size: %d bytes\n")
-
1806 _T(" Overhead: %d bytes\n Region index: %d\n"),
-
1807 (e.wFlags & PROCESS_HEAP_ENTRY_MOVEABLE) != 0 ? tstring_printf(_T(", movable with HANDLE %#p"), e.Block.hMem).c_str() : _T(""),
-
1808 (e.wFlags & PROCESS_HEAP_ENTRY_DDESHARE) != 0 ? _T(", DDESHARE") : _T(""),
-
1809 e.lpData,
-
1810 e.cbData,
-
1811 e.cbOverhead,
-
1812 e.iRegionIndex);
-
1813
-
1814 found = true;
-
1815 }
-
1816 }
-
1817
-
1818 const DWORD dwResult = GetLastError();
-
1819 if (dwResult != ERROR_NO_MORE_ITEMS)
-
1820 OutputDebugStr(_T("HeapWalk failed (error %u).\n"), dwResult);
-
1821
-
1822 // Unlock the heap.
-
1823 HeapUnlock(m_h);
-
1824
-
1825 return found;
-
1826 }
-
1827
-
1828 protected:
-
1834 void free_internal() noexcept override
-
1835 {
-
1836 enumerate();
-
1837 HeapDestroy(m_h);
-
1838 }
-
1839 };
-
1840
-
1844 template <class _Ty>
-
1845 class heap_allocator
-
1846 {
-
1847 public:
-
1848 typedef typename _Ty value_type;
-
1849
-
1850 typedef _Ty *pointer;
-
1851 typedef _Ty& reference;
-
1852 typedef const _Ty *const_pointer;
-
1853 typedef const _Ty& const_reference;
-
1854
-
1855 typedef SIZE_T size_type;
-
1856 typedef ptrdiff_t difference_type;
-
1857
-
1861 template <class _Other>
-
1862 struct rebind
-
1863 {
-
1864 typedef heap_allocator<_Other> other;
-
1865 };
-
1866
-
1867 public:
-
1873 heap_allocator(_In_ HANDLE heap) : m_heap(heap)
+
1759 ::new ((void*)ptr) _Ty(std::forward<_Ty>(val));
+
1760 }
+
1761
+
1767 void destroy(_Inout_ pointer ptr)
+
1768 {
+
1769 ptr->_Ty::~_Ty();
+
1770 }
+
1771
+
1775 size_type max_size() const
+
1776 {
+
1777 return (SIZE_T)-1;
+
1778 }
+
1779
+
1780 public:
+
1781 HANDLE m_heap;
+
1782 };
+
1783
+
1787 class actctx_activator
+
1788 {
+
1789 WINSTD_NONCOPYABLE(actctx_activator)
+
1790 WINSTD_NONMOVABLE(actctx_activator)
+
1791
+
1792 public:
+
1800 actctx_activator(_In_ HANDLE hActCtx) noexcept
+
1801 {
+
1802 if (!ActivateActCtx(hActCtx, &m_cookie))
+
1803 m_cookie = 0;
+
1804 }
+
1805
+
1811 virtual ~actctx_activator()
+
1812 {
+
1813 if (m_cookie)
+
1814 DeactivateActCtx(0, m_cookie);
+
1815 }
+
1816
+
1817 protected:
+
1818 ULONG_PTR m_cookie;
+
1819 };
+
1820
+
1824 class user_impersonator
+
1825 {
+
1826 WINSTD_NONCOPYABLE(user_impersonator)
+
1827 WINSTD_NONMOVABLE(user_impersonator)
+
1828
+
1829 public:
+
1837 user_impersonator(_In_opt_ HANDLE hToken) noexcept
+
1838 {
+
1839 m_cookie = hToken && ImpersonateLoggedOnUser(hToken);
+
1840 }
+
1841
+
1847 virtual ~user_impersonator()
+
1848 {
+
1849 if (m_cookie)
+
1850 RevertToSelf();
+
1851 }
+
1852
+
1853 protected:
+
1854 BOOL m_cookie;
+
1855 };
+
1856
+
1860 class console_ctrl_handler
+
1861 {
+
1862 WINSTD_NONCOPYABLE(console_ctrl_handler)
+
1863 WINSTD_NONMOVABLE(console_ctrl_handler)
+
1864
+
1865 public:
+
1873 console_ctrl_handler(_In_opt_ PHANDLER_ROUTINE HandlerRoutine) noexcept : m_handler(HandlerRoutine)
1874 {
-
1875 }
-
1876
-
1882 template <class _Other>
-
1883 heap_allocator(_In_ const heap_allocator<_Other> &other) : m_heap(other.m_heap)
+
1875 m_cookie = SetConsoleCtrlHandler(m_handler, TRUE);
+
1876 }
+
1877
+
1883 virtual ~console_ctrl_handler()
1884 {
-
1885 }
-
1886
-
1894 pointer allocate(_In_ size_type count)
-
1895 {
-
1896 assert(m_heap);
-
1897 return (pointer)HeapAlloc(m_heap, 0, count * sizeof(_Ty));
-
1898 }
-
1899
-
1906 void deallocate(_In_ pointer ptr, _In_ size_type size)
-
1907 {
-
1908 UNREFERENCED_PARAMETER(size);
-
1909 assert(m_heap);
-
1910 HeapFree(m_heap, 0, ptr);
-
1911 }
-
1912
-
1919 void construct(_Inout_ pointer ptr, _In_ const _Ty& val)
-
1920 {
-
1921 ::new ((void*)ptr) _Ty(val);
-
1922 }
-
1923
-
1930 void construct(_Inout_ pointer ptr, _Inout_ _Ty&& val)
-
1931 {
-
1932 ::new ((void*)ptr) _Ty(std::forward<_Ty>(val));
-
1933 }
-
1934
-
1940 void destroy(_Inout_ pointer ptr)
-
1941 {
-
1942 ptr->_Ty::~_Ty();
-
1943 }
-
1944
-
1948 size_type max_size() const
-
1949 {
-
1950 return (SIZE_T)-1;
-
1951 }
-
1952
-
1953 public:
-
1954 HANDLE m_heap;
-
1955 };
+
1885 if (m_cookie)
+
1886 SetConsoleCtrlHandler(m_handler, FALSE);
+
1887 }
+
1888
+
1889 protected:
+
1890 BOOL m_cookie;
+
1891 PHANDLER_ROUTINE m_handler;
+
1892 };
+
1893
+
1897 class vmemory : public handle<LPVOID, NULL>
+
1898 {
+
1899 WINSTD_NONCOPYABLE(vmemory)
+
1900
+
1901 public:
+
1905 vmemory() noexcept : m_proc(NULL)
+
1906 {
+
1907 }
+
1908
+
1915 vmemory(_In_ handle_type h, _In_ HANDLE proc) noexcept :
+
1916 m_proc(proc),
+
1917 handle<LPVOID, NULL>(h)
+
1918 {
+
1919 }
+
1920
+
1926 vmemory(_Inout_ vmemory &&h) noexcept :
+
1927 m_proc(std::move(h.m_proc)),
+
1928 handle<LPVOID, NULL>(std::move(h))
+
1929 {
+
1930 }
+
1931
+
1937 virtual ~vmemory()
+
1938 {
+
1939 if (m_h != invalid)
+
1940 VirtualFreeEx(m_proc, m_h, 0, MEM_RELEASE);
+
1941 }
+
1942
+
1948 vmemory& operator=(_Inout_ vmemory &&other) noexcept
+
1949 {
+
1950 if (this != std::addressof(other)) {
+
1951 (handle<handle_type, NULL>&&)*this = std::move(other);
+
1952 m_proc = std::move(other.m_proc);
+
1953 }
+
1954 return *this;
+
1955 }
1956
-
1960 class actctx_activator
-
1961 {
-
1962 WINSTD_NONCOPYABLE(actctx_activator)
-
1963 WINSTD_NONMOVABLE(actctx_activator)
-
1964
-
1965 public:
-
1973 actctx_activator(_In_ HANDLE hActCtx) noexcept
-
1974 {
-
1975 if (!ActivateActCtx(hActCtx, &m_cookie))
-
1976 m_cookie = 0;
-
1977 }
-
1978
-
1984 virtual ~actctx_activator()
-
1985 {
-
1986 if (m_cookie)
-
1987 DeactivateActCtx(0, m_cookie);
-
1988 }
-
1989
-
1990 protected:
-
1991 ULONG_PTR m_cookie;
-
1992 };
-
1993
-
1997 class user_impersonator
-
1998 {
-
1999 WINSTD_NONCOPYABLE(user_impersonator)
-
2000 WINSTD_NONMOVABLE(user_impersonator)
-
2001
-
2002 public:
-
2010 user_impersonator(_In_opt_ HANDLE hToken) noexcept
-
2011 {
-
2012 m_cookie = hToken && ImpersonateLoggedOnUser(hToken);
-
2013 }
-
2014
-
2020 virtual ~user_impersonator()
-
2021 {
-
2022 if (m_cookie)
-
2023 RevertToSelf();
-
2024 }
-
2025
-
2026 protected:
-
2027 BOOL m_cookie;
-
2028 };
-
2029
-
2033 class console_ctrl_handler
-
2034 {
-
2035 WINSTD_NONCOPYABLE(console_ctrl_handler)
-
2036 WINSTD_NONMOVABLE(console_ctrl_handler)
-
2037
-
2038 public:
-
2046 console_ctrl_handler(_In_opt_ PHANDLER_ROUTINE HandlerRoutine) noexcept : m_handler(HandlerRoutine)
-
2047 {
-
2048 m_cookie = SetConsoleCtrlHandler(m_handler, TRUE);
-
2049 }
+
1965 void attach(_In_ HANDLE proc, _In_opt_ handle_type h) noexcept
+
1966 {
+
1967 m_proc = proc;
+
1968 if (m_h != invalid)
+
1969 free_internal();
+
1970 m_h = h;
+
1971 }
+
1972
+
1982 bool alloc(
+
1983 _In_ HANDLE hProcess,
+
1984 _In_opt_ LPVOID lpAddress,
+
1985 _In_ SIZE_T dwSize,
+
1986 _In_ DWORD flAllocationType,
+
1987 _In_ DWORD flProtect) noexcept
+
1988 {
+
1989 handle_type h = VirtualAllocEx(hProcess, lpAddress, dwSize, flAllocationType, flProtect);
+
1990 if (h != invalid) {
+
1991 attach(hProcess, h);
+
1992 return true;
+
1993 } else
+
1994 return false;
+
1995 }
+
1996
+
1997 protected:
+
2003 void free_internal() noexcept override
+
2004 {
+
2005 VirtualFreeEx(m_proc, m_h, 0, MEM_RELEASE);
+
2006 }
+
2007
+
2008 protected:
+
2009 HANDLE m_proc;
+
2010 };
+
2011
+
2018 class reg_key : public handle<HKEY, NULL>
+
2019 {
+
2020 WINSTD_HANDLE_IMPL(reg_key, NULL)
+
2021
+
2022 public:
+
2028 virtual ~reg_key()
+
2029 {
+
2030 if (m_h != invalid)
+
2031 free_internal();
+
2032 }
+
2033
+
2043 bool delete_subkey(_In_z_ LPCTSTR szSubkey)
+
2044 {
+
2045 LSTATUS s;
+
2046
+
2047 s = RegDeleteKey(m_h, szSubkey);
+
2048 if (s == ERROR_SUCCESS || s == ERROR_FILE_NOT_FOUND)
+
2049 return true;
2050
-
2056 virtual ~console_ctrl_handler()
-
2057 {
-
2058 if (m_cookie)
-
2059 SetConsoleCtrlHandler(m_handler, FALSE);
-
2060 }
-
2061
-
2062 protected:
-
2063 BOOL m_cookie;
-
2064 PHANDLER_ROUTINE m_handler;
-
2065 };
-
2066
-
2070 class vmemory : public handle<LPVOID, NULL>
-
2071 {
-
2072 WINSTD_NONCOPYABLE(vmemory)
-
2073
-
2074 public:
-
2078 vmemory() noexcept : m_proc(NULL)
-
2079 {
-
2080 }
-
2081
-
2088 vmemory(_In_ handle_type h, _In_ HANDLE proc) noexcept :
-
2089 m_proc(proc),
-
2090 handle<LPVOID, NULL>(h)
-
2091 {
-
2092 }
-
2093
-
2099 vmemory(_Inout_ vmemory &&h) noexcept :
-
2100 m_proc(std::move(h.m_proc)),
-
2101 handle<LPVOID, NULL>(std::move(h))
-
2102 {
-
2103 }
-
2104
-
2110 virtual ~vmemory()
+
2051 {
+
2052 reg_key k;
+
2053 handle_type h;
+
2054 s = RegOpenKeyEx(m_h, szSubkey, 0, KEY_ENUMERATE_SUB_KEYS, &h);
+
2055 if (s == ERROR_SUCCESS)
+
2056 k.attach(h);
+
2057 else {
+
2058 SetLastError(s);
+
2059 return false;
+
2060 }
+
2061 for (;;) {
+
2062 TCHAR szName[MAX_PATH];
+
2063 DWORD dwSize = _countof(szName);
+
2064 s = RegEnumKeyEx(k, 0, szName, &dwSize, NULL, NULL, NULL, NULL);
+
2065 if (s == ERROR_SUCCESS)
+
2066 k.delete_subkey(szName);
+
2067 else if (s == ERROR_NO_MORE_ITEMS)
+
2068 break;
+
2069 else {
+
2070 SetLastError(s);
+
2071 return false;
+
2072 }
+
2073 }
+
2074 }
+
2075
+
2076 s = RegDeleteKey(m_h, szSubkey);
+
2077 if (s == ERROR_SUCCESS)
+
2078 return true;
+
2079 else {
+
2080 SetLastError(s);
+
2081 return false;
+
2082 }
+
2083 }
+
2084
+
2085 protected:
+
2091 void free_internal() noexcept override
+
2092 {
+
2093 RegCloseKey(m_h);
+
2094 }
+
2095 };
+
2096
+
2100 class security_id : public handle<PSID, NULL>
+
2101 {
+
2102 WINSTD_HANDLE_IMPL(security_id, NULL)
+
2103
+
2104 public:
+
2110 virtual ~security_id()
2111 {
2112 if (m_h != invalid)
-
2113 VirtualFreeEx(m_proc, m_h, 0, MEM_RELEASE);
+
2113 free_internal();
2114 }
2115
-
2121 vmemory& operator=(_Inout_ vmemory &&other) noexcept
-
2122 {
-
2123 if (this != std::addressof(other)) {
-
2124 (handle<handle_type, NULL>&&)*this = std::move(other);
-
2125 m_proc = std::move(other.m_proc);
-
2126 }
-
2127 return *this;
-
2128 }
-
2129
-
2138 void attach(_In_ HANDLE proc, _In_opt_ handle_type h) noexcept
-
2139 {
-
2140 m_proc = proc;
-
2141 if (m_h != invalid)
-
2142 free_internal();
-
2143 m_h = h;
-
2144 }
-
2145
-
2155 bool alloc(
-
2156 _In_ HANDLE hProcess,
-
2157 _In_opt_ LPVOID lpAddress,
-
2158 _In_ SIZE_T dwSize,
-
2159 _In_ DWORD flAllocationType,
-
2160 _In_ DWORD flProtect) noexcept
-
2161 {
-
2162 handle_type h = VirtualAllocEx(hProcess, lpAddress, dwSize, flAllocationType, flProtect);
-
2163 if (h != invalid) {
-
2164 attach(hProcess, h);
-
2165 return true;
-
2166 } else
-
2167 return false;
-
2168 }
-
2169
-
2170 protected:
-
2176 void free_internal() noexcept override
-
2177 {
-
2178 VirtualFreeEx(m_proc, m_h, 0, MEM_RELEASE);
-
2179 }
-
2180
-
2181 protected:
-
2182 HANDLE m_proc;
-
2183 };
-
2184
-
2188 class reg_key : public handle<HKEY, NULL>
-
2189 {
-
2190 WINSTD_HANDLE_IMPL(reg_key, NULL)
-
2191
-
2192 public:
-
2198 virtual ~reg_key()
-
2199 {
-
2200 if (m_h != invalid)
-
2201 free_internal();
-
2202 }
-
2203
-
2213 __declspec(deprecated("Use RegCreateKeyEx - mind it returns error number rather than SetLastError"))
-
2214 bool create(
-
2215 _In_ HKEY hKey,
-
2216 _In_z_ LPCTSTR lpSubKey,
-
2217 _In_opt_ LPTSTR lpClass,
-
2218 _In_ DWORD dwOptions,
-
2219 _In_ REGSAM samDesired,
-
2220 _In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes = NULL,
-
2221 _Out_opt_ LPDWORD lpdwDisposition = NULL) noexcept
-
2222 {
-
2223 handle_type h;
-
2224 const LSTATUS s = RegCreateKeyEx(hKey, lpSubKey, 0, lpClass, dwOptions, samDesired, lpSecurityAttributes, &h, lpdwDisposition);
-
2225 if (s == ERROR_SUCCESS) {
-
2226 attach(h);
-
2227 return true;
-
2228 } else {
-
2229 SetLastError(s);
-
2230 return false;
-
2231 }
-
2232 }
-
2233
-
2243 __declspec(deprecated("Use RegOpenKeyEx - mind it returns error number rather than SetLastError"))
-
2244 bool open(
-
2245 _In_ HKEY hKey,
-
2246 _In_opt_z_ LPCTSTR lpSubKey,
-
2247 _In_ DWORD ulOptions,
-
2248 _In_ REGSAM samDesired) noexcept
-
2249 {
-
2250 handle_type h;
-
2251 const LSTATUS s = RegOpenKeyEx(hKey, lpSubKey, ulOptions, samDesired, &h);
-
2252 if (s == ERROR_SUCCESS) {
-
2253 attach(h);
-
2254 return true;
-
2255 } else {
-
2256 SetLastError(s);
-
2257 return false;
-
2258 }
-
2259 }
-
2260
-
2270 bool delete_subkey(_In_z_ LPCTSTR szSubkey)
-
2271 {
-
2272 LSTATUS s;
-
2273
-
2274 s = RegDeleteKey(m_h, szSubkey);
-
2275 if (s == ERROR_SUCCESS || s == ERROR_FILE_NOT_FOUND)
-
2276 return true;
-
2277
-
2278 {
-
2279 reg_key k;
-
2280 handle_type h;
-
2281 s = RegOpenKeyEx(m_h, szSubkey, 0, KEY_ENUMERATE_SUB_KEYS, &h);
-
2282 if (s == ERROR_SUCCESS)
-
2283 k.attach(h);
-
2284 else {
-
2285 SetLastError(s);
-
2286 return false;
-
2287 }
-
2288 for (;;) {
-
2289 TCHAR szName[MAX_PATH];
-
2290 DWORD dwSize = _countof(szName);
-
2291 s = RegEnumKeyEx(k, 0, szName, &dwSize, NULL, NULL, NULL, NULL);
-
2292 if (s == ERROR_SUCCESS)
-
2293 k.delete_subkey(szName);
-
2294 else if (s == ERROR_NO_MORE_ITEMS)
-
2295 break;
-
2296 else {
-
2297 SetLastError(s);
-
2298 return false;
-
2299 }
-
2300 }
-
2301 }
-
2302
-
2303 s = RegDeleteKey(m_h, szSubkey);
-
2304 if (s == ERROR_SUCCESS)
-
2305 return true;
-
2306 else {
-
2307 SetLastError(s);
-
2308 return false;
-
2309 }
-
2310 }
-
2311
-
2312 protected:
-
2318 void free_internal() noexcept override
-
2319 {
-
2320 RegCloseKey(m_h);
-
2321 }
-
2322 };
-
2323
-
2327 class security_id : public handle<PSID, NULL>
-
2328 {
-
2329 WINSTD_HANDLE_IMPL(security_id, NULL)
-
2330
-
2331 public:
-
2337 virtual ~security_id()
-
2338 {
-
2339 if (m_h != invalid)
-
2340 free_internal();
-
2341 }
-
2342
-
2343 protected:
-
2349 void free_internal() noexcept override
-
2350 {
-
2351 FreeSid(m_h);
-
2352 }
-
2353 };
-
2354
-
2358 class process_information : public PROCESS_INFORMATION
-
2359 {
-
2360 WINSTD_NONCOPYABLE(process_information)
-
2361 WINSTD_NONMOVABLE(process_information)
-
2362
-
2363 public:
-
2367 process_information() noexcept
-
2368 {
-
2369 hProcess = INVALID_HANDLE_VALUE;
-
2370 hThread = INVALID_HANDLE_VALUE;
-
2371 dwProcessId = 0;
-
2372 dwThreadId = 0;
-
2373 }
-
2374
-
2378 ~process_information()
-
2379 {
-
2380 #pragma warning(push)
-
2381 #pragma warning(disable: 6001) // Using uninitialized memory '*this'. << ???
-
2382
-
2383 if (hProcess != INVALID_HANDLE_VALUE)
-
2384 CloseHandle(hProcess);
-
2385
-
2386 if (hThread != INVALID_HANDLE_VALUE)
-
2387 CloseHandle(hThread);
-
2388
-
2389 #pragma warning(pop)
-
2390 }
-
2391 };
-
2392
-
2396 class event_log : public handle<HANDLE, NULL>
-
2397 {
-
2398 WINSTD_HANDLE_IMPL(event_log, NULL)
-
2399
-
2400 public:
-
2406 virtual ~event_log()
-
2407 {
-
2408 if (m_h != invalid)
-
2409 free_internal();
-
2410 }
-
2411
-
2421 __declspec(deprecated("Use RegisterEventSource"))
-
2422 bool open(_In_z_ LPCTSTR lpUNCServerName, _In_z_ LPCTSTR lpSourceName) noexcept
-
2423 {
-
2424 handle_type h = RegisterEventSource(lpUNCServerName, lpSourceName);
-
2425 if (h != invalid) {
-
2426 attach(h);
-
2427 return true;
-
2428 } else
-
2429 return false;
-
2430 }
-
2431
-
2432 protected:
-
2438 void free_internal() noexcept override
-
2439 {
-
2440 DeregisterEventSource(m_h);
-
2441 }
-
2442 };
-
2443
-
2445}
-
2446
-
2449
-
2450#pragma warning(push)
-
2451#pragma warning(disable: 4505) // Don't warn on unused code
-
2452
-
2454static LSTATUS RegCreateKeyExA(
-
2455 _In_ HKEY hKey,
-
2456 _In_ LPCSTR lpSubKey,
-
2457 _Reserved_ DWORD Reserved,
-
2458 _In_opt_ LPSTR lpClass,
-
2459 _In_ DWORD dwOptions,
-
2460 _In_ REGSAM samDesired,
-
2461 _In_opt_ CONST LPSECURITY_ATTRIBUTES lpSecurityAttributes,
-
2462 _Inout_ winstd::reg_key &result,
-
2463 _Out_opt_ LPDWORD lpdwDisposition)
-
2464{
-
2465 HKEY h;
-
2466 LSTATUS s = RegCreateKeyExA(hKey, lpSubKey, Reserved, lpClass, dwOptions, samDesired, lpSecurityAttributes, &h, lpdwDisposition);
-
2467 if (s == ERROR_SUCCESS)
-
2468 result.attach(h);
-
2469 return s;
-
2470}
-
2471
-
2477static LSTATUS RegCreateKeyExW(
-
2478 _In_ HKEY hKey,
-
2479 _In_ LPCWSTR lpSubKey,
-
2480 _Reserved_ DWORD Reserved,
-
2481 _In_opt_ LPWSTR lpClass,
-
2482 _In_ DWORD dwOptions,
-
2483 _In_ REGSAM samDesired,
-
2484 _In_opt_ CONST LPSECURITY_ATTRIBUTES lpSecurityAttributes,
-
2485 _Inout_ winstd::reg_key &result,
-
2486 _Out_opt_ LPDWORD lpdwDisposition)
-
2487{
-
2488 HKEY h;
-
2489 LSTATUS s = RegCreateKeyExW(hKey, lpSubKey, Reserved, lpClass, dwOptions, samDesired, lpSecurityAttributes, &h, lpdwDisposition);
-
2490 if (s == ERROR_SUCCESS)
-
2491 result.attach(h);
-
2492 return s;
-
2493}
-
2494
-
2496static LSTATUS RegOpenKeyExA(
-
2497 _In_ HKEY hKey,
-
2498 _In_opt_ LPCSTR lpSubKey,
-
2499 _In_opt_ DWORD ulOptions,
-
2500 _In_ REGSAM samDesired,
-
2501 _Inout_ winstd::reg_key &result)
-
2502{
-
2503 HKEY h;
-
2504 LSTATUS s = RegOpenKeyExA(hKey, lpSubKey, ulOptions, samDesired, &h);
-
2505 if (s == ERROR_SUCCESS)
-
2506 result.attach(h);
-
2507 return s;
-
2508}
-
2509
-
2519static LSTATUS RegOpenKeyExW(
-
2520 _In_ HKEY hKey,
-
2521 _In_opt_ LPCWSTR lpSubKey,
-
2522 _In_opt_ DWORD ulOptions,
-
2523 _In_ REGSAM samDesired,
-
2524 _Inout_ winstd::reg_key &result)
-
2525{
-
2526 HKEY h;
-
2527 LSTATUS s = RegOpenKeyExW(hKey, lpSubKey, ulOptions, samDesired, &h);
-
2528 if (s == ERROR_SUCCESS)
-
2529 result.attach(h);
-
2530 return s;
-
2531}
-
2532
-
2533#pragma warning(pop)
-
2534
-
winstd::actctx_activator
Activates given activation context in constructor and deactivates it in destructor.
Definition: Win.h:1961
-
winstd::actctx_activator::actctx_activator
actctx_activator(HANDLE hActCtx) noexcept
Construct the activator and activates the given activation context.
Definition: Win.h:1973
-
winstd::actctx_activator::~actctx_activator
virtual ~actctx_activator()
Deactivates activation context and destructs the activator.
Definition: Win.h:1984
-
winstd::actctx_activator::m_cookie
ULONG_PTR m_cookie
Cookie for context deactivation.
Definition: Win.h:1991
+
2116 protected:
+
2122 void free_internal() noexcept override
+
2123 {
+
2124 FreeSid(m_h);
+
2125 }
+
2126 };
+
2127
+
2131 class process_information : public PROCESS_INFORMATION
+
2132 {
+
2133 WINSTD_NONCOPYABLE(process_information)
+
2134 WINSTD_NONMOVABLE(process_information)
+
2135
+
2136 public:
+
2140 process_information() noexcept
+
2141 {
+
2142 hProcess = INVALID_HANDLE_VALUE;
+
2143 hThread = INVALID_HANDLE_VALUE;
+
2144 dwProcessId = 0;
+
2145 dwThreadId = 0;
+
2146 }
+
2147
+
2151 ~process_information()
+
2152 {
+
2153 #pragma warning(push)
+
2154 #pragma warning(disable: 6001) // Using uninitialized memory '*this'. << ???
+
2155
+
2156 if (hProcess != INVALID_HANDLE_VALUE)
+
2157 CloseHandle(hProcess);
+
2158
+
2159 if (hThread != INVALID_HANDLE_VALUE)
+
2160 CloseHandle(hThread);
+
2161
+
2162 #pragma warning(pop)
+
2163 }
+
2164 };
+
2165
+
2171 class event_log : public handle<HANDLE, NULL>
+
2172 {
+
2173 WINSTD_HANDLE_IMPL(event_log, NULL)
+
2174
+
2175 public:
+
2181 virtual ~event_log()
+
2182 {
+
2183 if (m_h != invalid)
+
2184 free_internal();
+
2185 }
+
2186
+
2187 protected:
+
2193 void free_internal() noexcept override
+
2194 {
+
2195 DeregisterEventSource(m_h);
+
2196 }
+
2197 };
+
2198
+
2200}
+
2201
+
2204
+
2205#pragma warning(push)
+
2206#pragma warning(disable: 4505) // Don't warn on unused code
+
2207
+
2209static LSTATUS RegCreateKeyExA(
+
2210 _In_ HKEY hKey,
+
2211 _In_ LPCSTR lpSubKey,
+
2212 _Reserved_ DWORD Reserved,
+
2213 _In_opt_ LPSTR lpClass,
+
2214 _In_ DWORD dwOptions,
+
2215 _In_ REGSAM samDesired,
+
2216 _In_opt_ CONST LPSECURITY_ATTRIBUTES lpSecurityAttributes,
+
2217 _Inout_ winstd::reg_key &result,
+
2218 _Out_opt_ LPDWORD lpdwDisposition)
+
2219{
+
2220 HKEY h;
+
2221 LSTATUS s = RegCreateKeyExA(hKey, lpSubKey, Reserved, lpClass, dwOptions, samDesired, lpSecurityAttributes, &h, lpdwDisposition);
+
2222 if (s == ERROR_SUCCESS)
+
2223 result.attach(h);
+
2224 return s;
+
2225}
+
2226
+
2232static LSTATUS RegCreateKeyExW(
+
2233 _In_ HKEY hKey,
+
2234 _In_ LPCWSTR lpSubKey,
+
2235 _Reserved_ DWORD Reserved,
+
2236 _In_opt_ LPWSTR lpClass,
+
2237 _In_ DWORD dwOptions,
+
2238 _In_ REGSAM samDesired,
+
2239 _In_opt_ CONST LPSECURITY_ATTRIBUTES lpSecurityAttributes,
+
2240 _Inout_ winstd::reg_key &result,
+
2241 _Out_opt_ LPDWORD lpdwDisposition)
+
2242{
+
2243 HKEY h;
+
2244 LSTATUS s = RegCreateKeyExW(hKey, lpSubKey, Reserved, lpClass, dwOptions, samDesired, lpSecurityAttributes, &h, lpdwDisposition);
+
2245 if (s == ERROR_SUCCESS)
+
2246 result.attach(h);
+
2247 return s;
+
2248}
+
2249
+
2251static LSTATUS RegOpenKeyExA(
+
2252 _In_ HKEY hKey,
+
2253 _In_opt_ LPCSTR lpSubKey,
+
2254 _In_opt_ DWORD ulOptions,
+
2255 _In_ REGSAM samDesired,
+
2256 _Inout_ winstd::reg_key &result)
+
2257{
+
2258 HKEY h;
+
2259 LSTATUS s = RegOpenKeyExA(hKey, lpSubKey, ulOptions, samDesired, &h);
+
2260 if (s == ERROR_SUCCESS)
+
2261 result.attach(h);
+
2262 return s;
+
2263}
+
2264
+
2274static LSTATUS RegOpenKeyExW(
+
2275 _In_ HKEY hKey,
+
2276 _In_opt_ LPCWSTR lpSubKey,
+
2277 _In_opt_ DWORD ulOptions,
+
2278 _In_ REGSAM samDesired,
+
2279 _Inout_ winstd::reg_key &result)
+
2280{
+
2281 HKEY h;
+
2282 LSTATUS s = RegOpenKeyExW(hKey, lpSubKey, ulOptions, samDesired, &h);
+
2283 if (s == ERROR_SUCCESS)
+
2284 result.attach(h);
+
2285 return s;
+
2286}
+
2287
+
2288#pragma warning(pop)
+
2289
+
winstd::actctx_activator
Activates given activation context in constructor and deactivates it in destructor.
Definition: Win.h:1788
+
winstd::actctx_activator::actctx_activator
actctx_activator(HANDLE hActCtx) noexcept
Construct the activator and activates the given activation context.
Definition: Win.h:1800
+
winstd::actctx_activator::~actctx_activator
virtual ~actctx_activator()
Deactivates activation context and destructs the activator.
Definition: Win.h:1811
+
winstd::actctx_activator::m_cookie
ULONG_PTR m_cookie
Cookie for context deactivation.
Definition: Win.h:1818
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:2034
-
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:2046
-
winstd::console_ctrl_handler::~console_ctrl_handler
virtual ~console_ctrl_handler()
Pops console control handler from the console control handler stack.
Definition: Win.h:2056
-
winstd::console_ctrl_handler::m_handler
PHANDLER_ROUTINE m_handler
Pointer to console control handler.
Definition: Win.h:2064
-
winstd::console_ctrl_handler::m_cookie
BOOL m_cookie
Did pushing the console control handler succeed?
Definition: Win.h:2063
-
winstd::critical_section
Critical section wrapper.
Definition: Win.h:1650
-
winstd::critical_section::m_data
CRITICAL_SECTION m_data
Critical section struct.
Definition: Win.h:1690
-
winstd::critical_section::~critical_section
virtual ~critical_section()
Releases all resources used by an unowned critical section object.
Definition: Win.h:1674
-
winstd::critical_section::critical_section
critical_section()
Construct the object and initializes a critical section object.
Definition: Win.h:1660
-
winstd::event_log
Event log handle wrapper.
Definition: Win.h:2397
-
winstd::event_log::free_internal
void free_internal() noexcept override
Closes an event log handle.
Definition: Win.h:2438
-
winstd::event_log::~event_log
virtual ~event_log()
Closes an event log handle.
Definition: Win.h:2406
-
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:1601
-
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:1513
-
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:1484
-
winstd::file::__declspec
__declspec(deprecated("Use CreateFile")) bool create(LPCTSTR lpFileName
Opens file handle.
-
winstd::find_file
Find-file handle wrapper.
Definition: Win.h:1697
-
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:1706
-
winstd::find_file::free_internal
void free_internal() noexcept override
Closes a file search handle.
Definition: Win.h:1738
+
winstd::console_ctrl_handler
Console control handler stack management.
Definition: Win.h:1861
+
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:1873
+
winstd::console_ctrl_handler::~console_ctrl_handler
virtual ~console_ctrl_handler()
Pops console control handler from the console control handler stack.
Definition: Win.h:1883
+
winstd::console_ctrl_handler::m_handler
PHANDLER_ROUTINE m_handler
Pointer to console control handler.
Definition: Win.h:1891
+
winstd::console_ctrl_handler::m_cookie
BOOL m_cookie
Did pushing the console control handler succeed?
Definition: Win.h:1890
+
winstd::critical_section
Critical section wrapper.
Definition: Win.h:1513
+
winstd::critical_section::m_data
CRITICAL_SECTION m_data
Critical section struct.
Definition: Win.h:1553
+
winstd::critical_section::~critical_section
virtual ~critical_section()
Releases all resources used by an unowned critical section object.
Definition: Win.h:1537
+
winstd::critical_section::critical_section
critical_section()
Construct the object and initializes a critical section object.
Definition: Win.h:1523
+
winstd::event_log
Event log handle wrapper.
Definition: Win.h:2172
+
winstd::event_log::free_internal
void free_internal() noexcept override
Closes an event log handle.
Definition: Win.h:2193
+
winstd::event_log::~event_log
virtual ~event_log()
Closes an event log handle.
Definition: Win.h:2181
+
winstd::find_file
Find-file handle wrapper.
Definition: Win.h:1562
+
winstd::find_file::~find_file
virtual ~find_file()
Closes a file search handle.
Definition: Win.h:1571
+
winstd::find_file::free_internal
void free_internal() noexcept override
Closes a file search handle.
Definition: Win.h:1583
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< LPVOID, NULL >::handle_type
LPVOID 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:1846
-
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:1855
-
winstd::heap_allocator::value_type
_Ty value_type
A type that is managed by the allocator.
Definition: Win.h:1848
-
winstd::heap_allocator::heap_allocator
heap_allocator(const heap_allocator< _Other > &other)
Constructs allocator from another type.
Definition: Win.h:1883
-
winstd::heap_allocator::m_heap
HANDLE m_heap
Heap handle.
Definition: Win.h:1954
-
winstd::heap_allocator::allocate
pointer allocate(size_type count)
Allocates a new memory block.
Definition: Win.h:1894
-
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:1856
-
winstd::heap_allocator::heap_allocator
heap_allocator(HANDLE heap)
Constructs allocator.
Definition: Win.h:1873
-
winstd::heap_allocator::reference
_Ty & reference
A type that provides a reference to the type of object managed by the allocator.
Definition: Win.h:1851
-
winstd::heap_allocator::construct
void construct(pointer ptr, _Ty &&val)
Calls moving constructor for the element.
Definition: Win.h:1930
-
winstd::heap_allocator::deallocate
void deallocate(pointer ptr, size_type size)
Frees memory block.
Definition: Win.h:1906
-
winstd::heap_allocator::max_size
size_type max_size() const
Returns maximum memory block size.
Definition: Win.h:1948
-
winstd::heap_allocator::construct
void construct(pointer ptr, const _Ty &val)
Calls copying constructor for the element.
Definition: Win.h:1919
-
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:1853
-
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:1852
-
winstd::heap_allocator::pointer
_Ty * pointer
A type that provides a pointer to the type of object managed by the allocator.
Definition: Win.h:1850
-
winstd::heap_allocator::destroy
void destroy(pointer ptr)
Calls destructor for the element.
Definition: Win.h:1940
-
winstd::heap
Heap handle wrapper.
Definition: Win.h:1748
-
winstd::heap::enumerate
bool enumerate() noexcept
Enumerates allocated heap blocks using OutputDebugString()
Definition: Win.h:1790
-
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:1834
-
winstd::heap::~heap
virtual ~heap()
Destroys the heap.
Definition: Win.h:1757
-
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:2359
-
winstd::process_information::~process_information
~process_information()
Closes process and thread handles.
Definition: Win.h:2378
-
winstd::process_information::process_information
process_information() noexcept
Constructs blank PROCESS_INFORMATION.
Definition: Win.h:2367
-
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:2189
-
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:2198
-
winstd::security_id
SID wrapper class.
Definition: Win.h:2328
-
winstd::security_id::free_internal
void free_internal() noexcept override
Closes a handle to the SID.
Definition: Win.h:2349
-
winstd::security_id::~security_id
virtual ~security_id()
Closes a handle to the SID.
Definition: Win.h:2337
-
winstd::user_impersonator
Lets the calling thread impersonate the security context of a logged-on user.
Definition: Win.h:1998
-
winstd::user_impersonator::m_cookie
BOOL m_cookie
Did impersonation succeed?
Definition: Win.h:2027
-
winstd::user_impersonator::user_impersonator
user_impersonator(HANDLE hToken) noexcept
Construct the impersonator and impersonates the given user.
Definition: Win.h:2010
-
winstd::user_impersonator::~user_impersonator
virtual ~user_impersonator()
Reverts to current user and destructs the impersonator.
Definition: Win.h:2020
-
winstd::vmemory
Memory in virtual address space of a process handle wrapper.
Definition: Win.h:2071
-
winstd::vmemory::operator=
vmemory & operator=(vmemory &&other) noexcept
Move assignment.
Definition: Win.h:2121
-
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:2155
-
winstd::vmemory::free_internal
void free_internal() noexcept override
Frees the memory.
Definition: Win.h:2176
-
winstd::vmemory::attach
void attach(HANDLE proc, handle_type h) noexcept
Sets a new memory handle for the class.
Definition: Win.h:2138
-
winstd::vmemory::~vmemory
virtual ~vmemory()
Frees the memory.
Definition: Win.h:2110
-
winstd::vmemory::vmemory
vmemory(handle_type h, HANDLE proc) noexcept
Initializes a new class instance with an already available object handle.
Definition: Win.h:2088
-
winstd::vmemory::vmemory
vmemory() noexcept
Initializes a new class instance with the memory handle set to INVAL.
Definition: Win.h:2078
-
winstd::vmemory::vmemory
vmemory(vmemory &&h) noexcept
Move constructor.
Definition: Win.h:2099
-
winstd::vmemory::m_proc
HANDLE m_proc
Handle of memory's process.
Definition: Win.h:2182
-
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::handle::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:1673
+
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:1682
+
winstd::heap_allocator::value_type
_Ty value_type
A type that is managed by the allocator.
Definition: Win.h:1675
+
winstd::heap_allocator::heap_allocator
heap_allocator(const heap_allocator< _Other > &other)
Constructs allocator from another type.
Definition: Win.h:1710
+
winstd::heap_allocator::m_heap
HANDLE m_heap
Heap handle.
Definition: Win.h:1781
+
winstd::heap_allocator::allocate
pointer allocate(size_type count)
Allocates a new memory block.
Definition: Win.h:1721
+
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:1683
+
winstd::heap_allocator::heap_allocator
heap_allocator(HANDLE heap)
Constructs allocator.
Definition: Win.h:1700
+
winstd::heap_allocator::reference
_Ty & reference
A type that provides a reference to the type of object managed by the allocator.
Definition: Win.h:1678
+
winstd::heap_allocator::construct
void construct(pointer ptr, _Ty &&val)
Calls moving constructor for the element.
Definition: Win.h:1757
+
winstd::heap_allocator::deallocate
void deallocate(pointer ptr, size_type size)
Frees memory block.
Definition: Win.h:1733
+
winstd::heap_allocator::max_size
size_type max_size() const
Returns maximum memory block size.
Definition: Win.h:1775
+
winstd::heap_allocator::construct
void construct(pointer ptr, const _Ty &val)
Calls copying constructor for the element.
Definition: Win.h:1746
+
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:1680
+
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:1679
+
winstd::heap_allocator::pointer
_Ty * pointer
A type that provides a pointer to the type of object managed by the allocator.
Definition: Win.h:1677
+
winstd::heap_allocator::destroy
void destroy(pointer ptr)
Calls destructor for the element.
Definition: Win.h:1767
+
winstd::heap
Heap handle wrapper.
Definition: Win.h:1595
+
winstd::heap::enumerate
bool enumerate() noexcept
Enumerates allocated heap blocks using OutputDebugString()
Definition: Win.h:1617
+
winstd::heap::free_internal
void free_internal() noexcept override
Destroys the heap.
Definition: Win.h:1661
+
winstd::heap::~heap
virtual ~heap()
Destroys the heap.
Definition: Win.h:1604
+
winstd::library
Module handle wrapper.
Definition: Win.h:1380
+
winstd::library::free_internal
void free_internal() noexcept override
Frees the module.
Definition: Win.h:1401
+
winstd::library::~library
virtual ~library()
Frees the module.
Definition: Win.h:1389
+
winstd::process_information
PROCESS_INFORMATION struct wrapper.
Definition: Win.h:2132
+
winstd::process_information::~process_information
~process_information()
Closes process and thread handles.
Definition: Win.h:2151
+
winstd::process_information::process_information
process_information() noexcept
Constructs blank PROCESS_INFORMATION.
Definition: Win.h:2140
+
winstd::reg_key
Registry key wrapper class.
Definition: Win.h:2019
+
winstd::reg_key::free_internal
void free_internal() noexcept override
Closes a handle to the registry key.
Definition: Win.h:2091
+
winstd::reg_key::delete_subkey
bool delete_subkey(LPCTSTR szSubkey)
Deletes the specified registry subkey.
Definition: Win.h:2043
+
winstd::reg_key::~reg_key
virtual ~reg_key()
Closes a handle to the registry key.
Definition: Win.h:2028
+
winstd::security_id
SID wrapper class.
Definition: Win.h:2101
+
winstd::security_id::free_internal
void free_internal() noexcept override
Closes a handle to the SID.
Definition: Win.h:2122
+
winstd::security_id::~security_id
virtual ~security_id()
Closes a handle to the SID.
Definition: Win.h:2110
+
winstd::user_impersonator
Lets the calling thread impersonate the security context of a logged-on user.
Definition: Win.h:1825
+
winstd::user_impersonator::m_cookie
BOOL m_cookie
Did impersonation succeed?
Definition: Win.h:1854
+
winstd::user_impersonator::user_impersonator
user_impersonator(HANDLE hToken) noexcept
Construct the impersonator and impersonates the given user.
Definition: Win.h:1837
+
winstd::user_impersonator::~user_impersonator
virtual ~user_impersonator()
Reverts to current user and destructs the impersonator.
Definition: Win.h:1847
+
winstd::vmemory
Memory in virtual address space of a process handle wrapper.
Definition: Win.h:1898
+
winstd::vmemory::operator=
vmemory & operator=(vmemory &&other) noexcept
Move assignment.
Definition: Win.h:1948
+
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:1982
+
winstd::vmemory::free_internal
void free_internal() noexcept override
Frees the memory.
Definition: Win.h:2003
+
winstd::vmemory::attach
void attach(HANDLE proc, handle_type h) noexcept
Sets a new memory handle for the class.
Definition: Win.h:1965
+
winstd::vmemory::~vmemory
virtual ~vmemory()
Frees the memory.
Definition: Win.h:1937
+
winstd::vmemory::vmemory
vmemory(handle_type h, HANDLE proc) noexcept
Initializes a new class instance with an already available object handle.
Definition: Win.h:1915
+
winstd::vmemory::vmemory
vmemory() noexcept
Initializes a new class instance with the memory handle set to INVAL.
Definition: Win.h:1905
+
winstd::vmemory::vmemory
vmemory(vmemory &&h) noexcept
Move constructor.
Definition: Win.h:1926
+
winstd::vmemory::m_proc
HANDLE m_proc
Handle of memory's process.
Definition: Win.h:2009
+
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::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::process_snapshot
win_handle< INVALID_HANDLE_VALUE > process_snapshot
Process snapshot handle wrapper.
Definition: Win.h:1478
-
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::thread
win_handle< NULL > thread
Thread handle wrapper.
Definition: Win.h:1471
-
winstd::UnmapViewOfFile_delete< _Ty[]>::UnmapViewOfFile_delete
UnmapViewOfFile_delete()
Default construct.
Definition: Win.h:1575
-
winstd::UnmapViewOfFile_delete< _Ty[]>::operator()
void operator()(_Other *) const
Delete a pointer of another type.
Definition: Win.h:1590
-
winstd::UnmapViewOfFile_delete< _Ty[]>::operator()
void operator()(_Ty *_Ptr) const
Delete a pointer.
Definition: Win.h:1580
-
winstd::UnmapViewOfFile_delete< _Ty[]>::_Myt
UnmapViewOfFile_delete< _Ty > _Myt
This type.
Definition: Win.h:1570
-
winstd::UnmapViewOfFile_delete
Deleter for unique_ptr using UnmapViewOfFile.
Definition: Win.h:1542
-
winstd::UnmapViewOfFile_delete::UnmapViewOfFile_delete
UnmapViewOfFile_delete(const UnmapViewOfFile_delete< _Ty2 > &)
Construct from another UnmapViewOfFile_delete.
Definition: Win.h:1553
-
winstd::UnmapViewOfFile_delete::operator()
void operator()(_Ty *_Ptr) const
Delete a pointer.
Definition: Win.h:1558
-
winstd::UnmapViewOfFile_delete::_Myt
UnmapViewOfFile_delete< _Ty > _Myt
This type.
Definition: Win.h:1543
-
winstd::UnmapViewOfFile_delete::UnmapViewOfFile_delete
UnmapViewOfFile_delete()
Default construct.
Definition: Win.h:1548
-
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:1863
-
winstd::heap_allocator::rebind::other
heap_allocator< _Other > other
Other allocator type.
Definition: Win.h:1864
+
winstd::file
win_handle< INVALID_HANDLE_VALUE > file
File handle wrapper.
Definition: Win.h:1433
+
winstd::process_snapshot
win_handle< INVALID_HANDLE_VALUE > process_snapshot
Process snapshot handle wrapper.
Definition: Win.h:1426
+
winstd::event
win_handle< NULL > event
Event handle wrapper.
Definition: Win.h:1507
+
winstd::file_mapping
win_handle< NULL > file_mapping
File mapping.
Definition: Win.h:1440
+
winstd::process
win_handle< NULL > process
Process handle wrapper.
Definition: Win.h:1412
+
winstd::thread
win_handle< NULL > thread
Thread handle wrapper.
Definition: Win.h:1419
+
winstd::UnmapViewOfFile_delete< _Ty[]>::UnmapViewOfFile_delete
UnmapViewOfFile_delete()
Default construct.
Definition: Win.h:1479
+
winstd::UnmapViewOfFile_delete< _Ty[]>::operator()
void operator()(_Other *) const
Delete a pointer of another type.
Definition: Win.h:1494
+
winstd::UnmapViewOfFile_delete< _Ty[]>::operator()
void operator()(_Ty *_Ptr) const
Delete a pointer.
Definition: Win.h:1484
+
winstd::UnmapViewOfFile_delete< _Ty[]>::_Myt
UnmapViewOfFile_delete< _Ty > _Myt
This type.
Definition: Win.h:1474
+
winstd::UnmapViewOfFile_delete
Deleter for unique_ptr using UnmapViewOfFile.
Definition: Win.h:1446
+
winstd::UnmapViewOfFile_delete::UnmapViewOfFile_delete
UnmapViewOfFile_delete(const UnmapViewOfFile_delete< _Ty2 > &)
Construct from another UnmapViewOfFile_delete.
Definition: Win.h:1457
+
winstd::UnmapViewOfFile_delete::operator()
void operator()(_Ty *_Ptr) const
Delete a pointer.
Definition: Win.h:1462
+
winstd::UnmapViewOfFile_delete::_Myt
UnmapViewOfFile_delete< _Ty > _Myt
This type.
Definition: Win.h:1447
+
winstd::UnmapViewOfFile_delete::UnmapViewOfFile_delete
UnmapViewOfFile_delete()
Default construct.
Definition: Win.h:1452
+
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:1690
+
winstd::heap_allocator::rebind::other
heap_allocator< _Other > other
Other allocator type.
Definition: Win.h:1691
diff --git a/_win_sock2_8h_source.html b/_win_sock2_8h_source.html index 5881bdea..506a6af1 100644 --- a/_win_sock2_8h_source.html +++ b/_win_sock2_8h_source.html @@ -121,141 +121,109 @@ $(function() {
87
88#if (NTDDI_VERSION >= NTDDI_WINXPSP2) || (_WIN32_WINNT >= 0x0502)
89
-
93 class addrinfo : public handle<PADDRINFOA, NULL>
-
94 {
-
95 WINSTD_HANDLE_IMPL(addrinfo, NULL)
-
96
-
97 public:
-
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 }
+
95 class addrinfo : public handle<PADDRINFOA, NULL>
+
96 {
+
97 WINSTD_HANDLE_IMPL(addrinfo, NULL)
+
98
+
99 public:
+
105 virtual ~addrinfo()
+
106 {
+
107 if (m_h != invalid)
+
108 free_internal();
+
109 }
+
110
+
111 protected:
+
117 void free_internal() noexcept override
+
118 {
+
119 FreeAddrInfoA(m_h);
+
120 }
+
121 };
+
122
+
128 class waddrinfo : public handle<PADDRINFOW, NULL>
+
129 {
+
130 WINSTD_HANDLE_IMPL(waddrinfo, NULL)
+
131
+
132 public:
+
138 virtual ~waddrinfo()
+
139 {
+
140 if (m_h != invalid)
+
141 free_internal();
+
142 }
+
143
+
144 protected:
+
150 void free_internal() noexcept override
+
151 {
+
152 FreeAddrInfoW(m_h);
+
153 }
+
154 };
+
155
+
159#ifdef _UNICODE
+
160 typedef waddrinfo taddrinfo;
+
161#else
+
162 typedef addrinfo taddrinfo;
+
163#endif
+
164
+
165#endif
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 };
+
168}
+
169
+
172
+
173#pragma warning(push)
+
174#pragma warning(disable: 4505) // Don't warn on unused code
+
175
+
177static INT GetAddrInfoA(
+
178 _In_opt_ PCSTR pNodeName,
+
179 _In_opt_ PCSTR pServiceName,
+
180 _In_opt_ const ADDRINFOA *pHints,
+
181 _Inout_ winstd::addrinfo &result)
+
182{
+
183 PADDRINFOA h;
+
184 INT iResult = GetAddrInfoA(pNodeName, pServiceName, pHints, &h);
+
185 if (iResult == 0)
+
186 result.attach(h);
+
187 return iResult;
+
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
+
195static INT GetAddrInfoW(
+
196 _In_opt_ PCWSTR pNodeName,
+
197 _In_opt_ PCWSTR pServiceName,
+
198 _In_opt_ const ADDRINFOW *pHints,
+
199 _Inout_ winstd::waddrinfo &result)
+
200{
+
201 PADDRINFOW h;
+
202 INT iResult = GetAddrInfoW(pNodeName, pServiceName, pHints, &h);
+
203 if (iResult == 0)
+
204 result.attach(h);
+
205 return iResult;
+
206}
+
207
+
208#pragma warning(pop)
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: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::addrinfo
SID wrapper class.
Definition: WinSock2.h:96
+
winstd::addrinfo::free_internal
void free_internal() noexcept override
Frees address information.
Definition: WinSock2.h:117
+
winstd::addrinfo::~addrinfo
virtual ~addrinfo()
Frees address information.
Definition: WinSock2.h:105
winstd::handle
Base abstract template class to support generic object handle keeping.
Definition: Common.h:603
-
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::waddrinfo
SID wrapper class.
Definition: WinSock2.h:129
+
winstd::waddrinfo::~waddrinfo
virtual ~waddrinfo()
Frees address information.
Definition: WinSock2.h:138
+
winstd::waddrinfo::free_internal
void free_internal() noexcept override
Frees address information.
Definition: WinSock2.h:150
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::taddrinfo
addrinfo taddrinfo
Multi-byte / Wide-character SID wrapper class (according to _UNICODE)
Definition: WinSock2.h:162
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< 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 7911cf3b..225ab6a6 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 cd5b7974..0ad09a59 100644 --- a/annotated.html +++ b/annotated.html @@ -102,65 +102,61 @@ $(function() {  CEapHostPeerFreeErrorMemory_deleteDeleter for unique_ptr to EAP_ERROR using EapHostPeerFreeErrorMemory  CEapHostPeerFreeMemory_deleteDeleter for unique_ptr using EapHostPeerFreeMemory  CEapHostPeerFreeRuntimeMemory_deleteDeleter for unique_ptr using EapHostPeerFreeRuntimeMemory - CeventEvent handle wrapper - Cevent_dataEVENT_DATA_DESCRIPTOR wrapper - Cevent_fn_autoHelper class to write an event on entry/exit of scope - Cevent_fn_auto_retHelper template to write an event on entry/exit of scope with one parameter (typically result) - Cevent_logEvent log handle wrapper - Cevent_providerETW event provider - Cevent_recEVENT_RECORD wrapper - Cevent_sessionETW session - Cevent_traceETW trace - Cevent_trace_enablerHelper class to enable event provider in constructor and disables it in destructor - CfileFile handle wrapper - Cfile_mappingFile mapping - Cfind_fileFind-file handle wrapper - Cgdi_handleWindows HGDIOBJ wrapper class - ChandleBase abstract template class to support generic object handle keeping - CheapHeap handle wrapper - Cheap_allocatorHeapAlloc allocator - CrebindA structure that enables an allocator for objects of one type to allocate storage for objects of another type - ClibraryModule handle wrapper - CLocalFree_deleteDeleter for unique_ptr using LocalFree - CLocalFree_delete< _Ty[]>Deleter for unique_ptr to array of unknown size using LocalFree - Cnum_runtime_errorNumerical runtime error - CprocessProcess handle wrapper - Cprocess_informationPROCESS_INFORMATION struct wrapper - Cref_unique_ptrHelper class for returning pointers to std::unique_ptr - Cref_unique_ptr< _Ty[], _Dx >Helper class for returning pointers to std::unique_ptr (specialization for arrays) - Creg_keyRegistry wrapper class - Csanitizing_allocatorAn allocator template that sanitizes each memory block before it is destroyed or reallocated - CrebindConvert this type to sanitizing_allocator<_Other> - Csanitizing_blobSanitizing BLOB - Csec_buffer_descSecBufferDesc wrapper class - Csec_contextPCtxtHandle wrapper class - Csec_credentialsPCredHandle wrapper class - Csec_runtime_errorSecurity runtime error - Csecurity_idSID wrapper class - Csetup_device_info_listHDEVINFO wrapper class - Csetup_driver_info_list_builderBuilds a list of drivers in constructor and deletes it in destructor - Cstring_guidSingle-byte character implementation of a class to support converting GUID to string - CUnmapViewOfFile_deleteDeleter for unique_ptr using UnmapViewOfFile - CUnmapViewOfFile_delete< _Ty[]>Deleter for unique_ptr to array of unknown size using UnmapViewOfFile - Cuser_impersonatorLets the calling thread impersonate the security context of a logged-on user - CvariantVARIANT struct wrapper - CvmemoryMemory in virtual address space of a process handle wrapper - 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 + Cevent_dataEVENT_DATA_DESCRIPTOR wrapper + Cevent_fn_autoHelper class to write an event on entry/exit of scope + Cevent_fn_auto_retHelper template to write an event on entry/exit of scope with one parameter (typically result) + Cevent_logEvent log handle wrapper + Cevent_providerETW event provider + Cevent_recEVENT_RECORD wrapper + Cevent_sessionETW session + Cevent_traceETW trace + Cevent_trace_enablerHelper class to enable event provider in constructor and disables it in destructor + Cfind_fileFind-file handle wrapper + Cgdi_handleWindows HGDIOBJ wrapper class + ChandleBase abstract template class to support generic object handle keeping + CheapHeap handle wrapper + Cheap_allocatorHeapAlloc allocator + CrebindA structure that enables an allocator for objects of one type to allocate storage for objects of another type + ClibraryModule handle wrapper + CLocalFree_deleteDeleter for unique_ptr using LocalFree + CLocalFree_delete< _Ty[]>Deleter for unique_ptr to array of unknown size using LocalFree + Cnum_runtime_errorNumerical runtime error + Cprocess_informationPROCESS_INFORMATION struct wrapper + Cref_unique_ptrHelper class for returning pointers to std::unique_ptr + Cref_unique_ptr< _Ty[], _Dx >Helper class for returning pointers to std::unique_ptr (specialization for arrays) + Creg_keyRegistry key wrapper class + Csanitizing_allocatorAn allocator template that sanitizes each memory block before it is destroyed or reallocated + CrebindConvert this type to sanitizing_allocator<_Other> + Csanitizing_blobSanitizing BLOB + Csec_buffer_descSecBufferDesc wrapper class + Csec_contextPCtxtHandle wrapper class + Csec_credentialsPCredHandle wrapper class + Csec_runtime_errorSecurity runtime error + Csecurity_idSID wrapper class + Csetup_device_info_listHDEVINFO wrapper class + Csetup_driver_info_list_builderBuilds a list of drivers in constructor and deletes it in destructor + Cstring_guidSingle-byte character implementation of a class to support converting GUID to string + CUnmapViewOfFile_deleteDeleter for unique_ptr using UnmapViewOfFile + CUnmapViewOfFile_delete< _Ty[]>Deleter for unique_ptr to array of unknown size using UnmapViewOfFile + Cuser_impersonatorLets the calling thread impersonate the security context of a logged-on user + CvariantVARIANT struct wrapper + CvmemoryMemory in virtual address space of a process handle wrapper + 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 311571a5..e3c9984a 100644 --- a/classes.html +++ b/classes.html @@ -82,10 +82,10 @@ $(function() {
data_blob (winstd)
dc (winstd)
dc_selector (winstd)
dplhandle (winstd)
E
-
eap_attr (winstd)
eap_method_info_array (winstd)
eap_method_prop (winstd)
eap_packet (winstd)
eap_runtime_error (winstd)
EapHostPeerFreeEapError_delete (winstd)
EapHostPeerFreeErrorMemory_delete (winstd)
EapHostPeerFreeMemory_delete (winstd)
EapHostPeerFreeRuntimeMemory_delete (winstd)
event (winstd)
event_data (winstd)
event_fn_auto (winstd)
event_fn_auto_ret (winstd)
event_log (winstd)
event_provider (winstd)
event_rec (winstd)
event_session (winstd)
event_trace (winstd)
event_trace_enabler (winstd)
+
eap_attr (winstd)
eap_method_info_array (winstd)
eap_method_prop (winstd)
eap_packet (winstd)
eap_runtime_error (winstd)
EapHostPeerFreeEapError_delete (winstd)
EapHostPeerFreeErrorMemory_delete (winstd)
EapHostPeerFreeMemory_delete (winstd)
EapHostPeerFreeRuntimeMemory_delete (winstd)
event_data (winstd)
event_fn_auto (winstd)
event_fn_auto_ret (winstd)
event_log (winstd)
event_provider (winstd)
event_rec (winstd)
event_session (winstd)
event_trace (winstd)
event_trace_enabler (winstd)
F
-
file (winstd)
file_mapping (winstd)
find_file (winstd)
+
find_file (winstd)
G
gdi_handle (winstd)
@@ -100,7 +100,7 @@ $(function() {
num_runtime_error (winstd)
P
-
process (winstd)
process_information (winstd)
+
process_information (winstd)
R
heap_allocator::rebind (winstd)
sanitizing_allocator::rebind (winstd)
ref_unique_ptr (winstd)
ref_unique_ptr< _Ty[], _Dx > (winstd)
reg_key (winstd)
@@ -120,7 +120,7 @@ $(function() { diff --git a/classwinstd_1_1actctx__activator-members.html b/classwinstd_1_1actctx__activator-members.html index 1d367a71..e7a358d9 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 2c2b5e93..de6c5bb4 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 60c9d1de..268dea8a 100644 --- a/classwinstd_1_1addrinfo-members.html +++ b/classwinstd_1_1addrinfo-members.html @@ -73,39 +73,34 @@ $(function() {

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

- - - - + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + +
__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
attach(handle_type h) noexceptwinstd::handle< PADDRINFOA, NULL >inline
detach()winstd::handle< PADDRINFOA, NULL >inline
free()winstd::handle< PADDRINFOA, NULL >inline
free_internal() noexcept overridewinstd::addrinfoinlineprotectedvirtual
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
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
~addrinfo()winstd::addrinfoinlinevirtual
diff --git a/classwinstd_1_1addrinfo.html b/classwinstd_1_1addrinfo.html index 91aa1cb6..15a12551 100644 --- a/classwinstd_1_1addrinfo.html +++ b/classwinstd_1_1addrinfo.html @@ -69,7 +69,6 @@ $(function() {
Public Member Functions | -Public Attributes | Protected Member Functions | List of all members
winstd::addrinfo Class Reference
@@ -92,12 +91,6 @@ Inheritance diagram for winstd::addrinfo:
- - - - - @@ -162,17 +155,6 @@ void 

Public Member Functions

 __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...
 
free ()
 Destroys the object.
 
- - - - - - - -

-Public Attributes

-PCSTR pServiceName
 
PCSTR const ADDRINFOA * pHints
 
-else return false
 
@@ -202,6 +184,7 @@ static const PADDRINFOA 

Protected Member Functions

void free_internal () noexcept override
in

Detailed Description

SID wrapper class.

+
See also
GetAddrInfoA function

Constructor & Destructor Documentation

◆ ~addrinfo()

@@ -227,32 +210,11 @@ static const PADDRINFOA in

Frees address information.

-
See also
FreeAddrInfoW function
+
See also
FreeAddrInfoA function

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()

@@ -277,28 +239,10 @@ static const PADDRINFOA in

Frees address information.

-
See also
FreeAddrInfoW function
+
See also
FreeAddrInfoA function

Implements winstd::handle< PADDRINFOA, NULL >.

-
- -

Member Data Documentation

- -

◆ pHints

- -
-
- - - - -
PCSTR const ADDRINFOA* winstd::addrinfo::pHints
-
-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: - - -

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:
    @@ -638,7 +577,7 @@ static const PCCERT_CONTEXT < diff --git a/classwinstd_1_1cert__store-members.html b/classwinstd_1_1cert__store-members.html index 97e8866c..83c1c451 100644 --- a/classwinstd_1_1cert__store-members.html +++ b/classwinstd_1_1cert__store-members.html @@ -73,26 +73,16 @@ $(function() {

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

    - - - - - - - - - - - - - - + + + + + + - - @@ -110,7 +100,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
    detach()winstd::handle< HCERTSTORE, NULL >inline
    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
    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 >
    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 63fb78d4..dc67e580 100644 --- a/classwinstd_1_1cert__store.html +++ b/classwinstd_1_1cert__store.html @@ -69,7 +69,6 @@ $(function() {
    winstd::cert_store Class Reference
    @@ -95,18 +94,6 @@ Public Member Functions virtual ~cert_store ()  Closes the certificate store. 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 @@ -168,25 +155,6 @@ void 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
     
    @@ -216,6 +184,9 @@ static const HCERTSTORE 

    Protected Member Functions

    void free_internal () noexcept override
    in

    Detailed Description

    HCERTSTORE wrapper class.

    +
    See also
    CertOpenStore function
    +
    +CertOpenSystemStore function

    Constructor & Destructor Documentation

    ◆ ~cert_store()

    @@ -246,58 +217,6 @@ static const HCERTSTORE in

    Member Function Documentation

    - -

    ◆ __declspec() [1/2]

    - -
    -
    - - - - - - - - -
    winstd::cert_store::__declspec (deprecated("Use CertOpenStore") )
    -
    - -

    Opens the certificate store.

    -
    Returns
      -
    • true when creation succeeds;
    • -
    • false when creation fails. For extended error information, call GetLastError().
    • -
    -
    -
    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
    - -
    -

    ◆ free_internal()

    @@ -326,40 +245,6 @@ 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:
      @@ -368,7 +253,7 @@ static const HCERTSTORE in diff --git a/classwinstd_1_1com__initializer-members.html b/classwinstd_1_1com__initializer-members.html index 42d2f7ba..3fa693d1 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 c96464a0..d7feb220 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 93e3e1cb..2bf848db 100644 --- a/classwinstd_1_1com__obj-members.html +++ b/classwinstd_1_1com__obj-members.html @@ -73,44 +73,47 @@ $(function() {

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

      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      __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 >
      attach(handle_type h) noexceptwinstd::handle< T *, INVAL >inline
      attach_duplicated(handle_type h)winstd::dplhandle< T *, NULL >inline
      com_obj(_Other *other)winstd::com_obj< T >inline
      com_obj(com_obj< _Other > &other)winstd::com_obj< T >inline
      detach()winstd::handle< T *, INVAL >inline
      dplhandle() noexceptwinstd::dplhandle< T *, NULL >inline
      dplhandle(handle_type h) noexceptwinstd::dplhandle< T *, NULL >inline
      dplhandle(const dplhandle< handle_type, INVAL > &h) noexceptwinstd::dplhandle< T *, NULL >inline
      dplhandle(dplhandle< handle_type, INVAL > &&h) noexceptwinstd::dplhandle< T *, NULL >inline
      duplicate() constwinstd::dplhandle< T *, NULL >inline
      duplicate_internal(handle_type h) const noexcept overridewinstd::com_obj< T >inlineprotectedvirtual
      free()winstd::handle< T *, INVAL >inline
      free_internal() noexcept overridewinstd::com_obj< T >inlineprotectedvirtual
      handle() noexceptwinstd::handle< T *, INVAL >inline
      handle(handle_type h) noexceptwinstd::handle< T *, INVAL >inline
      handle(handle< handle_type, INVAL > &&h) noexceptwinstd::handle< T *, INVAL >inline
      handle_type typedefwinstd::handle< T *, INVAL >
      invalidwinstd::handle< T *, INVAL >static
      m_hwinstd::handle< T *, INVAL >protected
      operator handle_type() constwinstd::handle< T *, INVAL >inline
      operator!() constwinstd::handle< T *, INVAL >inline
      operator!=(handle_type h) constwinstd::handle< T *, INVAL >inline
      operator&()winstd::handle< T *, INVAL >inline
      operator*() constwinstd::handle< T *, INVAL >inline
      operator->() constwinstd::handle< T *, INVAL >inline
      operator<(handle_type h) constwinstd::handle< T *, INVAL >inline
      operator<=(handle_type h) constwinstd::handle< T *, INVAL >inline
      operator=(handle_type h) noexceptwinstd::dplhandle< T *, NULL >inline
      operator=(const dplhandle< handle_type, INVAL > &h) noexceptwinstd::dplhandle< T *, NULL >inline
      operator=(dplhandle< handle_type, INVAL > &&h) noexceptwinstd::dplhandle< T *, NULL >inline
      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
      diff --git a/classwinstd_1_1com__obj.html b/classwinstd_1_1com__obj.html index 28b587ac..4c6b2131 100644 --- a/classwinstd_1_1com__obj.html +++ b/classwinstd_1_1com__obj.html @@ -69,7 +69,7 @@ $(function() { @@ -92,9 +92,26 @@ Inheritance diagram for winstd::com_obj< T >: - - - + + + + + + + + + + + + + + + + + + + @@ -185,11 +202,20 @@ void 

      Public Member Functions

       __declspec (deprecated("Use CoCreateInstance")) com_obj(REFCLSID rclsid
       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.
       
      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...
       
      - Public Member Functions inherited from winstd::dplhandle< T *, NULL >
       dplhandle () noexcept
      free ()
       Destroys the object.
       
      - - - + + + + + + + + + + + + +

      -Public Attributes

      -LPUNKNOWN pUnkOuter = NULL
       

      +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...
       
      @@ -203,15 +229,6 @@ typedef T *  - - - - - - - - @@ -221,27 +238,210 @@ virtual void 

      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
      free_internal

      Detailed Description

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

      COM object wrapper template.

      -

      Member Function Documentation

      - -

      ◆ __declspec()

      +
      See also
      CoCreateInstance function
      +

      Constructor & Destructor Documentation

      + +

      ◆ com_obj() [1/2]

      template<class T >
      +
      +template<class _Other >
      + + + + + +
      - + + + + + + +
      winstd::com_obj< T >::__declspec 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() [2/2]

      + +
      +
      +
      +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

      + +

      ◆ 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 (deprecated("Use CoCreateInstance")  )
      +
      +inlineoverrideprotectedvirtualnoexcept
      -

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

      -
      See also
      CoCreateInstance function
      +

      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
      @@ -251,7 +451,7 @@ template<class T > diff --git a/classwinstd_1_1com__runtime__error-members.html b/classwinstd_1_1com__runtime__error-members.html index dcb98cfc..a3904456 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 d115192c..34845824 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 4c1bdce4..5cfdb2e1 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 6ff992e9..e4b03438 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 979058b4..0513bac7 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 010c72ce..777bbd65 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 3c0b3a89..ea840e20 100644 --- a/classwinstd_1_1crypt__hash-members.html +++ b/classwinstd_1_1crypt__hash-members.html @@ -73,8 +73,6 @@ $(function() {

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

      - - @@ -83,36 +81,35 @@ $(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
      detach()winstd::handle< HCRYPTHASH, INVAL >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
      duplicate_internal(handle_type h) const noexcept overridewinstd::crypt_hashinlineprotectedvirtual
      free()winstd::handle< HCRYPTHASH, INVAL >inline
      free_internal() noexcept=0winstd::handle< HCRYPTHASH, INVAL >protectedpure virtual
      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 >
      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
      operator!() constwinstd::handle< HCRYPTHASH, INVAL >inline
      operator!=(handle_type h) constwinstd::handle< HCRYPTHASH, INVAL >inline
      operator&()winstd::handle< HCRYPTHASH, INVAL >inline
      operator*() constwinstd::handle< HCRYPTHASH, INVAL >inline
      operator->() constwinstd::handle< HCRYPTHASH, INVAL >inline
      operator<(handle_type h) constwinstd::handle< HCRYPTHASH, INVAL >inline
      operator<=(handle_type h) constwinstd::handle< HCRYPTHASH, INVAL >inline
      operator=(handle_type h) noexceptwinstd::dplhandle< HCRYPTHASH, NULL >inline
      operator=(const dplhandle< handle_type, INVAL > &h) noexceptwinstd::dplhandle< HCRYPTHASH, NULL >inline
      operator=(dplhandle< handle_type, INVAL > &&h) noexceptwinstd::dplhandle< HCRYPTHASH, NULL >inline
      handle< HCRYPTHASH, INVAL >::operator=(handle< handle_type, INVAL > &&h) noexceptwinstd::handle< HCRYPTHASH, INVAL >inline
      operator==(handle_type h) constwinstd::handle< HCRYPTHASH, INVAL >inline
      operator>(handle_type h) constwinstd::handle< HCRYPTHASH, INVAL >inline
      operator>=(handle_type h) constwinstd::handle< HCRYPTHASH, INVAL >inline
      ~crypt_hash()winstd::crypt_hashinlinevirtual
      invalidwinstd::handle< HCRYPTHASH, INVAL >static
      m_hwinstd::handle< HCRYPTHASH, INVAL >protected
      operator handle_type() constwinstd::handle< HCRYPTHASH, INVAL >inline
      operator!() constwinstd::handle< HCRYPTHASH, INVAL >inline
      operator!=(handle_type h) constwinstd::handle< HCRYPTHASH, INVAL >inline
      operator&()winstd::handle< HCRYPTHASH, INVAL >inline
      operator*() constwinstd::handle< HCRYPTHASH, INVAL >inline
      operator->() constwinstd::handle< HCRYPTHASH, INVAL >inline
      operator<(handle_type h) constwinstd::handle< HCRYPTHASH, INVAL >inline
      operator<=(handle_type h) constwinstd::handle< HCRYPTHASH, INVAL >inline
      operator=(handle_type h) noexceptwinstd::dplhandle< HCRYPTHASH, NULL >inline
      operator=(const dplhandle< handle_type, INVAL > &h) noexceptwinstd::dplhandle< HCRYPTHASH, NULL >inline
      operator=(dplhandle< handle_type, INVAL > &&h) noexceptwinstd::dplhandle< HCRYPTHASH, NULL >inline
      handle< HCRYPTHASH, INVAL >::operator=(handle< handle_type, INVAL > &&h) noexceptwinstd::handle< HCRYPTHASH, INVAL >inline
      operator==(handle_type h) constwinstd::handle< HCRYPTHASH, INVAL >inline
      operator>(handle_type h) constwinstd::handle< HCRYPTHASH, INVAL >inline
      operator>=(handle_type h) constwinstd::handle< HCRYPTHASH, INVAL >inline
      ~crypt_hash()winstd::crypt_hashinlinevirtual
      diff --git a/classwinstd_1_1crypt__hash.html b/classwinstd_1_1crypt__hash.html index cd60b58c..8671e62b 100644 --- a/classwinstd_1_1crypt__hash.html +++ b/classwinstd_1_1crypt__hash.html @@ -69,7 +69,7 @@ $(function() { @@ -95,9 +95,6 @@ Public Member Functions virtual ~crypt_hash ()  Destroys 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,14 +185,20 @@ void free ()  Destroys the object.
        - - - - - + + + + + + + + + + + + +

      -Public Attributes

      -ALG_ID Algid
       
      -ALG_ID HCRYPTKEY hKey = NULL
       

      +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...
       
      @@ -209,15 +212,6 @@ typedef HCRYPTHASH  - - - - - - - - @@ -226,6 +220,7 @@ virtual 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
      free_internal

      Detailed Description

      HCRYPTHASH wrapper class.

      +
      See also
      CryptCreateHash function

      Constructor & Destructor Documentation

      ◆ ~crypt_hash()

      @@ -256,29 +251,71 @@ virtual void free_internal

      Member Function Documentation

      - -

      ◆ __declspec()

      + +

      ◆ duplicate_internal()

      + + + + + +
      - + + + + + + +
      winstd::crypt_hash::__declspec 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 (deprecated("Use CryptCreateHash")  )
      +
      +inlineoverrideprotectedvirtualnoexcept
      -

      Creates the hash context.

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

      Destroys the hash context.

      +
      See also
      CryptDestroyHash function
      + +

      Implements winstd::handle< HCRYPTHASH, INVAL >.

      @@ -288,7 +325,7 @@ virtual void free_internal diff --git a/classwinstd_1_1crypt__key-members.html b/classwinstd_1_1crypt__key-members.html index 11e79087..f38113e5 100644 --- a/classwinstd_1_1crypt__key-members.html +++ b/classwinstd_1_1crypt__key-members.html @@ -73,12 +73,6 @@ $(function() {

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

      - - - - - - @@ -89,47 +83,34 @@ $(function() { - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + +
      __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
      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
      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
      free()winstd::handle< HCRYPTKEY, INVAL >inline
      free_internal() noexcept overridewinstd::crypt_keyinlineprotectedvirtual
      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 >
      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
      diff --git a/classwinstd_1_1crypt__key.html b/classwinstd_1_1crypt__key.html index af554ac4..f6cdf8dc 100644 --- a/classwinstd_1_1crypt__key.html +++ b/classwinstd_1_1crypt__key.html @@ -69,7 +69,6 @@ $(function() {
      winstd::crypt_key Class Reference
      @@ -96,33 +95,6 @@ Public Member Functions virtual ~crypt_key ()  Destroys the key. 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...
        @@ -216,35 +188,6 @@ void 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
       
      @@ -280,6 +223,13 @@ static const HCRYPTKEY 

      Protected Member Functions

      void free_internal () noexcept override
      inv

      Detailed Description

      Constructor & Destructor Documentation

      ◆ ~crypt_key()

      @@ -310,90 +260,6 @@ static const HCRYPTKEY 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()

      @@ -506,72 +372,6 @@ static const HCRYPTKEY inv

      Implements winstd::handle< HCRYPTKEY, INVAL >.

      - - -

      Member Data Documentation

      - -

      ◆ noexcept [1/4]

      - -
      -
      - - - - -
      ALG_ID DWORD dwFlags winstd::crypt_key::noexcept
      -
      -Initial value:
      {
      - -
      HCRYPTKEY handle_type
      Datatype of the object handle this template class handles.
      Definition: Common.h:608
      -
      -
      -
      - -

      ◆ noexcept [2/4]

      - -
      -
      - - - - -
      DWORD HCRYPTKEY DWORD dwFlags winstd::crypt_key::noexcept
      -
      -Initial value:
      {
      - -
      -
      -
      - -

      ◆ noexcept [3/4]

      - -
      -
      - - - - -
      DWORD PCERT_PUBLIC_KEY_INFO pInfo winstd::crypt_key::noexcept
      -
      -Initial value:
      {
      - -
      -
      -
      - -

      ◆ noexcept [4/4]

      - -
      -
      - - - - -
      ALG_ID HCRYPTHASH DWORD dwFlags winstd::crypt_key::noexcept
      -
      -Initial value:
      {
      - -

      The documentation for this class was generated from the following file:
        @@ -580,7 +380,7 @@ static const HCRYPTKEY inv diff --git a/classwinstd_1_1crypt__prov-members.html b/classwinstd_1_1crypt__prov-members.html index c0db5234..b843e5eb 100644 --- a/classwinstd_1_1crypt__prov-members.html +++ b/classwinstd_1_1crypt__prov-members.html @@ -73,12 +73,10 @@ $(function() {

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

        - - - - + + - + @@ -98,12 +96,11 @@ $(function() { - - +
        __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
        dwProvType (defined in winstd::crypt_prov)winstd::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=0winstd::handle< HCRYPTPROV, NULL >protectedpure virtual
        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
        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
        ~crypt_prov()winstd::crypt_provinlinevirtual
        diff --git a/classwinstd_1_1crypt__prov.html b/classwinstd_1_1crypt__prov.html index 0d30a41d..2c6a24ef 100644 --- a/classwinstd_1_1crypt__prov.html +++ b/classwinstd_1_1crypt__prov.html @@ -69,7 +69,7 @@ $(function() { @@ -94,9 +94,6 @@ Public Member Functions virtual ~crypt_prov ()  Releases 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 @@ -158,14 +155,14 @@ void free ()  Destroys the object.
          - - - - - + + + + + + +

        -Public Attributes

        -LPCTSTR szProvider
         
        -LPCTSTR DWORD dwProvType
         

        +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...
         
        @@ -179,11 +176,6 @@ typedef HCRYPTPROV  - - - - @@ -192,6 +184,7 @@ virtual void 

        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
        free_internal

        Detailed Description

        HCRYPTPROV wrapper class.

        +
        See also
        CryptAcquireContext function

        Constructor & Destructor Documentation

        ◆ ~crypt_prov()

        @@ -222,29 +215,33 @@ virtual void free_internal

        Member Function Documentation

        - -

        ◆ __declspec()

        + +

        ◆ free_internal()

        + + + + + +
        - + -
        winstd::crypt_prov::__declspec void winstd::crypt_prov::free_internal (deprecated("Use CryptAcquireContext")  )
        +
        +inlineoverrideprotectedvirtualnoexcept
        -

        Acquires the cryptographic context.

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

        Releases the cryptographic context.

        +
        See also
        CryptReleaseContext function
        + +

        Implements winstd::handle< HCRYPTPROV, NULL >.

        @@ -254,7 +251,7 @@ virtual void free_internal diff --git a/classwinstd_1_1data__blob-members.html b/classwinstd_1_1data__blob-members.html index 32823a11..e1ac8fa5 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 e6e01716..cc030439 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 d9927344..3f244f92 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 08afac0f..ccc3d03d 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 0eb2db9d..596c1950 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 6bb7cb78..1df10429 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 561db77f..a1ed1057 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 16c4ba6f..b4709d67 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::bstr, winstd::cert_context, winstd::crypt_key, and winstd::eap_packet.

        +

        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.

        @@ -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 de9de0bf..6583888a 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 09c29fc4..75cc38dc 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 d700427e..b4a6a75f 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 fc072230..8b920ced 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 25f883f5..16879e2b 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 693e4dd5..d5e50818 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 e9ac8031..a1bbe411 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 2065d520..dba84361 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 9336353e..21d34c6d 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 b7e199dc..bf1ddc63 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 deleted file mode 100644 index 2bf241d0..00000000 --- a/classwinstd_1_1event-members.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - - -WinStd: Member List - - - - - - - - - -
        -
        - - - - - - -
        -
        WinStd -
        -
        Additional templates and function helpers for Microsoft Windows using Standard C++ classes
        -
        -
        - - - - - - - - -
        -
        - - -
        - -
        - - -
        -
        -
        winstd::event Member List
        -
        -
        - -

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

        - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        __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
        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 deleted file mode 100644 index 415055cf..00000000 --- a/classwinstd_1_1event.html +++ /dev/null @@ -1,235 +0,0 @@ - - - - - - - -WinStd: winstd::event Class Reference - - - - - - - - - -
        -
        - - - - - - -
        -
        WinStd -
        -
        Additional templates and function helpers for Microsoft Windows using Standard C++ classes
        -
        -
        - - - - - - - - -
        -
        - - -
        - -
        - - -
        - -
        - -

        Event handle wrapper. - More...

        - -

        #include <WinStd/Win.h>

        -
        -Inheritance diagram for winstd::event:
        -
        -
        - - -winstd::win_handle< NULL > -winstd::handle< HANDLE, INVALID > - -
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

        -Public Member Functions

         __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...
         
        - Public Member Functions inherited from winstd::handle< HANDLE, INVALID >
        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

        -BOOL bInitialState
         
        -BOOL LPSECURITY_ATTRIBUTES lpEventAttributes = NULL
         
        - - - - - - - - - - - - - - - - - - - - -

        -Additional Inherited Members

        - Public Types inherited from winstd::handle< HANDLE, INVALID >
        -typedef HANDLE handle_type
         Datatype of the object handle this template class handles.
         
        - Static Public Attributes inherited from winstd::handle< HANDLE, INVALID >
        -static const HANDLE invalid
         Invalid handle value.
         
        - Protected Member Functions inherited from winstd::win_handle< NULL >
        void free_internal () noexcept override
         Closes an open object handle. More...
         
        virtual void free_internal () noexcept=0
         Abstract member function that must be implemented by child classes to do the actual object destruction. More...
         
        - Protected Attributes inherited from winstd::handle< HANDLE, INVALID >
        -handle_type m_h
         Object handle.
         
        -

        Detailed Description

        -

        Event handle wrapper.

        -

        Member Function Documentation

        - -

        ◆ __declspec()

        - -
        -
        - - - - - - - - -
        winstd::event::__declspec (deprecated("Use CreateEvent") )
        -
        - -

        Creates or opens a named or unnamed event object.

        -
        See also
        CreateEventW function
        -
        Returns
          -
        • true when succeeds;
        • -
        • false when fails. Use GetLastError() for failure reason.
        • -
        -
        - -
        -
        -
        The documentation for this class was generated from the following file: -
        - - - - diff --git a/classwinstd_1_1event.png b/classwinstd_1_1event.png deleted file mode 100644 index 6d71c0b1..00000000 Binary files a/classwinstd_1_1event.png and /dev/null differ diff --git a/classwinstd_1_1event__data-members.html b/classwinstd_1_1event__data-members.html index 86d73027..27f0e267 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 0c8ce172..14bc1cdf 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 6743b4d5..a15e66c4 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 7ddd30af..9018a358 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 ff84c97c..2f17b64d 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 a6cf1cdb..0e17f165 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 4ce625e5..f7816b04 100644 --- a/classwinstd_1_1event__log-members.html +++ b/classwinstd_1_1event__log-members.html @@ -73,20 +73,16 @@ $(function() {

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

        - - - - + + - - - - + + @@ -104,7 +100,7 @@ $(function() {
        __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
        attach(handle_type h) noexceptwinstd::handle< HANDLE, NULL >inline
        detach()winstd::handle< HANDLE, NULL >inline
        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 >
        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
        invalidwinstd::handle< HANDLE, NULL >static
        m_hwinstd::handle< HANDLE, NULL >protected
        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_1event__log.html b/classwinstd_1_1event__log.html index 9ab85351..83cf770c 100644 --- a/classwinstd_1_1event__log.html +++ b/classwinstd_1_1event__log.html @@ -69,7 +69,6 @@ $(function() {
        winstd::event_log Class Reference
        @@ -95,12 +94,6 @@ Public Member Functions virtual ~event_log ()  Closes an event log handle. 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 @@ -162,14 +155,6 @@ void free ()  Destroys the object.
          - - - - - -

        -Public Attributes

        LPCTSTR lpSourceName noexcept
         
        -else return false
         
        @@ -199,6 +184,7 @@ static const HANDLE 

        Protected Member Functions

        void free_internal () noexcept override
        invali

        Detailed Description

        Event log handle wrapper.

        +
        See also
        RegisterEventSource function

        Constructor & Destructor Documentation

        ◆ ~event_log()

        @@ -229,32 +215,6 @@ static const HANDLE 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()

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

        Implements winstd::handle< HANDLE, NULL >.

        - - -

        Member Data Documentation

        - -

        ◆ noexcept

        - -
        -
        - - - - -
        LPCTSTR lpSourceName winstd::event_log::noexcept
        -
        -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:
          @@ -309,7 +251,7 @@ static const HANDLE invali diff --git a/classwinstd_1_1event__provider-members.html b/classwinstd_1_1event__provider-members.html index e532a152..ce301e0e 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 e359e481..fb8342b6 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 f4df84bf..9a773997 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 48885751..48ed1241 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 08b9b912..b6455f1b 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 7e2ff58f..bbc745b8 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 fd6f3098..f224cb1f 100644 --- a/classwinstd_1_1event__trace-members.html +++ b/classwinstd_1_1event__trace-members.html @@ -73,35 +73,34 @@ $(function() {

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

          - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + +
          __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
          handle() noexceptwinstd::handle< TRACEHANDLE, INVALID_PROCESSTRACE_HANDLE >inline
          handle(handle_type h) noexceptwinstd::handle< TRACEHANDLE, INVALID_PROCESSTRACE_HANDLE >inline
          handle(handle< handle_type, INVAL > &&h) noexceptwinstd::handle< TRACEHANDLE, INVALID_PROCESSTRACE_HANDLE >inline
          handle_type typedefwinstd::handle< TRACEHANDLE, INVALID_PROCESSTRACE_HANDLE >
          invalidwinstd::handle< TRACEHANDLE, INVALID_PROCESSTRACE_HANDLE >static
          m_hwinstd::handle< TRACEHANDLE, INVALID_PROCESSTRACE_HANDLE >protected
          operator handle_type() constwinstd::handle< TRACEHANDLE, INVALID_PROCESSTRACE_HANDLE >inline
          operator!() constwinstd::handle< TRACEHANDLE, INVALID_PROCESSTRACE_HANDLE >inline
          operator!=(handle_type h) constwinstd::handle< TRACEHANDLE, INVALID_PROCESSTRACE_HANDLE >inline
          operator&()winstd::handle< TRACEHANDLE, INVALID_PROCESSTRACE_HANDLE >inline
          operator*() constwinstd::handle< TRACEHANDLE, INVALID_PROCESSTRACE_HANDLE >inline
          operator->() constwinstd::handle< TRACEHANDLE, INVALID_PROCESSTRACE_HANDLE >inline
          operator<(handle_type h) constwinstd::handle< TRACEHANDLE, INVALID_PROCESSTRACE_HANDLE >inline
          operator<=(handle_type h) constwinstd::handle< TRACEHANDLE, INVALID_PROCESSTRACE_HANDLE >inline
          operator=(handle_type h) noexceptwinstd::handle< TRACEHANDLE, INVALID_PROCESSTRACE_HANDLE >inline
          operator=(handle< handle_type, INVAL > &&h) noexceptwinstd::handle< TRACEHANDLE, INVALID_PROCESSTRACE_HANDLE >inline
          operator==(handle_type h) constwinstd::handle< TRACEHANDLE, INVALID_PROCESSTRACE_HANDLE >inline
          operator>(handle_type h) constwinstd::handle< TRACEHANDLE, INVALID_PROCESSTRACE_HANDLE >inline
          operator>=(handle_type h) constwinstd::handle< TRACEHANDLE, INVALID_PROCESSTRACE_HANDLE >inline
          ~event_trace()winstd::event_traceinlinevirtual
          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
          handle() noexceptwinstd::handle< TRACEHANDLE, INVALID_PROCESSTRACE_HANDLE >inline
          handle(handle_type h) noexceptwinstd::handle< TRACEHANDLE, INVALID_PROCESSTRACE_HANDLE >inline
          handle(handle< handle_type, INVAL > &&h) noexceptwinstd::handle< TRACEHANDLE, INVALID_PROCESSTRACE_HANDLE >inline
          handle_type typedefwinstd::handle< TRACEHANDLE, INVALID_PROCESSTRACE_HANDLE >
          invalidwinstd::handle< TRACEHANDLE, INVALID_PROCESSTRACE_HANDLE >static
          m_hwinstd::handle< TRACEHANDLE, INVALID_PROCESSTRACE_HANDLE >protected
          operator handle_type() constwinstd::handle< TRACEHANDLE, INVALID_PROCESSTRACE_HANDLE >inline
          operator!() constwinstd::handle< TRACEHANDLE, INVALID_PROCESSTRACE_HANDLE >inline
          operator!=(handle_type h) constwinstd::handle< TRACEHANDLE, INVALID_PROCESSTRACE_HANDLE >inline
          operator&()winstd::handle< TRACEHANDLE, INVALID_PROCESSTRACE_HANDLE >inline
          operator*() constwinstd::handle< TRACEHANDLE, INVALID_PROCESSTRACE_HANDLE >inline
          operator->() constwinstd::handle< TRACEHANDLE, INVALID_PROCESSTRACE_HANDLE >inline
          operator<(handle_type h) constwinstd::handle< TRACEHANDLE, INVALID_PROCESSTRACE_HANDLE >inline
          operator<=(handle_type h) constwinstd::handle< TRACEHANDLE, INVALID_PROCESSTRACE_HANDLE >inline
          operator=(handle_type h) noexceptwinstd::handle< TRACEHANDLE, INVALID_PROCESSTRACE_HANDLE >inline
          operator=(handle< handle_type, INVAL > &&h) noexceptwinstd::handle< TRACEHANDLE, INVALID_PROCESSTRACE_HANDLE >inline
          operator==(handle_type h) constwinstd::handle< TRACEHANDLE, INVALID_PROCESSTRACE_HANDLE >inline
          operator>(handle_type h) constwinstd::handle< TRACEHANDLE, INVALID_PROCESSTRACE_HANDLE >inline
          operator>=(handle_type h) constwinstd::handle< TRACEHANDLE, INVALID_PROCESSTRACE_HANDLE >inline
          ~event_trace()winstd::event_traceinlinevirtual
          diff --git a/classwinstd_1_1event__trace.html b/classwinstd_1_1event__trace.html index 67e5786d..e2839238 100644 --- a/classwinstd_1_1event__trace.html +++ b/classwinstd_1_1event__trace.html @@ -94,9 +94,6 @@ Public Member Functions virtual ~event_trace ()  Closes the trace. 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 @@ -187,6 +184,7 @@ static const TRACEHANDLE i

          Detailed Description

          ETW trace.

          +
          See also
          OpenTrace function

          Constructor & Destructor Documentation

          ◆ ~event_trace()

          @@ -217,40 +215,6 @@ static const TRACEHANDLE i

          Member Function Documentation

          - -

          ◆ __declspec()

          - -
          -
          - - - - - -
          - - - - - - - - -
          winstd::event_trace::__declspec (deprecated("Use OpenTrace") )
          -
          -inline
          -
          - -

          Opens a real-time trace session or log file for consuming.

          -
          Returns
            -
          • ERROR_SUCCESS when creation succeeds;
          • -
          • error code otherwise.
          • -
          -
          -
          See also
          OpenTrace function
          - -
          -

          ◆ free_internal()

          @@ -287,7 +251,7 @@ static const TRACEHANDLE i diff --git a/classwinstd_1_1event__trace__enabler-members.html b/classwinstd_1_1event__trace__enabler-members.html index 139d3bc7..2eb0d65a 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 b043a4dd..0d106005 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 deleted file mode 100644 index c55c7e79..00000000 --- a/classwinstd_1_1file-members.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - - -WinStd: Member List - - - - - - - - - -
          -
          - - - - - - -
          -
          WinStd -
          -
          Additional templates and function helpers for Microsoft Windows using Standard C++ classes
          -
          -
          - - - - - - - - -
          -
          - - -
          - -
          - - -
          -
          -
          winstd::file Member List
          -
          -
          - -

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

          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
          __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_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
          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 deleted file mode 100644 index 9a76627d..00000000 --- a/classwinstd_1_1file.html +++ /dev/null @@ -1,244 +0,0 @@ - - - - - - - -WinStd: winstd::file Class Reference - - - - - - - - - -
          -
          - - - - - - -
          -
          WinStd -
          -
          Additional templates and function helpers for Microsoft Windows using Standard C++ classes
          -
          -
          - - - - - - - - -
          -
          - - -
          - -
          - - -
          - -
          - -

          File handle wrapper. - More...

          - -

          #include <WinStd/Win.h>

          -
          -Inheritance diagram for winstd::file:
          -
          -
          - - -winstd::win_handle< INVALID_HANDLE_VALUE > -winstd::handle< HANDLE, INVALID > - -
          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

          -Public Member Functions

           __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...
           
          - Public Member Functions inherited from winstd::handle< HANDLE, INVALID >
          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

          -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
           
          - - - - - - - - - - - - - - - - - - - - -

          -Additional Inherited Members

          - Public Types inherited from winstd::handle< HANDLE, INVALID >
          -typedef HANDLE handle_type
           Datatype of the object handle this template class handles.
           
          - Static Public Attributes inherited from winstd::handle< HANDLE, INVALID >
          -static const HANDLE invalid
           Invalid handle value.
           
          - Protected Member Functions inherited from winstd::win_handle< INVALID_HANDLE_VALUE >
          void free_internal () noexcept override
           Closes an open object handle. More...
           
          virtual void free_internal () noexcept=0
           Abstract member function that must be implemented by child classes to do the actual object destruction. More...
           
          - Protected Attributes inherited from winstd::handle< HANDLE, INVALID >
          -handle_type m_h
           Object handle.
           
          -

          Detailed Description

          -

          File handle wrapper.

          -

          Member Function Documentation

          - -

          ◆ __declspec()

          - -
          -
          - - - - - - - - -
          winstd::file::__declspec (deprecated("Use CreateFile") )
          -
          - -

          Opens file handle.

          -
          See also
          CreateFile function
          -
          Returns
            -
          • true when succeeds;
          • -
          • false when fails. Use GetLastError() for failure reason.
          • -
          -
          - -
          -
          -
          The documentation for this class was generated from the following file: -
          - - - - diff --git a/classwinstd_1_1file.png b/classwinstd_1_1file.png deleted file mode 100644 index b81a4bc7..00000000 Binary files a/classwinstd_1_1file.png and /dev/null differ diff --git a/classwinstd_1_1file__mapping-members.html b/classwinstd_1_1file__mapping-members.html deleted file mode 100644 index b4c171b0..00000000 --- a/classwinstd_1_1file__mapping-members.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - - -WinStd: Member List - - - - - - - - - -
          -
          - - - - - - -
          -
          WinStd -
          -
          Additional templates and function helpers for Microsoft Windows using Standard C++ classes
          -
          -
          - - - - - - - - -
          -
          - - -
          - -
          - - -
          -
          -
          winstd::file_mapping Member List
          -
          -
          - -

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

          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
          __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
          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
          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_1file__mapping.html b/classwinstd_1_1file__mapping.html deleted file mode 100644 index 93feb1aa..00000000 --- a/classwinstd_1_1file__mapping.html +++ /dev/null @@ -1,241 +0,0 @@ - - - - - - - -WinStd: winstd::file_mapping Class Reference - - - - - - - - - -
          -
          - - - - - - -
          -
          WinStd -
          -
          Additional templates and function helpers for Microsoft Windows using Standard C++ classes
          -
          -
          - - - - - - - - -
          -
          - - -
          - -
          - - -
          -
          - -
          winstd::file_mapping Class Reference
          -
          -
          - -

          File mapping. - More...

          - -

          #include <WinStd/Win.h>

          -
          -Inheritance diagram for winstd::file_mapping:
          -
          -
          - - -winstd::win_handle< NULL > -winstd::handle< HANDLE, INVALID > - -
          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

          -Public Member Functions

           __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...
           
          - Public Member Functions inherited from winstd::handle< HANDLE, INVALID >
          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

          -DWORD flProtect
           
          -DWORD DWORD dwMaximumSizeHigh
           
          -DWORD DWORD DWORD dwMaximumSizeLow
           
          -DWORD DWORD DWORD LPSECURITY_ATTRIBUTES lpFileMappingAttributes = NULL
           
          - - - - - - - - - - - - - - - - - - - - -

          -Additional Inherited Members

          - Public Types inherited from winstd::handle< HANDLE, INVALID >
          -typedef HANDLE handle_type
           Datatype of the object handle this template class handles.
           
          - Static Public Attributes inherited from winstd::handle< HANDLE, INVALID >
          -static const HANDLE invalid
           Invalid handle value.
           
          - Protected Member Functions inherited from winstd::win_handle< NULL >
          void free_internal () noexcept override
           Closes an open object handle. More...
           
          virtual void free_internal () noexcept=0
           Abstract member function that must be implemented by child classes to do the actual object destruction. More...
           
          - Protected Attributes inherited from winstd::handle< HANDLE, INVALID >
          -handle_type m_h
           Object handle.
           
          -

          Detailed Description

          -

          File mapping.

          -

          Member Function Documentation

          - -

          ◆ __declspec()

          - -
          -
          - - - - - - - - -
          winstd::file_mapping::__declspec (deprecated("Use CreateFileMapping") )
          -
          - -

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

          -
          See also
          CreateFileMapping function
          -
          Returns
            -
          • true when succeeds;
          • -
          • false when fails. Use GetLastError() for failure reason.
          • -
          -
          - -
          -
          -
          The documentation for this class was generated from the following file: -
          - - - - diff --git a/classwinstd_1_1file__mapping.png b/classwinstd_1_1file__mapping.png deleted file mode 100644 index babe158d..00000000 Binary files a/classwinstd_1_1file__mapping.png and /dev/null differ diff --git a/classwinstd_1_1find__file-members.html b/classwinstd_1_1find__file-members.html index 920fe579..6dac6608 100644 --- a/classwinstd_1_1find__file-members.html +++ b/classwinstd_1_1find__file-members.html @@ -73,20 +73,16 @@ $(function() {

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

          - - - - + + - - - - + + @@ -104,7 +100,7 @@ $(function() {
          __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
          attach(handle_type h) noexceptwinstd::handle< HANDLE, INVALID_HANDLE_VALUE >inline
          detach()winstd::handle< HANDLE, INVALID_HANDLE_VALUE >inline
          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
          noexcept (defined in winstd::find_file)winstd::find_file
          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
          diff --git a/classwinstd_1_1find__file.html b/classwinstd_1_1find__file.html index bcaf8487..757c0f2d 100644 --- a/classwinstd_1_1find__file.html +++ b/classwinstd_1_1find__file.html @@ -69,7 +69,6 @@ $(function() {
          winstd::find_file Class Reference
          @@ -95,12 +94,6 @@ Public Member Functions virtual ~find_file ()  Closes a file search handle. 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 @@ -162,14 +155,6 @@ void free ()  Destroys the object.
            - - - - - -

          -Public Attributes

          LPWIN32_FIND_DATA lpFindFileData noexcept
           
          -else return false
           
          @@ -199,6 +184,7 @@ static const HANDLE 

          Protected Member Functions

          void free_internal () noexcept override
          invali

          Detailed Description

          Find-file handle wrapper.

          +
          See also
          FindFirstFile function

          Constructor & Destructor Documentation

          ◆ ~find_file()

          @@ -229,32 +215,6 @@ static const HANDLE invali

          Member Function Documentation

          - -

          ◆ __declspec()

          - -
          -
          - - - - - - - - -
          winstd::find_file::__declspec (deprecated("Use FindFirstFile") )
          -
          - -

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

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

          ◆ free_internal()

          @@ -283,24 +243,6 @@ 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:
            @@ -309,7 +251,7 @@ static const HANDLE invali diff --git a/classwinstd_1_1gdi__handle-members.html b/classwinstd_1_1gdi__handle-members.html index 4b350f0b..d1a97b5f 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 7a6e73c9..ae0ebcf6 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 cc6dbb30..8032cdc2 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 38b74d07..eb4240e4 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::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.

            +

            Implemented in winstd::com_obj< T >, winstd::bstr, winstd::cert_context, winstd::cert_chain_context, winstd::cert_store, winstd::crypt_prov, winstd::crypt_hash, winstd::crypt_key, winstd::eap_packet, winstd::event_provider, winstd::event_session, winstd::event_trace, winstd::gdi_handle< T >, winstd::dc, winstd::window_dc, winstd::sec_credentials, winstd::sec_context, winstd::setup_device_info_list, winstd::win_handle< INVALID >, winstd::library, winstd::find_file, winstd::heap, winstd::vmemory, winstd::reg_key, winstd::security_id, winstd::event_log, winstd::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 2f83141f..fb3b3ab8 100644 --- a/classwinstd_1_1heap-members.html +++ b/classwinstd_1_1heap-members.html @@ -73,40 +73,35 @@ $(function() {

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

            - - - - + + - - - - - - - - + + + + + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + +
            __declspec(deprecated("Use HeapCreate")) bool create(DWORD flOptionswinstd::heap
            attach(handle_type h) noexceptwinstd::handle< HANDLE, NULL >inline
            detach()winstd::handle< HANDLE, NULL >inline
            dwInitialSize (defined in winstd::heap)winstd::heap
            attach(handle_type h) noexceptwinstd::handle< HANDLE, NULL >inline
            detach()winstd::handle< HANDLE, NULL >inline
            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 >
            if(h !=invalid) (defined in winstd::heap)winstd::heapinline
            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
            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
            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
            ~heap()winstd::heapinlinevirtual
            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
            ~heap()winstd::heapinlinevirtual
            diff --git a/classwinstd_1_1heap.html b/classwinstd_1_1heap.html index 2c92c83c..82a0eccb 100644 --- a/classwinstd_1_1heap.html +++ b/classwinstd_1_1heap.html @@ -69,7 +69,6 @@ $(function() {
            winstd::heap Class Reference
            @@ -95,12 +94,6 @@ Public Member Functions virtual ~heap ()  Destroys 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...
              @@ -165,17 +158,6 @@ void free ()  Destroys the object.
              - - - - - - - -

            -Public Attributes

            -SIZE_T dwInitialSize
             
            SIZE_T SIZE_T dwMaximumSize noexcept
             
            -else return false
             
            @@ -205,6 +187,7 @@ static const HANDLE 

            Protected Member Functions

            void free_internal () noexcept override
            invali

            Detailed Description

            Heap handle wrapper.

            +
            See also
            HeapCreate function

            Constructor & Destructor Documentation

            ◆ ~heap()

            @@ -235,32 +218,6 @@ static const HANDLE invali

            Member Function Documentation

            - -

            ◆ __declspec()

            - -
            -
            - - - - - - - - -
            winstd::heap::__declspec (deprecated("Use HeapCreate") )
            -
            - -

            Creates the heap.

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

            ◆ enumerate()

            @@ -321,24 +278,6 @@ 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:
              @@ -347,7 +286,7 @@ static const HANDLE invali diff --git a/classwinstd_1_1heap__allocator-members.html b/classwinstd_1_1heap__allocator-members.html index b31d24d7..064f8e45 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 cfe48016..d3ff0d94 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 23b78d48..bed6c2c5 100644 --- a/classwinstd_1_1library-members.html +++ b/classwinstd_1_1library-members.html @@ -73,39 +73,34 @@ $(function() {

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

              - - - - + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + +
              __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
              attach(handle_type h) noexceptwinstd::handle< HMODULE, NULL >inline
              detach()winstd::handle< HMODULE, NULL >inline
              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
              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
              operator&()winstd::handle< HMODULE, NULL >inline
              operator*() constwinstd::handle< HMODULE, NULL >inline
              operator->() constwinstd::handle< HMODULE, NULL >inline
              operator<(handle_type h) constwinstd::handle< HMODULE, NULL >inline
              operator<=(handle_type h) constwinstd::handle< HMODULE, NULL >inline
              operator=(handle_type h) noexceptwinstd::handle< HMODULE, NULL >inline
              operator=(handle< handle_type, INVAL > &&h) noexceptwinstd::handle< HMODULE, NULL >inline
              operator==(handle_type h) constwinstd::handle< HMODULE, NULL >inline
              operator>(handle_type h) constwinstd::handle< HMODULE, NULL >inline
              operator>=(handle_type h) constwinstd::handle< HMODULE, NULL >inline
              ~library()winstd::libraryinlinevirtual
              operator handle_type() constwinstd::handle< HMODULE, NULL >inline
              operator!() constwinstd::handle< HMODULE, NULL >inline
              operator!=(handle_type h) constwinstd::handle< HMODULE, NULL >inline
              operator&()winstd::handle< HMODULE, NULL >inline
              operator*() constwinstd::handle< HMODULE, NULL >inline
              operator->() constwinstd::handle< HMODULE, NULL >inline
              operator<(handle_type h) constwinstd::handle< HMODULE, NULL >inline
              operator<=(handle_type h) constwinstd::handle< HMODULE, NULL >inline
              operator=(handle_type h) noexceptwinstd::handle< HMODULE, NULL >inline
              operator=(handle< handle_type, INVAL > &&h) noexceptwinstd::handle< HMODULE, NULL >inline
              operator==(handle_type h) constwinstd::handle< HMODULE, NULL >inline
              operator>(handle_type h) constwinstd::handle< HMODULE, NULL >inline
              operator>=(handle_type h) constwinstd::handle< HMODULE, NULL >inline
              ~library()winstd::libraryinlinevirtual
              diff --git a/classwinstd_1_1library.html b/classwinstd_1_1library.html index 56323fa0..983b41c7 100644 --- a/classwinstd_1_1library.html +++ b/classwinstd_1_1library.html @@ -69,7 +69,6 @@ $(function() {
              winstd::library Class Reference
              @@ -95,12 +94,6 @@ Public Member Functions virtual ~library ()  Frees the module. 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 @@ -162,17 +155,6 @@ void free ()  Destroys the object.
                - - - - - - - -

              -Public Attributes

              -__reserved handle_type hFile
               
              __reserved handle_type DWORD dwFlags noexcept
               
              -else return false
               
              @@ -202,6 +184,7 @@ static const HMODULE 

              Protected Member Functions

              void free_internal () noexcept override
              inval

              Detailed Description

              Module handle wrapper.

              +
              See also
              LoadLibraryEx function

              Constructor & Destructor Documentation

              ◆ ~library()

              @@ -232,32 +215,6 @@ static const HMODULE 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()

              @@ -286,24 +243,6 @@ static const HMODULE inval

              Implements winstd::handle< HMODULE, NULL >.

              - - -

              Member Data Documentation

              - -

              ◆ noexcept

              - -
              -
              - - - - -
              __reserved handle_type DWORD dwFlags winstd::library::noexcept
              -
              -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:
                @@ -312,7 +251,7 @@ static const HMODULE inval diff --git a/classwinstd_1_1num__runtime__error-members.html b/classwinstd_1_1num__runtime__error-members.html index 7518442a..64a554df 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 1231245c..1eb88cde 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 deleted file mode 100644 index 423473ca..00000000 --- a/classwinstd_1_1process-members.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - - -WinStd: Member List - - - - - - - - - -
                -
                - - - - - - -
                -
                WinStd -
                -
                Additional templates and function helpers for Microsoft Windows using Standard C++ classes
                -
                -
                - - - - - - - - -
                -
                - - -
                - -
                - - -
                -
                -
                winstd::process Member List
                -
                -
                - -

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

                - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                __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
                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
                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
                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_1process.html b/classwinstd_1_1process.html deleted file mode 100644 index 5b8ac120..00000000 --- a/classwinstd_1_1process.html +++ /dev/null @@ -1,258 +0,0 @@ - - - - - - - -WinStd: winstd::process Class Reference - - - - - - - - - -
                -
                - - - - - - -
                -
                WinStd -
                -
                Additional templates and function helpers for Microsoft Windows using Standard C++ classes
                -
                -
                - - - - - - - - -
                -
                - - -
                - -
                - - -
                -
                - -
                winstd::process Class Reference
                -
                -
                - -

                Process handle wrapper. - More...

                - -

                #include <WinStd/Win.h>

                -
                -Inheritance diagram for winstd::process:
                -
                -
                - - -winstd::win_handle< NULL > -winstd::handle< HANDLE, INVALID > - -
                - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

                -Public Member Functions

                 __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...
                 
                - Public Member Functions inherited from winstd::handle< HANDLE, INVALID >
                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

                -BOOL bInheritHandle
                 
                BOOL DWORD dwProcessId noexcept
                 
                -else return false
                 
                - - - - - - - - - - - - - - - - - - - - -

                -Additional Inherited Members

                - Public Types inherited from winstd::handle< HANDLE, INVALID >
                -typedef HANDLE handle_type
                 Datatype of the object handle this template class handles.
                 
                - Static Public Attributes inherited from winstd::handle< HANDLE, INVALID >
                -static const HANDLE invalid
                 Invalid handle value.
                 
                - Protected Member Functions inherited from winstd::win_handle< NULL >
                void free_internal () noexcept override
                 Closes an open object handle. More...
                 
                virtual void free_internal () noexcept=0
                 Abstract member function that must be implemented by child classes to do the actual object destruction. More...
                 
                - Protected Attributes inherited from winstd::handle< HANDLE, INVALID >
                -handle_type m_h
                 Object handle.
                 
                -

                Detailed Description

                -

                Process handle wrapper.

                -

                Member Function Documentation

                - -

                ◆ __declspec()

                - -
                -
                - - - - - - - - -
                winstd::process::__declspec (deprecated("Use OpenProcess") )
                -
                - -

                Opens process handle.

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

                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: -
                - - - - diff --git a/classwinstd_1_1process.png b/classwinstd_1_1process.png deleted file mode 100644 index accaa559..00000000 Binary files a/classwinstd_1_1process.png and /dev/null differ diff --git a/classwinstd_1_1process__information-members.html b/classwinstd_1_1process__information-members.html index 21fa904c..68326873 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 efef357d..eb09cb93 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 4f664794..c69d1833 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 2c59f6d5..c2c853e1 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 dc6617f7..4e9fc9e7 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 b523556c..e3d1ca6d 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 7e239cb4..eaa11df9 100644 --- a/classwinstd_1_1reg__key-members.html +++ b/classwinstd_1_1reg__key-members.html @@ -73,20 +73,16 @@ $(function() {

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

                - - + + - - - - - - - - - - - + + + + + + + @@ -101,12 +97,11 @@ $(function() { - - +
                __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
                attach(handle_type h) noexceptwinstd::handle< HKEY, NULL >inline
                delete_subkey(LPCTSTR szSubkey)winstd::reg_keyinline
                detach()winstd::handle< HKEY, NULL >inline
                dwOptions (defined in winstd::reg_key)winstd::reg_key
                free()winstd::handle< HKEY, NULL >inline
                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
                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
                free()winstd::handle< HKEY, NULL >inline
                free_internal() noexcept overridewinstd::reg_keyinlineprotectedvirtual
                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
                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
                samDesired (defined in winstd::reg_key)winstd::reg_key
                ~reg_key()winstd::reg_keyinlinevirtual
                ~reg_key()winstd::reg_keyinlinevirtual
                diff --git a/classwinstd_1_1reg__key.html b/classwinstd_1_1reg__key.html index 77cdbd41..2ab502bd 100644 --- a/classwinstd_1_1reg__key.html +++ b/classwinstd_1_1reg__key.html @@ -69,13 +69,13 @@ $(function() {
                -

                Registry wrapper class. +

                Registry key wrapper class. More...

                #include <WinStd/Win.h>

                @@ -94,9 +94,9 @@ Public Member Functions virtual ~reg_key ()  Closes a handle to the registry key. 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...
                -  +bool delete_subkey (LPCTSTR szSubkey) + Deletes the specified registry subkey. More...
                - Public Member Functions inherited from winstd::handle< HKEY, NULL >  handle () noexcept @@ -158,23 +158,14 @@ void free ()  Destroys the object.
                  - - - - - - - - - - - + + + + + + +

                -Public Attributes

                -LPCTSTR lpSubKey
                 
                -LPCTSTR LPTSTR lpClass
                 
                -LPCTSTR LPTSTR DWORD dwOptions
                 
                -LPCTSTR LPTSTR DWORD REGSAM samDesired
                 
                -LPCTSTR LPTSTR DWORD REGSAM LPSECURITY_ATTRIBUTES lpSecurityAttributes = NULL
                 

                +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...
                 
                @@ -188,11 +179,6 @@ typedef HKEY  - - - - @@ -200,7 +186,10 @@ virtual void 

                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
                free_internal
                 

                Detailed Description

                -

                Registry wrapper class.

                +

                Registry key wrapper class.

                +
                See also
                RegCreateKeyEx function
                +
                +RegOpenKeyEx function

                Constructor & Destructor Documentation

                ◆ ~reg_key()

                @@ -231,29 +220,72 @@ virtual void free_internal

                Member Function Documentation

                - -

                ◆ __declspec()

                + +

                ◆ delete_subkey()

                + + + + + +
                - + + + + + + +
                winstd::reg_key::__declspec 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 (deprecated("Use RegCreateKeyEx - mind it returns error number rather than SetLastError")  )
                +
                +inlineoverrideprotectedvirtualnoexcept
                -

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

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

                Closes a handle to the registry key.

                +
                See also
                RegCloseKey function
                + +

                Implements winstd::handle< HKEY, NULL >.

                @@ -263,7 +295,7 @@ virtual void free_internal diff --git a/classwinstd_1_1sanitizing__allocator-members.html b/classwinstd_1_1sanitizing__allocator-members.html index 33d4bb93..5033c164 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 81adefcc..6e2d7ae9 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 0dae6451..245e5489 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 d9c5e049..e9680ad2 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 e57955f0..901e4564 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 e39e0cc7..fd316f2e 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 cf3d3be9..f6398f34 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 e87584bc..139a1788 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 0e6c8182..d815f0f8 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 7b25f636..913e2e7e 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 32a3c407..e7327e16 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 5d686bfb..4e8e11af 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 2355a3ca..19a95bc3 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 be2fd783..5036842b 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 509a0311..7fa30891 100644 --- a/classwinstd_1_1setup__device__info__list-members.html +++ b/classwinstd_1_1setup__device__info__list-members.html @@ -73,28 +73,16 @@ $(function() {

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

                - - - - - - - - - - - - - - + + @@ -112,7 +100,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
                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 >
                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
                invalidwinstd::handle< HDEVINFO, INVALID_HANDLE_VALUE >static
                m_hwinstd::handle< HDEVINFO, INVALID_HANDLE_VALUE >protected
                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 b73a49d6..04a01586 100644 --- a/classwinstd_1_1setup__device__info__list.html +++ b/classwinstd_1_1setup__device__info__list.html @@ -69,7 +69,6 @@ $(function() {
                winstd::setup_device_info_list Class Reference
                @@ -95,18 +94,6 @@ Public Member Functions virtual ~setup_device_info_list ()  Frees the device information set. 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 @@ -168,31 +155,6 @@ 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
                 
                @@ -222,6 +184,9 @@ static const HDEVINFO 

                Protected Member Functions

                void free_internal () noexcept override
                inva

                Detailed Description

                Constructor & Destructor Documentation

                ◆ ~setup_device_info_list()

                @@ -252,58 +217,6 @@ static const HDEVINFO inva

                Member Function Documentation

                - -

                ◆ __declspec() [1/2]

                - -
                -
                - - - - - - - - -
                winstd::setup_device_info_list::__declspec (deprecated("Use SetupDiCreateDeviceInfoList") ) const
                -
                - -

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

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

                ◆ __declspec() [2/2]

                - -
                -
                - - - - - - - - -
                winstd::setup_device_info_list::__declspec (deprecated("Use SetupDiGetClassDevsEx") ) const
                -
                - -

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

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

                ◆ free_internal()

                @@ -332,40 +245,6 @@ 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 +253,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 3cf690aa..a6a606d4 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 f061ac35..c0fa540f 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 f92b95ac..7d3de149 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 d2cd06ba..e23ccb48 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 cf1eee98..b262d83d 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 3a4ef753..46e7b28b 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 d95dea4a..2b85f009 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 e1888d48..3aa68238 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 72d33476..6c3f9677 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 07c2d9dd..da0721ca 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 index e4513da3..28496a91 100644 --- a/classwinstd_1_1waddrinfo-members.html +++ b/classwinstd_1_1waddrinfo-members.html @@ -73,39 +73,34 @@ $(function() {

                  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
                  attach(handle_type h) noexceptwinstd::handle< PADDRINFOW, NULL >inline
                  detach()winstd::handle< PADDRINFOW, NULL >inline
                  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
                  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
                  ~waddrinfo()winstd::waddrinfoinlinevirtual
                  diff --git a/classwinstd_1_1waddrinfo.html b/classwinstd_1_1waddrinfo.html index b8ec69b7..bf27074f 100644 --- a/classwinstd_1_1waddrinfo.html +++ b/classwinstd_1_1waddrinfo.html @@ -69,7 +69,6 @@ $(function() {
                  winstd::waddrinfo Class Reference
                  @@ -92,12 +91,6 @@ Inheritance diagram for winstd::waddrinfo:
                  - - - - - @@ -162,17 +155,6 @@ void 

                  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...
                   
                  free ()
                   Destroys the object.
                   
                  - - - - - - - -

                  -Public Attributes

                  -PCWSTR pServiceName
                   
                  PCWSTR const ADDRINFOW * pHints
                   
                  -else return false
                   
                  @@ -202,6 +184,7 @@ static const PADDRINFOW 

                  Protected Member Functions

                  void free_internal () noexcept override
                  in

                  Detailed Description

                  SID wrapper class.

                  +
                  See also
                  GetAddrInfoW function

                  Constructor & Destructor Documentation

                  ◆ ~waddrinfo()

                  @@ -232,27 +215,6 @@ static const PADDRINFOW in

                  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()

                  @@ -281,24 +243,6 @@ static const PADDRINFOW in

                  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:
                    @@ -307,7 +251,7 @@ static const PADDRINFOW in diff --git a/classwinstd_1_1win__handle-members.html b/classwinstd_1_1win__handle-members.html index 72a80543..5594d5c5 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 6a3dc6ec..47208bce 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 bd87c936..8712901a 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 2c34164c..1ddaaf39 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 d55c26a9..7023c8f5 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 44e66f9e..f0004f16 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 6fac39dd..b4b098bc 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 248b5107..0e0956aa 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 aa8b75b2..b797cd5e 100644 --- a/classwinstd_1_1wlan__handle-members.html +++ b/classwinstd_1_1wlan__handle-members.html @@ -73,22 +73,16 @@ $(function() {

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

                    - - - - - - + + - - - - + + @@ -106,7 +100,7 @@ $(function() {
                    __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
                    attach(handle_type h) noexceptwinstd::handle< HANDLE, NULL >inline
                    detach()winstd::handle< HANDLE, NULL >inline
                    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 >
                    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
                    invalidwinstd::handle< HANDLE, NULL >static
                    m_hwinstd::handle< HANDLE, NULL >protected
                    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_1wlan__handle.html b/classwinstd_1_1wlan__handle.html index 053cabe5..ea5d56a4 100644 --- a/classwinstd_1_1wlan__handle.html +++ b/classwinstd_1_1wlan__handle.html @@ -69,7 +69,6 @@ $(function() {
                    winstd::wlan_handle Class Reference
                    @@ -95,12 +94,6 @@ Public Member Functions virtual ~wlan_handle ()  Closes 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 @@ -162,19 +155,6 @@ void free ()  Destroys the object.
                      - - - - - - - - - -

                    -Public Attributes

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

                    Protected Member Functions

                    void free_internal () noexcept override
                    invali

                    Detailed Description

                    WLAN handle wrapper.

                    +
                    See also
                    WlanOpenHandle function

                    Constructor & Destructor Documentation

                    ◆ ~wlan_handle()

                    @@ -234,32 +215,6 @@ static const HANDLE 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()

                    @@ -288,40 +243,6 @@ static const HANDLE invali

                    Implements winstd::handle< HANDLE, NULL >.

                    - - -

                    Member Data Documentation

                    - -

                    ◆ else

                    - -
                    -
                    - - - - -
                    winstd::wlan_handle::else
                    -
                    -Initial value:
                    {
                    -
                    SetLastError(dwResult)
                    -
                    -
                    -
                    - -

                    ◆ noexcept

                    - -
                    -
                    - - - - -
                    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:
                      @@ -330,7 +251,7 @@ static const HANDLE invali diff --git a/classwinstd_1_1ws2__runtime__error-members.html b/classwinstd_1_1ws2__runtime__error-members.html index cd7af35d..cd0243ed 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 2d4e2a1e..b8382520 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 060d0557..4fc99618 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 5c0c7bd1..9b26d2de 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 41a9793c..7cf12daa 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 95ffaf15..aa46e93c 100644 --- a/dir_d44c64559bbebec7f509842c48db8b23.html +++ b/dir_d44c64559bbebec7f509842c48db8b23.html @@ -79,7 +79,7 @@ Directories diff --git a/files.html b/files.html index 72cebec8..c857d522 100644 --- a/files.html +++ b/files.html @@ -90,7 +90,7 @@ $(function() { diff --git a/functions.html b/functions.html index 3ede2a82..49533e2d 100644 --- a/functions.html +++ b/functions.html @@ -66,14 +66,13 @@ $(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 44f9aa4e..9a9806e2 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 c8e9b2e2..c071fc3f 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 cb8ec018..6494e541 100644 --- a/functions_c.html +++ b/functions_c.html @@ -68,11 +68,12 @@ $(function() {

                      - c -

                      diff --git a/functions_e.html b/functions_e.html index bc7c9eae..b5cf4e63 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 6fd6665c..190f6cec 100644 --- a/functions_f.html +++ b/functions_f.html @@ -67,12 +67,12 @@ $(function() {

                      - f -

                      diff --git a/functions_func.html b/functions_func.html index edc5f801..2a2cece7 100644 --- a/functions_func.html +++ b/functions_func.html @@ -65,13 +65,18 @@ $(function() { diff --git a/functions_func_b.html b/functions_func_b.html index 9aa441f0..200ce7e7 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 f0613e7d..c775d1f3 100644 --- a/functions_func_c.html +++ b/functions_func_c.html @@ -68,6 +68,7 @@ $(function() {

                      - c -

                      diff --git a/functions_func_e.html b/functions_func_e.html index 850bff61..3bcbf92c 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 03059748..c3901669 100644 --- a/functions_func_f.html +++ b/functions_func_f.html @@ -67,12 +67,12 @@ $(function() {

                      - f -

                      diff --git a/functions_func_h.html b/functions_func_h.html index 24c5f3fd..4a446f9d 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 830d0a37..5d0c9dab 100644 --- a/functions_func_i.html +++ b/functions_func_i.html @@ -71,7 +71,7 @@ $(function() { diff --git a/functions_func_l.html b/functions_func_l.html index f749207e..6e7556d5 100644 --- a/functions_func_l.html +++ b/functions_func_l.html @@ -72,7 +72,7 @@ $(function() { diff --git a/functions_func_m.html b/functions_func_m.html index 00cbc68c..7972491b 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 d05b3430..4f31a8ac 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 a69456b0..b1c7e8b5 100644 --- a/functions_func_o.html +++ b/functions_func_o.html @@ -87,7 +87,7 @@ $(function() { diff --git a/functions_func_p.html b/functions_func_p.html index ed738afe..19323dd8 100644 --- a/functions_func_p.html +++ b/functions_func_p.html @@ -72,7 +72,7 @@ $(function() { diff --git a/functions_func_a.html b/functions_func_q.html similarity index 68% rename from functions_func_a.html rename to functions_func_q.html index e04a7973..93ca22d1 100644 --- a/functions_func_a.html +++ b/functions_func_q.html @@ -65,18 +65,13 @@ $(function() {
                        -

                      - a -

                      diff --git a/functions_func_r.html b/functions_func_r.html index 2bd22e82..451926ba 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 fa01c4fc..b5441827 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 7f22d640..a08856c2 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 815a0681..714d9e2e 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 54381174..b35a5368 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 2dca7fbd..c8b8f3bc 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 b89f10a4..d65e19bd 100644 --- a/functions_func_~.html +++ b/functions_func_~.html @@ -73,6 +73,7 @@ $(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
                    • @@ -118,7 +119,7 @@ $(function() { diff --git a/functions_h.html b/functions_h.html index 98d54bda..b72b10b1 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 013d627e..adb40452 100644 --- a/functions_i.html +++ b/functions_i.html @@ -72,7 +72,7 @@ $(function() { diff --git a/functions_l.html b/functions_l.html index 5373119c..eb94b161 100644 --- a/functions_l.html +++ b/functions_l.html @@ -72,7 +72,7 @@ $(function() { diff --git a/functions_m.html b/functions_m.html index b367389a..4cfa11d6 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 7d5be333..effe5628 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 e8bde039..7bc1ebde 100644 --- a/functions_o.html +++ b/functions_o.html @@ -88,7 +88,7 @@ $(function() { diff --git a/functions_p.html b/functions_p.html index 5213c218..42c115a0 100644 --- a/functions_p.html +++ b/functions_p.html @@ -73,7 +73,7 @@ $(function() { diff --git a/functions_q.html b/functions_q.html new file mode 100644 index 00000000..c6fc3b58 --- /dev/null +++ b/functions_q.html @@ -0,0 +1,77 @@ + + + + + + + +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 bd66a299..ebb4d277 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 f6baac79..e75b2db6 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 0b645edd..b5d1e3a4 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 5caaddb3..68dd1175 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 e670d428..13d8a4a8 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 9f176c3e..0fe36e8a 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 47b1241c..64ea8490 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 fa16cc97..b1232d7f 100644 --- a/functions_w.html +++ b/functions_w.html @@ -77,7 +77,7 @@ $(function() { diff --git a/functions_~.html b/functions_~.html index 617aceee..42bb0a6c 100644 --- a/functions_~.html +++ b/functions_~.html @@ -73,6 +73,7 @@ $(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
                    • @@ -118,7 +119,7 @@ $(function() { diff --git a/group___setup_a_p_i.html b/group___setup_a_p_i.html index d1978366..e412d6e6 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 cbfe8a0d..d6bef603 100644 --- a/group___win_sock2_a_p_i.html +++ b/group___win_sock2_a_p_i.html @@ -97,7 +97,7 @@ typedef addrinfo  diff --git a/group___win_std_c_o_m.html b/group___win_std_c_o_m.html index c00dbdc1..1ad004f1 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 53207dc7..34a0af6b 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 42de9966..ec79b866 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 133e3020..70240a54 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 9be743a1..3d5d18b6 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 90c9d8f2..478e9503 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 fa725520..a4c91e0e 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 34f1cbdf..a2aff2ab 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 8ee6fa62..fbfe42f1 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 0c48bead..7bab18f2 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 dccfc35d..61dcadbd 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 2af920c6..b400dc2f 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 a13407c1..51b5480f 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 c58f2f9f..7bb7e0c7 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 c390acdc..276ffb86 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 49f96d97..a38e5af9 100644 --- a/group___win_std_win_a_p_i.html +++ b/group___win_std_win_a_p_i.html @@ -82,24 +82,12 @@ Classes class  winstd::library  Module handle wrapper. More...
                        -class  winstd::process - Process handle wrapper. More...
                      -  -class  winstd::file - File handle wrapper. More...
                      -  -class  winstd::file_mapping - File mapping. More...
                      -  struct  winstd::UnmapViewOfFile_delete< _Ty >  Deleter for unique_ptr using UnmapViewOfFile. More...
                        struct  winstd::UnmapViewOfFile_delete< _Ty[]>  Deleter for unique_ptr to array of unknown size using UnmapViewOfFile. More...
                        -class  winstd::event - Event handle wrapper. More...
                      -  class  winstd::critical_section  Critical section wrapper. More...
                        @@ -125,7 +113,7 @@ Classes  Memory in virtual address space of a process handle wrapper. More...
                        class  winstd::reg_key - Registry wrapper class. More...
                      + Registry key wrapper class. More...
                        class  winstd::security_id  SID wrapper class. More...
                      @@ -139,9 +127,6 @@ Classes - - - @@ -151,12 +136,24 @@ Macros

                      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...
                       
                      + + + + + + + + + + + +

                      Typedefs

                      typedef win_handle< NULL > winstd::process
                       Process handle wrapper. More...
                       
                      typedef win_handle< NULL > winstd::thread
                       Thread handle wrapper. More...
                       
                      typedef win_handle< INVALID_HANDLE_VALUE > winstd::process_snapshot
                       Process snapshot handle wrapper. More...
                       
                      typedef win_handle< INVALID_HANDLE_VALUE > winstd::file
                       File handle wrapper. More...
                       
                      typedef win_handle< NULL > winstd::file_mapping
                       File mapping. More...
                       
                      typedef win_handle< NULL > winstd::event
                       Event handle wrapper. More...
                       

                      Detailed Description

                      Integrates WinStd classes with Microsoft Windows API.

                      @@ -213,44 +210,77 @@ Typedefs - -

                      ◆ WINSTD_WINHANDLE_IMPL

                      +

                      Typedef Documentation

                      + +

                      ◆ event

                      - - - - - - - - - - - - - - - +
                      #define WINSTD_WINHANDLE_IMPL( C,
                       INVAL 
                      )typedef win_handle<NULL> winstd::event
                      -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.

                      + +

                      Event handle wrapper.

                      +
                      See also
                      CreateEventW function
                      +
                      +OpenEventW function
                      + +
                      +
                      + +

                      ◆ file

                      + +
                      +
                      + + + + +
                      typedef win_handle<INVALID_HANDLE_VALUE> winstd::file
                      +
                      + +

                      File handle wrapper.

                      +
                      See also
                      CreateFile function
                      + +
                      +
                      + +

                      ◆ file_mapping

                      + +
                      +
                      + + + + +
                      typedef win_handle<NULL> winstd::file_mapping
                      +
                      + +

                      File mapping.

                      +
                      See also
                      CreateFileMapping function
                      + +
                      +
                      + +

                      ◆ process

                      + +
                      +
                      + + + + +
                      typedef win_handle<NULL> winstd::process
                      +
                      + +

                      Process handle wrapper.

                      +
                      See also
                      OpenProcess function
                      -

                      Typedef Documentation

                      ◆ process_snapshot

                      @@ -288,7 +318,7 @@ Typedefs diff --git a/group___win_trust_a_p_i.html b/group___win_trust_a_p_i.html index 90d952d0..04ab7a0a 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 1ba68746..6e92801f 100644 --- a/hierarchy.html +++ b/hierarchy.html @@ -114,13 +114,7 @@ $(function() {  Cwinstd::dplhandle< EapPacket *, NULL >  Cwinstd::eap_packetEapPacket wrapper class  Cwinstd::handle< HANDLE, INVALID > - Cwinstd::win_handle< NULL > - Cwinstd::eventEvent handle wrapper - Cwinstd::file_mappingFile mapping - Cwinstd::processProcess handle wrapper - Cwinstd::win_handle< INVALID_HANDLE_VALUE > - Cwinstd::fileFile handle wrapper - Cwinstd::win_handle< INVALID >Windows HANDLE wrapper class + Cwinstd::win_handle< INVALID >Windows HANDLE wrapper class  Cwinstd::handle< HANDLE, INVALID_HANDLE_VALUE >  Cwinstd::find_fileFind-file handle wrapper  Cwinstd::handle< HANDLE, NULL > @@ -143,7 +137,7 @@ $(function() {  Cwinstd::handle< HDEVINFO, INVALID_HANDLE_VALUE >  Cwinstd::setup_device_info_listHDEVINFO wrapper class  Cwinstd::handle< HKEY, NULL > - Cwinstd::reg_keyRegistry wrapper class + Cwinstd::reg_keyRegistry key wrapper class  Cwinstd::handle< HMODULE, NULL >  Cwinstd::libraryModule handle wrapper  Cwinstd::handle< LPVOID, NULL > @@ -212,7 +206,7 @@ $(function() { diff --git a/index.html b/index.html index e1366efe..86421948 100644 --- a/index.html +++ b/index.html @@ -134,7 +134,7 @@ Usage diff --git a/menudata.js b/menudata.js index 06c6c2ff..23cdb6d8 100644 --- a/menudata.js +++ b/menudata.js @@ -45,6 +45,7 @@ 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"}, @@ -53,8 +54,7 @@ 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:"_",url:"functions_func.html#index__5F"}, -{text:"a",url:"functions_func_a.html#index_a"}, +{text:"a",url:"functions_func.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"}, @@ -67,6 +67,7 @@ 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 3b2367df..86948493 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 3ad2d226..43663505 100644 --- a/search/all_0.js +++ b/search/all_0.js @@ -1,12 +1,11 @@ var searchData= [ - ['_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']]] + ['_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']]] ]; diff --git a/search/all_10.js b/search/all_10.js index e28554ba..89d72eed 100644 --- a/search/all_10.js +++ b/search/all_10.js @@ -1,32 +1,13 @@ 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,'']]] + ['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/all_11.js b/search/all_11.js index 3471b568..e28554ba 100644 --- a/search/all_11.js +++ b/search/all_11.js @@ -1,12 +1,32 @@ var searchData= [ - ['taddrinfo_0',['taddrinfo',['../group___win_sock2_a_p_i.html#ga73a783d5ebf3d1af2a565cb78062b5b6',1,'winstd']]], - ['thread_1',['thread',['../group___win_std_win_a_p_i.html#gaff5d7416024ba7489a7631c310e15aab',1,'winstd']]], - ['tls_2',['tls',['../group___win_std_e_a_p_a_p_i.html#gga50f5584ca708165f43cec42c42243315aa60aeea3d4cdbb5049fc37164644bb34',1,'winstd']]], - ['tstring_3',['tstring',['../group___win_std_general.html#ga8081292a94f5d070e644bdc90662d1fc',1,'winstd']]], - ['tstring_5fguid_4',['tstring_guid',['../group___win_std_str_format.html#ga4c44b6a587f894ee33bb58a10ba27d6b',1,'winstd']]], - ['tstring_5fmsg_5',['tstring_msg',['../group___win_std_str_format.html#gaf47f07aac0b4c8ef47cf42216ab17f1b',1,'winstd']]], - ['tstring_5fprintf_6',['tstring_printf',['../group___win_std_str_format.html#gab805ccda115191833fb01ba4457f208a',1,'winstd']]], - ['ttls_7',['ttls',['../group___win_std_e_a_p_a_p_i.html#gga50f5584ca708165f43cec42c42243315accd905a8bbc449980aa7f26fcbd206e2',1,'winstd']]], - ['type_8',['type',['../classwinstd_1_1eap__runtime__error.html#a0562abef7454f9a6f97902d4260b7f50',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_12.js b/search/all_12.js index 16252e42..3471b568 100644 --- a/search/all_12.js +++ b/search/all_12.js @@ -1,7 +1,12 @@ 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']]] + ['taddrinfo_0',['taddrinfo',['../group___win_sock2_a_p_i.html#ga73a783d5ebf3d1af2a565cb78062b5b6',1,'winstd']]], + ['thread_1',['thread',['../group___win_std_win_a_p_i.html#gaff5d7416024ba7489a7631c310e15aab',1,'winstd']]], + ['tls_2',['tls',['../group___win_std_e_a_p_a_p_i.html#gga50f5584ca708165f43cec42c42243315aa60aeea3d4cdbb5049fc37164644bb34',1,'winstd']]], + ['tstring_3',['tstring',['../group___win_std_general.html#ga8081292a94f5d070e644bdc90662d1fc',1,'winstd']]], + ['tstring_5fguid_4',['tstring_guid',['../group___win_std_str_format.html#ga4c44b6a587f894ee33bb58a10ba27d6b',1,'winstd']]], + ['tstring_5fmsg_5',['tstring_msg',['../group___win_std_str_format.html#gaf47f07aac0b4c8ef47cf42216ab17f1b',1,'winstd']]], + ['tstring_5fprintf_6',['tstring_printf',['../group___win_std_str_format.html#gab805ccda115191833fb01ba4457f208a',1,'winstd']]], + ['ttls_7',['ttls',['../group___win_std_e_a_p_a_p_i.html#gga50f5584ca708165f43cec42c42243315accd905a8bbc449980aa7f26fcbd206e2',1,'winstd']]], + ['type_8',['type',['../classwinstd_1_1eap__runtime__error.html#a0562abef7454f9a6f97902d4260b7f50',1,'winstd::eap_runtime_error']]] ]; diff --git a/search/all_13.js b/search/all_13.js index 181207e4..16252e42 100644 --- a/search/all_13.js +++ b/search/all_13.js @@ -1,6 +1,7 @@ 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']]] + ['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_14.js b/search/all_14.js index f70edeec..181207e4 100644 --- a/search/all_14.js +++ b/search/all_14.js @@ -1,31 +1,6 @@ var searchData= [ - ['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']]] + ['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_15.js b/search/all_15.js index 575179da..f26cd1f5 100644 --- a/search/all_15.js +++ b/search/all_15.js @@ -1,51 +1,28 @@ 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']]], - ['_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']]] + ['waddrinfo_0',['waddrinfo',['../classwinstd_1_1waddrinfo.html',1,'winstd']]], + ['win_5fhandle_1',['win_handle',['../classwinstd_1_1win__handle.html',1,'winstd']]], + ['win_5fruntime_5ferror_2',['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_3',['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_4',['Windows API',['../group___win_std_win_a_p_i.html',1,'']]], + ['winsock2_20api_5',['WinSock2 API',['../group___win_sock2_a_p_i.html',1,'']]], + ['winstd_6',['WinStd',['../index.html',1,'']]], + ['winstd_5fdplhandle_5fimpl_7',['WINSTD_DPLHANDLE_IMPL',['../group___win_std_sys_handles.html#ga2768b80bcf124e3127f0b7fe64395adb',1,'Common.h']]], + ['winstd_5fhandle_5fimpl_8',['WINSTD_HANDLE_IMPL',['../group___win_std_sys_handles.html#ga419efffd12b5c96abc8a275ba375ca60',1,'Common.h']]], + ['winstd_5fnoncopyable_9',['WINSTD_NONCOPYABLE',['../group___win_std_general.html#ga11254c72ad33a6e0f5de31db708f784c',1,'Common.h']]], + ['winstd_5fnonmovable_10',['WINSTD_NONMOVABLE',['../group___win_std_general.html#gac91fa8d79c860b1fdbba65b6a322f760',1,'Common.h']]], + ['winstd_5fstack_5fbuffer_5fbytes_11',['WINSTD_STACK_BUFFER_BYTES',['../group___win_std_general.html#ga3ca39107a61bbcd05f901898ec584986',1,'Common.h']]], + ['winstd_5fstring_12',['WINSTD_STRING',['../group___win_std_general.html#gac2a4fa0600886ba34fd4f7d2116d35da',1,'Common.h']]], + ['winstd_5fstring_5fimpl_13',['WINSTD_STRING_IMPL',['../group___win_std_general.html#ga4a46b36a9276ea0451d0790e51c7621f',1,'Common.h']]], + ['wintrust_14',['wintrust',['../classwinstd_1_1wintrust.html',1,'winstd::wintrust'],['../classwinstd_1_1wintrust.html#a5f01f7952ccb4e4f6b3b52968470e49b',1,'winstd::wintrust::wintrust()']]], + ['wintrust_20api_15',['WinTrust API',['../group___win_trust_a_p_i.html',1,'']]], + ['wlan_20api_16',['WLAN API',['../group___win_std_w_l_a_n_a_p_i.html',1,'']]], + ['wlan_5fhandle_17',['wlan_handle',['../classwinstd_1_1wlan__handle.html',1,'winstd']]], + ['wlanfreememory_5fdelete_18',['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_19',['WlanFreeMemory_delete< _Ty[]>',['../structwinstd_1_1_wlan_free_memory__delete_3_01___ty_0f_0e_4.html',1,'winstd']]], + ['write_20',['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_21',['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_22',['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_23',['wstring_msg',['../group___win_std_str_format.html#ga52a88ab19a1a96f778dbf7a2938bc98f',1,'winstd']]], + ['wstring_5fprintf_24',['wstring_printf',['../group___win_std_str_format.html#ga0abdccf0a03840f984b7a889fea13cac',1,'winstd']]] ]; diff --git a/search/all_16.html b/search/all_16.html new file mode 100644 index 00000000..de305d99 --- /dev/null +++ b/search/all_16.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                      +
                      Loading...
                      +
                      + +
                      Searching...
                      +
                      No Matches
                      + +
                      + + diff --git a/search/all_16.js b/search/all_16.js new file mode 100644 index 00000000..410426ab --- /dev/null +++ b/search/all_16.js @@ -0,0 +1,52 @@ +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']]], + ['_7ewaddrinfo_44',['~waddrinfo',['../classwinstd_1_1waddrinfo.html#a2b1209904bd7486acefd833ff5c4bcca',1,'winstd::waddrinfo']]], + ['_7ewin_5fhandle_45',['~win_handle',['../classwinstd_1_1win__handle.html#a6b8070a3be4dede99a1c764b7f341a36',1,'winstd::win_handle']]], + ['_7ewindow_5fdc_46',['~window_dc',['../classwinstd_1_1window__dc.html#a3fd01c5264443520462cb7cab886a79b',1,'winstd::window_dc']]], + ['_7ewintrust_47',['~wintrust',['../classwinstd_1_1wintrust.html#ac529a244b4f2f4eb85bcdf594ff723c3',1,'winstd::wintrust']]], + ['_7ewlan_5fhandle_48',['~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 dc77e1eb..484383dc 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',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']]], + ['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',1,'winstd::com_obj< T >']]], + ['com_5fruntime_5ferror_7',['com_runtime_error',['../classwinstd_1_1com__runtime__error.html#a75030cbe7acc6532140c73caf4b15ed8',1,'winstd::com_runtime_error::com_runtime_error(error_type num, const std::string &msg)'],['../classwinstd_1_1com__runtime__error.html#aa1b65214e16b18bf8b9b191abff254b7',1,'winstd::com_runtime_error::com_runtime_error(error_type num, const char *msg=nullptr)'],['../classwinstd_1_1com__runtime__error.html',1,'winstd::com_runtime_error']]], ['console_5fctrl_5fhandler_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#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_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_13',['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()']]], ['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_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_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_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 aa525f0c..d731bfcc 100644 --- a/search/all_4.js +++ b/search/all_4.js @@ -4,19 +4,20 @@ 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_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()']]] + ['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']]], + ['destroy_6',['destroy',['../classwinstd_1_1heap__allocator.html#aef179f33ca0ad99ffda16f004b146143',1,'winstd::heap_allocator']]], + ['detach_7',['detach',['../classwinstd_1_1handle.html#ad5acf6ce53e092b8d4d53f909cf321f9',1,'winstd::handle']]], + ['difference_5ftype_8',['difference_type',['../classwinstd_1_1heap__allocator.html#a4b39b8176ea30e1ceb02642c44de7b43',1,'winstd::heap_allocator']]], + ['disable_5ftrace_9',['disable_trace',['../classwinstd_1_1event__session.html#a86ff12521bc1c863ea685b8a689fd81b',1,'winstd::event_session']]], + ['dplhandle_10',['dplhandle',['../classwinstd_1_1dplhandle.html#ac1aa19e060402006d8ff8404be6b07c3',1,'winstd::dplhandle::dplhandle(dplhandle< handle_type, INVAL > &&h) noexcept'],['../classwinstd_1_1dplhandle.html#ac95cbfb481c0d5e6c60d130f3c270b59',1,'winstd::dplhandle::dplhandle() noexcept'],['../classwinstd_1_1dplhandle.html#ab1ac74d5f212fddc217d1a8190a01177',1,'winstd::dplhandle::dplhandle(handle_type h) noexcept'],['../classwinstd_1_1dplhandle.html#a726938d9b7df787204025f6c36a04507',1,'winstd::dplhandle::dplhandle(const dplhandle< handle_type, INVAL > &h) noexcept'],['../classwinstd_1_1dplhandle.html',1,'winstd::dplhandle< T, INVAL >']]], + ['dplhandle_3c_20bstr_2c_20null_20_3e_11',['dplhandle< BSTR, NULL >',['../classwinstd_1_1dplhandle.html',1,'winstd']]], + ['dplhandle_3c_20eappacket_20_2a_2c_20null_20_3e_12',['dplhandle< EapPacket *, NULL >',['../classwinstd_1_1dplhandle.html',1,'winstd']]], + ['dplhandle_3c_20hcrypthash_2c_20null_20_3e_13',['dplhandle< HCRYPTHASH, NULL >',['../classwinstd_1_1dplhandle.html',1,'winstd']]], + ['dplhandle_3c_20hcryptkey_2c_20null_20_3e_14',['dplhandle< HCRYPTKEY, NULL >',['../classwinstd_1_1dplhandle.html',1,'winstd']]], + ['dplhandle_3c_20pccert_5fchain_5fcontext_2c_20null_20_3e_15',['dplhandle< PCCERT_CHAIN_CONTEXT, NULL >',['../classwinstd_1_1dplhandle.html',1,'winstd']]], + ['dplhandle_3c_20pccert_5fcontext_2c_20null_20_3e_16',['dplhandle< PCCERT_CONTEXT, NULL >',['../classwinstd_1_1dplhandle.html',1,'winstd']]], + ['dplhandle_3c_20t_20_2a_2c_20null_20_3e_17',['dplhandle< T *, NULL >',['../classwinstd_1_1dplhandle.html',1,'winstd']]], + ['duplicate_18',['duplicate',['../classwinstd_1_1dplhandle.html#a48e66c8979560019e339867de944a265',1,'winstd::dplhandle']]], + ['duplicate_5finternal_19',['duplicate_internal',['../classwinstd_1_1com__obj.html#a1460be29bd94af55d27b5179e971b3b4',1,'winstd::com_obj::duplicate_internal()'],['../classwinstd_1_1bstr.html#a4a9986fac6bf82d8a8887a7cb80e6351',1,'winstd::bstr::duplicate_internal()'],['../classwinstd_1_1dplhandle.html#aa6ec5fd1ce258a3dd66da1cfb4d6dfb8',1,'winstd::dplhandle::duplicate_internal()'],['../classwinstd_1_1cert__context.html#a3d0ee01002ccef041ffb164151cab14b',1,'winstd::cert_context::duplicate_internal()'],['../classwinstd_1_1cert__chain__context.html#a1cded78d368c01b0513364f00be26385',1,'winstd::cert_chain_context::duplicate_internal()'],['../classwinstd_1_1crypt__hash.html#af6b7999d5e29f1caaecb5b0bde90b76e',1,'winstd::crypt_hash::duplicate_internal()'],['../classwinstd_1_1crypt__key.html#aa9983160147883cf7526e9df1889b7bf',1,'winstd::crypt_key::duplicate_internal()'],['../classwinstd_1_1eap__packet.html#a5c5bc551e5c467e814e13f6d05d17ac2',1,'winstd::eap_packet::duplicate_internal()']]] ]; diff --git a/search/all_5.js b/search/all_5.js index 40b9d2ce..89c131d6 100644 --- a/search/all_5.js +++ b/search/all_5.js @@ -19,15 +19,15 @@ var searchData= ['end_16',['end',['../group___win_std_e_a_p_a_p_i.html#gga50f5584ca708165f43cec42c42243315a7f021a1415b86f2d013b2618fb31ae53',1,'winstd']]], ['enumerate_17',['enumerate',['../classwinstd_1_1heap.html#a938dca2d614e8d33ae5add61b013847f',1,'winstd::heap']]], ['error_5ftype_18',['error_type',['../classwinstd_1_1num__runtime__error.html#a6fa2de87d0151b3ad9cac58f838852e0',1,'winstd::num_runtime_error']]], - ['event_19',['event',['../classwinstd_1_1event.html',1,'winstd']]], + ['event_19',['event',['../group___win_std_win_a_p_i.html#ga8aad78395ff021f46a34e51816038d20',1,'winstd']]], ['event_20tracing_20for_20windows_20api_20',['Event Tracing for Windows API',['../group___win_std_e_t_w_a_p_i.html',1,'']]], - ['event_5fdata_21',['event_data',['../classwinstd_1_1event__data.html#aba0a6535c84e9165b5ccdf943449e10c',1,'winstd::event_data::event_data(const unsigned long &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#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#a59b2ac8e1b681412ea0aa582b3028681',1,'winstd::event_data::event_data(const unsigned int &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',1,'winstd::event_data']]], - ['event_5ffn_5fauto_22',['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'],['../classwinstd_1_1event__fn__auto.html',1,'winstd::event_fn_auto']]], - ['event_5ffn_5fauto_5fret_23',['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)'],['../classwinstd_1_1event__fn__auto__ret.html',1,'winstd::event_fn_auto_ret< T >']]], + ['event_5fdata_21',['event_data',['../classwinstd_1_1event__data.html#acb4032673a3b2376eb0d62115bb37c4f',1,'winstd::event_data::event_data()'],['../classwinstd_1_1event__data.html#a0a53ee58077eed5bca18f146c34ced44',1,'winstd::event_data::event_data(const char &data)'],['../classwinstd_1_1event__data.html#a86447ba8727fe91c0de85b8f7835a4c1',1,'winstd::event_data::event_data(const unsigned char &data)'],['../classwinstd_1_1event__data.html#a26563233e9507adbf183291974005eaf',1,'winstd::event_data::event_data(const int &data)'],['../classwinstd_1_1event__data.html#a59b2ac8e1b681412ea0aa582b3028681',1,'winstd::event_data::event_data(const unsigned int &data)'],['../classwinstd_1_1event__data.html#aef6715d8e3e68eac7b7bbceacb3aff93',1,'winstd::event_data::event_data(const long &data)'],['../classwinstd_1_1event__data.html#aba0a6535c84e9165b5ccdf943449e10c',1,'winstd::event_data::event_data(const unsigned long &data)'],['../classwinstd_1_1event__data.html#a4d309bcda353b42ba1005b3c7b6f8dc1',1,'winstd::event_data::event_data(const GUID &data)'],['../classwinstd_1_1event__data.html#a74be98ecad61265232c0752e0e823a8e',1,'winstd::event_data::event_data(const char *data)'],['../classwinstd_1_1event__data.html#a0ac38aca75ec84f5265eb897fb3c7a7e',1,'winstd::event_data::event_data(const wchar_t *data)'],['../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#a31af4a774845ec0f7db4267f573cd422',1,'winstd::event_data::event_data(const void *data, ULONG size)'],['../classwinstd_1_1event__data.html',1,'winstd::event_data']]], + ['event_5ffn_5fauto_22',['event_fn_auto',['../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'],['../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',1,'winstd::event_fn_auto']]], + ['event_5ffn_5fauto_5fret_23',['event_fn_auto_ret',['../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)'],['../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',1,'winstd::event_fn_auto_ret< T >']]], ['event_5flog_24',['event_log',['../classwinstd_1_1event__log.html',1,'winstd']]], ['event_5fprovider_25',['event_provider',['../classwinstd_1_1event__provider.html',1,'winstd']]], ['event_5frec_26',['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'],['../classwinstd_1_1event__rec.html',1,'winstd::event_rec']]], - ['event_5fsession_27',['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'],['../classwinstd_1_1event__session.html',1,'winstd::event_session']]], + ['event_5fsession_27',['event_session',['../classwinstd_1_1event__session.html#a14581a7203ad6d89bf69903093cfe83c',1,'winstd::event_session::event_session(event_session &&other) noexcept'],['../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#a24a43016accd86270c6a2ca6cf4934de',1,'winstd::event_session::event_session()'],['../classwinstd_1_1event__session.html',1,'winstd::event_session']]], ['event_5ftrace_28',['event_trace',['../classwinstd_1_1event__trace.html',1,'winstd']]], ['event_5ftrace_5fenabler_29',['event_trace_enabler',['../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)'],['../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',1,'winstd::event_trace_enabler']]], ['exceptions_30',['Exceptions',['../group___win_std_exceptions.html',1,'']]], diff --git a/search/all_6.js b/search/all_6.js index 4b00d1b9..e8e879dc 100644 --- a/search/all_6.js +++ b/search/all_6.js @@ -1,8 +1,8 @@ var searchData= [ - ['file_0',['file',['../classwinstd_1_1file.html',1,'winstd']]], - ['file_5fmapping_1',['file_mapping',['../classwinstd_1_1file__mapping.html',1,'winstd']]], + ['file_0',['file',['../group___win_std_win_a_p_i.html#ga1778bfb00ccb4f2d86f3bb6d660c1c9b',1,'winstd']]], + ['file_5fmapping_1',['file_mapping',['../group___win_std_win_a_p_i.html#gaaff19b3c25870c8fb66c2d43833875f0',1,'winstd']]], ['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()']]] + ['free_5finternal_4',['free_internal',['../classwinstd_1_1sec__context.html#afe8682a77fe50e5818ee6c4c741f36d9',1,'winstd::sec_context::free_internal()'],['../classwinstd_1_1com__obj.html#a028b86f770253f74a62ca3eaebb14de5',1,'winstd::com_obj::free_internal()'],['../classwinstd_1_1bstr.html#a87edcb348af7d69ad86709e32b519870',1,'winstd::bstr::free_internal()'],['../classwinstd_1_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_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_1handle.html#a137560600851eb4c3e4b80e25d4da629',1,'winstd::handle::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()']]] ]; diff --git a/search/all_e.js b/search/all_e.js index 1a896b18..ad004d8a 100644 --- a/search/all_e.js +++ b/search/all_e.js @@ -4,7 +4,7 @@ var searchData= ['pointer_1',['pointer',['../classwinstd_1_1heap__allocator.html#ae04bc3ff970d32e6a2967072efdb06cd',1,'winstd::heap_allocator']]], ['printf_5flpolestr_2',['PRINTF_LPOLESTR',['../group___win_std_str_format.html#ga1bb2b564655d7b0dee3ec63a0fda2eb5',1,'Common.h']]], ['printf_5flptstr_3',['PRINTF_LPTSTR',['../group___win_std_str_format.html#ga145b6285cc6fced0a7a61c4368b0bf12',1,'Common.h']]], - ['process_4',['process',['../classwinstd_1_1sec__context.html#a07d7c85d0db22a2b7ababdac632b3c54',1,'winstd::sec_context::process()'],['../classwinstd_1_1process.html',1,'winstd::process']]], + ['process_4',['process',['../classwinstd_1_1sec__context.html#a07d7c85d0db22a2b7ababdac632b3c54',1,'winstd::sec_context::process()'],['../group___win_std_win_a_p_i.html#gac5db2a322de45a52343ca98bbec302df',1,'winstd::process()']]], ['process_5finformation_5',['process_information',['../classwinstd_1_1process__information.html#a8b66efb1e5c75ac7aef0ea02b9f9fd39',1,'winstd::process_information::process_information()'],['../classwinstd_1_1process__information.html',1,'winstd::process_information']]], ['process_5fsnapshot_6',['process_snapshot',['../group___win_std_win_a_p_i.html#ga59cd7dece6bf5649013f07c929547e80',1,'winstd']]] ]; diff --git a/search/all_f.js b/search/all_f.js index 89d72eed..b80f4d6e 100644 --- a/search/all_f.js +++ b/search/all_f.js @@ -1,13 +1,4 @@ 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']]] + ['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']]] ]; diff --git a/search/classes_4.js b/search/classes_4.js index 0b37964d..3b7a4362 100644 --- a/search/classes_4.js +++ b/search/classes_4.js @@ -9,14 +9,13 @@ var searchData= ['eaphostpeerfreeerrormemory_5fdelete_6',['EapHostPeerFreeErrorMemory_delete',['../structwinstd_1_1_eap_host_peer_free_error_memory__delete.html',1,'winstd']]], ['eaphostpeerfreememory_5fdelete_7',['EapHostPeerFreeMemory_delete',['../structwinstd_1_1_eap_host_peer_free_memory__delete.html',1,'winstd']]], ['eaphostpeerfreeruntimememory_5fdelete_8',['EapHostPeerFreeRuntimeMemory_delete',['../structwinstd_1_1_eap_host_peer_free_runtime_memory__delete.html',1,'winstd']]], - ['event_9',['event',['../classwinstd_1_1event.html',1,'winstd']]], - ['event_5fdata_10',['event_data',['../classwinstd_1_1event__data.html',1,'winstd']]], - ['event_5ffn_5fauto_11',['event_fn_auto',['../classwinstd_1_1event__fn__auto.html',1,'winstd']]], - ['event_5ffn_5fauto_5fret_12',['event_fn_auto_ret',['../classwinstd_1_1event__fn__auto__ret.html',1,'winstd']]], - ['event_5flog_13',['event_log',['../classwinstd_1_1event__log.html',1,'winstd']]], - ['event_5fprovider_14',['event_provider',['../classwinstd_1_1event__provider.html',1,'winstd']]], - ['event_5frec_15',['event_rec',['../classwinstd_1_1event__rec.html',1,'winstd']]], - ['event_5fsession_16',['event_session',['../classwinstd_1_1event__session.html',1,'winstd']]], - ['event_5ftrace_17',['event_trace',['../classwinstd_1_1event__trace.html',1,'winstd']]], - ['event_5ftrace_5fenabler_18',['event_trace_enabler',['../classwinstd_1_1event__trace__enabler.html',1,'winstd']]] + ['event_5fdata_9',['event_data',['../classwinstd_1_1event__data.html',1,'winstd']]], + ['event_5ffn_5fauto_10',['event_fn_auto',['../classwinstd_1_1event__fn__auto.html',1,'winstd']]], + ['event_5ffn_5fauto_5fret_11',['event_fn_auto_ret',['../classwinstd_1_1event__fn__auto__ret.html',1,'winstd']]], + ['event_5flog_12',['event_log',['../classwinstd_1_1event__log.html',1,'winstd']]], + ['event_5fprovider_13',['event_provider',['../classwinstd_1_1event__provider.html',1,'winstd']]], + ['event_5frec_14',['event_rec',['../classwinstd_1_1event__rec.html',1,'winstd']]], + ['event_5fsession_15',['event_session',['../classwinstd_1_1event__session.html',1,'winstd']]], + ['event_5ftrace_16',['event_trace',['../classwinstd_1_1event__trace.html',1,'winstd']]], + ['event_5ftrace_5fenabler_17',['event_trace_enabler',['../classwinstd_1_1event__trace__enabler.html',1,'winstd']]] ]; diff --git a/search/classes_5.js b/search/classes_5.js index 042eb4e1..4c9895b9 100644 --- a/search/classes_5.js +++ b/search/classes_5.js @@ -1,6 +1,4 @@ var searchData= [ - ['file_0',['file',['../classwinstd_1_1file.html',1,'winstd']]], - ['file_5fmapping_1',['file_mapping',['../classwinstd_1_1file__mapping.html',1,'winstd']]], - ['find_5ffile_2',['find_file',['../classwinstd_1_1find__file.html',1,'winstd']]] + ['find_5ffile_0',['find_file',['../classwinstd_1_1find__file.html',1,'winstd']]] ]; diff --git a/search/classes_a.js b/search/classes_a.js index f6f69259..3c1e65d5 100644 --- a/search/classes_a.js +++ b/search/classes_a.js @@ -1,5 +1,4 @@ var searchData= [ - ['process_0',['process',['../classwinstd_1_1process.html',1,'winstd']]], - ['process_5finformation_1',['process_information',['../classwinstd_1_1process__information.html',1,'winstd']]] + ['process_5finformation_0',['process_information',['../classwinstd_1_1process__information.html',1,'winstd']]] ]; diff --git a/search/classes_f.js b/search/classes_f.js index 0a0e7085..d3c79417 100644 --- a/search/classes_f.js +++ b/search/classes_f.js @@ -2,14 +2,12 @@ var searchData= [ ['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']]] + ['win_5fruntime_5ferror_2',['win_runtime_error',['../classwinstd_1_1win__runtime__error.html',1,'winstd']]], + ['window_5fdc_3',['window_dc',['../classwinstd_1_1window__dc.html',1,'winstd']]], + ['wintrust_4',['wintrust',['../classwinstd_1_1wintrust.html',1,'winstd']]], + ['wlan_5fhandle_5',['wlan_handle',['../classwinstd_1_1wlan__handle.html',1,'winstd']]], + ['wlanfreememory_5fdelete_6',['WlanFreeMemory_delete',['../structwinstd_1_1_wlan_free_memory__delete.html',1,'winstd']]], + ['wlanfreememory_5fdelete_3c_20_5fty_5b_5d_3e_7',['WlanFreeMemory_delete< _Ty[]>',['../structwinstd_1_1_wlan_free_memory__delete_3_01___ty_0f_0e_4.html',1,'winstd']]], + ['ws2_5fruntime_5ferror_8',['ws2_runtime_error',['../classwinstd_1_1ws2__runtime__error.html',1,'winstd']]], + ['wstring_5fguid_9',['wstring_guid',['../classwinstd_1_1wstring__guid.html',1,'winstd']]] ]; diff --git a/search/functions_0.js b/search/functions_0.js index 4688943c..ead10693 100644 --- a/search/functions_0.js +++ b/search/functions_0.js @@ -1,4 +1,9 @@ var searchData= [ - ['_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()']]] + ['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_1.js b/search/functions_1.js index ead10693..7ba7b84e 100644 --- a/search/functions_1.js +++ b/search/functions_1.js @@ -1,9 +1,7 @@ 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']]] + ['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_15.js b/search/functions_15.js index 575179da..410426ab 100644 --- a/search/functions_15.js +++ b/search/functions_15.js @@ -7,45 +7,46 @@ 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']]], - ['_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']]] + ['_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']]], + ['_7ewaddrinfo_44',['~waddrinfo',['../classwinstd_1_1waddrinfo.html#a2b1209904bd7486acefd833ff5c4bcca',1,'winstd::waddrinfo']]], + ['_7ewin_5fhandle_45',['~win_handle',['../classwinstd_1_1win__handle.html#a6b8070a3be4dede99a1c764b7f341a36',1,'winstd::win_handle']]], + ['_7ewindow_5fdc_46',['~window_dc',['../classwinstd_1_1window__dc.html#a3fd01c5264443520462cb7cab886a79b',1,'winstd::window_dc']]], + ['_7ewintrust_47',['~wintrust',['../classwinstd_1_1wintrust.html#ac529a244b4f2f4eb85bcdf594ff723c3',1,'winstd::wintrust']]], + ['_7ewlan_5fhandle_48',['~wlan_handle',['../classwinstd_1_1wlan__handle.html#a57e97a572a121f6e28673e6d84493de9',1,'winstd::wlan_handle']]] ]; diff --git a/search/functions_2.js b/search/functions_2.js index 7ba7b84e..86974b72 100644 --- a/search/functions_2.js +++ b/search/functions_2.js @@ -1,7 +1,15 @@ 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']]] + ['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#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#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_6',['CoTaskMemFree_delete',['../structwinstd_1_1_co_task_mem_free__delete.html#a712d2e91abc99bebe8cf8d32ac649326',1,'winstd::CoTaskMemFree_delete']]], + ['create_7',['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_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']]] ]; diff --git a/search/functions_3.js b/search/functions_3.js index b5ad9b83..b89461cc 100644 --- a/search/functions_3.js +++ b/search/functions_3.js @@ -1,14 +1,14 @@ 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_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']]] + ['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']]], + ['destroy_5',['destroy',['../classwinstd_1_1heap__allocator.html#aef179f33ca0ad99ffda16f004b146143',1,'winstd::heap_allocator']]], + ['detach_6',['detach',['../classwinstd_1_1handle.html#ad5acf6ce53e092b8d4d53f909cf321f9',1,'winstd::handle']]], + ['disable_5ftrace_7',['disable_trace',['../classwinstd_1_1event__session.html#a86ff12521bc1c863ea685b8a689fd81b',1,'winstd::event_session']]], + ['dplhandle_8',['dplhandle',['../classwinstd_1_1dplhandle.html#ac95cbfb481c0d5e6c60d130f3c270b59',1,'winstd::dplhandle::dplhandle() noexcept'],['../classwinstd_1_1dplhandle.html#ac1aa19e060402006d8ff8404be6b07c3',1,'winstd::dplhandle::dplhandle(dplhandle< handle_type, INVAL > &&h) noexcept'],['../classwinstd_1_1dplhandle.html#a726938d9b7df787204025f6c36a04507',1,'winstd::dplhandle::dplhandle(const dplhandle< handle_type, INVAL > &h) noexcept'],['../classwinstd_1_1dplhandle.html#ab1ac74d5f212fddc217d1a8190a01177',1,'winstd::dplhandle::dplhandle(handle_type h) noexcept']]], + ['duplicate_9',['duplicate',['../classwinstd_1_1dplhandle.html#a48e66c8979560019e339867de944a265',1,'winstd::dplhandle']]], + ['duplicate_5finternal_10',['duplicate_internal',['../classwinstd_1_1com__obj.html#a1460be29bd94af55d27b5179e971b3b4',1,'winstd::com_obj::duplicate_internal()'],['../classwinstd_1_1bstr.html#a4a9986fac6bf82d8a8887a7cb80e6351',1,'winstd::bstr::duplicate_internal()'],['../classwinstd_1_1dplhandle.html#aa6ec5fd1ce258a3dd66da1cfb4d6dfb8',1,'winstd::dplhandle::duplicate_internal()'],['../classwinstd_1_1cert__context.html#a3d0ee01002ccef041ffb164151cab14b',1,'winstd::cert_context::duplicate_internal()'],['../classwinstd_1_1cert__chain__context.html#a1cded78d368c01b0513364f00be26385',1,'winstd::cert_chain_context::duplicate_internal()'],['../classwinstd_1_1crypt__hash.html#af6b7999d5e29f1caaecb5b0bde90b76e',1,'winstd::crypt_hash::duplicate_internal()'],['../classwinstd_1_1crypt__key.html#aa9983160147883cf7526e9df1889b7bf',1,'winstd::crypt_key::duplicate_internal()'],['../classwinstd_1_1eap__packet.html#a5c5bc551e5c467e814e13f6d05d17ac2',1,'winstd::eap_packet::duplicate_internal()']]] ]; diff --git a/search/functions_4.js b/search/functions_4.js index e9670848..63f1e7f5 100644 --- a/search/functions_4.js +++ b/search/functions_4.js @@ -1,13 +1,20 @@ 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(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()']]] + ['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_5.js b/search/functions_5.js index 63f1e7f5..d5dc858c 100644 --- a/search/functions_5.js +++ b/search/functions_5.js @@ -1,20 +1,5 @@ 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)']]] + ['free_0',['free',['../classwinstd_1_1handle.html#a706aaab7691a472c608890f8e5dd0d96',1,'winstd::handle']]], + ['free_5finternal_1',['free_internal',['../classwinstd_1_1dc.html#ad3dc9d48645022e7a1adcdb9ea01a557',1,'winstd::dc::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_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_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()']]] ]; diff --git a/search/functions_6.js b/search/functions_6.js index f9ea70fe..11b96c3a 100644 --- a/search/functions_6.js +++ b/search/functions_6.js @@ -1,5 +1,4 @@ var searchData= [ - ['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()']]] + ['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_7.js b/search/functions_7.js index 11b96c3a..bbef7052 100644 --- a/search/functions_7.js +++ b/search/functions_7.js @@ -1,4 +1,6 @@ var searchData= [ - ['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']]] + ['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_8.js b/search/functions_8.js index bbef7052..36044ce9 100644 --- a/search/functions_8.js +++ b/search/functions_8.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']]] + ['initialize_0',['initialize',['../classwinstd_1_1sec__context.html#a7cc49346bd63d78928e65b11b21b6e21',1,'winstd::sec_context']]] ]; diff --git a/search/functions_9.js b/search/functions_9.js index 36044ce9..1280a7bc 100644 --- a/search/functions_9.js +++ b/search/functions_9.js @@ -1,4 +1,5 @@ var searchData= [ - ['initialize_0',['initialize',['../classwinstd_1_1sec__context.html#a7cc49346bd63d78928e65b11b21b6e21',1,'winstd::sec_context']]] + ['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_a.js b/search/functions_a.js index 1280a7bc..597424e1 100644 --- a/search/functions_a.js +++ b/search/functions_a.js @@ -1,5 +1,5 @@ var searchData= [ - ['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()']]] + ['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_b.js b/search/functions_b.js index 597424e1..56f2b510 100644 --- a/search/functions_b.js +++ b/search/functions_b.js @@ -1,5 +1,6 @@ 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()']]] + ['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_c.js b/search/functions_c.js index 56f2b510..3d6ad423 100644 --- a/search/functions_c.js +++ b/search/functions_c.js @@ -1,6 +1,20 @@ 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']]] + ['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_d.js b/search/functions_d.js index 3d6ad423..423e5b75 100644 --- a/search/functions_d.js +++ b/search/functions_d.js @@ -1,20 +1,5 @@ var searchData= [ - ['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>=()']]] + ['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/functions_e.js b/search/functions_e.js index 423e5b75..b80f4d6e 100644 --- a/search/functions_e.js +++ b/search/functions_e.js @@ -1,5 +1,4 @@ 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']]] + ['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']]] ]; diff --git a/search/searchdata.js b/search/searchdata.js index 62f91e05..afbc8310 100644 --- a/search/searchdata.js +++ b/search/searchdata.js @@ -1,10 +1,10 @@ var indexSectionsWithContent = { - 0: "_abcdefghilmnoprstuvw~", + 0: "_abcdefghilmnopqrstuvw~", 1: "abcdefghlnprsuvw", - 2: "_abcdefghilmnoprstuvw~", + 2: "abcdefghilmnopqrstuvw~", 3: "im", - 4: "_cdehoprstvw", + 4: "_cdefhoprstvw", 5: "e", 6: "egilmnopstu", 7: "acegmsw", diff --git a/search/typedefs_3.js b/search/typedefs_3.js index c8ba5444..fa48189d 100644 --- a/search/typedefs_3.js +++ b/search/typedefs_3.js @@ -4,5 +4,6 @@ var searchData= ['eap_5fblob_5fruntime_1',['eap_blob_runtime',['../group___win_std_e_a_p_a_p_i.html#gabd2665596cc49191b36e6378147c47ad',1,'winstd']]], ['eap_5ferror_2',['eap_error',['../group___win_std_e_a_p_a_p_i.html#ga910edec3d3d1ba4f6f306dcafdc2117a',1,'winstd']]], ['eap_5ferror_5fruntime_3',['eap_error_runtime',['../group___win_std_e_a_p_a_p_i.html#ga102f6e28f2ae479af7b6555894f110ac',1,'winstd']]], - ['error_5ftype_4',['error_type',['../classwinstd_1_1num__runtime__error.html#a6fa2de87d0151b3ad9cac58f838852e0',1,'winstd::num_runtime_error']]] + ['error_5ftype_4',['error_type',['../classwinstd_1_1num__runtime__error.html#a6fa2de87d0151b3ad9cac58f838852e0',1,'winstd::num_runtime_error']]], + ['event_5',['event',['../group___win_std_win_a_p_i.html#ga8aad78395ff021f46a34e51816038d20',1,'winstd']]] ]; diff --git a/search/typedefs_4.js b/search/typedefs_4.js index 1bc908e5..b82dcdc0 100644 --- a/search/typedefs_4.js +++ b/search/typedefs_4.js @@ -1,4 +1,5 @@ var searchData= [ - ['handle_5ftype_0',['handle_type',['../classwinstd_1_1handle.html#a3dda19199ecfbc378c932e7d84d0ea81',1,'winstd::handle']]] + ['file_0',['file',['../group___win_std_win_a_p_i.html#ga1778bfb00ccb4f2d86f3bb6d660c1c9b',1,'winstd']]], + ['file_5fmapping_1',['file_mapping',['../group___win_std_win_a_p_i.html#gaaff19b3c25870c8fb66c2d43833875f0',1,'winstd']]] ]; diff --git a/search/typedefs_5.js b/search/typedefs_5.js index ffff2749..1bc908e5 100644 --- a/search/typedefs_5.js +++ b/search/typedefs_5.js @@ -1,4 +1,4 @@ var searchData= [ - ['other_0',['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()']]] + ['handle_5ftype_0',['handle_type',['../classwinstd_1_1handle.html#a3dda19199ecfbc378c932e7d84d0ea81',1,'winstd::handle']]] ]; diff --git a/search/typedefs_6.js b/search/typedefs_6.js index 2c9c2f92..ffff2749 100644 --- a/search/typedefs_6.js +++ b/search/typedefs_6.js @@ -1,5 +1,4 @@ var searchData= [ - ['pointer_0',['pointer',['../classwinstd_1_1heap__allocator.html#ae04bc3ff970d32e6a2967072efdb06cd',1,'winstd::heap_allocator']]], - ['process_5fsnapshot_1',['process_snapshot',['../group___win_std_win_a_p_i.html#ga59cd7dece6bf5649013f07c929547e80',1,'winstd']]] + ['other_0',['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()']]] ]; diff --git a/search/typedefs_7.js b/search/typedefs_7.js index 980e601b..75272730 100644 --- a/search/typedefs_7.js +++ b/search/typedefs_7.js @@ -1,4 +1,6 @@ var searchData= [ - ['reference_0',['reference',['../classwinstd_1_1heap__allocator.html#a88ed8962cd0d64849119d7a11135b2d0',1,'winstd::heap_allocator']]] + ['pointer_0',['pointer',['../classwinstd_1_1heap__allocator.html#ae04bc3ff970d32e6a2967072efdb06cd',1,'winstd::heap_allocator']]], + ['process_1',['process',['../group___win_std_win_a_p_i.html#gac5db2a322de45a52343ca98bbec302df',1,'winstd']]], + ['process_5fsnapshot_2',['process_snapshot',['../group___win_std_win_a_p_i.html#ga59cd7dece6bf5649013f07c929547e80',1,'winstd']]] ]; diff --git a/search/typedefs_8.js b/search/typedefs_8.js index adbaa4e7..980e601b 100644 --- a/search/typedefs_8.js +++ b/search/typedefs_8.js @@ -1,9 +1,4 @@ var searchData= [ - ['sanitizing_5fstring_0',['sanitizing_string',['../group___win_std_mem_sanitize.html#gafaf527687e080349d49b51c2362c32e8',1,'winstd']]], - ['sanitizing_5ftstring_1',['sanitizing_tstring',['../group___win_std_mem_sanitize.html#gaa149b89d04cc80c125023a14e241e8bd',1,'winstd']]], - ['sanitizing_5fwstring_2',['sanitizing_wstring',['../group___win_std_mem_sanitize.html#ga57776f4affaac5040ba220302003eedc',1,'winstd']]], - ['size_5ftype_3',['size_type',['../classwinstd_1_1heap__allocator.html#a01815f4f9097b1447c7ddaa2de868f59',1,'winstd::heap_allocator']]], - ['string_5fmsg_4',['string_msg',['../group___win_std_str_format.html#gae63195e25e08e2b3d9a9b9c2987f5740',1,'winstd']]], - ['string_5fprintf_5',['string_printf',['../group___win_std_str_format.html#ga9dda7a9a763b666f6fe00c4c6626621d',1,'winstd']]] + ['reference_0',['reference',['../classwinstd_1_1heap__allocator.html#a88ed8962cd0d64849119d7a11135b2d0',1,'winstd::heap_allocator']]] ]; diff --git a/search/typedefs_9.js b/search/typedefs_9.js index b5ef5a7d..adbaa4e7 100644 --- a/search/typedefs_9.js +++ b/search/typedefs_9.js @@ -1,9 +1,9 @@ var searchData= [ - ['taddrinfo_0',['taddrinfo',['../group___win_sock2_a_p_i.html#ga73a783d5ebf3d1af2a565cb78062b5b6',1,'winstd']]], - ['thread_1',['thread',['../group___win_std_win_a_p_i.html#gaff5d7416024ba7489a7631c310e15aab',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']]] + ['sanitizing_5fstring_0',['sanitizing_string',['../group___win_std_mem_sanitize.html#gafaf527687e080349d49b51c2362c32e8',1,'winstd']]], + ['sanitizing_5ftstring_1',['sanitizing_tstring',['../group___win_std_mem_sanitize.html#gaa149b89d04cc80c125023a14e241e8bd',1,'winstd']]], + ['sanitizing_5fwstring_2',['sanitizing_wstring',['../group___win_std_mem_sanitize.html#ga57776f4affaac5040ba220302003eedc',1,'winstd']]], + ['size_5ftype_3',['size_type',['../classwinstd_1_1heap__allocator.html#a01815f4f9097b1447c7ddaa2de868f59',1,'winstd::heap_allocator']]], + ['string_5fmsg_4',['string_msg',['../group___win_std_str_format.html#gae63195e25e08e2b3d9a9b9c2987f5740',1,'winstd']]], + ['string_5fprintf_5',['string_printf',['../group___win_std_str_format.html#ga9dda7a9a763b666f6fe00c4c6626621d',1,'winstd']]] ]; diff --git a/search/typedefs_a.js b/search/typedefs_a.js index 898d7dbc..b5ef5a7d 100644 --- a/search/typedefs_a.js +++ b/search/typedefs_a.js @@ -1,4 +1,9 @@ var searchData= [ - ['value_5ftype_0',['value_type',['../classwinstd_1_1heap__allocator.html#a091ba3fb46ee75b8350c3fa9e6277c57',1,'winstd::heap_allocator']]] + ['taddrinfo_0',['taddrinfo',['../group___win_sock2_a_p_i.html#ga73a783d5ebf3d1af2a565cb78062b5b6',1,'winstd']]], + ['thread_1',['thread',['../group___win_std_win_a_p_i.html#gaff5d7416024ba7489a7631c310e15aab',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']]] ]; diff --git a/search/typedefs_b.js b/search/typedefs_b.js index ff38f411..898d7dbc 100644 --- a/search/typedefs_b.js +++ b/search/typedefs_b.js @@ -1,5 +1,4 @@ var searchData= [ - ['wstring_5fmsg_0',['wstring_msg',['../group___win_std_str_format.html#ga52a88ab19a1a96f778dbf7a2938bc98f',1,'winstd']]], - ['wstring_5fprintf_1',['wstring_printf',['../group___win_std_str_format.html#ga0abdccf0a03840f984b7a889fea13cac',1,'winstd']]] + ['value_5ftype_0',['value_type',['../classwinstd_1_1heap__allocator.html#a091ba3fb46ee75b8350c3fa9e6277c57',1,'winstd::heap_allocator']]] ]; diff --git a/search/typedefs_c.html b/search/typedefs_c.html new file mode 100644 index 00000000..1d392679 --- /dev/null +++ b/search/typedefs_c.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                      +
                      Loading...
                      +
                      + +
                      Searching...
                      +
                      No Matches
                      + +
                      + + diff --git a/search/typedefs_c.js b/search/typedefs_c.js new file mode 100644 index 00000000..ff38f411 --- /dev/null +++ b/search/typedefs_c.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['wstring_5fmsg_0',['wstring_msg',['../group___win_std_str_format.html#ga52a88ab19a1a96f778dbf7a2938bc98f',1,'winstd']]], + ['wstring_5fprintf_1',['wstring_printf',['../group___win_std_str_format.html#ga0abdccf0a03840f984b7a889fea13cac',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 7baebbc2..0b429882 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 5f9bc997..ff204494 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 3bc05f84..6c447c59 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 0c63277e..e6167bda 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 6a1e21ac..974d5d39 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 54a7b773..12e713de 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 3a07078b..d8459ec3 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 06d98db6..c6d68d7b 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 e013999a..0180ffdd 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 f1a34c68..ee54e0d6 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 91b77428..c475d51c 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 9516ee2b..11a9b2f3 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 748f2add..f4e570a9 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 898d830f..44e641c0 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 9d561dae..7a965ef7 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 f7bad80e..67b4faf3 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 3923d7a1..6dd9be6b 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 63862c2c..eb216547 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 11de93d1..afd4f1ad 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 c9dd2201..a3d4f957 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 1e7e0548..55035159 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 e028eb13..d6fe7cb5 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 e4bd576e..bba6cfa1 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 81734013..93e15ba8 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 353c29c3..062022db 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 e89d4b80..3a69aa83 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 32667fc6..a487a9d2 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 c637eaba..696eb443 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 34e61b80..08331fe7 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 53938246..6db49a33 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 >