Simon Rozman
49542a5f64
Refactor
...
Signed-off-by: Simon Rozman <simon@rozman.si >
2023-12-21 09:19:52 +01:00
Simon Rozman
e2a279f30f
Simplify UnmapViewOfFile_delete
...
No need to have it as a template. And array version is not required
either.
2023-12-08 14:23:26 +01:00
Simon Rozman
f778e698c9
COM: Make com_initializer constructors throw on error
...
This aligns the class with other COM classes (see com_obj) and makes
client code simpler as it does not need to check for error explicitly.
Signed-off-by: Simon Rozman <simon@rozman.si >
2023-12-08 10:09:47 +01:00
Simon Rozman
06b656e2ce
Fix to compile as C++17
...
Signed-off-by: Simon Rozman <simon@rozman.si >
2023-11-08 20:26:52 +01:00
Simon Rozman
8e323efef9
Resolve code analysis warnings
...
Signed-off-by: Simon Rozman <simon@rozman.si >
2023-11-07 09:37:07 +01:00
Simon Rozman
512451ec0e
Support for C++17
...
Signed-off-by: Simon Rozman <simon@rozman.si >
2023-11-07 08:53:06 +01:00
Simon Rozman
16df7b86a1
sanitizing_allocator: fix zeroing memory when sizeof(T)>1
...
std::allocator<>::deallocate() second parameter is number of elements,
not array size!
Signed-off-by: Simon Rozman <simon@rozman.si >
2023-11-07 08:50:04 +01:00
Simon Rozman
b39aecb224
Fix FormatMessage helper functions
...
Signed-off-by: Simon Rozman <simon@rozman.si >
2023-10-18 13:43:40 +02:00
Simon Rozman
f9090e02f4
Throw on 4G overflows
...
Signed-off-by: Simon Rozman <simon@rozman.si >
2023-10-16 14:33:11 +02:00
Simon Rozman
ff8136f708
Add load_msg_from_res and fmt_msg_from_res helpers
...
Signed-off-by: Simon Rozman <simon@rozman.si >
2023-10-13 11:56:58 +02:00
Simon Rozman
f9f9aade69
Add clipboard_opener
...
Signed-off-by: Simon Rozman <simon@rozman.si >
2023-10-10 16:50:35 +02:00
Simon Rozman
f8f8e7e76e
Cleanup
...
Signed-off-by: Simon Rozman <simon@rozman.si >
2023-10-10 16:50:20 +02:00
Simon Rozman
e0fc1ae56a
Cleanup
...
Signed-off-by: Simon Rozman <simon@rozman.si >
2023-10-06 15:57:36 +02:00
Simon Rozman
2680cdb3fd
Upgrade win_runtime_error and ws_runtime_error to include error message
...
Upper levels usually just catch std::exception and display what()
message to the user. Rather than requiring typed exception catching and
per-type user message synthesis, it's easier for upper levels if we
stuff the Windows/Winsock2 formatted error message at the end of the
string returned by what() and leave the catch (std::exception&) do the
magic.
Signed-off-by: Simon Rozman <simon@rozman.si >
2023-10-03 15:18:25 +02:00
Simon Rozman
d99aedecc1
Add winstd::http
...
Signed-off-by: Simon Rozman <simon@rozman.si >
2023-10-01 22:49:05 +02:00
Simon Rozman
c1bd614597
Add GetThreadPreferredUILanguages
...
Signed-off-by: Simon Rozman <simon@rozman.si >
2023-10-01 22:48:33 +02:00
Simon Rozman
7637d86c7d
Add winstd::mutex
...
Signed-off-by: Simon Rozman <simon@rozman.si >
2023-10-01 22:48:07 +02:00
Simon Rozman
ca4e9d069f
Cleanup
...
Signed-off-by: Simon Rozman <simon@rozman.si >
2023-10-01 22:47:28 +02:00
Simon Rozman
40003c4054
COM: Improve bstr constructors
...
Signed-off-by: Simon Rozman <simon@rozman.si >
2023-10-01 22:44:38 +02:00
Simon Rozman
0addbd825a
icon: Add
...
Signed-off-by: Simon Rozman <simon@rozman.si >
2023-07-03 13:54:46 +02:00
Simon Rozman
da8bd86d83
Add helpers for GlobalAlloc
...
Signed-off-by: Simon Rozman <simon@rozman.si >
2023-03-08 11:14:03 +01:00
Simon Rozman
bf9ab7c4e2
Cleanup
...
Signed-off-by: Simon Rozman <simon@rozman.si >
2023-03-08 09:48:03 +01:00
Simon Rozman
3698ca011a
COM: Introduce SAFEARRAY helpers
...
Signed-off-by: Simon Rozman <simon@rozman.si >
2023-03-08 09:48:02 +01:00
Simon Rozman
31ebd9b08f
Make duplicate_internal() and other allocation methods throw
...
An exception can be way more elaborate why duplication failed and it
doesn't require consistent checking for result.
Signed-off-by: Simon Rozman <simon@rozman.si >
2023-03-08 09:28:13 +01:00
Simon Rozman
1d206602e6
com_obj: Add CoCreateInstance constructor
...
When using winstd::com_obj<> as a member of another class and we want
to create an instance of the object in another class' constructor, this
comes convenient.
Signed-off-by: Simon Rozman <simon@rozman.si >
2023-03-08 09:28:13 +01:00
Simon Rozman
fc0060d3bd
COM: Throw in constructors and operators
...
Signed-off-by: Simon Rozman <simon@rozman.si >
2023-03-08 09:28:13 +01:00
Simon Rozman
12046216e9
Discontinue terminal punctuation in exception messages
...
Signed-off-by: Simon Rozman <simon@rozman.si >
2023-03-06 16:04:56 +01:00
Simon Rozman
db23a5a984
Bump copyright year
...
Signed-off-by: Simon Rozman <simon@rozman.si >
2022-12-29 11:09:06 +01:00
Simon Rozman
50552b73ed
Readme: Update Visual Studio version range
...
Signed-off-by: Simon Rozman <simon@rozman.si >
2022-10-28 14:27:30 +02:00
Simon Rozman
9ff26e1422
MSBuild: Make switchable between VS2019 and VS2022
...
Signed-off-by: Simon Rozman <simon@rozman.si >
2022-10-28 08:18:26 +02:00
Simon Rozman
963c2e44ac
Update MsiFormatRecord() SAL
...
Documentation says hInstall may be NULL "in which case only the record
field parameters are processed and properties are not available for
substitution."
Signed-off-by: Simon Rozman <simon@rozman.si >
2022-10-18 09:32:03 +02:00
Simon Rozman
93b3157f31
Add PathRemoveBackslash()
...
Signed-off-by: Simon Rozman <simon@rozman.si >
2022-10-17 16:03:24 +02:00
Simon Rozman
0fea2d1ed7
Add SetEntriesInAcl()
...
Signed-off-by: Simon Rozman <simon@rozman.si >
2022-10-17 16:03:24 +02:00
Simon Rozman
ad2d67e680
Add AllocateAndInitializeSid()
...
Signed-off-by: Simon Rozman <simon@rozman.si >
2022-10-17 16:03:07 +02:00
Simon Rozman
322ada3dd5
Add CoGetObject()
...
Signed-off-by: Simon Rozman <simon@rozman.si >
2022-10-17 09:16:59 +02:00
Simon Rozman
bd5c1fdd9d
Add DuplicateTokenEx()
...
Signed-off-by: Simon Rozman <simon@rozman.si >
2022-10-14 14:24:27 +02:00
Simon Rozman
3cf2e96b07
Cleanup
...
sizeof(BYTE), really?
Signed-off-by: Simon Rozman <simon@rozman.si >
2022-10-14 14:04:33 +02:00
Simon Rozman
95fb94d828
Cleanup excessive memory allocation check
...
Operator new throws rather than returns NULL.
Signed-off-by: Simon Rozman <simon@rozman.si >
2022-10-14 14:00:16 +02:00
Simon Rozman
a052c028b5
Add CreateWellKnownSid()
...
Signed-off-by: Simon Rozman <simon@rozman.si >
2022-10-14 13:58:42 +02:00
Simon Rozman
f7c31329cd
Fix documentation
...
Signed-off-by: Simon Rozman <simon@rozman.si >
2022-10-14 13:24:59 +02:00
Simon Rozman
28b70eedb8
Add winstd::system_impersonator
...
Signed-off-by: Simon Rozman <simon@rozman.si >
2022-10-14 13:21:36 +02:00
Simon Rozman
539828dd2c
Update documentation
...
Signed-off-by: Simon Rozman <simon@rozman.si >
2022-10-13 12:36:09 +02:00
Simon Rozman
1f0b8cdb6d
Cleanup
2022-10-03 19:43:47 +02:00
Simon Rozman
49b55331e4
Unify std::vector::data() typecasting
...
When used in place of void*, typecasting is redundant. In other
situations use reinterpret_cast<true type>() rather than C-style
typecasting.
Signed-off-by: Simon Rozman <simon@rozman.si >
2022-05-05 13:37:30 +02:00
Simon Rozman
83c749e394
Add SC_HANDLE helper class
...
Signed-off-by: Simon Rozman <simon@rozman.si >
2022-03-21 14:16:37 +01:00
Simon Rozman
7defbb8cab
Add SECURITY_ATTRIBUTES wrapper
...
Signed-off-by: Simon Rozman <simon@rozman.si >
2022-03-10 14:51:29 +01:00
Simon Rozman
6a8310a9e7
Update documentation
...
Signed-off-by: Simon Rozman <simon@rozman.si >
2022-03-10 14:50:44 +01:00
Simon Rozman
8244dea1a4
Split CredEnumerate to A and W variants
...
Signed-off-by: Simon Rozman <simon@rozman.si >
2022-03-10 14:50:10 +01:00
Simon Rozman
212ee66296
Simplify critical section creation
...
RIP Windows XP.
Reference: https://docs.microsoft.com/en-us/windows/win32/api/synchapi/nf-synchapi-initializecriticalsection
Signed-off-by: Simon Rozman <simon@rozman.si >
2022-03-08 19:46:19 +01:00
Simon Rozman
7ef082ca26
UnitTests: Enable PREfast and code analysis
...
Signed-off-by: Simon Rozman <simon@rozman.si >
2022-03-08 19:44:07 +01:00