Update documentation
Signed-off-by: Simon Rozman <simon@rozman.si>
This commit is contained in:
parent
2468f67e26
commit
3b110f7dc5
2
Doxyfile
2
Doxyfile
@ -44,7 +44,7 @@ PROJECT_NUMBER =
|
|||||||
# for a project that appears at the top of each page and should give viewer a
|
# for a project that appears at the top of each page and should give viewer a
|
||||||
# quick idea about the purpose of the project. Keep the description short.
|
# quick idea about the purpose of the project. Keep the description short.
|
||||||
|
|
||||||
PROJECT_BRIEF = "Additional templates and function helpers for Microsoft Windows using Standard C++ classes"
|
PROJECT_BRIEF = "Windows Win32 API using Standard C++"
|
||||||
|
|
||||||
# With the PROJECT_LOGO tag one can specify a logo or an icon that is included
|
# With the PROJECT_LOGO tag one can specify a logo or an icon that is included
|
||||||
# in the documentation. The maximum height of the logo should not exceed 55
|
# in the documentation. The maximum height of the logo should not exceed 55
|
||||||
|
18
README.md
18
README.md
@ -1,6 +1,6 @@
|
|||||||
# WinStd
|
# WinStd
|
||||||
|
|
||||||
Provides additional templates and function helpers for Windows API using Standard C++ in Microsoft Visual C++ 2017-2019
|
Provides templates and function helpers for Windows Win32 API using Standard C++ in Microsoft Visual C++ 2017-2019
|
||||||
|
|
||||||
## Features
|
## Features
|
||||||
|
|
||||||
@ -8,11 +8,9 @@ Provides additional templates and function helpers for Windows API using Standar
|
|||||||
|
|
||||||
This project does not require building. Just `#include` individual files from this repository into your source code and get started.
|
This project does not require building. Just `#include` individual files from this repository into your source code and get started.
|
||||||
|
|
||||||
### Lightweight Classes
|
### Memory and Resource Helper Classes
|
||||||
|
|
||||||
...to simplify Windows allocated memory and resources focused on their release to prevent leakage
|
Simplify memory and resource management. The classes release memory and resources automatically. They are like _smart-pointers_ for various Windows resources. Once created, you use the class instance as a snap-in replacement for pointers/handles parameters in the standard Win32 API function calls.
|
||||||
|
|
||||||
The classes provide unified create methods and free destructors. They are like _smart-pointers_ for various Windows resources. Once created, you use the class instance as a snap-in replacement for pointers/handles parameters in the standard Win32 API functions.
|
|
||||||
|
|
||||||
#### Example
|
#### Example
|
||||||
|
|
||||||
@ -26,8 +24,6 @@ m_note_icon->SetIcon(wxLoadIconFromResource(lib_shell32, MAKEINTRESOURCE(48)));
|
|||||||
|
|
||||||
### Functions and Templates
|
### Functions and Templates
|
||||||
|
|
||||||
...to extend standard Win32 API functions for variable-size outputs
|
|
||||||
|
|
||||||
Different Win32 API functions have different ways of returning variable-sized data. Getting tired of carefully studying MSDN for each particular Win32 API function how to preallocate the output memory correctly? We too...
|
Different Win32 API functions have different ways of returning variable-sized data. Getting tired of carefully studying MSDN for each particular Win32 API function how to preallocate the output memory correctly? We too...
|
||||||
|
|
||||||
WinStd provides a subset of Win32 API identically named functions (C++ polymorphism to the rescue), where one can use `std::string`, `std::wstring`, `std::vector<>` etc. as an output parameter. WinStd handles all the dirty work with memory allocation for you, so you can focus on your code.
|
WinStd provides a subset of Win32 API identically named functions (C++ polymorphism to the rescue), where one can use `std::string`, `std::wstring`, `std::vector<>` etc. as an output parameter. WinStd handles all the dirty work with memory allocation for you, so you can focus on your code.
|
||||||
@ -43,7 +39,7 @@ std::cout << response.c_str() << std::endl;
|
|||||||
|
|
||||||
### String Formatters
|
### String Formatters
|
||||||
|
|
||||||
...for those situations where one must quckly compose a temporary string using `sprintf()` or `FormatMessage()`
|
For those situations where one must quckly compose a temporary string using `sprintf()` or `FormatMessage()`. Or, convert a GUID to a string on the fly.
|
||||||
|
|
||||||
#### Example
|
#### Example
|
||||||
|
|
||||||
@ -56,6 +52,10 @@ if (dwMaxSendPacketSize < sizeof(EapPacket))
|
|||||||
dwMaxSendPacketSize));
|
dwMaxSendPacketSize));
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## What WinStd Is Not
|
||||||
|
|
||||||
|
WinStd is not trying to be a full-fledged object-oriented framework on top of Win32 API. We have Microsoft to publish those once every few years - and obsolete it when they loose interest. WinStd aims at augmenting Win32 API with a little bit of help from C++.
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
1. Clone the repository into your solution folder.
|
1. Clone the repository into your solution folder.
|
||||||
@ -79,3 +79,5 @@ void main()
|
|||||||
An auto-generated documentation is [here](https://amebis.github.io/WinStd/).
|
An auto-generated documentation is [here](https://amebis.github.io/WinStd/).
|
||||||
|
|
||||||
More examples and use-cases can be found in [GÉANTLink](https://github.com/Amebis/GEANTLink) and [ZRCola](https://github.com/Amebis/ZRCola) projects source code. They make heavy use of WinStd.
|
More examples and use-cases can be found in [GÉANTLink](https://github.com/Amebis/GEANTLink) and [ZRCola](https://github.com/Amebis/ZRCola) projects source code. They make heavy use of WinStd.
|
||||||
|
|
||||||
|
This is a one-man project for the time being, so the Win32 API support is far from complete. It is added as needed. Contributions are welcome.
|
||||||
|
@ -4,13 +4,7 @@
|
|||||||
Copyright © 2016 GÉANT
|
Copyright © 2016 GÉANT
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/// \file
|
/// \defgroup WinStdCOM COM Object Management
|
||||||
/// Provides helper templates for Windows COM object manipulation
|
|
||||||
///
|
|
||||||
/// \defgroup WinStdCOM COM object management
|
|
||||||
///
|
|
||||||
/// Provides helper templates for Windows COM object manipulation
|
|
||||||
///
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
@ -16,14 +16,9 @@
|
|||||||
#include <string>
|
#include <string>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
/// \file
|
|
||||||
/// General API
|
|
||||||
///
|
|
||||||
/// \defgroup WinStdGeneral General
|
/// \defgroup WinStdGeneral General
|
||||||
/// General API
|
|
||||||
///
|
///
|
||||||
/// \defgroup WinStdStrFormat String Formatting
|
/// \defgroup WinStdStrFormat String Formatting
|
||||||
/// Formatted string generation
|
|
||||||
///
|
///
|
||||||
/// \par Example
|
/// \par Example
|
||||||
/// \code
|
/// \code
|
||||||
@ -33,13 +28,10 @@
|
|||||||
/// \endcode
|
/// \endcode
|
||||||
///
|
///
|
||||||
/// \defgroup WinStdSysHandles System Handles
|
/// \defgroup WinStdSysHandles System Handles
|
||||||
/// Simplifies work with object handles of various type
|
|
||||||
///
|
///
|
||||||
/// \defgroup WinStdExceptions Exceptions
|
/// \defgroup WinStdExceptions Exceptions
|
||||||
/// Additional exceptions
|
|
||||||
///
|
///
|
||||||
/// \defgroup WinStdMemSanitize Auto-sanitize Memory Management
|
/// \defgroup WinStdMemSanitize Auto-sanitize Memory Management
|
||||||
/// Sanitizes memory before dismissed
|
|
||||||
|
|
||||||
/// \addtogroup WinStdGeneral
|
/// \addtogroup WinStdGeneral
|
||||||
/// @{
|
/// @{
|
||||||
|
@ -4,11 +4,7 @@
|
|||||||
Copyright © 2016 GÉANT
|
Copyright © 2016 GÉANT
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/// \file
|
|
||||||
/// Integrates WinStd classes with Microsoft Credentials API
|
|
||||||
///
|
|
||||||
/// \defgroup WinStdCredAPI Credentials API
|
/// \defgroup WinStdCredAPI Credentials API
|
||||||
/// Integrates WinStd classes with Microsoft Credentials API
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
@ -4,11 +4,7 @@
|
|||||||
Copyright © 2016 GÉANT
|
Copyright © 2016 GÉANT
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/// \file
|
|
||||||
/// Integrates WinStd classes with Microsoft Cryptography API
|
|
||||||
///
|
|
||||||
/// \defgroup WinStdCryptoAPI Cryptography API
|
/// \defgroup WinStdCryptoAPI Cryptography API
|
||||||
/// Integrates WinStd classes with Microsoft Cryptography API
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
@ -4,11 +4,7 @@
|
|||||||
Copyright © 2016 GÉANT
|
Copyright © 2016 GÉANT
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/// \file
|
|
||||||
/// Integrates WinStd classes with Microsoft EAP API
|
|
||||||
///
|
|
||||||
/// \defgroup WinStdEAPAPI Extensible Authentication Protocol API
|
/// \defgroup WinStdEAPAPI Extensible Authentication Protocol API
|
||||||
/// Integrates WinStd classes with Microsoft EAP API
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
@ -4,11 +4,7 @@
|
|||||||
Copyright © 2016 GÉANT
|
Copyright © 2016 GÉANT
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/// \file
|
|
||||||
/// Integrates WinStd classes with Event Tracing for Windows API
|
|
||||||
///
|
|
||||||
/// \defgroup WinStdETWAPI Event Tracing for Windows API
|
/// \defgroup WinStdETWAPI Event Tracing for Windows API
|
||||||
/// Integrates WinStd classes with Event Tracing for Windows API
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
@ -3,11 +3,7 @@
|
|||||||
Copyright © 1991-2022 Amebis
|
Copyright © 1991-2022 Amebis
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/// \file
|
|
||||||
/// Integrates WinStd classes with Microsoft Windows GDI
|
|
||||||
///
|
|
||||||
/// \defgroup WinStdGdiAPI GDI API
|
/// \defgroup WinStdGdiAPI GDI API
|
||||||
/// Integrates WinStd classes with Microsoft Windows GDI
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
@ -4,11 +4,7 @@
|
|||||||
Copyright © 2016 GÉANT
|
Copyright © 2016 GÉANT
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/// \file
|
|
||||||
/// Integrates WinStd classes with Microsoft Installer API
|
|
||||||
///
|
|
||||||
/// \defgroup WinStdMSIAPI Microsoft Installer API
|
/// \defgroup WinStdMSIAPI Microsoft Installer API
|
||||||
/// Integrates WinStd classes with Microsoft Installer API
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
@ -4,11 +4,7 @@
|
|||||||
Copyright © 2016 GÉANT
|
Copyright © 2016 GÉANT
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/// \file
|
|
||||||
/// Integrates WinStd classes with Microsoft Security API
|
|
||||||
///
|
|
||||||
/// \defgroup WinStdSecurityAPI Security API
|
/// \defgroup WinStdSecurityAPI Security API
|
||||||
/// Integrates WinStd classes with Microsoft Security API
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
@ -4,11 +4,7 @@
|
|||||||
Copyright © 2016 GÉANT
|
Copyright © 2016 GÉANT
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/// \file
|
|
||||||
/// Integrates WinStd classes with Microsoft Setup API
|
|
||||||
///
|
|
||||||
/// \defgroup SetupAPI Setup API
|
/// \defgroup SetupAPI Setup API
|
||||||
/// Integrates WinStd classes with Microsoft Setup API
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
@ -4,11 +4,7 @@
|
|||||||
Copyright © 2016 GÉANT
|
Copyright © 2016 GÉANT
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/// \file
|
|
||||||
/// Integrates WinStd classes with Microsoft Shell API
|
|
||||||
///
|
|
||||||
/// \defgroup WinStdShellWAPI Shell API
|
/// \defgroup WinStdShellWAPI Shell API
|
||||||
/// Integrates WinStd classes with Microsoft Shell API
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
@ -4,11 +4,7 @@
|
|||||||
Copyright © 2016 GÉANT
|
Copyright © 2016 GÉANT
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/// \file
|
|
||||||
/// Integrates WinStd classes with Microsoft WLAN API
|
|
||||||
///
|
|
||||||
/// \defgroup WinStdWLANAPI WLAN API
|
/// \defgroup WinStdWLANAPI WLAN API
|
||||||
/// Integrates WinStd classes with Microsoft WLAN API
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
@ -4,11 +4,7 @@
|
|||||||
Copyright © 2016 GÉANT
|
Copyright © 2016 GÉANT
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/// \file
|
|
||||||
/// Integrates WinStd classes with Microsoft Windows API
|
|
||||||
///
|
|
||||||
/// \defgroup WinStdWinAPI Windows API
|
/// \defgroup WinStdWinAPI Windows API
|
||||||
/// Integrates WinStd classes with Microsoft Windows API
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
@ -4,11 +4,7 @@
|
|||||||
Copyright © 2016 GÉANT
|
Copyright © 2016 GÉANT
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/// \file
|
|
||||||
/// Integrates WinStd classes with Microsoft WinSock2 API
|
|
||||||
///
|
|
||||||
/// \defgroup WinSock2API WinSock2 API
|
/// \defgroup WinSock2API WinSock2 API
|
||||||
/// Integrates WinStd classes with Microsoft WinSock2 API
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
@ -4,11 +4,7 @@
|
|||||||
Copyright © 2016 GÉANT
|
Copyright © 2016 GÉANT
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/// \file
|
|
||||||
/// Integrates WinStd classes with Microsoft WinTrust API
|
|
||||||
///
|
|
||||||
/// \defgroup WinTrustAPI WinTrust API
|
/// \defgroup WinTrustAPI WinTrust API
|
||||||
/// Integrates WinStd classes with Microsoft WinTrust API
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user