Skip to content

C++/WinRT support for implementing out-of-proc WinRT servers #601

@vidager

Description

@vidager

Currently, you cannot implement an OOP server without utilizing a hybrid approach with WRL or COM APIs.

It would be helpful if C++/WinRT provided a mechanism similar to WRL::Module that all implemented WinRT objects in the module would integrate with.

Like WRL, covers:

  1. Simple object registration
  2. Automatic outstanding object ref counting
  3. Synchronized COM shutdown and event when all objects have disconnected.

Not supported by WRL (I don't think), but nice to have:

  1. A delayed shutdown based on requested "de-bounce" time delay. i.e. trigger shutdown 5min after no objects are connected. Without this, a server can't easily create a shutdown delay. They must take a self-reference and have a way to monitor the module ref count to start the timer when ref hits 1 and reset timer when ref hits 2 or more.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions