Partager via


RpcServerInqCallAttributesA, fonction (rpcasync.h)

La fonction RpcServerInqCallAttributes est un appel de serveur RPC qui obtient des attributs de contexte de sécurité client.

Syntaxe

RPC_STATUS RpcServerInqCallAttributesA(
  [in]      RPC_BINDING_HANDLE ClientBinding,
  [in, out] void               *RpcCallAttributes
);

Paramètres

[in] ClientBinding

Optionnel. Pour la liaison explicite dans une routine de serveur, ClientBinding est le handle de liaison avec lequel la routine du gestionnaire a été appelée. Voir les remarques.

[in, out] RpcCallAttributes

RPC_CALL_ATTRIBUTES_V2 structure qui reçoit des attributs d’appel.

Valeur de retour

Retourne RPC_S_OK en cas de réussite et RpcCallAttributes est rempli. Si ERROR_MORE_DATA est retourné, un ou plusieurs champs de RpcCallAttributes n’a pas pu être rempli. Pour plus d’informations sur la gestion des ERROR_MORE_DATA, consultez les remarques dans RPC_CALL_ATTRIBUTES_V2.

En cas d’échec, le contenu de RpcCallAttributes n’est pas défini et peut être partiellement modifié par RPC.

Remarque Pour obtenir la liste des codes d’erreur valides, consultez valeurs de retour RPC.
 

Remarques

La fonction RpcServerInqCallAttributes utilise un schéma de contrôle de version pour incorporer de nouvelles fonctionnalités sans avoir à introduire de nouvelles fonctions avec des identificateurs de suffixe. Par exemple, une deuxième version de l'RPC_CALL_ATTRIBUTES_V2, identifiée par un #define simple dans l’en-tête, peut ajouter de nouveaux membres pour faciliter la création de nouvelles fonctionnalités intégrées aux futures versions de la fonction RpcServerInqCallAttributes, sans avoir à libérer une fonction appelée RpcServerInqCallAttributesEx.

Si la fonction RpcServerInqCallAttributes est appelée en dehors d’une routine de serveur et si l’appel de fonction interroge les attributs de contexte de sécurité pour un appel RPC asynchrone, clientBinding pouvez être récupéré en appelant la fonction RpcAsyncGetCallHandle à partir du handle asynchrone.

La fonction RpcServerInqCallAttributes n’est pas prise en charge pour les séquences de protocole de datagramme, telles que ncadg_*. Si elle est appelée sur un appel qui s’exécute sur une séquence de protocole de datagramme, RPC_S_CANNOT_SUPPORT est retournée.

La fonction RpcServerInqCallAttributes est thread-safe.

Exemples

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);

Note

L’en-tête rpcasync.h définit RpcServerInqCallAttributes comme alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Exigences

Exigence Valeur
client minimum pris en charge Windows XP [applications de bureau uniquement]
serveur minimum pris en charge Windows Server 2003 [applications de bureau uniquement]
plateforme cible Windows
d’en-tête rpcasync.h (inclure Rpc.h)
bibliothèque Rpcrt4.lib
DLL Rpcrt4.dll

Voir aussi

RPC_CALL_ATTRIBUTES_V2

RpcAsyncGetCallHandle