Funzione CoGetApartmentType (combaseapi.h)
Restituisce il tipo di apartment corrente e il qualificatore di tipo.
Sintassi
HRESULT CoGetApartmentType(
[out] APTTYPE *pAptType,
[out] APTTYPEQUALIFIER *pAptQualifier
);
Parametri
[out] pAptType
Valore di enumerazione APTTYPE che specifica il tipo dell'apartment corrente.
[out] pAptQualifier
Valore di enumerazione APTTYPEQUALIFIER che specifica il qualificatore di tipo dell'apartment corrente.
Valore restituito
Restituisce S_OK se la chiamata ha avuto esito positivo. In caso contrario, viene restituito uno dei codici di errore seguenti.
Codice restituito | Descrizione |
---|---|
|
La chiamata non è riuscita a eseguire una query sul tipo di apartment corrente e sul qualificatore di tipo. |
|
Alla funzione è stato fornito un valore di parametro non valido. In particolare, uno o entrambi i parametri sono stati impostati su NULL dal chiamante. |
|
CoInitialize o CoInitializeEx non è stato chiamato su questo thread prima di chiamare CoGetApartmentType. |
Commenti
Nelle piattaforme Windows precedenti a Windows 7, è necessario eseguire le azioni seguenti in un thread per eseguire una query sul tipo di apartment:
- Chiamare CoGetContextToken per ottenere il token di contesto corrente.
- Eseguire il cast del token di contesto a un puntatore IUnknown*.
- Chiamare il metodo QueryInterface su tale puntatore per ottenere l'interfaccia IComThreadingInfo .
- Chiamare il metodo GetCurrentApartmentType dell'interfaccia IComThreadingInfo per ottenere il tipo di apartment corrente.
Negli scenari multithreading esiste una race condition che può potenzialmente causare una violazione di accesso all'interno del processo durante l'esecuzione della sequenza di operazioni precedente. La funzione CoGetApartmentType è consigliata perché non comporta potenzialmente la violazione di accesso.
Requisiti
Client minimo supportato | Windows 7 [app desktop | App UWP] |
Server minimo supportato | Windows Server 2008 R2 [app desktop | App UWP] |
Piattaforma di destinazione | Windows |
Intestazione | combaseapi.h (include Objbase.h) |
Libreria | Ole32.lib |
DLL | Ole32.dll |