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.
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é.
À 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 |