CoGetApartmentType, fonction (combaseapi.h)
Retourne le type d’appartement actuel et le qualificateur de type.
Syntaxe
HRESULT CoGetApartmentType(
[out] APTTYPE *pAptType,
[out] APTTYPEQUALIFIER *pAptQualifier
);
Paramètres
[out] pAptType
Valeur d’énumération APTTYPE qui spécifie le type de l’appartement actuel.
[out] pAptQualifier
Valeur d’énumération APTTYPEQUALIFIER qui spécifie le qualificateur de type de l’appartement actuel.
Valeur retournée
Retourne S_OK si l’appel a réussi. Sinon, l’un des codes d’erreur suivants est retourné.
Code de retour | Description |
---|---|
|
L’appel n’a pas pu interroger correctement le type d’appartement actuel et le qualificateur de type. |
|
Une valeur de paramètre non valide a été fournie à la fonction. Plus précisément, l’appelant a défini un ou les deux paramètres sur NULL . |
|
CoInitialize ou CoInitializeEx n’a pas été appelé sur ce thread avant d’appeler CoGetApartmentType. |
Remarques
Sur les plateformes Windows antérieures à Windows 7, les actions suivantes doivent être effectuées sur un thread pour interroger le type d’appartement :
- Appelez CoGetContextToken pour obtenir le jeton de contexte actuel.
- Cassez le jeton de contexte en pointeur IUnknown*.
- Appelez la méthode QueryInterface sur ce pointeur pour obtenir l’interface IComThreadingInfo .
- Appelez la méthode GetCurrentApartmentType de l’interface IComThreadingInfo pour obtenir le type d’appartement actuel.
Dans les scénarios multithread, il existe une condition de concurrence qui peut potentiellement entraîner une violation d’accès au sein du processus lors de l’exécution de la séquence d’opérations ci-dessus. La fonction CoGetApartmentType est recommandée, car elle n’entraîne pas potentiellement la violation d’accès.
Configuration requise
Client minimal pris en charge | Windows 7 [applications de bureau | Applications UWP] |
Serveur minimal pris en charge | Windows Server 2008 R2 [applications de bureau | Applications UWP] |
Plateforme cible | Windows |
En-tête | combaseapi.h (inclure Objbase.h) |
Bibliothèque | Ole32.lib |
DLL | Ole32.dll |