Condividi tramite


Funzione RpcMgmtSetComTimeout (rpcdce.h)

La funzione RpcMgmtSetComTimeout imposta il valore di timeout binding-communications in un handle di associazione.

Sintassi

RPC_STATUS RpcMgmtSetComTimeout(
  RPC_BINDING_HANDLE Binding,
  unsigned int       Timeout
);

Parametri

Binding

Handle di associazione server il cui valore di timeout è impostato.

Timeout

Valore di timeout delle comunicazioni, da zero a 10. Questi valori non sono secondi; rappresentano una quantità relativa di tempo su una scala da zero a 10.

Valore restituito

Valore Significato
RPC_S_OK
La chiamata ha avuto esito positivo.
RPC_S_INVALID_BINDING
Handle di associazione non valido.
RPC_S_INVALID_TIMEOUT
Il valore di timeout non è valido.
RPC_S_WRONG_KIND_OF_BINDING
Si tratta del tipo di binding errato per l'operazione.
 
Nota Per un elenco di codici di errore validi, vedere Valori restituiti RPC.
 

Commenti

In Windows XP e Windows 2000, durante l'associazione il tempo di esecuzione RPC usa il timeout di chiamata di 15 minuti più breve e il timeout impostato usando la funzione RpcMgmtSetComTimeout . Negli scambi successivi all'associazione, il tempo di esecuzione RPC usa solo il timeout impostato in usando la funzione RpcMgmtSetComTimeout . Questa opzione viene ignorata per le sequenze di protocollo ncalrpc e ncadg_* .

Un'applicazione client chiama RpcMgmtSetComTimeout per modificare il valore di timeout delle comunicazioni per un handle di associazione server. A seconda della sequenza di protocollo per l'handle di associazione specificato, il valore di timeout funge solo da hint per la libreria di runtime RPC. Ogni sequenza di protocollo interpreta questa impostazione in modo diverso; per ncacn_ip_tcp, il valore viene usato per attivare keep-alive per tutte le chiamate. Ad esempio, per ncacn_ip_tcp, l'impostazione di Timeout su zero indica a RPC di attivare keep-alive se una risposta non viene ricevuta in 60 secondi (l'intervallo di 60 secondi è specifico dell'implementazione e soggetto a modifiche). In questo caso, la chiamata client non viene timeout finché il server in esecuzione; Tuttavia, se il server non riesce o perde l'indirizzo IP, RPC non riesce la chiamata. L'hint di timeout TCP viene usato durante la creazione della connessione, nonché durante gli scambi di richieste/risposte.

Nota L'uso dell'hint di timeout TCP è la procedura consigliata per rilevare i server non riusciti.

In Windows XP, i keep-alive per una determinata connessione vengono disattivati quando il server risponde.

 
Per praticità, le costanti vengono fornite per determinati valori nell'intervallo di timeout. Per un elenco dei valori definiti da RPC che un'applicazione può usare per l'argomento timeout, vedere Costanti di timeout di binding.

Requisiti

   
Client minimo supportato Windows 2000 Professional [app desktop | App UWP]
Server minimo supportato Windows 2000 Server [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione rpcdce.h (include Rpc.h)
Libreria Rpcrt4.lib
DLL Rpcrt4.dll

Vedi anche

RpcMgmtInqComTimeout