diff --git a/_c_o_m_8h_source.html b/_c_o_m_8h_source.html index 390d6eca..5b4866e6 100644 --- a/_c_o_m_8h_source.html +++ b/_c_o_m_8h_source.html @@ -904,7 +904,7 @@ $(function() { diff --git a/_common_8h_source.html b/_common_8h_source.html index a028c945..87393871 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 8f955611..53858c1f 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 7510dd58..c97b813e 100644 --- a/_crypt_8h_source.html +++ b/_crypt_8h_source.html @@ -832,7 +832,7 @@ $(function() { diff --git a/_e_a_p_8h_source.html b/_e_a_p_8h_source.html index 0554624b..590de316 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 30a07c83..0b146cf8 100644 --- a/_e_t_w_8h_source.html +++ b/_e_t_w_8h_source.html @@ -995,7 +995,7 @@ $(function() { diff --git a/_g_d_i_8h_source.html b/_g_d_i_8h_source.html index 6775c50c..965eda37 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 268e3049..762a6c91 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 73111378..ed09dfee 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 225882c8..6ace1ccb 100644 --- a/_setup_a_p_i_8h_source.html +++ b/_setup_a_p_i_8h_source.html @@ -191,7 +191,7 @@ $(function() { diff --git a/_shell_8h_source.html b/_shell_8h_source.html index daa57db0..9271de16 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 eae3e514..42d96303 100644 --- a/_w_l_a_n_8h_source.html +++ b/_w_l_a_n_8h_source.html @@ -223,7 +223,7 @@ $(function() { diff --git a/_win_8h_source.html b/_win_8h_source.html index fe7f6f72..53165fdb 100644 --- a/_win_8h_source.html +++ b/_win_8h_source.html @@ -1249,761 +1249,765 @@ $(function() {
1463 }
1464 };
1465
-
1469 class file : public win_handle<INVALID_HANDLE_VALUE>
-
1470 {
-
1471 WINSTD_WINHANDLE_IMPL(file, INVALID_HANDLE_VALUE)
+
1471 typedef win_handle<NULL> thread;
1472
-
1473 public:
-
1483 __declspec(deprecated("Use CreateFile"))
-
1484 bool create(_In_z_ LPCTSTR lpFileName, _In_ DWORD dwDesiredAccess, _In_ DWORD dwShareMode, _In_ DWORD dwCreationDisposition, _In_opt_ DWORD dwFlagsAndAttributes = FILE_ATTRIBUTE_NORMAL, _In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes = NULL, _In_opt_ HANDLE hTemplateFile = NULL) noexcept
-
1485 {
-
1486 handle_type h = CreateFile(lpFileName, dwDesiredAccess, dwShareMode, lpSecurityAttributes, dwCreationDisposition, dwFlagsAndAttributes, hTemplateFile);
-
1487 if (h != invalid) {
-
1488 attach(h);
-
1489 return true;
-
1490 } else
-
1491 return false;
-
1492 }
-
1493 };
-
1494
-
1498 class file_mapping : public win_handle<NULL>
-
1499 {
-
1500 WINSTD_WINHANDLE_IMPL(file_mapping, NULL)
-
1501
-
1502 public:
-
1512 __declspec(deprecated("Use CreateFileMapping"))
-
1513 bool create(_In_ HANDLE hFile, _In_ DWORD flProtect, _In_ DWORD dwMaximumSizeHigh, _In_ DWORD dwMaximumSizeLow, _In_opt_ LPSECURITY_ATTRIBUTES lpFileMappingAttributes = NULL, _In_opt_ LPCTSTR lpName = NULL) noexcept
-
1514 {
-
1515 handle_type h = CreateFileMapping(hFile, lpFileMappingAttributes, flProtect, dwMaximumSizeHigh, dwMaximumSizeLow, lpName);
-
1516 if (h != invalid) {
-
1517 attach(h);
-
1518 return true;
-
1519 } else
-
1520 return false;
-
1521 }
-
1522 };
-
1523
-
1527 template <class _Ty> struct UnmapViewOfFile_delete
-
1528 {
-
1529 typedef UnmapViewOfFile_delete<_Ty> _Myt;
-
1530
-
1534 UnmapViewOfFile_delete() {}
-
1535
-
1539 template <class _Ty2> UnmapViewOfFile_delete(const UnmapViewOfFile_delete<_Ty2>&) {}
-
1540
-
1544 void operator()(_Ty* _Ptr) const
-
1545 {
-
1546 if (!UnmapViewOfFile(_Ptr))
-
1547 throw win_runtime_error("UnmapViewOfFile failed");
-
1548 }
-
1549 };
-
1550
-
1554 template <class _Ty> struct UnmapViewOfFile_delete<_Ty[]>
-
1555 {
-
1556 typedef UnmapViewOfFile_delete<_Ty> _Myt;
-
1557
-
1561 UnmapViewOfFile_delete() {}
-
1562
-
1566 void operator()(_Ty* _Ptr) const
-
1567 {
-
1568 if (!UnmapViewOfFile(_Ptr))
-
1569 throw win_runtime_error("UnmapViewOfFile failed");
-
1570 }
+
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 };
+
1508
+
1512 class file_mapping : public win_handle<NULL>
+
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 };
+
1564
+
1568 template <class _Ty> struct UnmapViewOfFile_delete<_Ty[]>
+
1569 {
+
1570 typedef UnmapViewOfFile_delete<_Ty> _Myt;
1571
-
1575 template<class _Other>
-
1576 void operator()(_Other*) const
-
1577 {
-
1578 if (!UnmapViewOfFile(_Ptr))
-
1579 throw win_runtime_error("UnmapViewOfFile failed");
-
1580 }
-
1581 };
-
1582
-
1586 class event : public win_handle<NULL>
-
1587 {
-
1588 WINSTD_WINHANDLE_IMPL(event, NULL)
-
1589
-
1590 public:
-
1600 __declspec(deprecated("Use CreateEvent"))
-
1601 bool create(_In_ BOOL bManualReset, _In_ BOOL bInitialState, _In_opt_ LPSECURITY_ATTRIBUTES lpEventAttributes = NULL, _In_opt_z_ LPCTSTR lpName = NULL) noexcept
-
1602 {
-
1603 handle_type h = CreateEvent(lpEventAttributes, bManualReset, bInitialState, lpName);
-
1604 if (h != invalid) {
-
1605 attach(h);
-
1606 return true;
-
1607 } else
-
1608 return false;
-
1609 }
-
1610
-
1620 __declspec(deprecated("Use OpenEvent"))
-
1621 bool open(_In_ DWORD dwDesiredAccess, _In_ BOOL bInheritHandle, _In_z_ LPCTSTR lpName) noexcept
-
1622 {
-
1623 handle_type h = OpenEvent(dwDesiredAccess, bInheritHandle, lpName);
-
1624 if (h != invalid) {
-
1625 attach(h);
-
1626 return true;
-
1627 } else
-
1628 return false;
-
1629 }
-
1630 };
-
1631
-
1635 class critical_section
-
1636 {
-
1637 WINSTD_NONCOPYABLE(critical_section)
-
1638 WINSTD_NONMOVABLE(critical_section)
-
1639
-
1640 public:
-
1646 critical_section()
-
1647 {
-
1648 __try {
-
1649 InitializeCriticalSection(&m_data);
-
1650 } __except(EXCEPTION_EXECUTE_HANDLER) {
-
1651 throw std::runtime_error("InitializeCriticalSection failed");
-
1652 }
-
1653 }
-
1654
-
1660 virtual ~critical_section()
+
1575 UnmapViewOfFile_delete() {}
+
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 DeleteCriticalSection(&m_data);
-
1663 }
-
1664
-
1670 operator LPCRITICAL_SECTION() noexcept
-
1671 {
-
1672 return &m_data;
-
1673 }
-
1674
-
1675 protected:
-
1676 CRITICAL_SECTION m_data;
-
1677 };
+
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
-
1682 class find_file : public handle<HANDLE, INVALID_HANDLE_VALUE>
-
1683 {
-
1684 WINSTD_HANDLE_IMPL(find_file, INVALID_HANDLE_VALUE)
-
1685
-
1686 public:
-
1692 virtual ~find_file()
-
1693 {
-
1694 if (m_h != invalid)
-
1695 free_internal();
-
1696 }
-
1697
-
1707 __declspec(deprecated("Use FindFirstFile"))
-
1708 bool find(_In_ LPCTSTR lpFileName, _Out_ LPWIN32_FIND_DATA lpFindFileData) noexcept
-
1709 {
-
1710 handle_type h = FindFirstFile(lpFileName, lpFindFileData);
-
1711 if (h != invalid) {
-
1712 attach(h);
-
1713 return true;
-
1714 } else
-
1715 return false;
-
1716 }
-
1717
-
1718 protected:
-
1724 void free_internal() noexcept override
-
1725 {
-
1726 FindClose(m_h);
-
1727 }
-
1728 };
-
1729
-
1733 class heap : public handle<HANDLE, NULL>
-
1734 {
-
1735 WINSTD_HANDLE_IMPL(heap, NULL)
-
1736
-
1737 public:
-
1743 virtual ~heap()
-
1744 {
-
1745 if (m_h != invalid)
-
1746 free_internal();
-
1747 }
-
1748
-
1758 __declspec(deprecated("Use HeapCreate"))
-
1759 bool create(_In_ DWORD flOptions, _In_ SIZE_T dwInitialSize, _In_ SIZE_T dwMaximumSize) noexcept
-
1760 {
-
1761 handle_type h = HeapCreate(flOptions, dwInitialSize, dwMaximumSize);
-
1762 if (h != invalid) {
-
1763 attach(h);
-
1764 return true;
-
1765 } else
-
1766 return false;
-
1767 }
-
1768
-
1776 bool enumerate() noexcept
-
1777 {
-
1778 assert(m_h != invalid);
-
1779
-
1780 bool found = false;
-
1781
-
1782 // Lock the heap for exclusive access.
-
1783 HeapLock(m_h);
-
1784
-
1785 PROCESS_HEAP_ENTRY e;
-
1786 e.lpData = NULL;
-
1787 while (HeapWalk(m_h, &e) != FALSE) {
-
1788 if ((e.wFlags & PROCESS_HEAP_ENTRY_BUSY) != 0) {
-
1789 OutputDebugStr(
-
1790 _T("Allocated block%s%s\n")
-
1791 _T(" Data portion begins at: %#p\n Size: %d bytes\n")
-
1792 _T(" Overhead: %d bytes\n Region index: %d\n"),
-
1793 (e.wFlags & PROCESS_HEAP_ENTRY_MOVEABLE) != 0 ? tstring_printf(_T(", movable with HANDLE %#p"), e.Block.hMem).c_str() : _T(""),
-
1794 (e.wFlags & PROCESS_HEAP_ENTRY_DDESHARE) != 0 ? _T(", DDESHARE") : _T(""),
-
1795 e.lpData,
-
1796 e.cbData,
-
1797 e.cbOverhead,
-
1798 e.iRegionIndex);
-
1799
-
1800 found = true;
-
1801 }
-
1802 }
-
1803
-
1804 const DWORD dwResult = GetLastError();
-
1805 if (dwResult != ERROR_NO_MORE_ITEMS)
-
1806 OutputDebugStr(_T("HeapWalk failed (error %u).\n"), dwResult);
-
1807
-
1808 // Unlock the heap.
-
1809 HeapUnlock(m_h);
-
1810
-
1811 return found;
-
1812 }
+
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)
+
1750
+
1751 public:
+
1757 virtual ~heap()
+
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 protected:
-
1820 void free_internal() noexcept override
-
1821 {
-
1822 enumerate();
-
1823 HeapDestroy(m_h);
-
1824 }
-
1825 };
-
1826
-
1830 template <class _Ty>
-
1831 class heap_allocator
-
1832 {
-
1833 public:
-
1834 typedef typename _Ty value_type;
-
1835
-
1836 typedef _Ty *pointer;
-
1837 typedef _Ty& reference;
-
1838 typedef const _Ty *const_pointer;
-
1839 typedef const _Ty& const_reference;
+
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
-
1841 typedef SIZE_T size_type;
-
1842 typedef ptrdiff_t difference_type;
-
1843
-
1847 template <class _Other>
-
1848 struct rebind
-
1849 {
-
1850 typedef heap_allocator<_Other> other;
-
1851 };
-
1852
-
1853 public:
-
1859 heap_allocator(_In_ HANDLE heap) : m_heap(heap)
-
1860 {
-
1861 }
-
1862
-
1868 template <class _Other>
-
1869 heap_allocator(_In_ const heap_allocator<_Other> &other) : m_heap(other.m_heap)
-
1870 {
-
1871 }
-
1872
-
1880 pointer allocate(_In_ size_type count)
-
1881 {
-
1882 assert(m_heap);
-
1883 return (pointer)HeapAlloc(m_heap, 0, count * sizeof(_Ty));
-
1884 }
-
1885
-
1892 void deallocate(_In_ pointer ptr, _In_ size_type size)
-
1893 {
-
1894 UNREFERENCED_PARAMETER(size);
-
1895 assert(m_heap);
-
1896 HeapFree(m_heap, 0, ptr);
-
1897 }
-
1898
-
1905 void construct(_Inout_ pointer ptr, _In_ const _Ty& val)
-
1906 {
-
1907 ::new ((void*)ptr) _Ty(val);
-
1908 }
-
1909
-
1916 void construct(_Inout_ pointer ptr, _Inout_ _Ty&& val)
-
1917 {
-
1918 ::new ((void*)ptr) _Ty(std::forward<_Ty>(val));
-
1919 }
-
1920
-
1926 void destroy(_Inout_ pointer ptr)
-
1927 {
-
1928 ptr->_Ty::~_Ty();
-
1929 }
-
1930
-
1934 size_type max_size() const
-
1935 {
-
1936 return (SIZE_T)-1;
-
1937 }
-
1938
-
1939 public:
-
1940 HANDLE m_heap;
-
1941 };
-
1942
-
1946 class actctx_activator
-
1947 {
-
1948 WINSTD_NONCOPYABLE(actctx_activator)
-
1949 WINSTD_NONMOVABLE(actctx_activator)
-
1950
-
1951 public:
-
1959 actctx_activator(_In_ HANDLE hActCtx) noexcept
-
1960 {
-
1961 if (!ActivateActCtx(hActCtx, &m_cookie))
-
1962 m_cookie = 0;
-
1963 }
+
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)
+
1874 {
+
1875 }
+
1876
+
1882 template <class _Other>
+
1883 heap_allocator(_In_ const heap_allocator<_Other> &other) : m_heap(other.m_heap)
+
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 };
+
1956
+
1960 class actctx_activator
+
1961 {
+
1962 WINSTD_NONCOPYABLE(actctx_activator)
+
1963 WINSTD_NONMOVABLE(actctx_activator)
1964
-
1970 virtual ~actctx_activator()
-
1971 {
-
1972 if (m_cookie)
-
1973 DeactivateActCtx(0, m_cookie);
-
1974 }
-
1975
-
1976 protected:
-
1977 ULONG_PTR m_cookie;
-
1978 };
-
1979
-
1983 class user_impersonator
-
1984 {
-
1985 WINSTD_NONCOPYABLE(user_impersonator)
-
1986 WINSTD_NONMOVABLE(user_impersonator)
-
1987
-
1988 public:
-
1996 user_impersonator(_In_opt_ HANDLE hToken) noexcept
-
1997 {
-
1998 m_cookie = hToken && ImpersonateLoggedOnUser(hToken);
-
1999 }
-
2000
-
2006 virtual ~user_impersonator()
-
2007 {
-
2008 if (m_cookie)
-
2009 RevertToSelf();
-
2010 }
-
2011
-
2012 protected:
-
2013 BOOL m_cookie;
-
2014 };
-
2015
-
2019 class console_ctrl_handler
-
2020 {
-
2021 WINSTD_NONCOPYABLE(console_ctrl_handler)
-
2022 WINSTD_NONMOVABLE(console_ctrl_handler)
-
2023
-
2024 public:
-
2032 console_ctrl_handler(_In_opt_ PHANDLER_ROUTINE HandlerRoutine) noexcept : m_handler(HandlerRoutine)
-
2033 {
-
2034 m_cookie = SetConsoleCtrlHandler(m_handler, TRUE);
-
2035 }
-
2036
-
2042 virtual ~console_ctrl_handler()
-
2043 {
-
2044 if (m_cookie)
-
2045 SetConsoleCtrlHandler(m_handler, FALSE);
-
2046 }
-
2047
-
2048 protected:
-
2049 BOOL m_cookie;
-
2050 PHANDLER_ROUTINE m_handler;
-
2051 };
-
2052
-
2056 class vmemory : public handle<LPVOID, NULL>
-
2057 {
-
2058 WINSTD_NONCOPYABLE(vmemory)
-
2059
-
2060 public:
-
2064 vmemory() noexcept : m_proc(NULL)
-
2065 {
-
2066 }
-
2067
-
2074 vmemory(_In_ handle_type h, _In_ HANDLE proc) noexcept :
-
2075 m_proc(proc),
-
2076 handle<LPVOID, NULL>(h)
-
2077 {
-
2078 }
-
2079
-
2085 vmemory(_Inout_ vmemory &&h) noexcept :
-
2086 m_proc(std::move(h.m_proc)),
-
2087 handle<LPVOID, NULL>(std::move(h))
-
2088 {
-
2089 }
-
2090
-
2096 virtual ~vmemory()
-
2097 {
-
2098 if (m_h != invalid)
-
2099 VirtualFreeEx(m_proc, m_h, 0, MEM_RELEASE);
-
2100 }
-
2101
-
2107 vmemory& operator=(_Inout_ vmemory &&other) noexcept
-
2108 {
-
2109 if (this != std::addressof(other)) {
-
2110 (handle<handle_type, NULL>&&)*this = std::move(other);
-
2111 m_proc = std::move(other.m_proc);
-
2112 }
-
2113 return *this;
+
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 }
+
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()
+
2111 {
+
2112 if (m_h != invalid)
+
2113 VirtualFreeEx(m_proc, m_h, 0, MEM_RELEASE);
2114 }
2115
-
2124 void attach(_In_ HANDLE proc, _In_opt_ handle_type h) noexcept
-
2125 {
-
2126 m_proc = proc;
-
2127 if (m_h != invalid)
-
2128 free_internal();
-
2129 m_h = h;
-
2130 }
-
2131
-
2141 bool alloc(
-
2142 _In_ HANDLE hProcess,
-
2143 _In_opt_ LPVOID lpAddress,
-
2144 _In_ SIZE_T dwSize,
-
2145 _In_ DWORD flAllocationType,
-
2146 _In_ DWORD flProtect) noexcept
-
2147 {
-
2148 handle_type h = VirtualAllocEx(hProcess, lpAddress, dwSize, flAllocationType, flProtect);
-
2149 if (h != invalid) {
-
2150 attach(hProcess, h);
-
2151 return true;
-
2152 } else
-
2153 return false;
-
2154 }
-
2155
-
2156 protected:
-
2162 void free_internal() noexcept override
-
2163 {
-
2164 VirtualFreeEx(m_proc, m_h, 0, MEM_RELEASE);
-
2165 }
-
2166
-
2167 protected:
-
2168 HANDLE m_proc;
-
2169 };
-
2170
-
2174 class reg_key : public handle<HKEY, NULL>
-
2175 {
-
2176 WINSTD_HANDLE_IMPL(reg_key, NULL)
-
2177
-
2178 public:
-
2184 virtual ~reg_key()
-
2185 {
-
2186 if (m_h != invalid)
-
2187 free_internal();
-
2188 }
-
2189
-
2199 __declspec(deprecated("Use RegCreateKeyEx - mind it returns error number rather than SetLastError"))
-
2200 bool create(
-
2201 _In_ HKEY hKey,
-
2202 _In_z_ LPCTSTR lpSubKey,
-
2203 _In_opt_ LPTSTR lpClass,
-
2204 _In_ DWORD dwOptions,
-
2205 _In_ REGSAM samDesired,
-
2206 _In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes = NULL,
-
2207 _Out_opt_ LPDWORD lpdwDisposition = NULL) noexcept
-
2208 {
-
2209 handle_type h;
-
2210 const LSTATUS s = RegCreateKeyEx(hKey, lpSubKey, 0, lpClass, dwOptions, samDesired, lpSecurityAttributes, &h, lpdwDisposition);
-
2211 if (s == ERROR_SUCCESS) {
-
2212 attach(h);
-
2213 return true;
-
2214 } else {
-
2215 SetLastError(s);
-
2216 return false;
-
2217 }
-
2218 }
-
2219
-
2229 __declspec(deprecated("Use RegOpenKeyEx - mind it returns error number rather than SetLastError"))
-
2230 bool open(
-
2231 _In_ HKEY hKey,
-
2232 _In_opt_z_ LPCTSTR lpSubKey,
-
2233 _In_ DWORD ulOptions,
-
2234 _In_ REGSAM samDesired) noexcept
-
2235 {
-
2236 handle_type h;
-
2237 const LSTATUS s = RegOpenKeyEx(hKey, lpSubKey, ulOptions, samDesired, &h);
-
2238 if (s == ERROR_SUCCESS) {
-
2239 attach(h);
-
2240 return true;
-
2241 } else {
-
2242 SetLastError(s);
-
2243 return false;
-
2244 }
-
2245 }
-
2246
-
2256 bool delete_subkey(_In_z_ LPCTSTR szSubkey)
-
2257 {
-
2258 LSTATUS s;
-
2259
-
2260 s = RegDeleteKey(m_h, szSubkey);
-
2261 if (s == ERROR_SUCCESS || s == ERROR_FILE_NOT_FOUND)
-
2262 return true;
-
2263
-
2264 {
-
2265 reg_key k;
-
2266 handle_type h;
-
2267 s = RegOpenKeyEx(m_h, szSubkey, 0, KEY_ENUMERATE_SUB_KEYS, &h);
-
2268 if (s == ERROR_SUCCESS)
-
2269 k.attach(h);
-
2270 else {
-
2271 SetLastError(s);
-
2272 return false;
-
2273 }
-
2274 for (;;) {
-
2275 TCHAR szName[MAX_PATH];
-
2276 DWORD dwSize = _countof(szName);
-
2277 s = RegEnumKeyEx(k, 0, szName, &dwSize, NULL, NULL, NULL, NULL);
-
2278 if (s == ERROR_SUCCESS)
-
2279 k.delete_subkey(szName);
-
2280 else if (s == ERROR_NO_MORE_ITEMS)
-
2281 break;
-
2282 else {
-
2283 SetLastError(s);
-
2284 return false;
-
2285 }
-
2286 }
-
2287 }
-
2288
-
2289 s = RegDeleteKey(m_h, szSubkey);
-
2290 if (s == ERROR_SUCCESS)
-
2291 return true;
-
2292 else {
-
2293 SetLastError(s);
-
2294 return false;
-
2295 }
-
2296 }
-
2297
-
2298 protected:
-
2304 void free_internal() noexcept override
-
2305 {
-
2306 RegCloseKey(m_h);
-
2307 }
-
2308 };
-
2309
-
2313 class security_id : public handle<PSID, NULL>
-
2314 {
-
2315 WINSTD_HANDLE_IMPL(security_id, NULL)
-
2316
-
2317 public:
-
2323 virtual ~security_id()
-
2324 {
-
2325 if (m_h != invalid)
-
2326 free_internal();
-
2327 }
-
2328
-
2329 protected:
-
2335 void free_internal() noexcept override
-
2336 {
-
2337 FreeSid(m_h);
-
2338 }
-
2339 };
-
2340
-
2344 class process_information : public PROCESS_INFORMATION
-
2345 {
-
2346 WINSTD_NONCOPYABLE(process_information)
-
2347 WINSTD_NONMOVABLE(process_information)
-
2348
-
2349 public:
-
2353 process_information() noexcept
-
2354 {
-
2355 hProcess = INVALID_HANDLE_VALUE;
-
2356 hThread = INVALID_HANDLE_VALUE;
-
2357 dwProcessId = 0;
-
2358 dwThreadId = 0;
-
2359 }
-
2360
-
2364 ~process_information()
-
2365 {
-
2366 #pragma warning(push)
-
2367 #pragma warning(disable: 6001) // Using uninitialized memory '*this'. << ???
-
2368
-
2369 if (hProcess != INVALID_HANDLE_VALUE)
-
2370 CloseHandle(hProcess);
-
2371
-
2372 if (hThread != INVALID_HANDLE_VALUE)
-
2373 CloseHandle(hThread);
+
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
-
2375 #pragma warning(pop)
-
2376 }
-
2377 };
-
2378
-
2382 class event_log : public handle<HANDLE, NULL>
-
2383 {
-
2384 WINSTD_HANDLE_IMPL(event_log, NULL)
+
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 public:
-
2392 virtual ~event_log()
-
2393 {
-
2394 if (m_h != invalid)
-
2395 free_internal();
-
2396 }
-
2397
-
2407 __declspec(deprecated("Use RegisterEventSource"))
-
2408 bool open(_In_z_ LPCTSTR lpUNCServerName, _In_z_ LPCTSTR lpSourceName) noexcept
-
2409 {
-
2410 handle_type h = RegisterEventSource(lpUNCServerName, lpSourceName);
-
2411 if (h != invalid) {
-
2412 attach(h);
-
2413 return true;
-
2414 } else
-
2415 return false;
-
2416 }
-
2417
-
2418 protected:
-
2424 void free_internal() noexcept override
-
2425 {
-
2426 DeregisterEventSource(m_h);
-
2427 }
-
2428 };
-
2429
-
2431}
-
2432
-
2435
-
2436#pragma warning(push)
-
2437#pragma warning(disable: 4505) // Don't warn on unused code
-
2438
-
2440static LSTATUS RegCreateKeyExA(
-
2441 _In_ HKEY hKey,
-
2442 _In_ LPCSTR lpSubKey,
-
2443 _Reserved_ DWORD Reserved,
-
2444 _In_opt_ LPSTR lpClass,
-
2445 _In_ DWORD dwOptions,
-
2446 _In_ REGSAM samDesired,
-
2447 _In_opt_ CONST LPSECURITY_ATTRIBUTES lpSecurityAttributes,
-
2448 _Inout_ winstd::reg_key &result,
-
2449 _Out_opt_ LPDWORD lpdwDisposition)
-
2450{
-
2451 HKEY h;
-
2452 LSTATUS s = RegCreateKeyExA(hKey, lpSubKey, Reserved, lpClass, dwOptions, samDesired, lpSecurityAttributes, &h, lpdwDisposition);
-
2453 if (s == ERROR_SUCCESS)
-
2454 result.attach(h);
-
2455 return s;
-
2456}
-
2457
-
2463static LSTATUS RegCreateKeyExW(
-
2464 _In_ HKEY hKey,
-
2465 _In_ LPCWSTR lpSubKey,
-
2466 _Reserved_ DWORD Reserved,
-
2467 _In_opt_ LPWSTR lpClass,
-
2468 _In_ DWORD dwOptions,
-
2469 _In_ REGSAM samDesired,
-
2470 _In_opt_ CONST LPSECURITY_ATTRIBUTES lpSecurityAttributes,
-
2471 _Inout_ winstd::reg_key &result,
-
2472 _Out_opt_ LPDWORD lpdwDisposition)
-
2473{
-
2474 HKEY h;
-
2475 LSTATUS s = RegCreateKeyExW(hKey, lpSubKey, Reserved, lpClass, dwOptions, samDesired, lpSecurityAttributes, &h, lpdwDisposition);
-
2476 if (s == ERROR_SUCCESS)
-
2477 result.attach(h);
-
2478 return s;
-
2479}
-
2480
-
2482static LSTATUS RegOpenKeyExA(
-
2483 _In_ HKEY hKey,
-
2484 _In_opt_ LPCSTR lpSubKey,
-
2485 _In_opt_ DWORD ulOptions,
-
2486 _In_ REGSAM samDesired,
-
2487 _Inout_ winstd::reg_key &result)
-
2488{
-
2489 HKEY h;
-
2490 LSTATUS s = RegOpenKeyExA(hKey, lpSubKey, ulOptions, samDesired, &h);
-
2491 if (s == ERROR_SUCCESS)
-
2492 result.attach(h);
-
2493 return s;
-
2494}
-
2495
-
2505static LSTATUS RegOpenKeyExW(
-
2506 _In_ HKEY hKey,
-
2507 _In_opt_ LPCWSTR lpSubKey,
-
2508 _In_opt_ DWORD ulOptions,
-
2509 _In_ REGSAM samDesired,
-
2510 _Inout_ winstd::reg_key &result)
-
2511{
-
2512 HKEY h;
-
2513 LSTATUS s = RegOpenKeyExW(hKey, lpSubKey, ulOptions, samDesired, &h);
-
2514 if (s == ERROR_SUCCESS)
-
2515 result.attach(h);
-
2516 return s;
-
2517}
-
2518
-
2519#pragma warning(pop)
-
2520
-
winstd::actctx_activator
Activates given activation context in constructor and deactivates it in destructor.
Definition: Win.h:1947
-
winstd::actctx_activator::actctx_activator
actctx_activator(HANDLE hActCtx) noexcept
Construct the activator and activates the given activation context.
Definition: Win.h:1959
-
winstd::actctx_activator::~actctx_activator
virtual ~actctx_activator()
Deactivates activation context and destructs the activator.
Definition: Win.h:1970
-
winstd::actctx_activator::m_cookie
ULONG_PTR m_cookie
Cookie for context deactivation.
Definition: Win.h:1977
+
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
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:2020
-
winstd::console_ctrl_handler::console_ctrl_handler
console_ctrl_handler(PHANDLER_ROUTINE HandlerRoutine) noexcept
Construct the console control handler object and pushes the given handler to the console control hand...
Definition: Win.h:2032
-
winstd::console_ctrl_handler::~console_ctrl_handler
virtual ~console_ctrl_handler()
Pops console control handler from the console control handler stack.
Definition: Win.h:2042
-
winstd::console_ctrl_handler::m_handler
PHANDLER_ROUTINE m_handler
Pointer to console control handler.
Definition: Win.h:2050
-
winstd::console_ctrl_handler::m_cookie
BOOL m_cookie
Did pushing the console control handler succeed?
Definition: Win.h:2049
-
winstd::critical_section
Critical section wrapper.
Definition: Win.h:1636
-
winstd::critical_section::m_data
CRITICAL_SECTION m_data
Critical section struct.
Definition: Win.h:1676
-
winstd::critical_section::~critical_section
virtual ~critical_section()
Releases all resources used by an unowned critical section object.
Definition: Win.h:1660
-
winstd::critical_section::critical_section
critical_section()
Construct the object and initializes a critical section object.
Definition: Win.h:1646
-
winstd::event_log
Event log handle wrapper.
Definition: Win.h:2383
-
winstd::event_log::free_internal
void free_internal() noexcept override
Closes an event log handle.
Definition: Win.h:2424
-
winstd::event_log::~event_log
virtual ~event_log()
Closes an event log handle.
Definition: Win.h:2392
+
winstd::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:1587
+
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:1499
+
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:1470
+
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:1683
+
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:1692
-
winstd::find_file::free_internal
void free_internal() noexcept override
Closes a file search handle.
Definition: Win.h:1724
+
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::handle
Base abstract template class to support generic object handle keeping.
Definition: Common.h:603
winstd::handle< HKEY, NULL >::free_internal
virtual void free_internal() noexcept=0
Abstract member function that must be implemented by child classes to do the actual object destructio...
winstd::handle< HMODULE, NULL >::handle_type
HMODULE handle_type
Datatype of the object handle this template class handles.
Definition: Common.h:608
winstd::handle< HANDLE, INVALID >::m_h
handle_type m_h
Object handle.
Definition: Common.h:854
winstd::handle< HMODULE, NULL >::attach
void attach(handle_type h) noexcept
Sets a new object handle for the class.
Definition: Common.h:817
-
winstd::heap_allocator
HeapAlloc allocator.
Definition: Win.h:1832
-
winstd::heap_allocator::size_type
SIZE_T size_type
An unsigned integral type that can represent the length of any sequence that an object of template cl...
Definition: Win.h:1841
-
winstd::heap_allocator::value_type
_Ty value_type
A type that is managed by the allocator.
Definition: Win.h:1834
-
winstd::heap_allocator::heap_allocator
heap_allocator(const heap_allocator< _Other > &other)
Constructs allocator from another type.
Definition: Win.h:1869
-
winstd::heap_allocator::m_heap
HANDLE m_heap
Heap handle.
Definition: Win.h:1940
-
winstd::heap_allocator::allocate
pointer allocate(size_type count)
Allocates a new memory block.
Definition: Win.h:1880
-
winstd::heap_allocator::difference_type
ptrdiff_t difference_type
A signed integral type that can represent the difference between values of pointers to the type of ob...
Definition: Win.h:1842
-
winstd::heap_allocator::heap_allocator
heap_allocator(HANDLE heap)
Constructs allocator.
Definition: Win.h:1859
-
winstd::heap_allocator::reference
_Ty & reference
A type that provides a reference to the type of object managed by the allocator.
Definition: Win.h:1837
-
winstd::heap_allocator::construct
void construct(pointer ptr, _Ty &&val)
Calls moving constructor for the element.
Definition: Win.h:1916
-
winstd::heap_allocator::deallocate
void deallocate(pointer ptr, size_type size)
Frees memory block.
Definition: Win.h:1892
-
winstd::heap_allocator::max_size
size_type max_size() const
Returns maximum memory block size.
Definition: Win.h:1934
-
winstd::heap_allocator::construct
void construct(pointer ptr, const _Ty &val)
Calls copying constructor for the element.
Definition: Win.h:1905
-
winstd::heap_allocator::const_reference
const _Ty & const_reference
A type that provides a constant reference to type of object managed by the allocator.
Definition: Win.h:1839
-
winstd::heap_allocator::const_pointer
const _Ty * const_pointer
A type that provides a constant pointer to the type of object managed by the allocator.
Definition: Win.h:1838
-
winstd::heap_allocator::pointer
_Ty * pointer
A type that provides a pointer to the type of object managed by the allocator.
Definition: Win.h:1836
-
winstd::heap_allocator::destroy
void destroy(pointer ptr)
Calls destructor for the element.
Definition: Win.h:1926
-
winstd::heap
Heap handle wrapper.
Definition: Win.h:1734
-
winstd::heap::enumerate
bool enumerate() noexcept
Enumerates allocated heap blocks using OutputDebugString()
Definition: Win.h:1776
+
winstd::heap_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:1820
-
winstd::heap::~heap
virtual ~heap()
Destroys the heap.
Definition: Win.h:1743
+
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:2345
-
winstd::process_information::~process_information
~process_information()
Closes process and thread handles.
Definition: Win.h:2364
-
winstd::process_information::process_information
process_information() noexcept
Constructs blank PROCESS_INFORMATION.
Definition: Win.h:2353
+
winstd::process_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:2175
+
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:2184
-
winstd::security_id
SID wrapper class.
Definition: Win.h:2314
-
winstd::security_id::free_internal
void free_internal() noexcept override
Closes a handle to the SID.
Definition: Win.h:2335
-
winstd::security_id::~security_id
virtual ~security_id()
Closes a handle to the SID.
Definition: Win.h:2323
-
winstd::user_impersonator
Lets the calling thread impersonate the security context of a logged-on user.
Definition: Win.h:1984
-
winstd::user_impersonator::m_cookie
BOOL m_cookie
Did impersonation succeed?
Definition: Win.h:2013
-
winstd::user_impersonator::user_impersonator
user_impersonator(HANDLE hToken) noexcept
Construct the impersonator and impersonates the given user.
Definition: Win.h:1996
-
winstd::user_impersonator::~user_impersonator
virtual ~user_impersonator()
Reverts to current user and destructs the impersonator.
Definition: Win.h:2006
-
winstd::vmemory
Memory in virtual address space of a process handle wrapper.
Definition: Win.h:2057
-
winstd::vmemory::operator=
vmemory & operator=(vmemory &&other) noexcept
Move assignment.
Definition: Win.h:2107
-
winstd::vmemory::alloc
bool alloc(HANDLE hProcess, LPVOID lpAddress, SIZE_T dwSize, DWORD flAllocationType, DWORD flProtect) noexcept
Reserves, commits, or changes the state of a region of memory within the virtual address space of a s...
Definition: Win.h:2141
-
winstd::vmemory::free_internal
void free_internal() noexcept override
Frees the memory.
Definition: Win.h:2162
-
winstd::vmemory::attach
void attach(HANDLE proc, handle_type h) noexcept
Sets a new memory handle for the class.
Definition: Win.h:2124
-
winstd::vmemory::~vmemory
virtual ~vmemory()
Frees the memory.
Definition: Win.h:2096
-
winstd::vmemory::vmemory
vmemory(handle_type h, HANDLE proc) noexcept
Initializes a new class instance with an already available object handle.
Definition: Win.h:2074
-
winstd::vmemory::vmemory
vmemory() noexcept
Initializes a new class instance with the memory handle set to INVAL.
Definition: Win.h:2064
-
winstd::vmemory::vmemory
vmemory(vmemory &&h) noexcept
Move constructor.
Definition: Win.h:2085
-
winstd::vmemory::m_proc
HANDLE m_proc
Handle of memory's process.
Definition: Win.h:2168
+
winstd::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
@@ -2013,22 +2017,24 @@ $(function() {
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::UnmapViewOfFile_delete< _Ty[]>::UnmapViewOfFile_delete
UnmapViewOfFile_delete()
Default construct.
Definition: Win.h:1561
-
winstd::UnmapViewOfFile_delete< _Ty[]>::operator()
void operator()(_Other *) const
Delete a pointer of another type.
Definition: Win.h:1576
-
winstd::UnmapViewOfFile_delete< _Ty[]>::operator()
void operator()(_Ty *_Ptr) const
Delete a pointer.
Definition: Win.h:1566
-
winstd::UnmapViewOfFile_delete< _Ty[]>::_Myt
UnmapViewOfFile_delete< _Ty > _Myt
This type.
Definition: Win.h:1556
-
winstd::UnmapViewOfFile_delete
Deleter for unique_ptr using UnmapViewOfFile.
Definition: Win.h:1528
-
winstd::UnmapViewOfFile_delete::UnmapViewOfFile_delete
UnmapViewOfFile_delete(const UnmapViewOfFile_delete< _Ty2 > &)
Construct from another UnmapViewOfFile_delete.
Definition: Win.h:1539
-
winstd::UnmapViewOfFile_delete::operator()
void operator()(_Ty *_Ptr) const
Delete a pointer.
Definition: Win.h:1544
-
winstd::UnmapViewOfFile_delete::_Myt
UnmapViewOfFile_delete< _Ty > _Myt
This type.
Definition: Win.h:1529
-
winstd::UnmapViewOfFile_delete::UnmapViewOfFile_delete
UnmapViewOfFile_delete()
Default construct.
Definition: Win.h:1534
-
winstd::heap_allocator::rebind
A structure that enables an allocator for objects of one type to allocate storage for objects of anot...
Definition: Win.h:1849
-
winstd::heap_allocator::rebind::other
heap_allocator< _Other > other
Other allocator type.
Definition: Win.h:1850
+
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
diff --git a/_win_sock2_8h_source.html b/_win_sock2_8h_source.html index 8674c369..5881bdea 100644 --- a/_win_sock2_8h_source.html +++ b/_win_sock2_8h_source.html @@ -255,7 +255,7 @@ $(function() { diff --git a/_win_trust_8h_source.html b/_win_trust_8h_source.html index ccedc4a3..7911cf3b 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 a454af9a..cd5b7974 100644 --- a/annotated.html +++ b/annotated.html @@ -160,7 +160,7 @@ $(function() { diff --git a/classes.html b/classes.html index a745c9f1..311571a5 100644 --- a/classes.html +++ b/classes.html @@ -120,7 +120,7 @@ $(function() { diff --git a/classwinstd_1_1actctx__activator-members.html b/classwinstd_1_1actctx__activator-members.html index f4e11946..1d367a71 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 9b886f07..2c2b5e93 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 91b63cff..60c9d1de 100644 --- a/classwinstd_1_1addrinfo-members.html +++ b/classwinstd_1_1addrinfo-members.html @@ -105,7 +105,7 @@ $(function() { diff --git a/classwinstd_1_1addrinfo.html b/classwinstd_1_1addrinfo.html index d8289eeb..91aa1cb6 100644 --- a/classwinstd_1_1addrinfo.html +++ b/classwinstd_1_1addrinfo.html @@ -307,7 +307,7 @@ static const PADDRINFOA in diff --git a/classwinstd_1_1basic__string__guid-members.html b/classwinstd_1_1basic__string__guid-members.html index 22ad9001..2e7aa445 100644 --- a/classwinstd_1_1basic__string__guid-members.html +++ b/classwinstd_1_1basic__string__guid-members.html @@ -77,7 +77,7 @@ $(function() { diff --git a/classwinstd_1_1basic__string__guid.html b/classwinstd_1_1basic__string__guid.html index cfc7343b..ef2a82d5 100644 --- a/classwinstd_1_1basic__string__guid.html +++ b/classwinstd_1_1basic__string__guid.html @@ -148,7 +148,7 @@ template<class _Elem , class _Traits , class _Ax > diff --git a/classwinstd_1_1basic__string__msg-members.html b/classwinstd_1_1basic__string__msg-members.html index b80bf7a5..04733643 100644 --- a/classwinstd_1_1basic__string__msg-members.html +++ b/classwinstd_1_1basic__string__msg-members.html @@ -83,7 +83,7 @@ $(function() { diff --git a/classwinstd_1_1basic__string__msg.html b/classwinstd_1_1basic__string__msg.html index 39de390a..f5001d7b 100644 --- a/classwinstd_1_1basic__string__msg.html +++ b/classwinstd_1_1basic__string__msg.html @@ -492,7 +492,7 @@ template<class _Elem , class _Traits , class _Ax > diff --git a/classwinstd_1_1basic__string__printf-members.html b/classwinstd_1_1basic__string__printf-members.html index 75220454..9b704c5f 100644 --- a/classwinstd_1_1basic__string__printf-members.html +++ b/classwinstd_1_1basic__string__printf-members.html @@ -79,7 +79,7 @@ $(function() { diff --git a/classwinstd_1_1basic__string__printf.html b/classwinstd_1_1basic__string__printf.html index e61058e9..0dce715e 100644 --- a/classwinstd_1_1basic__string__printf.html +++ b/classwinstd_1_1basic__string__printf.html @@ -267,7 +267,7 @@ template<class _Elem , class _Traits , class _Ax > diff --git a/classwinstd_1_1bstr-members.html b/classwinstd_1_1bstr-members.html index 0a210404..5b9a918b 100644 --- a/classwinstd_1_1bstr-members.html +++ b/classwinstd_1_1bstr-members.html @@ -113,7 +113,7 @@ $(function() { diff --git a/classwinstd_1_1bstr.html b/classwinstd_1_1bstr.html index 97cfb6a6..ab2a4924 100644 --- a/classwinstd_1_1bstr.html +++ b/classwinstd_1_1bstr.html @@ -368,7 +368,7 @@ static const BSTR invalid< diff --git a/classwinstd_1_1cert__chain__context-members.html b/classwinstd_1_1cert__chain__context-members.html index 93f9cf32..2a64bedf 100644 --- a/classwinstd_1_1cert__chain__context-members.html +++ b/classwinstd_1_1cert__chain__context-members.html @@ -115,7 +115,7 @@ $(function() { diff --git a/classwinstd_1_1cert__chain__context.html b/classwinstd_1_1cert__chain__context.html index 30965f11..d3080964 100644 --- a/classwinstd_1_1cert__chain__context.html +++ b/classwinstd_1_1cert__chain__context.html @@ -297,7 +297,7 @@ virtual void free_internal diff --git a/classwinstd_1_1cert__context-members.html b/classwinstd_1_1cert__context-members.html index 2eb1b502..52c52acc 100644 --- a/classwinstd_1_1cert__context-members.html +++ b/classwinstd_1_1cert__context-members.html @@ -120,7 +120,7 @@ $(function() { diff --git a/classwinstd_1_1cert__context.html b/classwinstd_1_1cert__context.html index 6c6a8884..93116e87 100644 --- a/classwinstd_1_1cert__context.html +++ b/classwinstd_1_1cert__context.html @@ -638,7 +638,7 @@ static const PCCERT_CONTEXT < diff --git a/classwinstd_1_1cert__store-members.html b/classwinstd_1_1cert__store-members.html index a0c57981..97e8866c 100644 --- a/classwinstd_1_1cert__store-members.html +++ b/classwinstd_1_1cert__store-members.html @@ -110,7 +110,7 @@ $(function() { diff --git a/classwinstd_1_1cert__store.html b/classwinstd_1_1cert__store.html index 80d2edef..63fb78d4 100644 --- a/classwinstd_1_1cert__store.html +++ b/classwinstd_1_1cert__store.html @@ -368,7 +368,7 @@ static const HCERTSTORE in diff --git a/classwinstd_1_1com__initializer-members.html b/classwinstd_1_1com__initializer-members.html index 4b349aff..42d2f7ba 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 9d197355..c96464a0 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 f0c9fa59..93e3e1cb 100644 --- a/classwinstd_1_1com__obj-members.html +++ b/classwinstd_1_1com__obj-members.html @@ -110,7 +110,7 @@ $(function() { diff --git a/classwinstd_1_1com__obj.html b/classwinstd_1_1com__obj.html index dd5a6979..28b587ac 100644 --- a/classwinstd_1_1com__obj.html +++ b/classwinstd_1_1com__obj.html @@ -251,7 +251,7 @@ template<class T > diff --git a/classwinstd_1_1com__runtime__error-members.html b/classwinstd_1_1com__runtime__error-members.html index db89df43..dcb98cfc 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 e5392046..d115192c 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 f85435c5..4c1bdce4 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 ca1ea86b..6ff992e9 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 af8e465d..979058b4 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 512246be..010c72ce 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 9a71b9c1..3c0b3a89 100644 --- a/classwinstd_1_1crypt__hash-members.html +++ b/classwinstd_1_1crypt__hash-members.html @@ -112,7 +112,7 @@ $(function() { diff --git a/classwinstd_1_1crypt__hash.html b/classwinstd_1_1crypt__hash.html index bf20e685..cd60b58c 100644 --- a/classwinstd_1_1crypt__hash.html +++ b/classwinstd_1_1crypt__hash.html @@ -288,7 +288,7 @@ virtual void free_internal diff --git a/classwinstd_1_1crypt__key-members.html b/classwinstd_1_1crypt__key-members.html index ce8cf800..11e79087 100644 --- a/classwinstd_1_1crypt__key-members.html +++ b/classwinstd_1_1crypt__key-members.html @@ -129,7 +129,7 @@ $(function() { diff --git a/classwinstd_1_1crypt__key.html b/classwinstd_1_1crypt__key.html index 27602688..af554ac4 100644 --- a/classwinstd_1_1crypt__key.html +++ b/classwinstd_1_1crypt__key.html @@ -580,7 +580,7 @@ static const HCRYPTKEY inv diff --git a/classwinstd_1_1crypt__prov-members.html b/classwinstd_1_1crypt__prov-members.html index 82c58228..c0db5234 100644 --- a/classwinstd_1_1crypt__prov-members.html +++ b/classwinstd_1_1crypt__prov-members.html @@ -103,7 +103,7 @@ $(function() { diff --git a/classwinstd_1_1crypt__prov.html b/classwinstd_1_1crypt__prov.html index cdb714b8..0d30a41d 100644 --- a/classwinstd_1_1crypt__prov.html +++ b/classwinstd_1_1crypt__prov.html @@ -254,7 +254,7 @@ virtual void free_internal diff --git a/classwinstd_1_1data__blob-members.html b/classwinstd_1_1data__blob-members.html index 2404baf2..32823a11 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 8cd5e086..e6e01716 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 deacebbb..d9927344 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 6a0f6448..08afac0f 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 f7ce7486..0eb2db9d 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 32dfc58d..6bb7cb78 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 d5e93677..561db77f 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 72f09f14..16c4ba6f 100644 --- a/classwinstd_1_1dplhandle.html +++ b/classwinstd_1_1dplhandle.html @@ -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 3c01fe22..de9de0bf 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 0613b6b3..09c29fc4 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 f8839e70..d700427e 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 6e9701db..fc072230 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 b642770c..25f883f5 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 7f439898..693e4dd5 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 fed674f9..e9ac8031 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 5bf3b6ac..2065d520 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 eac34fde..9336353e 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 3652c625..b7e199dc 100644 --- a/classwinstd_1_1eap__runtime__error.html +++ b/classwinstd_1_1eap__runtime__error.html @@ -298,7 +298,7 @@ typedef DWORD error_type diff --git a/classwinstd_1_1event-members.html b/classwinstd_1_1event-members.html index e052fd28..2bf241d0 100644 --- a/classwinstd_1_1event-members.html +++ b/classwinstd_1_1event-members.html @@ -103,7 +103,7 @@ $(function() { diff --git a/classwinstd_1_1event.html b/classwinstd_1_1event.html index 49bef9be..415055cf 100644 --- a/classwinstd_1_1event.html +++ b/classwinstd_1_1event.html @@ -229,7 +229,7 @@ static const HANDLE invali diff --git a/classwinstd_1_1event__data-members.html b/classwinstd_1_1event__data-members.html index 4f51cc44..86d73027 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 30bd1faf..0c8ce172 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 e58f2d4c..6743b4d5 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 86650ed6..7ddd30af 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 597a9019..ff84c97c 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 fcba5b73..a6cf1cdb 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 6efee160..4ce625e5 100644 --- a/classwinstd_1_1event__log-members.html +++ b/classwinstd_1_1event__log-members.html @@ -104,7 +104,7 @@ $(function() { diff --git a/classwinstd_1_1event__log.html b/classwinstd_1_1event__log.html index f586afc9..9ab85351 100644 --- a/classwinstd_1_1event__log.html +++ b/classwinstd_1_1event__log.html @@ -309,7 +309,7 @@ static const HANDLE invali diff --git a/classwinstd_1_1event__provider-members.html b/classwinstd_1_1event__provider-members.html index a083245e..e532a152 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 9fdef4d0..e359e481 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 49c7a5af..f4df84bf 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 24ae2106..48885751 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 670ecaf6..08b9b912 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 36a22168..7e2ff58f 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 c1dc4cbd..fd6f3098 100644 --- a/classwinstd_1_1event__trace-members.html +++ b/classwinstd_1_1event__trace-members.html @@ -101,7 +101,7 @@ $(function() { diff --git a/classwinstd_1_1event__trace.html b/classwinstd_1_1event__trace.html index e3c4827a..67e5786d 100644 --- a/classwinstd_1_1event__trace.html +++ b/classwinstd_1_1event__trace.html @@ -287,7 +287,7 @@ static const TRACEHANDLE i diff --git a/classwinstd_1_1event__trace__enabler-members.html b/classwinstd_1_1event__trace__enabler-members.html index 9d409e3d..139d3bc7 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 5aa94ee8..b043a4dd 100644 --- a/classwinstd_1_1event__trace__enabler.html +++ b/classwinstd_1_1event__trace__enabler.html @@ -344,7 +344,7 @@ PEVENT_FILTER_DESCRIPTOR m diff --git a/classwinstd_1_1file-members.html b/classwinstd_1_1file-members.html index e50a380c..c55c7e79 100644 --- a/classwinstd_1_1file-members.html +++ b/classwinstd_1_1file-members.html @@ -106,7 +106,7 @@ $(function() { diff --git a/classwinstd_1_1file.html b/classwinstd_1_1file.html index eb63ad6c..9a76627d 100644 --- a/classwinstd_1_1file.html +++ b/classwinstd_1_1file.html @@ -238,7 +238,7 @@ static const HANDLE invali diff --git a/classwinstd_1_1file__mapping-members.html b/classwinstd_1_1file__mapping-members.html index 736b249b..b4c171b0 100644 --- a/classwinstd_1_1file__mapping-members.html +++ b/classwinstd_1_1file__mapping-members.html @@ -105,7 +105,7 @@ $(function() { diff --git a/classwinstd_1_1file__mapping.html b/classwinstd_1_1file__mapping.html index 346a3134..93feb1aa 100644 --- a/classwinstd_1_1file__mapping.html +++ b/classwinstd_1_1file__mapping.html @@ -235,7 +235,7 @@ static const HANDLE invali diff --git a/classwinstd_1_1find__file-members.html b/classwinstd_1_1find__file-members.html index 781807a7..920fe579 100644 --- a/classwinstd_1_1find__file-members.html +++ b/classwinstd_1_1find__file-members.html @@ -104,7 +104,7 @@ $(function() { diff --git a/classwinstd_1_1find__file.html b/classwinstd_1_1find__file.html index 5c406337..bcaf8487 100644 --- a/classwinstd_1_1find__file.html +++ b/classwinstd_1_1find__file.html @@ -309,7 +309,7 @@ static const HANDLE invali diff --git a/classwinstd_1_1gdi__handle-members.html b/classwinstd_1_1gdi__handle-members.html index 43663656..4b350f0b 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 bcd0bb0a..7a6e73c9 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 6f5bd8e1..cc6dbb30 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 2c0bb9f5..38b74d07 100644 --- a/classwinstd_1_1handle.html +++ b/classwinstd_1_1handle.html @@ -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 d7384eba..2f83141f 100644 --- a/classwinstd_1_1heap-members.html +++ b/classwinstd_1_1heap-members.html @@ -106,7 +106,7 @@ $(function() { diff --git a/classwinstd_1_1heap.html b/classwinstd_1_1heap.html index d75e6145..2c92c83c 100644 --- a/classwinstd_1_1heap.html +++ b/classwinstd_1_1heap.html @@ -347,7 +347,7 @@ static const HANDLE invali diff --git a/classwinstd_1_1heap__allocator-members.html b/classwinstd_1_1heap__allocator-members.html index 23c26f5e..b31d24d7 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 eb4b0c1b..cfe48016 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 a22e9cfe..23b78d48 100644 --- a/classwinstd_1_1library-members.html +++ b/classwinstd_1_1library-members.html @@ -105,7 +105,7 @@ $(function() { diff --git a/classwinstd_1_1library.html b/classwinstd_1_1library.html index c818204e..56323fa0 100644 --- a/classwinstd_1_1library.html +++ b/classwinstd_1_1library.html @@ -312,7 +312,7 @@ static const HMODULE inval diff --git a/classwinstd_1_1num__runtime__error-members.html b/classwinstd_1_1num__runtime__error-members.html index 9608aa3a..7518442a 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 c705a9c6..1231245c 100644 --- a/classwinstd_1_1num__runtime__error.html +++ b/classwinstd_1_1num__runtime__error.html @@ -218,7 +218,7 @@ template<typename _Tn > diff --git a/classwinstd_1_1process-members.html b/classwinstd_1_1process-members.html index 94fb3f9d..423473ca 100644 --- a/classwinstd_1_1process-members.html +++ b/classwinstd_1_1process-members.html @@ -105,7 +105,7 @@ $(function() { diff --git a/classwinstd_1_1process.html b/classwinstd_1_1process.html index 50b92811..5b8ac120 100644 --- a/classwinstd_1_1process.html +++ b/classwinstd_1_1process.html @@ -252,7 +252,7 @@ static const HANDLE invali diff --git a/classwinstd_1_1process__information-members.html b/classwinstd_1_1process__information-members.html index 8f0c05dc..21fa904c 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 f71a61db..efef357d 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 cf403c42..4f664794 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 57df99f9..2c59f6d5 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 5a7c62c8..dc6617f7 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 5e1fc5ed..b523556c 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 02e15ad7..7e239cb4 100644 --- a/classwinstd_1_1reg__key-members.html +++ b/classwinstd_1_1reg__key-members.html @@ -106,7 +106,7 @@ $(function() { diff --git a/classwinstd_1_1reg__key.html b/classwinstd_1_1reg__key.html index a6dbd959..77cdbd41 100644 --- a/classwinstd_1_1reg__key.html +++ b/classwinstd_1_1reg__key.html @@ -263,7 +263,7 @@ virtual void free_internal diff --git a/classwinstd_1_1sanitizing__allocator-members.html b/classwinstd_1_1sanitizing__allocator-members.html index bea1ebd7..33d4bb93 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 ab41fc45..81adefcc 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 7a41beca..0dae6451 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 406e8b4b..d9c5e049 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 fce78ae0..e57955f0 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 550eee1d..e39e0cc7 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 11b2b5c8..cf3d3be9 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 60ac49b0..e87584bc 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 e7a8cfa4..0e6c8182 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 4855e3fa..7b25f636 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 67c9f6bd..32a3c407 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 ab9a8b48..5d686bfb 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 6b8d7ac7..2355a3ca 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 b68b2b9d..be2fd783 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 6be3227f..509a0311 100644 --- a/classwinstd_1_1setup__device__info__list-members.html +++ b/classwinstd_1_1setup__device__info__list-members.html @@ -112,7 +112,7 @@ $(function() { diff --git a/classwinstd_1_1setup__device__info__list.html b/classwinstd_1_1setup__device__info__list.html index 0b547e02..b73a49d6 100644 --- a/classwinstd_1_1setup__device__info__list.html +++ b/classwinstd_1_1setup__device__info__list.html @@ -374,7 +374,7 @@ static const HDEVINFO inva diff --git a/classwinstd_1_1setup__driver__info__list__builder-members.html b/classwinstd_1_1setup__driver__info__list__builder-members.html index d603f623..3cf690aa 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 adf4adab..f061ac35 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 43ffaf23..f92b95ac 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 e3dc3929..d2cd06ba 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 c4771867..cf1eee98 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 2c993034..3a4ef753 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 19cb86d8..d95dea4a 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 f7490282..e1888d48 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 5854b83f..72d33476 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 ad719294..07c2d9dd 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 e6f26546..e4513da3 100644 --- a/classwinstd_1_1waddrinfo-members.html +++ b/classwinstd_1_1waddrinfo-members.html @@ -105,7 +105,7 @@ $(function() { diff --git a/classwinstd_1_1waddrinfo.html b/classwinstd_1_1waddrinfo.html index 2e8655a0..b8ec69b7 100644 --- a/classwinstd_1_1waddrinfo.html +++ b/classwinstd_1_1waddrinfo.html @@ -307,7 +307,7 @@ static const PADDRINFOW in diff --git a/classwinstd_1_1win__handle-members.html b/classwinstd_1_1win__handle-members.html index 82f3a1a5..72a80543 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 30823af1..6a3dc6ec 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 43bc5ca3..bd87c936 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 8370f514..2c34164c 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 201c8af9..d55c26a9 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 7d09b071..44e66f9e 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 dd08363c..6fac39dd 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 0ba41aa7..248b5107 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 334b6d43..aa8b75b2 100644 --- a/classwinstd_1_1wlan__handle-members.html +++ b/classwinstd_1_1wlan__handle-members.html @@ -106,7 +106,7 @@ $(function() { diff --git a/classwinstd_1_1wlan__handle.html b/classwinstd_1_1wlan__handle.html index 081fe162..053cabe5 100644 --- a/classwinstd_1_1wlan__handle.html +++ b/classwinstd_1_1wlan__handle.html @@ -330,7 +330,7 @@ static const HANDLE invali diff --git a/classwinstd_1_1ws2__runtime__error-members.html b/classwinstd_1_1ws2__runtime__error-members.html index 0846bc41..cd7af35d 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 50a58d28..2d4e2a1e 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 6cdea08b..060d0557 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 fdb2a84a..5c0c7bd1 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 e5301469..41a9793c 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 623c0419..95ffaf15 100644 --- a/dir_d44c64559bbebec7f509842c48db8b23.html +++ b/dir_d44c64559bbebec7f509842c48db8b23.html @@ -79,7 +79,7 @@ Directories diff --git a/files.html b/files.html index 5d9f1fbf..72cebec8 100644 --- a/files.html +++ b/files.html @@ -90,7 +90,7 @@ $(function() { diff --git a/functions.html b/functions.html index 8e587e38..3ede2a82 100644 --- a/functions.html +++ b/functions.html @@ -73,7 +73,7 @@ $(function() { diff --git a/functions_a.html b/functions_a.html index 8b80519c..44f9aa4e 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 d9269ef1..c8e9b2e2 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 eedd6b64..cb8ec018 100644 --- a/functions_c.html +++ b/functions_c.html @@ -83,7 +83,7 @@ $(function() { diff --git a/functions_d.html b/functions_d.html index 70106fac..8e4f842a 100644 --- a/functions_d.html +++ b/functions_d.html @@ -81,7 +81,7 @@ $(function() { diff --git a/functions_e.html b/functions_e.html index f57e31bd..bc7c9eae 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 2f79841b..6fd6665c 100644 --- a/functions_f.html +++ b/functions_f.html @@ -72,7 +72,7 @@ $(function() { diff --git a/functions_func.html b/functions_func.html index 54a0405f..edc5f801 100644 --- a/functions_func.html +++ b/functions_func.html @@ -71,7 +71,7 @@ $(function() { diff --git a/functions_func_a.html b/functions_func_a.html index 467fda61..e04a7973 100644 --- a/functions_func_a.html +++ b/functions_func_a.html @@ -76,7 +76,7 @@ $(function() { diff --git a/functions_func_b.html b/functions_func_b.html index 26138de4..9aa441f0 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 e607db5b..f0613e7d 100644 --- a/functions_func_c.html +++ b/functions_func_c.html @@ -81,7 +81,7 @@ $(function() { diff --git a/functions_func_d.html b/functions_func_d.html index c257a596..87071f9b 100644 --- a/functions_func_d.html +++ b/functions_func_d.html @@ -80,7 +80,7 @@ $(function() { diff --git a/functions_func_e.html b/functions_func_e.html index 5ebeba30..850bff61 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 8203a775..03059748 100644 --- a/functions_func_f.html +++ b/functions_func_f.html @@ -72,7 +72,7 @@ $(function() { diff --git a/functions_func_h.html b/functions_func_h.html index 4b59a250..24c5f3fd 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 d7ed9fa6..830d0a37 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 ec385830..f749207e 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 fe405fb7..00cbc68c 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 7b64e733..d05b3430 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 9e622c79..a69456b0 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 0731d48c..ed738afe 100644 --- a/functions_func_p.html +++ b/functions_func_p.html @@ -72,7 +72,7 @@ $(function() { diff --git a/functions_func_r.html b/functions_func_r.html index 14c870ce..2bd22e82 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 dbb661c5..fa01c4fc 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 9d2213d3..7f22d640 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 71d1ea88..815a0681 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 d7c01553..54381174 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 de30affe..2dca7fbd 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 1ece9b12..b89f10a4 100644 --- a/functions_func_~.html +++ b/functions_func_~.html @@ -118,7 +118,7 @@ $(function() { diff --git a/functions_h.html b/functions_h.html index 1703cb68..98d54bda 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 6e85bcec..013d627e 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 c71e9564..5373119c 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 5bddd657..b367389a 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 e9d3908e..7d5be333 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 9131bce3..e8bde039 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 5af8a68d..5213c218 100644 --- a/functions_p.html +++ b/functions_p.html @@ -73,7 +73,7 @@ $(function() { diff --git a/functions_r.html b/functions_r.html index a0289d4d..bd66a299 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 bec31430..f6baac79 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 dbc45130..0b645edd 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 eb3f51dc..5caaddb3 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 71c89c7d..e670d428 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 c9700c55..9f176c3e 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 fa5ba1d4..47b1241c 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 b50a14d6..fa16cc97 100644 --- a/functions_w.html +++ b/functions_w.html @@ -77,7 +77,7 @@ $(function() { diff --git a/functions_~.html b/functions_~.html index fede4e20..617aceee 100644 --- a/functions_~.html +++ b/functions_~.html @@ -118,7 +118,7 @@ $(function() { diff --git a/group___setup_a_p_i.html b/group___setup_a_p_i.html index 14255bae..d1978366 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 f2f430ed..cbfe8a0d 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 3626c417..c00dbdc1 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 5ac2a16e..53207dc7 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 a8b5087b..42de9966 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 d7e9fb38..133e3020 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 687766ac..9be743a1 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 df603a84..90c9d8f2 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 37f907fc..fa725520 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 72d56f2e..34f1cbdf 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 40524ccf..8ee6fa62 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 012b7b03..0c48bead 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 a611d21b..dccfc35d 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 1e0ac39e..2af920c6 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 e08a04c6..a13407c1 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 b31574e9..c58f2f9f 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 808fbcc0..c390acdc 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 015c6620..49f96d97 100644 --- a/group___win_std_win_a_p_i.html +++ b/group___win_std_win_a_p_i.html @@ -65,7 +65,8 @@ $(function() {
Windows API
@@ -147,6 +148,15 @@ Macros #define StringToGuid   StringToGuidA  Parses string with GUID and stores it to GUID. More...
  + + + + + + + +

+Typedefs

typedef win_handle< NULL > winstd::thread
 Thread handle wrapper. More...
 
typedef win_handle< INVALID_HANDLE_VALUE > winstd::process_snapshot
 Process snapshot handle wrapper. More...
 

Detailed Description

Integrates WinStd classes with Microsoft Windows API.

@@ -238,12 +248,47 @@ Macros

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

+ + +

Typedef Documentation

+ +

◆ process_snapshot

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

Process snapshot handle wrapper.

+
See also
CreateToolhelp32Snapshot function
+ +
+
+ +

◆ thread

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

Thread handle wrapper.

+
See also
CreateThread function
+
diff --git a/group___win_trust_a_p_i.html b/group___win_trust_a_p_i.html index be23e65c..90d952d0 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 84f9271b..1ba68746 100644 --- a/hierarchy.html +++ b/hierarchy.html @@ -212,7 +212,7 @@ $(function() { diff --git a/index.html b/index.html index 2163c720..e1366efe 100644 --- a/index.html +++ b/index.html @@ -134,7 +134,7 @@ Usage diff --git a/modules.html b/modules.html index 97111943..3b2367df 100644 --- a/modules.html +++ b/modules.html @@ -92,7 +92,7 @@ $(function() { diff --git a/search/all_11.js b/search/all_11.js index f740c7f6..3471b568 100644 --- a/search/all_11.js +++ b/search/all_11.js @@ -1,11 +1,12 @@ var searchData= [ ['taddrinfo_0',['taddrinfo',['../group___win_sock2_a_p_i.html#ga73a783d5ebf3d1af2a565cb78062b5b6',1,'winstd']]], - ['tls_1',['tls',['../group___win_std_e_a_p_a_p_i.html#gga50f5584ca708165f43cec42c42243315aa60aeea3d4cdbb5049fc37164644bb34',1,'winstd']]], - ['tstring_2',['tstring',['../group___win_std_general.html#ga8081292a94f5d070e644bdc90662d1fc',1,'winstd']]], - ['tstring_5fguid_3',['tstring_guid',['../group___win_std_str_format.html#ga4c44b6a587f894ee33bb58a10ba27d6b',1,'winstd']]], - ['tstring_5fmsg_4',['tstring_msg',['../group___win_std_str_format.html#gaf47f07aac0b4c8ef47cf42216ab17f1b',1,'winstd']]], - ['tstring_5fprintf_5',['tstring_printf',['../group___win_std_str_format.html#gab805ccda115191833fb01ba4457f208a',1,'winstd']]], - ['ttls_6',['ttls',['../group___win_std_e_a_p_a_p_i.html#gga50f5584ca708165f43cec42c42243315accd905a8bbc449980aa7f26fcbd206e2',1,'winstd']]], - ['type_7',['type',['../classwinstd_1_1eap__runtime__error.html#a0562abef7454f9a6f97902d4260b7f50',1,'winstd::eap_runtime_error']]] + ['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_e.js b/search/all_e.js index dfca7ede..1a896b18 100644 --- a/search/all_e.js +++ b/search/all_e.js @@ -5,5 +5,6 @@ var searchData= ['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_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_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/typedefs_6.js b/search/typedefs_6.js index b39a35be..2c9c2f92 100644 --- a/search/typedefs_6.js +++ b/search/typedefs_6.js @@ -1,4 +1,5 @@ var searchData= [ - ['pointer_0',['pointer',['../classwinstd_1_1heap__allocator.html#ae04bc3ff970d32e6a2967072efdb06cd',1,'winstd::heap_allocator']]] + ['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']]] ]; diff --git a/search/typedefs_9.js b/search/typedefs_9.js index abdcd7ed..b5ef5a7d 100644 --- a/search/typedefs_9.js +++ b/search/typedefs_9.js @@ -1,8 +1,9 @@ var searchData= [ ['taddrinfo_0',['taddrinfo',['../group___win_sock2_a_p_i.html#ga73a783d5ebf3d1af2a565cb78062b5b6',1,'winstd']]], - ['tstring_1',['tstring',['../group___win_std_general.html#ga8081292a94f5d070e644bdc90662d1fc',1,'winstd']]], - ['tstring_5fguid_2',['tstring_guid',['../group___win_std_str_format.html#ga4c44b6a587f894ee33bb58a10ba27d6b',1,'winstd']]], - ['tstring_5fmsg_3',['tstring_msg',['../group___win_std_str_format.html#gaf47f07aac0b4c8ef47cf42216ab17f1b',1,'winstd']]], - ['tstring_5fprintf_4',['tstring_printf',['../group___win_std_str_format.html#gab805ccda115191833fb01ba4457f208a',1,'winstd']]] + ['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/structwinstd_1_1_co_task_mem_free__delete-members.html b/structwinstd_1_1_co_task_mem_free__delete-members.html index 34c53e18..7baebbc2 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 f507748e..5f9bc997 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 c84919bb..3bc05f84 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 43227767..0c63277e 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 9e0d7767..6a1e21ac 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 42c1f69a..54a7b773 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 1a82e914..3a07078b 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 e7643919..06d98db6 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 cb3c4258..e013999a 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 f0614993..f1a34c68 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 715b6807..91b77428 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 a17c2e8e..9516ee2b 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 01076a99..748f2add 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 ad995d99..898d830f 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 26dbcebe..9d561dae 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 bd4e0375..f7bad80e 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 b66801a6..3923d7a1 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 f3af5b83..63862c2c 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 c284cc81..11de93d1 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 3ef297b7..c9dd2201 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 8275d18e..1e7e0548 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 ac542018..e028eb13 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 e2912973..e4bd576e 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 cfd759e8..81734013 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 b2d33f97..353c29c3 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 e1833625..e89d4b80 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 86fd5885..32667fc6 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 39377f1f..c637eaba 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 7f1cda7b..34e61b80 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 cb5004c1..53938246 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 >