Informazioni sugli errori estesi
Le informazioni sugli errori estese sono una matrice di record, ognuno dei quali indica il passaggio del codice di errore tramite un livello specifico nel sistema o nell'applicazione. Se si verifica un errore in un computer C, come viene chiamato dal computer B, che a sua volta viene chiamato dal computer A, il tempo di esecuzione RPC nel computer C genera uno o più record che descrivono l'errore e li passa al computer B. Il computer B può aggiungere uno o più record all'inizio della catena esistente, e passa la catena completa ad A. Un oggetto può aggiungere uno o più record e visualizzare o registrare le informazioni. In sostanza, la catena di errori estesa rappresenta la cronologia dell'errore.
Le informazioni sugli errori estese non sostituiscono il codice di errore (il codice di stato RPC_S_*). Indipendentemente dalla quantità o dal fatto che vengano generate informazioni estese sull'errore, il codice di errore rimane invariato.
Ogni record di informazioni sugli errori esteso contiene quanto segue. Per altre informazioni, vedere RPC_EXTENDED_ERROR_INFO :
ComputerName: si tratta del nome DNS non qualificato del computer in cui ha avuto origine l'errore. Solo i record sui limiti del computer contengono queste informazioni. Ad esempio, nello scenario descritto in precedenza con i computer A, B e C, computerName viene definito per i campi seguenti:
Registra Campo ComputerName Record n. 1 generato dal computer C - Record n. 2 generato dal computer C - Record n. 3 generato dal computer C C Record n. 1 generato dal computer B - Record n. 2 generato dal computer B - Record n. 3 generato dal computer B B Record n. 1 generato dal computer A - Record n. 2 generato dal computer A - Record n. 3 generato dal computer A - Capo della catena
ProcessID: identificatore del processo che ha generato l'errore.
TimeStamp: ora in cui si è verificato l'errore, espresso in formato UTC.
Componente di generazione: definizione di codice intero del componente logico che ha generato l'errore. I componenti seguenti sono attualmente definiti:
Codice Nome Descrizione 1 Applicazione Componente proprietario della routine di gestione per la chiamata RPC specifica 2 Runtime Runtime RPC 3 Provider di sicurezza Provider di sicurezza per questa chiamata. 4 Server dei criteri di rete File system NPFS 5 RDR The Redirector 6 NMP Sistema named pipe. Può trattarsi di NPFS o RDR, ma in molti casi il runtime RPC non conosce chi ha eseguito l'operazione richiesta e in questi casi viene restituito NMP. 7 IO Sistema di I/O o driver usato dal sistema I/O. Può trattarsi di NPFS, RDR o di un provider Winsock. 8 Winsock Provider Winsock 9 Codice Authz API di autorizzazione. 10 LPC Struttura Di chiamata alla procedura locale.
- Stato: codice di errore generato o restituito dal livello
- DetectionLocation: numero univoco che identifica la posizione del codice in cui è stato rilevato l'errore. Questo campo è associato al codice e cambierà da versione a versione. Verrà pubblicato un elenco separato dei percorsi di rilevamento più comunemente rilevati.
- Flag: flag che specificano informazioni sul record. I flag attualmente definiti sono EEInfoPreviousRecordsMissing e EEInfoNextRecordsMissing, corrispondenti rispettivamente ai valori numerici 1 e 2. Se EEInfoPreviousRecordsMissing è impostato, uno o più record prima che tale record non sia presente. Se È impostato EEInfoNextRecordsMissing, uno o più record dopo tale record non sono presenti. Per una descrizione del motivo per cui i record potrebbero non essere presenti, vedere Affidabilità delle informazioni sugli errori estesi.
- Fino a quattro parametri di errore. Un parametro di errore è una struttura di variante leggera che fornisce informazioni aggiuntive sull'errore. Le informazioni aggiuntive dipendono dall'errore e dalla posizione di rilevamento. I parametri possono essere di tipo STRINGA ANSI (LPSTR), Stringa Unicode (LPWSTR), valore lungo (long), short value (short), puntatore (int64) o nessuno.