Key WRL APIs by Category

The following tables list primary Windows Runtime C++ Template Library classes, structs, functions, and macros. Constructs in helper namespaces and classes are omitted. These lists augment the API documentation, which is arranged by namespace.

Classes

Title Description
ActivationFactory Class Enables one or more classes to be activated by the Windows Runtime.
AsyncBase Class Implements the Windows Runtime asynchronous state machine.
ClassFactory Class Implements the basic functionality of the IClassFactory interface.
ComPtr Class Creates a smart pointer type that represents the interface specified by the template parameter. ComPtr automatically maintains a reference count for the underlying interface pointer and releases the interface when the reference count goes to zero.
Event Class (Windows Runtime C++ Template Library) Represents an event.
EventSource Class Represents an event. EventSource member functions add, remove, and invoke event handlers.
FtmBase Class Represents a free-threaded marshaler object.
HandleT Class Represents a handle to an object.
HString Class Provides support for manipulating HSTRING handles.
HStringReference Class Represents an HSTRING that is created from an existing string.
Module Class Represents a collection of related objects.
Module::GenericReleaseNotifier Class Invokes an event handler when the last object in the current module is released. The event handler is specified by on a lambda, functor, or pointer-to-function.
Module::MethodReleaseNotifier Class Invokes an event handler when the last object in the current module is released. The event handler is specified by an object and its pointer-to-a-method member.
Module::ReleaseNotifier Class Invokes an event handler when the last object in a module is released.
RoInitializeWrapper Class Initializes the Windows Runtime.
RuntimeClass Class Represents an instantiated class that inherits the specified number of interfaces, and provides the specified Windows Runtime, classic COM, and weak reference support.
SimpleActivationFactory Class Provides a fundamental mechanism to create a Windows Runtime or classic COM base class.
SimpleClassFactory Class Provides a fundamental mechanism to create a base class.
WeakRef Class Represents a weak reference that can be used by only the Windows Runtime, not classic COM. A weak reference represents an object that might or might not be accessible.

Structures

Title Description
ChainInterfaces Structure Specifies verification and initialization functions that can be applied to a set of interface IDs.
CloakedIid Structure Indicates to the RuntimeClass, Implements and ChainInterfaces templates that the specified interface is not accessible in the IID list.
Implements Structure Implements QueryInterface and GetIid for the specified interfaces.
MixIn Structure Ensures that a runtime class derives from Windows Runtime interfaces, if any, and then classic COM interfaces.

Functions

Title Description
ActivateInstance Function Registers and retrieves an instance of a specified type defined in a specified class ID.
AsWeak Function Retrieves a weak reference to a specified instance.
Callback Function Creates an object whose member function is a callback method.
CreateActivationFactory Function Creates a factory that produces instances of the specified class that can be activated by the Windows Runtime.
CreateClassFactory Function Creates a factory that produces instances of the specified class.
GetActivationFactory Function Retrieves an activation factory for the type specified by the template parameter.
Make Function Initializes the specified Windows Runtime class.

Macros

Title Description
ActivatableClass Macros Populates an internal cache that contains a factory that can create an instance of the specified class.
InspectableClass Macro Sets the runtime class name and trust level.

See Also

Windows Runtime C++ Template Library (WRL)