Interfaz IGlobalOptions (objidl.h)
Establece y consulta las propiedades globales del entorno de ejecución del Modelo de objetos componentes (COM).
Herencia
La interfaz IGlobalOptions hereda de la interfaz IUnknown . IGlobalOptions también tiene estos tipos de miembros:
Métodos
La interfaz IGlobalOptions tiene estos métodos.
IGlobalOptions::Query El método IGlobalOptions::Query (objidl.h) consulta la propiedad global especificada del runtime COM. |
IGlobalOptions::Set El método IGlobalOptions::Set (objidl.h) establece la propiedad global especificada del runtime COM. |
Comentarios
Las siguientes propiedades globales del entorno de ejecución com se pueden establecer y consultar con esta interfaz.
Propiedad | Valores |
---|---|
COMGLB_APPID | AppID para el proceso. Esta es la única propiedad admitida en Windows XP. |
COMGLB_EXCEPTION_HANDLING |
Los valores posibles para la propiedad COMGLB_EXCEPTION_HANDLING son:
Nota Incluso si el control de excepciones en tiempo de ejecución COM está deshabilitado, es posible que las excepciones no se propague a WER si hay otro controlador de excepciones de nivel de aplicación en el proceso que controla la excepción.
|
COMGLB_RPC_THREADPOOL_SETTING |
Los valores posibles para la propiedad COMGLB_RPC_THREADPOOL_SETTING del método Set son:
La propiedad COMGLB_RPC_THREADPOOL_SETTING se puede usar para cambiar el comportamiento del grupo de subprocesos RPC. Cambiar el comportamiento predeterminado incurrirá en una penalización de rendimiento, ya que esto hace que RPC use un subproceso adicional. Por lo tanto, se debe tener cuidado al cambiar esta configuración. Se recomienda cambiar esta configuración solo por motivos de compatibilidad de aplicaciones. Nota Esta propiedad debe establecerse inmediatamente después de inicializar COM en el proceso. Si esta propiedad se establece después de realizar las operaciones que hacen que COM inicialice el canal RPC (por ejemplo, serialización o referencias de objetos no coincidentes), se producirá un error en el método Set .
|
COMGLB_RO_SETTINGS |
Los valores posibles para la propiedad COMGLB_RO_SETTINGS son:
|
COMGLB_UNMARSHALING_POLICY |
Los valores posibles para la propiedad COMGLB_UNMARSHALING_POLICY son:
|
Es importante que las aplicaciones detecten bloqueos y otras excepciones que se puedan generar al ejecutar llamadas COM entrantes, por ejemplo, una llamada en un servidor local o al ejecutar el método IDropTarget::D rop , para establecer COMGLB_EXCEPTION_HANDLING en COMGLB_EXCEPTION_DONOT_HANDLE para deshabilitar el comportamiento COM de detectar excepciones. Si no se hace esto, se puede producir un estado de proceso dañado; por ejemplo, los bloqueos que se mantienen cuando se producen estas excepciones se abandonan y el proceso podría entrar en un estado incoherente.
Todas estas aplicaciones deben ejecutar este código al iniciarse.
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();
}
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows Vista [aplicaciones de escritorio | aplicaciones para UWP] |
Servidor mínimo compatible | Windows Server 2003 [aplicaciones de escritorio | aplicaciones para UWP] |
Plataforma de destino | Windows |
Encabezado | objidl.h (incluir ObjIdl.h) |
Consulte también
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de