Función RpcServerInqCallAttributesA (rpcasync.h)
La función RpcServerInqCallAttributes es una llamada de servidor RPC que obtiene atributos de contexto de seguridad de cliente.
Sintaxis
RPC_STATUS RpcServerInqCallAttributesA(
[in] RPC_BINDING_HANDLE ClientBinding,
[in, out] void *RpcCallAttributes
);
Parámetros
[in] ClientBinding
Opcional. Para el enlace explícito dentro de una rutina de servidor, ClientBinding es el identificador de enlace con el que se llamó a la rutina del administrador. Vea la sección Comentarios.
[in, out] RpcCallAttributes
RPC_CALL_ATTRIBUTES_V2 estructura que recibe atributos de llamada.
Valor devuelto
Devuelve RPC_S_OK tras el éxito y RpcCallAttributes se rellena. Si se devuelve ERROR_MORE_DATA, uno o varios campos de RpcCallAttributes tenían una longitud insuficiente y no se pudieron rellenar. Vea Comentarios en RPC_CALL_ATTRIBUTES_V2 para obtener más información sobre cómo controlar ERROR_MORE_DATA.
Tras un error, el contenido de RpcCallAttributes no está definido y puede modificarse parcialmente por RPC.
Comentarios
La función RpcServerInqCallAttributes usa un esquema de control de versiones para incorporar nuevas funcionalidades sin tener que introducir nuevas funciones con identificadores de sufijo. Por ejemplo, una segunda versión del RPC_CALL_ATTRIBUTES_V2, identificada con un simple #define en el encabezado, puede agregar nuevos miembros para facilitar la nueva funcionalidad integrada en versiones futuras de la función RpcServerInqCallAttributes , sin tener que liberar una función denominada RpcServerInqCallAttributesEx.
Si se llama a la función RpcServerInqCallAttributes fuera de una rutina de servidor y, si la llamada de función consulta los atributos de contexto de seguridad para una llamada RPC asincrónica, ClientBinding se puede recuperar llamando a la función RpcAsyncGetCallHandle desde el identificador asincrónico.
La función RpcServerInqCallAttributes no se admite para secuencias de protocolo de datagramas, como ncadg_*. Si se invoca en una llamada que se ejecuta en una secuencia de protocolo de datagrama, se devuelve RPC_S_CANNOT_SUPPORT.
La función RpcServerInqCallAttributes es segura para subprocesos.
Ejemplos
RPC_CALL_ATTRIBUTES CallAttributes; // this maps to RPC_CALL_ATTRIBUTES_V1
memset(&CallAttributes, 0, sizeof(CallAttributes));
CallAttributes.Version = RPC_CALL_ATTRIBUTES_VERSION; // maps to 1
CallAttributes.Flags = ;//....
Status = RpcServerInqCallAttributes(0, &ClientContextAttributes);
Nota:
El encabezado rpcasync.h define RpcServerInqCallAttributes 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 neutro de codificación con código que no es neutral de codificación puede provocar discrepancias que dan lugar a errores de compilación o en tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.
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 | rpcasync.h (include Rpc.h) |
Library | Rpcrt4.lib |
Archivo DLL | Rpcrt4.dll |