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.