Función RpcServerUseAllProtseqsIfEx (rpcdce.h)
La función RpcServerUseAllProtseqsIfEx indica a la biblioteca en tiempo de ejecución rpc que use todas las secuencias de protocolo y los puntos de conexión especificados en la especificación de interfaz para recibir llamadas a procedimiento remoto.
Sintaxis
RPC_STATUS RpcServerUseAllProtseqsIfEx(
unsigned int MaxCalls,
RPC_IF_HANDLE IfSpec,
void *SecurityDescriptor,
PRPC_POLICY Policy
);
Parámetros
MaxCalls
Longitud de la cola de trabajos pendientes para la secuencia de protocolo ncacn_ip_tcp . Todas las demás secuencias de protocolo omiten este parámetro. Use RPC_C_PROTSEQ_MAX_REQS_DEFAULT para especificar el valor predeterminado. Vea la sección Comentarios.
IfSpec
Interfaz que contiene las secuencias de protocolo y la información de punto de conexión correspondiente que se usará para crear identificadores de enlace.
SecurityDescriptor
Puntero a un parámetro opcional proporcionado para el subsistema de seguridad. Solo se usa para secuencias de protocolo ncacn_np y ncalrpc . Todas las demás secuencias de protocolo omiten este parámetro. No se recomienda usar un descriptor de seguridad en el punto de conexión para proteger un servidor. Este parámetro no aparece en la especificación DCE de esta API.
Policy
Puntero a la estructura de RPC_POLICY , que contiene marcas para restringir la asignación de puertos para puertos dinámicos y permitir que los equipos de host múltiple se enlacen selectivamente a las tarjetas de interfaz de red.
Valor devuelto
Valor | Significado |
---|---|
|
La llamada se realizó correctamente. |
|
No hay secuencias de protocolo admitidas. |
|
Formato del punto de conexión. |
|
El sistema está sin memoria. |
|
El punto de conexión es un duplicado. |
|
El descriptor de seguridad no es válido. |
|
La secuencia de protocolo RPC no es válida. |
Comentarios
Si se establece el campo NICFlags de la estructura de RPC_POLICY en cero, esta función extendida es funcionalmente equivalente al rpcServerUseAllProtseqsIfEx original y el servidor se enlazará a NIC en función de la configuración del registro del sistema. Para obtener información sobre cómo la configuración del Registro define los puertos de Internet e intranet disponibles, consulte Configuración del Registro para asignaciones de puertos y enlace selectivo.
Para recibir solicitudes de llamada a procedimiento remoto, un servidor debe registrar al menos una secuencia de protocolo con la biblioteca en tiempo de ejecución rpc. Para cada secuencia de protocolo registrada por un servidor, la biblioteca en tiempo de ejecución rpc crea uno o varios puntos de conexión a través de los cuales el servidor recibe solicitudes de llamada a procedimiento remoto. La biblioteca en tiempo de ejecución rpc crea diferentes puntos de conexión para cada secuencia de protocolo.
Las aplicaciones deben tener cuidado de pasar valores razonables en MaxCalls. Los valores grandes de Server, Advanced Server o Datacenter Server pueden hacer que se use una gran cantidad de memoria de grupo no paginada. El uso de un valor demasiado pequeño también es favorable, ya que puede dar lugar a que el RST TCP cumpla los paquetes TCP SYN desde el servidor si se agota la cola de trabajos pendientes. Un desarrollador de aplicaciones debe equilibrar la superficie de memoria frente a los requisitos de escalabilidad al determinar el valor adecuado para MaxCalls.
Cuando el equipo está configurado para usar el enlace selectivo, la devolución correcta no garantiza que el servidor haya creado puntos de conexión para todas las interfaces de red presentes en el equipo. Es posible que el tiempo de ejecución de RPC no escuche en algunas interfaces de red en función de la configuración de enlace selectivo. Además, si una interfaz aún no ha recibido una dirección IP mediante DHCP, el servidor RPC no escucha en la interfaz de red hasta que se le asigne una dirección DHCP. Una devolución correcta implica que el servidor está escuchando en al menos una interfaz de red; la lista completa de los identificadores de enlace sobre los que se pueden recibir llamadas a procedimiento remoto se puede obtener con una llamada a la función RpcServerInqBindings .
Para registrar secuencias de protocolo seleccionadas especificadas en el archivo IDL, un servidor llama a RpcServerUseProtseqIfEx. Para obtener más información, vea Enlace del lado servidor.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows XP [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2003 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | rpcdce.h (include Rpc.h) |
Library | Rpcrt4.lib |
Archivo DLL | Rpcrt4.dll |