Partager via


RpcServerInqCallAttributesW, fonction (rpcasync.h)

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

Syntaxe

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

Paramètres

[in] ClientBinding

Facultatif. Pour une liaison explicite au sein d’une routine de serveur, ClientBinding est le handle de liaison avec lequel la routine du gestionnaire a été appelée. Consultez la section Notes.

[in, out] RpcCallAttributes

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

Valeur retournée

Retourne RPC_S_OK en cas de réussite, et RpcCallAttributes est rempli. Si ERROR_MORE_DATA est retourné, un ou plusieurs champs dans RpcCallAttributes étaient d’une longueur insuffisante et n’ont pas pu être remplis. Pour plus d’informations sur la gestion des ERROR_MORE_DATA, consultez 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.

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

Notes

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 avec un simple #define dans l’en-tête, peut ajouter de nouveaux membres pour faciliter les 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 peut ê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_*. S’il est appelé sur un appel qui s’exécute sur une séquence de protocole de datagramme, RPC_S_CANNOT_SUPPORT est retourné.

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

Notes

L’en-tête rpcasync.h définit RpcServerInqCallAttributes en tant qu’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. La combinaison 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.

Spécifications

   
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête rpcasync.h (inclure Rpc.h)
Bibliothèque Rpcrt4.lib
DLL Rpcrt4.dll

Voir aussi

RPC_CALL_ATTRIBUTES_V2

RpcAsyncGetCallHandle