Update documentation

Signed-off-by: Simon Rozman <simon@rozman.si>
This commit is contained in:
Simon Rozman 2022-03-07 13:00:17 +01:00
parent 2468f67e26
commit 3b110f7dc5
17 changed files with 12 additions and 76 deletions

View File

@ -44,7 +44,7 @@ PROJECT_NUMBER =
# 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.
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
# in the documentation. The maximum height of the logo should not exceed 55

View File

@ -1,6 +1,6 @@
# 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
@ -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.
### Lightweight Classes
### Memory and Resource Helper Classes
...to simplify Windows allocated memory and resources focused on their release to prevent leakage
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.
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.
#### Example
@ -26,8 +24,6 @@ m_note_icon->SetIcon(wxLoadIconFromResource(lib_shell32, MAKEINTRESOURCE(48)));
### 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...
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
...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
@ -56,6 +52,10 @@ if (dwMaxSendPacketSize < sizeof(EapPacket))
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
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/).
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.

View File

@ -4,13 +4,7 @@
Copyright © 2016 GÉANT
*/
/// \file
/// Provides helper templates for Windows COM object manipulation
///
/// \defgroup WinStdCOM COM object management
///
/// Provides helper templates for Windows COM object manipulation
///
/// \defgroup WinStdCOM COM Object Management
#pragma once

View File

@ -16,14 +16,9 @@
#include <string>
#include <vector>
/// \file
/// General API
///
/// \defgroup WinStdGeneral General
/// General API
///
/// \defgroup WinStdStrFormat String Formatting
/// Formatted string generation
///
/// \par Example
/// \code
@ -33,13 +28,10 @@
/// \endcode
///
/// \defgroup WinStdSysHandles System Handles
/// Simplifies work with object handles of various type
///
/// \defgroup WinStdExceptions Exceptions
/// Additional exceptions
///
/// \defgroup WinStdMemSanitize Auto-sanitize Memory Management
/// Sanitizes memory before dismissed
/// \addtogroup WinStdGeneral
/// @{

View File

@ -4,11 +4,7 @@
Copyright © 2016 GÉANT
*/
/// \file
/// Integrates WinStd classes with Microsoft Credentials API
///
/// \defgroup WinStdCredAPI Credentials API
/// Integrates WinStd classes with Microsoft Credentials API
#pragma once

View File

@ -4,11 +4,7 @@
Copyright © 2016 GÉANT
*/
/// \file
/// Integrates WinStd classes with Microsoft Cryptography API
///
/// \defgroup WinStdCryptoAPI Cryptography API
/// Integrates WinStd classes with Microsoft Cryptography API
#pragma once

View File

@ -4,11 +4,7 @@
Copyright © 2016 GÉANT
*/
/// \file
/// Integrates WinStd classes with Microsoft EAP API
///
/// \defgroup WinStdEAPAPI Extensible Authentication Protocol API
/// Integrates WinStd classes with Microsoft EAP API
#pragma once

View File

@ -4,11 +4,7 @@
Copyright © 2016 GÉANT
*/
/// \file
/// Integrates WinStd classes with Event Tracing for Windows API
///
/// \defgroup WinStdETWAPI Event Tracing for Windows API
/// Integrates WinStd classes with Event Tracing for Windows API
#pragma once

View File

@ -3,11 +3,7 @@
Copyright © 1991-2022 Amebis
*/
/// \file
/// Integrates WinStd classes with Microsoft Windows GDI
///
/// \defgroup WinStdGdiAPI GDI API
/// Integrates WinStd classes with Microsoft Windows GDI
#pragma once

View File

@ -4,11 +4,7 @@
Copyright © 2016 GÉANT
*/
/// \file
/// Integrates WinStd classes with Microsoft Installer API
///
/// \defgroup WinStdMSIAPI Microsoft Installer API
/// Integrates WinStd classes with Microsoft Installer API
#pragma once

View File

@ -4,11 +4,7 @@
Copyright © 2016 GÉANT
*/
/// \file
/// Integrates WinStd classes with Microsoft Security API
///
/// \defgroup WinStdSecurityAPI Security API
/// Integrates WinStd classes with Microsoft Security API
#pragma once

View File

@ -4,11 +4,7 @@
Copyright © 2016 GÉANT
*/
/// \file
/// Integrates WinStd classes with Microsoft Setup API
///
/// \defgroup SetupAPI Setup API
/// Integrates WinStd classes with Microsoft Setup API
#pragma once

View File

@ -4,11 +4,7 @@
Copyright © 2016 GÉANT
*/
/// \file
/// Integrates WinStd classes with Microsoft Shell API
///
/// \defgroup WinStdShellWAPI Shell API
/// Integrates WinStd classes with Microsoft Shell API
#pragma once

View File

@ -4,11 +4,7 @@
Copyright © 2016 GÉANT
*/
/// \file
/// Integrates WinStd classes with Microsoft WLAN API
///
/// \defgroup WinStdWLANAPI WLAN API
/// Integrates WinStd classes with Microsoft WLAN API
#pragma once

View File

@ -4,11 +4,7 @@
Copyright © 2016 GÉANT
*/
/// \file
/// Integrates WinStd classes with Microsoft Windows API
///
/// \defgroup WinStdWinAPI Windows API
/// Integrates WinStd classes with Microsoft Windows API
#pragma once

View File

@ -4,11 +4,7 @@
Copyright © 2016 GÉANT
*/
/// \file
/// Integrates WinStd classes with Microsoft WinSock2 API
///
/// \defgroup WinSock2API WinSock2 API
/// Integrates WinStd classes with Microsoft WinSock2 API
#pragma once

View File

@ -4,11 +4,7 @@
Copyright © 2016 GÉANT
*/
/// \file
/// Integrates WinStd classes with Microsoft WinTrust API
///
/// \defgroup WinTrustAPI WinTrust API
/// Integrates WinStd classes with Microsoft WinTrust API
#pragma once