Fonction Initialize (roapi.h)

Initialise un thread pour utiliser Windows Runtime API.

Syntaxe

HRESULT Initialize(
  RO_INIT_TYPE initType
);

Paramètres

initType

Spécifie le type d’appartement du thread à initialiser.

Valeur retournée

  • S_OK : initialisation réussie pour la première fois sur le thread actuel
  • S_FALSE - Initialisation imbriquée réussie (le thread actuel a déjà été initialisé pour le type d’appartement spécifié)
  • E_INVALIDARG : valeur initType non valide
  • CO_E_INIT_TLS : impossible d’allouer la structure TLS interne de COM
  • E_OUTOFMEMORY : impossible d’allouer des structures par thread/par appartement autres que tls
  • RPC_E_CHANGED_MODE : le thread actuel est déjà initialisé pour un type d’appartement différent de ce qui est spécifié.

Remarques

Windows ::Foundation ::Initialize est modifié pour créer des ASTA au lieu des STA classiques pour la valeur RO_INIT_TYPERO_INIT_SINGLETHREADED. Windows ::Foundation ::Initialize(RO_INIT_SINGLETHREADED) n’est pas pris en charge pour les applications de bureau et retourne CO_E_NOTSUPPORTED s’il est appelé à partir d’un processus autre qu’une application du Windows Store.

Pour les applications Microsoft DirectX, vous devez initialiser le thread initial à l’aide de Windows ::Foundation ::Initialize(RO_INIT_MULTITHREADED).

Pour un serveur EXE hors processus, vous devez initialiser le thread initial du serveur à l’aide de Windows ::Foundation ::Initialize(RO_INIT_MULTITHREADED).

Configuration requise

Condition requise Valeur
Plateforme cible Windows
En-tête roapi.h

Voir aussi

RO_INIT_TYPE