Compartir a través de


Función RpcBindingInqAuthClientExA (rpcdce.h)

Una aplicación de servidor llama al función RpcBindingInqAuthClientEx para obtener información extendida sobre el programa cliente que realizó la llamada a procedimiento remoto.

Sintaxis

RPC_STATUS RpcBindingInqAuthClientExA(
  RPC_BINDING_HANDLE ClientBinding,
  RPC_AUTHZ_HANDLE   *Privs,
  RPC_CSTR           *ServerPrincName,
  unsigned long      *AuthnLevel,
  unsigned long      *AuthnSvc,
  unsigned long      *AuthzSvc,
  unsigned long      Flags
);

Parámetros

ClientBinding

Identificador de enlace de cliente del cliente que realizó la llamada a procedimiento remoto. Este valor puede ser cero. Vea comentarios.

Privs

Devuelve un puntero a un identificador de la información con privilegios de la aplicación cliente que realizó la llamada a procedimiento remoto en el identificador de enlace clientBinding de . Para llamadas ncalrpc, Privs contiene una cadena con el nombre principal del cliente.

La aplicación de servidor debe convertir el parámetro Privs al tipo de datos especificado por el parámetro AuthnSvc. Los datos a los que hace referencia este argumento son de solo lectura y la aplicación de servidor no debe modificarlos. Si el servidor quiere conservar cualquiera de los datos devueltos, el servidor debe copiar los datos en memoria asignada por el servidor.

Para obtener más información sobre los SSP, consulte proveedores de soporte técnico de seguridad (SSP).

ServerPrincName

Devuelve un puntero a un puntero al nombre principal del servidor especificado por la aplicación de servidor que llamó a la función RpcServerRegisterAuthInfo. El contenido del nombre devuelto y su sintaxis se definen mediante el servicio de autenticación en uso. Para SCHANNEL SSP, el nombre principal tiene el formato msstd. Para obtener más información sobre el formato msstd, vea nombres principales.

Especifique un valor NULL para evitar que rpcBindingInqAuthClientEx devuelva el parámetro ServerPrincName de . En este caso, la aplicación no llama a la función RpcStringFree.

AuthnLevel

Devuelve un puntero establecido en el nivel de autenticación solicitado por la aplicación cliente que realizó la llamada a procedimiento remoto en el identificador de enlace ClientBinding. Para obtener una lista de los niveles de autenticación compatibles con RPC, consulte Authentication-Level Constantes.

Especifique un valor NULL para evitar que rpcBindingInqAuthClientEx devuelva el parámetro de AuthnLevel.

AuthnSvc

Devuelve un puntero establecido en el servicio de autenticación solicitado por la aplicación cliente que realizó la llamada a procedimiento remoto en el identificador de enlace ClientBinding. Para obtener una lista de los servicios de autenticación compatibles con RPC, consulte Authentication-Service Constantes.

Especifique un valor NULL para evitar que rpcBindingInqAuthClientEx devuelva el parámetro de AuthnSvc.

Nota AuthnSvc corresponde al SECURITY_STATUS devuelto por QueryContextAttributes en cada SSP basado en certificados para SECPKG_ATTR_DCE_INFO o SECPKG_ATTR_REMOTE_CERT_CONTEXT.
 

AuthzSvc

Devuelve un puntero establecido en el servicio de autorización solicitado por la aplicación cliente que realizó la llamada a procedimiento remoto en el identificador de enlace enlace de . Para obtener una lista de los servicios de autorización compatibles con RPC, consulte Authorization-Service Constantes .

Especifique un valor NULL para evitar que rpcBindingInqAuthClientEx devuelva el parámetro de AuthzSvc. El servicio de autenticación de RPC_C_AUTHN_WINNT no usa este parámetro. El valor devuelto siempre será RPC_S_AUTHZ_NONE.

Flags

Controla el formato del nombre principal. Este parámetro se puede establecer en el siguiente valor.

Valor Significado
RPC_C_FULL_CERT_CHAIN
Devuelve el nombre principal en formato de completo.

Valor devuelto

Valor Significado
RPC_S_OK
La llamada se realizó correctamente.
RPC_S_INVALID_BINDING
El identificador de enlace no era válido.
RPC_S_WRONG_KIND_OF_BINDING
Este era el tipo incorrecto de enlace para la operación.
RPC_S_BINDING_HAS_NO_AUTH
El enlace no tiene información de autenticación.
 
Nota Para obtener una lista de códigos de error válidos, vea rpc Return Values.
 

Observaciones

Una aplicación de servidor llama a la función de función RpcBindingInqAuthClientEx para obtener el nombre principal o los atributos de privilegio del cliente autenticado que realizó la llamada a procedimiento remoto. Además, RpcBindingInqAuthClientEx devuelve el servicio de autenticación, el nivel de autenticación y el nombre principal del servidor especificados por el cliente. El servidor puede usar los datos devueltos con fines de autorización.

La biblioteca en tiempo de ejecución de RPC asigna memoria para el parámetro ServerPrincName devuelto. La aplicación es responsable de llamar a la función de rpcStringFree para la cadena de argumento devuelta.

Para las llamadas RPC sincrónicas, la aplicación de servidor puede usar cero como valor para el parámetro ClientBinding. El uso de cero recupera la información de autenticación y autorización de la llamada a procedimiento remoto que se está ejecutando actualmente.

Nota

El encabezado rpcdce.h define RpcBindingInqAuthClientEx como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Conventions for Function Prototypes.

Requisitos

Requisito Valor
cliente mínimo admitido Windows 2000 Professional [solo aplicaciones de escritorio]
servidor mínimo admitido Windows 2000 Server [solo aplicaciones de escritorio]
de la plataforma de destino de Windows
encabezado de rpcdce.h (include Rpc.h)
biblioteca de Rpcrt4.lib
DLL de Rpcrt4.dll

Consulte también

rpcBindingInqAuthClient

RpcBindingSetAuthInfo

RpcStringFree