Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Définit et interroge les propriétés globales du runtime COM (Component Object Model).
Héritage
L’interface IGlobalOptions hérite de l’interface IUnknown. IGlobalOptions a également les types de membres suivants :
Méthodes
L’interface IGlobalOptions utilise ces méthodes.
|
IGlobalOptions ::Query La méthode IGlobalOptions ::Query (objidlbase.h) interroge la propriété globale spécifiée du runtime COM. |
|
IGlobalOptions ::Set La méthode IGlobalOptions ::Set (objidlbase.h) définit la propriété globale spécifiée du runtime COM. |
Remarques
Les propriétés globales suivantes du runtime COM peuvent être définies et interrogées avec cette interface.
| Propriété | Valeurs |
|---|---|
| COMGLB_APPID | AppID pour le processus. Il s’agit de la seule propriété prise en charge sur Windows XP. |
| COMGLB_EXCEPTION_HANDLING |
Les valeurs possibles pour la propriété COMGLB_EXCEPTION_HANDLING sont les suivantes :
Note Même si la gestion des exceptions du runtime COM est désactivée, les exceptions peuvent ne pas se propager à WER s’il existe un autre gestionnaire d’exceptions au niveau de l’application dans le processus qui gère l’exception.
|
| COMGLB_RPC_THREADPOOL_SETTING |
Les valeurs possibles pour la propriété COMGLB_RPC_THREADPOOL_SETTING dans la méthode Set sont les suivantes :
La propriété COMGLB_RPC_THREADPOOL_SETTING peut être utilisée pour modifier le comportement du pool de threads RPC. La modification du comportement par défaut entraîne une pénalité de performances, car rpc utilise alors un thread supplémentaire. Par conséquent, vous devez faire preuve de prudence lors de la modification de ce paramètre. Il est recommandé de modifier ce paramètre uniquement pour des raisons de compatibilité des applications.
Note Cette propriété doit être définie immédiatement après l’initialisation de COM dans le processus. Si cette propriété est définie après avoir effectué des opérations qui provoquent l’initialisation du canal RPC par COM (par exemple, le marshaling ou le démarshalling des références d’objets), la méthode Set échoue.
|
| COMGLB_RO_SETTINGS |
Les valeurs possibles pour la propriété COMGLB_RO_SETTINGS sont les suivantes :
|
| COMGLB_UNMARSHALING_POLICY |
Les valeurs possibles pour la propriété COMGLB_UNMARSHALING_POLICY sont les suivantes :
|
Il est important que les applications qui détectent les incidents et d’autres exceptions qui peuvent être générées lors de l’exécution d’appels COM entrants, par exemple un appel sur un serveur local ou lors de l’exécution de la méthode IDropTarget ::D rop , définissent COMGLB_EXCEPTION_HANDLING sur COMGLB_EXCEPTION_DONOT_HANDLE pour désactiver le comportement COM d’interception des exceptions. Si vous ne le faites pas, l’état du processus peut être endommagé, par exemple, les verrous conservés lorsque ces exceptions sont levées sont abandonnés et le processus peut entrer dans un état incohérent.
Toutes ces applications doivent exécuter ce code au démarrage.
IGlobalOptions *pGlobalOptions;
hr = CoCreateInstance(CLSID_GlobalOptions, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&pGlobalOptions));
if (SUCCEEDED(hr))
{
hr = pGlobalOptions->Set(COMGLB_EXCEPTION_HANDLING, COMGLB_EXCEPTION_DONOT_HANDLE);
pGlobalOptions->Release();
}
Configuration requise
| Condition requise | Valeur |
|---|---|
| Client minimal pris en charge | Windows Vista [applications de bureau | applications UWP] |
| Serveur minimal pris en charge | Windows Server 2003 [applications de bureau | applications UWP] |
| Plateforme cible | Windows |
| En-tête | objidlbase.h (inclure ObjIdl.h) |