cf::COMHelper¶
Helper class for Windows COM operations. More...
#include <co_helper.hpp>
Public Types¶
| Name | |
|---|---|
| using std::function< cf::expected< ResourceBack, ErrorCode >()> | ContextFunction Type alias for COM operation function. |
Public Functions¶
| Name | |
|---|---|
| cf::expected< ResourceBack, ErrorCode > | RunComInterfacesOnce(ContextFunction f, DWORD coinitFlag =COINIT_APARTMENTTHREADED) Executes a COM operation with single-threaded initialization. |
| cf::expected< ResourceBack, ErrorCode > | RunComInterfacesMTA(ContextFunction f) Executes a COM operation with multi-threaded initialization. |
Detailed Description¶
Helper class for Windows COM operations.
Template Parameters:
- ResourceBack Type of the resource returned by COM operations.
- ErrorCode Type used for error reporting.
Provides static methods for managing COM initialization and executing COM operations with automatic cleanup.
Public Types Documentation¶
using ContextFunction¶
using cf::COMHelper< ResourceBack, ErrorCode >::ContextFunction = std::function<cf::expected<ResourceBack, ErrorCode>()>;
Type alias for COM operation function.
Public Functions Documentation¶
function RunComInterfacesOnce¶
static inline cf::expected< ResourceBack, ErrorCode > RunComInterfacesOnce(
ContextFunction f,
DWORD coinitFlag =COINIT_APARTMENTTHREADED
)
Executes a COM operation with single-threaded initialization.
Parameters:
- f Function to execute after COM initialization.
- coinitFlag COM initialization flags. Default is COINIT_APARTMENTTHREADED.
Exceptions:
- None (error reporting via expected type).
Return: Expected containing the operation result or an error code.
Initializes COM with the specified concurrency model, executes the provided function, and automatically cleans up COM.
function RunComInterfacesMTA¶
Executes a COM operation with multi-threaded initialization.
Parameters:
- f Function to execute after COM initialization.
Exceptions:
- None (error reporting via expected type).
Return: Expected containing the operation result or an error code.
Initializes COM with COINIT_MULTITHREADED and executes the provided function with automatic cleanup.
Updated on 2026-03-09 at 10:14:00 +0000