Partager via


RpcErrorStartEnumeration, fonction (rpcasync.h)

La fonction RpcErrorStartEnumeration commence l’énumération des informations d’erreur étendues.

Syntaxe

RPC_STATUS RpcErrorStartEnumeration(
  RPC_ERROR_ENUM_HANDLE *EnumHandle
);

Paramètres

EnumHandle

Pointeur vers le handle d’énumération, sous la forme d’une structure RPC_ERROR_ENUM_HANDLE . La structure doit être allouée par l’appelant et ne peut pas être libérée tant que l’opération n’est pas terminée. Tous les membres sont ignorés lors de l’entrée.

Valeur retournée

L’achèvement réussi retourne RPC_S_OK.

Retourne RPC_S_ENTRY_NOT_FOUND si aucune information d’erreur étendue ne se trouve sur le thread. Si une énumération est en cours, le démarrage d’une deuxième énumération commence par le début.

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

Notes

L’appel de la fonction RpcErrorStartEnumeration doit être effectué immédiatement après l’appel qui a retourné l’erreur. Sinon, les informations d’erreur étendues peuvent être remplacées par les appels suivants. Les handles d’énumération doivent être libérés avec la fonction RpcErrorEndEnumeration.

Une fois RpcErrorStartEnumeration appelé, il est sûr d’utiliser le handle d’énumération à partir d’un thread différent. La fonction RpcErrorStartEnumeration prend une instantané des informations d’erreur étendues, et le handle d’énumération de retour fonctionne sur le instantané. Toutefois, les fonctions d’énumération ne sont pas synchronisées entre les threads par RPC, ce qui revient à l’appelant. Les appels suivants à RpcErrorStartEnumeration commencent une nouvelle énumération et ne créent pas de deuxième énumération pour les mêmes informations d’erreur étendues.

La fonction RpcErrorStartEnumeration peut échouer si la mémoire est insuffisante pour commencer l’énumération. Le handle d’énumération ne peut être transmis qu’aux fonctions RpcError* et ne peut pas être utilisé avec d’autres fonctions, telles que DuplicateHandle.

L’avancement du pointeur d’énumération sur une énumération n’a aucun effet sur les énumérations démarrées indépendamment.

Spécifications

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

Voir aussi

Obtention d’informations d’erreur RPC étendues

RPC_EE_INFO_PARAM

RPC_ERROR_ENUM_HANDLE

RPC_EXTENDED_ERROR_INFO

RpcErrorAddRecord

RpcErrorClearInformation

RpcErrorEndEnumeration

RpcErrorGetNextRecord

RpcErrorGetNumberOfRecords

RpcErrorLoadErrorInfo

RpcErrorResetEnumeration

RpcErrorSaveErrorInfo