Funzione RpcErrorGetNextRecord (rpcasync.h)
La funzione RpcErrorGetNextRecord recupera il record di informazioni di errore esteso successivo per un handle di enumerazione.
Sintassi
RPC_STATUS RpcErrorGetNextRecord(
[in] RPC_ERROR_ENUM_HANDLE *EnumHandle,
[in] BOOL CopyStrings,
[out] RPC_EXTENDED_ERROR_INFO *ErrorInfo
);
Parametri
[in] EnumHandle
Puntatore all'handle di enumerazione, sotto forma di una struttura RPC_ERROR_ENUM_HANDLE . La struttura deve essere allocata dal chiamante e non può essere liberata fino al completamento dell'operazione. Tutti i membri vengono ignorati nell'input.
[in] CopyStrings
Specifica se i campi stringa in ErrorInfo vengono copiati nell'heap del sistema predefinito, a quale punto la proprietà di tali buffer viene trasferita al chiamante.
TRUE indica che le stringhe devono essere copiate nell'heap di sistema.
FALSE indica le stringhe in ErrorInfo , che puntano a strutture di dati RPC interne; il chiamante non può liberare o scrivere a loro e diventano non validi una volta chiamata la funzione RpcErrorEndEnumeration .
[out] ErrorInfo
Puntatore a una struttura RPC_EXTENDED_ERROR_INFO . Vedere la sezione Osservazioni.
Valore restituito
Se CopyStrings è false, la chiamata alla funzione non riesce a meno che i relativi parametri non siano validi. Quando viene recuperato l'ultimo record di errore esteso, RpcErrorGetNextRecord restituisce RPC_S_OK. Tutte le chiamate successive restituiscono RPC_S_ENTRY_NOT_FOUND.
In caso di errore, la posizione di enumerazione non è avanzata.
Commenti
Dopo l'input, i campi seguenti devono essere impostati in ErrorInfo:
- La versione deve essere impostata su RPC_EEINFO_VERSION.
- NumberOfParameters deve essere impostato su un valore compreso tra zero e MaxNumberOfEEInfoParams. I chiamanti sono liberi di fornire spazio per qualsiasi numero di parametri. Se il numero di parametri forniti dal chiamante è minore del numero di parametri nel record di errore esteso, RPC_S_BUFFER_TOO_SMALL viene restituito.
- I flag devono essere zero o È necessario specificare EEInfoUseFileTime . Se flag è zero, viene usato il membro SystemTime dell'unione u. Se viene specificato EEInfoUseFileTime , viene usato il membro FileTime dell'unione u.
Al termine dell'output, i campi in ErrorInfo vengono compilati come segue:
- La versione è invariata.
- ComputerName è NULL se nel record non è presente alcun nome computer o una stringa Unicode se esiste un nome computer nel record di informazioni sull'errore esteso. Se NULL, l'ultimo record con un nome computer può essere assunto, tuttavia, il nome del computer potrebbe essere stato eliminato per memoria insufficiente. ComputerName è un nome DNS non qualificato.
- ProcessID è il PID del processo in cui ha origine il record.
- SystemTime o FileTime è l'ora in cui il record è stato generato, espresso in UCT, per il computer in cui è stato generato il record. FileTime o SystemTime è valido, in base al fatto che venga usato EEInfoUseFileTime.
- La generazione diComponent è il codice per il componente di generazione.
- Lo stato è il codice di stato per il record.
- DetectionLocation è il codice per la posizione di rilevamento.
- I flag specificano se i record sono mancanti. Se non è presente uno o più record dopo che il record corrente è mancante, viene impostato EEInfoNextRecordsMissing . Se prima del record corrente manca uno o più record, viene impostato EEInfoPreviousRecordsMissing .
- NumberOfParameters specifica il numero vero di parametri. Se lo spazio specificato dal chiamante per più parametri di input rispetto al record, questo campo contiene il numero di parametri usati.
- I parametri sono i parametri effettivi, forniti come matrice di strutture RPC_EE_INFO_PARAM con strutture NumberOfParameters .
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows XP [app desktop | App UWP] |
Server minimo supportato | Windows Server 2003 [app desktop | App UWP] |
Piattaforma di destinazione | Windows |
Intestazione | rpcasync.h (include Rpc.h) |
Libreria | Rpcrt4.lib |
DLL | Rpcrt4.dll |