Interface IGlobalOptions (objidlbase.h)
Define e consulta propriedades globais do runtime do COM (Component Object Model).
Herança
A interface IGlobalOptions herda da interface IUnknown . O IGlobalOptions também tem esses tipos de membros:
Métodos
A interface IGlobalOptions tem esses métodos.
IGlobalOptions::Query O método IGlobalOptions::Query (objidlbase.h) consulta a propriedade global especificada do runtime COM. |
IGlobalOptions::Set O método IGlobalOptions::Set (objidlbase.h) define a propriedade global especificada do runtime COM. |
Comentários
As propriedades globais a seguir do runtime COM podem ser definidas e consultadas com essa interface.
Propriedade | Valores |
---|---|
COMGLB_APPID | O AppID para o processo. Essa é a única propriedade com suporte no Windows XP. |
COMGLB_EXCEPTION_HANDLING |
Os valores possíveis para a propriedade COMGLB_EXCEPTION_HANDLING são:
Nota Mesmo que o tratamento de exceção de runtime COM esteja desabilitado, as exceções poderão não ser propagadas para WER se houver outro manipulador de exceção no nível do aplicativo no processo que manipula a exceção.
|
COMGLB_RPC_THREADPOOL_SETTING |
Os valores possíveis para a propriedade COMGLB_RPC_THREADPOOL_SETTING no método Set são:
A propriedade COMGLB_RPC_THREADPOOL_SETTING pode ser usada para alterar o comportamento do pool de threads RPC. Alterar o comportamento padrão incorrerá em uma penalidade de desempenho, pois isso faz com que o RPC use um thread extra. Portanto, o cuidado deve ser exercido ao alterar essa configuração. É recomendável que essa configuração seja alterada apenas por motivos de compatibilidade do aplicativo.
Nota Essa propriedade deve ser definida imediatamente após o COM ser inicializado no processo. Se essa propriedade for definida depois de executar qualquer operação que faça com que COM inicialize o canal RPC (por exemplo, marshaling ou referências de objeto unmarshalling), o método Set falhará.
|
COMGLB_RO_SETTINGS |
Os valores possíveis para a propriedade COMGLB_RO_SETTINGS são:
|
COMGLB_UNMARSHALING_POLICY |
Os valores possíveis para a propriedade COMGLB_UNMARSHALING_POLICY são:
|
É importante para aplicativos que detectam falhas e outras exceções que podem ser geradas durante a execução de chamadas COM de entrada, por exemplo, uma chamada em um servidor local ou ao executar o método IDropTarget::D rop , para definir COMGLB_EXCEPTION_HANDLING como COMGLB_EXCEPTION_DONOT_HANDLE para desabilitar o comportamento COM de capturar exceções. A falha em fazer isso pode levar a um estado de processo corrompido, por exemplo, bloqueios mantidos quando essas exceções são lançadas são abandonados e o processo pode entrar em um estado inconsistente.
Todos esses aplicativos devem executar esse código na inicialização.
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 | Valor |
---|---|
Cliente mínimo com suporte | Windows Vista [aplicativos da área de trabalho | Aplicativos UWP] |
Servidor mínimo com suporte | Windows Server 2003 [aplicativos da área de trabalho | Aplicativos UWP] |
Plataforma de Destino | Windows |
Cabeçalho | objidlbase.h (inclua ObjIdl.h) |