Share via


Fonction RpcErrorGetNextRecord (rpcasync.h)

La fonction RpcErrorGetNextRecord récupère l’enregistrement d’informations d’erreur étendu suivant pour un handle d’énumération.

Syntaxe

RPC_STATUS RpcErrorGetNextRecord(
  [in]  RPC_ERROR_ENUM_HANDLE   *EnumHandle,
  [in]  BOOL                    CopyStrings,
  [out] RPC_EXTENDED_ERROR_INFO *ErrorInfo
);

Paramètres

[in] 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.

[in] CopyStrings

Spécifie si les champs de chaîne dans ErrorInfo sont copiés dans le tas système par défaut, à partir duquel la propriété de ces mémoires tampons est transférée à l’appelant.

TRUE indique que les chaînes doivent être copiées dans le tas système.

FALSE indique que les chaînes dans ErrorInfo pointent vers des structures de données RPC internes ; l’appelant ne peut pas libérer ou écrire sur eux, et ils deviennent non valides une fois que la fonction RpcErrorEndEnumeration est appelée.

[out] ErrorInfo

Pointeur vers une structure RPC_EXTENDED_ERROR_INFO . Consultez la section Notes.

Valeur de retour

Si CopyStrings a la valeur false, l’appel de fonction ne peut pas échouer, sauf si ses paramètres ne sont pas valides. Lorsque le dernier enregistrement d’erreur étendu est récupéré, RpcErrorGetNextRecord retourne RPC_S_OK. Tous les appels suivants retournent RPC_S_ENTRY_NOT_FOUND.

En cas d’erreur, la position d’énumération n’est pas avancée.

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

Remarques

Lors de l’entrée, les champs suivants doivent être définis dans ErrorInfo :

  • La version doit être définie sur RPC_EEINFO_VERSION.
  • NumberOfParameters doit être défini sur une valeur comprise entre zéro et MaxNumberOfEEInfoParams. Les appelants sont libres de fournir de l’espace pour un nombre quelconque de paramètres. Si le nombre de paramètres fournis par l’appelant est inférieur au nombre de paramètres dans l’enregistrement d’erreur étendu, RPC_S_BUFFER_TOO_SMALL est retourné.
  • Les indicateurs doivent être zéro, ou EEInfoUseFileTime doivent être spécifiés. Si Flags est égal à zéro, le membre SystemTime de l’union u est utilisé. Si EEInfoUseFileTime est spécifié, le membre FileTime de l’union u est utilisé.
Les autres champs d’ErrorInfo sont ignorés lors de l’entrée.

À la sortie, les champs dans ErrorInfo sont remplis comme suit :

  • La version est inchangée.
  • ComputerName a la valeur NULL s’il n’y a pas de nom d’ordinateur dans l’enregistrement, ou une chaîne Unicode si un nom d’ordinateur existe dans l’enregistrement d’informations d’erreur étendu. Si la valeur est NULL, le dernier enregistrement portant un nom d’ordinateur peut être supposé. Toutefois, le nom de l’ordinateur a peut-être été supprimé pour une mémoire insuffisante. ComputerName est un nom DNS non qualifié.
  • ProcessID est le PID du processus d’origine de l’enregistrement.
  • SystemTime ou FileTime correspond à l’heure à laquelle l’enregistrement a été généré, exprimé en UCT, pour la machine sur laquelle l’enregistrement a été généré. FileTime ou SystemTime est valide, selon que EEInfoUseFileTime est utilisé.
  • GeneratingComponent est le code du composant de génération.
  • Status est le code status de l’enregistrement.
  • DetectionLocation est le code de l’emplacement de détection.
  • Les indicateurs spécifient si les enregistrements sont manquants. Si un ou plusieurs enregistrements sont manquants après l’enregistrement actif, EEInfoNextRecordsMissing est défini. Si un ou plusieurs enregistrements avant l’enregistrement actif sont manquants, EEInfoPreviousRecordsMissing est défini.
  • NumberOfParameters spécifie le nombre réel de paramètres. Si l’appelant a spécifié de l’espace pour plus de paramètres en entrée que dans l’enregistrement, ce champ contient le nombre de paramètres utilisés.
  • Les paramètres sont les paramètres réels, fournis sous forme de tableau de structures RPC_EE_INFO_PARAM avec des structures NumberOfParameters .

Configuration requise

Condition requise Valeur
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

RpcErrorEndEnumeration

RpcErrorStartEnumeration