Interfaccia IGlobalOptions (objidlbase.h)
Imposta ed esegue query sulle proprietà globali del runtime COM (Component Object Model).
Ereditarietà
L'interfaccia IGlobalOptions eredita dall'interfaccia IUnknown . IGlobalOptions include anche questi tipi di membri:
Metodi
L'interfaccia IGlobalOptions include questi metodi.
IGlobalOptions::Query Il metodo IGlobalOptions::Query (objidlbase.h) esegue una query sulla proprietà globale specificata del runtime COM. |
IGlobalOptions::Set Il metodo IGlobalOptions::Set (objidlbase.h) imposta la proprietà globale specificata del runtime COM. |
Commenti
È possibile impostare ed eseguire query sulle proprietà globali seguenti del runtime COM con questa interfaccia.
Proprietà | Valori |
---|---|
COMGLB_APPID | Id app per il processo. Questa è l'unica proprietà supportata in Windows XP. |
COMGLB_EXCEPTION_HANDLING |
I valori possibili per la proprietà COMGLB_EXCEPTION_HANDLING sono:
Nota Anche se la gestione delle eccezioni di runtime COM è disabilitata, le eccezioni potrebbero non essere propagate a WER se è presente un altro gestore di eccezioni a livello di applicazione nel processo che gestisce l'eccezione.
|
COMGLB_RPC_THREADPOOL_SETTING |
I valori possibili per la proprietà COMGLB_RPC_THREADPOOL_SETTING nel metodo Set sono:
La proprietà COMGLB_RPC_THREADPOOL_SETTING può essere usata per modificare il comportamento del pool di thread RPC. La modifica del comportamento predefinito comporta una penalità per le prestazioni perché in questo modo RPC usa un thread aggiuntivo. Pertanto, è necessario prestare attenzione quando si modifica questa impostazione. È consigliabile modificare questa impostazione solo per motivi di compatibilità delle applicazioni. Nota Questa proprietà deve essere impostata immediatamente dopo l'inizializzazione di COM nel processo. Se questa proprietà viene impostata dopo l'esecuzione di tutte le operazioni che causano l'inizializzazione del canale RPC da parte di COM, ad esempio il marshalling o il marshalling dei riferimenti agli oggetti, il metodo Set avrà esito negativo.
|
COMGLB_RO_SETTINGS |
I valori possibili per la proprietà COMGLB_RO_SETTINGS sono:
|
COMGLB_UNMARSHALING_POLICY |
I valori possibili per la proprietà COMGLB_UNMARSHALING_POLICY sono:
|
È importante per le applicazioni che rilevano arresti anomali e altre eccezioni che potrebbero essere generate durante l'esecuzione di chiamate COM in ingresso, ad esempio una chiamata su un server locale o quando si esegue il metodo IDropTarget::D rop , per impostare COMGLB_EXCEPTION_HANDLING su COMGLB_EXCEPTION_DONOT_HANDLE per disabilitare il comportamento COM di intercettare le eccezioni. In caso contrario, questo può causare un danneggiamento dello stato del processo, ad esempio i blocchi mantenuti quando vengono generate queste eccezioni vengono abbandonate e il processo potrebbe entrare in uno stato incoerente.
Tutte queste applicazioni devono eseguire questo codice all'avvio.
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();
}
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows Vista [app desktop | App UWP] |
Server minimo supportato | Windows Server 2003 [app desktop | App UWP] |
Piattaforma di destinazione | Windows |
Intestazione | objidlbase.h (include ObjIdl.h) |
Vedi anche
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per