Función RpcBindingInqAuthClientEx (rpcdce.h)
Una aplicación de servidor llama a la función RpcBindingInqAuthClientEx para obtener información extendida sobre el programa cliente que realizó la llamada a procedimiento remoto.
Sintaxis
RPC_STATUS RpcBindingInqAuthClientEx(
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 la sección 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 . Para las llamadas a 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 desea 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 el SSP de SCHANNEL, el nombre principal tiene el formato msstd. Para obtener más información sobre el formato msstd, consulte Nombres principales.
Especifique un valor null para evitar que RpcBindingInqAuthClientEx devuelva el parámetro ServerPrincName . 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 Constantes de nivel de autenticación.
Especifique un valor null para evitar que RpcBindingInqAuthClientEx devuelva el parámetro 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 Constants(Constantes de servicio de autenticación).
Especifique un valor NULL para evitar que RpcBindingInqAuthClientEx devuelva el parámetro AuthnSvc .
AuthzSvc
Devuelve un puntero establecido en el servicio de autorización solicitado por la aplicación cliente que realizó la llamada de procedimiento remoto en el identificador de enlace de enlace. Para obtener una lista de los servicios de autorización compatibles con RPC, vea Authorization-Service Constants .
Especifique un valor null para evitar que RpcBindingInqAuthClientEx devuelva el parámetro 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 valor siguiente.
Valor | Significado |
---|---|
|
Devuelve el nombre principal en formato completo . |
Valor devuelto
Valor | Significado |
---|---|
|
La llamada se realizó correctamente. |
|
El identificador de enlace no era válido. |
|
Este era el tipo incorrecto de enlace para la operación. |
|
El enlace no tiene información de autenticación. |
Comentarios
Una aplicación de servidor llama a la 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 especificado por el cliente. El servidor puede usar los datos devueltos con fines de autorización.
La biblioteca en tiempo de ejecución rpc asigna memoria para el parámetro ServerPrincName devuelto. La aplicación es responsable de llamar a la función 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 de procedimiento remoto que se está ejecutando actualmente.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 2000 Professional [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows 2000 Server [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | rpcdce.h (incluir Rpc.h) |
Library | Rpcrt4.lib |
Archivo DLL | Rpcrt4.dll |