Costanti delle opzioni di associazione
Le applicazioni impostano le costanti dell'opzione di associazione per controllare il modo in cui la libreria di runtime RPC elabora le chiamate di routine remote. La tabella seguente elenca ogni proprietà di associazione e i valori costanti pertinenti per le proprietà di associazione.
Nota
Tutte le opzioni della coda di messaggi (MQ) nella tabella seguente sono valide solo per Windows 2000. Windows XP e versioni successive non supportano l'accodamento messaggi. Gli sviluppatori non possono usare accodamento messaggi.
Costante/valore | Descrizione |
---|---|
|
Valore predefinito. Se FALSE, ordinamento delle chiamate causale. Le chiamate RPC vengono eseguite in ordine rigoroso di invio. Vedere la sezione Osservazioni. Se TRUE, l'ordinamento delle chiamate non effettive. Le chiamate RPC vengono eseguite in modo indipendente. Vedere la sezione Osservazioni. |
|
Non necessario per i programmi dell'applicazione. Usato internamente da Microsoft. |
|
Non necessario per i programmi dell'applicazione. Usato internamente da Microsoft. |
|
Se TRUE, viene generato un ID sessione per ogni connessione. |
|
Se TRUE, per le connessioni viene usata l'autenticazione basata su cookie sul lato client. Un puntatore alla struttura RPC_C_OPT_COOKIE_AUTH_DESCRIPTOR viene passato come parametro OptionValue in RpcBindingSetOption. |
|
Non necessario per i programmi dell'applicazione. Usato internamente da Microsoft. |
|
Se TRUE, forzare l'arresto dell'associazione dopo l'ultimo handle di handle/contesto di associazione su di esso liberato. |
|
Se impostato su true, RPC non riutilizza le connessioni esistenti. Viene aperto un handle di associazione univoco per ogni connessione e lo stato viene mantenuto per ogni handle di associazione univoco. |
Commenti
Per impostazione predefinita, la libreria di runtime RPC esegue le chiamate su un handle di associazione specificato da ogni thread di un'applicazione in ordine rigoroso di invio. Ciò non garantisce che le chiamate da thread diversi nello stesso handle di associazione vengano serializzate. Le applicazioni multithreading devono serializzare le chiamate RPC. Se questo comportamento è troppo restrittivo, è possibile abilitare l'ordinamento non condizionale. Quando si esegue questa operazione, la libreria di runtime RPC esegue chiamate in modo indipendente. Non impone alcun ordinamento sulla loro presentazione.
Un esempio di applicazione che potrebbe trovare un ordinamento non condizionale utile è un programma multithreading i cui thread effettuano chiamate sullo stesso handle di associazione. Analogamente, un programma che usa più chiamate asincrone su un handle di associazione troverà un'opzione pratica per l'ordinamento non condizionale. Un altro esempio potrebbe essere un programma proxy Internet che usa un singolo thread per gestire le richieste per più client. In ognuno di questi casi, sarebbe estremamente restrittivo provare a serializzare le chiamate di procedura remota.
L'opzione RPC_C_OPT_DONT_LINGER può essere impostata solo su handle di associazione che usano le sequenze di protocollo ncalrpc o ncacn_* . Non può essere usata nelle sequenze di protocollo ncadg_* . La funzione RpcBindingSetOption con questa opzione deve essere chiamata su un handle di associazione in cui è stata effettuata almeno una chiamata RPC. Se non è stata eseguita alcuna chiamata RPC sull'handle di associazione, RPC_S_WRONG_KIND_OF_BINDING viene restituito dalla chiamata di funzione RpcBindingSetOption . L'opzione ha effetto per l'intera associazione, indipendentemente dal numero di handle di associazione associati all'associazione. Poiché viene controllato prima che l'associazione venga eliminata definitivamente, può essere impostata in qualsiasi momento prima che l'handle di associazione venga chiuso.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato |
Windows 2000 Professional [solo app desktop] |
Server minimo supportato |
Windows 2000 Server [solo app desktop] |
Intestazione |
|