Funzione RpcServerUseAllProtseqsEx (rpcdce.h)
La funzione RpcServerUseAllProtseqsEx indica alla libreria di runtime RPC di usare tutte le sequenze di protocollo supportate per la ricezione di chiamate di procedura remota.
Sintassi
RPC_STATUS RpcServerUseAllProtseqsEx(
unsigned int MaxCalls,
void *SecurityDescriptor,
PRPC_POLICY Policy
);
Parametri
MaxCalls
Lunghezza della coda del backlog per la sequenza di protocollo ncacn_ip_tcp. Tutte le altre sequenze di protocolli ignorano questo parametro. Usare RPC_C_PROTSEQ_MAX_REQS_DEFAULT per specificare il valore predefinito. Vedere la sezione Osservazioni.
SecurityDescriptor
Puntatore a un parametro facoltativo fornito per il sottosistema di sicurezza. Usato solo per le sequenze di protocolli ncacn_np e ncalrpc . Tutte le altre sequenze di protocolli ignorano questo parametro. L'uso di un descrittore di sicurezza nell'endpoint per rendere sicuro un server non è consigliato. Questo parametro non viene visualizzato nella specifica DCE per questa API.
Policy
Puntatore alla struttura RPC_POLICY , che consente di eseguire l'override dei criteri predefiniti per l'allocazione dinamica delle porte e l'associazione alle schede di interfaccia di rete nei computer multihomed (computer con più schede di rete).
Valore restituito
Valore | Significato |
---|---|
|
La chiamata ha avuto esito positivo. |
|
Non sono presenti sequenze di protocolli supportate. |
|
Memoria sufficiente non disponibile. |
|
Il descrittore di sicurezza non è valido. |
Commenti
L'impostazione del campo NICFlags della struttura RPC_POLICY su zero rende l'API estesa equivalente all'originale RpcServerUseAllProtseqs e il server verrà associato alle schede di interfaccia di rete in base alle impostazioni nel Registro di sistema. Per informazioni su come le impostazioni del Registro di sistema definiscono le porte Internet e Intranet disponibili, vedere Configurazione del Registro di sistema per allocazioni di porte e associazione selettiva.
Per ogni sequenza di protocollo registrata da un server, la libreria di runtime RPC crea uno o più endpoint tramite cui il server riceve le richieste di chiamata alla routine remota. La libreria di runtime RPC crea endpoint diversi per ogni sequenza di protocolli. Il nome dell'endpoint viene generato dall'ora di esecuzione RPC o dal sistema operativo. Ad esempio, per ncacn_ip_tcp, il numero di porta viene determinato dinamicamente dal tempo di esecuzione RPC, a seconda della disponibilità e delle impostazioni del Registro di sistema.
Le applicazioni devono prestare attenzione al passaggio di valori ragionevoli in MaxCalls. I valori di grandi dimensioni nel server, nel server avanzato o nel server datacenter possono causare l'uso di una grande quantità di memoria del pool non a pagina. L'uso di un valore troppo piccolo non è anche favorevole, perché può causare l'esaurimento dei pacchetti TCP SYN dal server RST se la coda backlog viene esaurita. Uno sviluppatore di applicazioni deve bilanciare il footprint di memoria rispetto ai requisiti di scalabilità quando si determina il valore appropriato per MaxCalls.
Quando il computer è configurato per l'uso dell'associazione selettiva, non garantisce che il server abbia creato endpoint per tutte le interfacce di rete presenti nel computer. Il tempo di esecuzione RPC potrebbe non essere in ascolto su alcune interfacce di rete a seconda delle impostazioni di associazione selettiva. Inoltre, se un'interfaccia non ha ancora ricevuto un indirizzo IP usando DHCP, il server RPC non è in ascolto sull'interfaccia di rete finché non viene assegnato un indirizzo DHCP. Una restituzione riuscita implica che il server è in ascolto su almeno un'interfaccia di rete; l'elenco completo degli handle di associazione su cui è possibile ricevere chiamate di routine remote con una chiamata alla funzione RpcServerInqBindings .
Per registrare in modo selettivo le sequenze di protocolli, un server chiama RpcServerUseProtseqEx, RpcServerUseProtseqIfEx o RpcServerUseProtseqEpEx. Vedere Associazione lato server per una descrizione delle routine che un server in genere chiamerà dopo la registrazione delle sequenze di protocolli.
Requisiti
Client minimo supportato | Windows 2000 Professional [solo app desktop] |
Server minimo supportato | Windows 2000 Server [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | rpcdce.h (include Rpc.h) |
Libreria | Rpcrt4.lib |
DLL | Rpcrt4.dll |
Vedi anche
Configurazione del Registro di sistema per le allocazioni di porte e l'associazione selettiva