All'avvio xfix carica la tabella marcatori dalla sezione PM_Workplace:HandlesX del file OS2SYS.INI. (Si veda A proposito dei marcatori file WPS per i dettagli).

Dopodich‚ xfix analizza la tabella marcatori. Per ciascuno dei marcatori analizzati, xfix riporta nella finestra le seguenti informazioni:

  1. "i" Š un indice progressivo, che non Š presente in in OS2SYS.INI e non viene aggiornato quando si cancellano dei marcatori. (Si veda in proposito: "Ordina per indice", in Riferimento comandi menu.)

  2. La seconda colonna mostra lo stato di ciascun marcatore, come assegnato da xfix. Se xfix considera valido il marcatore, questa colonna Š vuota.

    Subito dopo l'avvio xfix verifica l'integrit… dei marcatori: marcatori con genitore non valido e marcatori duplicati sono individuati subito. Per verificare invece che i marcatori facciano riferimento a file esistenti Š necessario selezionare "Trova file non validi" dal menu "Azioni".

    Quando questa colonna non Š vuota, il marcatore Š contrassegnata in grigio, in modo da poterlo individuare agevolmente. Scegliendo "Seleziona non validi" dal menu "Seleziona", tutte queste voci sono selezionate automaticamente.

  3. Il valore nel campo "Tipo" pu• essere sia NODE che DRIV. Scegliendo ordinare per indice si ottiene l'ordine originale dei marcatori nel file OS2SYS.INI, ed Š possibile vedere come la voce DRIV venga sempre prima delle voci NODE relative a quell'unit…. Inoltre, subito dopo il nodo DRIV, se vi sono marcatori relativi a file su quell'unit…, c'Š sempre una voce NODE aggiuntiva per l'indirizzario radice. Non Š chiato il significato di questo nodo DRIV aggiuntivo, ma si pu• supporre che la WPS lo usi come marcatore interno per recuperare pi— velocemente i marcatori.

  4. Il campo "Ofs. nodo" visualizza l'offset relativo alla voce (il "nodo") all'interno della tabella marcatori, in OS2SYS.INI. La tabella inizia sempre con quattro byte di verifica (il cui significato non Š noto all'autore), perci• la prima voce inizia sempre con offset pari a 4. La lunghezza di ciascuna voce dipende dal suo nome corto (vedi sotto).

  5. Il campo "Marcatore" Š ricavato dal nodo in OS2SYS.INI ed Š il valore esadecimale del marcatore del file system, che poi corrisponde alla parola meno significativa del marcatore oggetto ("object handle") dell'oggetto file system corrispondente (WPDataFile o WPFolder). Si veda A proposito dei marcatori file WPS per dettagli.

    Non ci sono regole prevedibili su come vengono assegnati i nuovi marcatori file. Sembra che, quando si creano nuovi marcatori, venga semplicemente assegnato un numero casuale sceltro tra quelli ancora non utilizzati.

    Questo campo Š vuoto nel caso delle voci DRIV, dato che tali voci non hanno marcatore. I nodi DRIV sono evidentemente solo dei marcatori nella tabella marcatori.

  6. Il campo "Genitore", presente anch'esso nelle voci nel file OS2SYS.INI, specifica il marcatore della cartella in cui si trova l'oggetto (sia esso un file o un'altra cartella) cui fa riferimento la voce in esame. E' essenziale che sia valido (nel caso della voci relative ai nodi radice NODE il valore Š ovviamente 0). Se non lo Š, xfix contrassegna la voce come "Orphaned" e non valida, dato che non Š pi— di utilit… alcuna.

    Il marcatore genitore Š di fondamentale importanza. Se questo marcatore non fosse valido, la WPS non sarebbe infatti pi— in grado di ricostruire il percorso del file cui la voce della tabella fa riferimento. Si veda sotto per una descrizione del meccanismo di funzionamento.

  7. Il "Nome corto" Š conservato nei blocchi della tabella marcatori e specifica il solo nome dell'oggetto file system, escluso quindi il percorso completo. La lunghezza del nome del file Š variabile, ed Š per questo che ogni voce ha una lunghezza differente.

    Solitamente la WPS normalizza in lettere maiuscole i nomi corti. In alcuni casi, tuttavia, si hanno voci con caratteri misti. Non Š chiaro cosa determini queste situazioni.

  8. Il campo "Figli" viene calcolato da xfix durante l'analisi della tabella marcatori, e specifica quante sono le voci che si appoggiano sulla voce in esame, indicandola come marcatore genitore, o direttamente (nel campo "Genitore") o indirettamente (quando cioŠ nel percorso vi sono in mezzo altre cartelle genitore).

    Se il campo "Figli" riporta il valore 0, si pu• cancellare la voce in esame senza danneggiare altre voci (il che non significa che non si corrono rischi cancellando quella voce, dato che potrebbe comunque danneggiare copie collegate ecc. Si veda in proposito Cancellare i marcatori file.)

  9. Anche il campo "Dupl." Š ricavato da xfix e riporta il numero di duplicati per ciascun marcatore. Questo valore deve essere zero per ogni marcatore. In caso contrario, si pu• star certi che la WPS inizier… presto ad avere problemi. Per questo motivo xfix imposta subito lo stato del marcatore a "Duplicate" e lo contrassegna come non valido.

    Si veda Come si fa a ... per altre informazioni sui doppioni.

  10. Il campo "Rif." sta per "Riferimenti" e specifica in che maniera Š usato il marcatore nel file OS2.INI.

    Se nel campo si legge ABS, significa che l'dentificatore Š elencato nella sezione PM_Abstract:FldrContent di OS2.INI. E' la sezione in cui sono elencati tutti gli oggetti astratti presenti in una data cartella. Detto altrimenti, se il valore Š ABS, il marcatore Š relativo ad una cartella che contiene oggetti astratti.

    Se invece nel campo si legge FPOS, questo significa che il marcatore si trova nella sezione PM_Workplace:FolderPos, in cui sono elencate tutte le posizioni di apertura delle cartelle che sono conservate dalla WPS. Quindi, se il campo riporta FPOS, il marcatore Š quello di una cartella che Š stata aperta almeno una volta dalla WPS, che ora ne conserva la posizione di apertura.

    Si veda Cancellare i marcatori file per le implicazioni relative alla cancellazione di marcatori che hanno questo campo impostato su tali valori.

  11. Il "Nome lungo" Š il percorso per esteso relativo al marcatore in esame, come verrebbe risolto dalla WPS. Ancora una volta, si noti che tale indicazione non Š presente nel file OS2SYS.INI, a dimostrazione dell'intelligenza dell'intero meccanismo degli marcatori file.

    Quanto la WPS ha bisogno del nome completo del file relativo al marcatore (quando, ad es., si avvia un oggetto programma ed Š necessario il nome dell'eseguibile) non fa altro che ricercare nella tabella il marcatore dell'oggetto.

    Dopodich‚ cerca il marcatore genitore per quella voce. Esamina la voce relativa al marcatore genitore e ricerca il nome corto del marcatore genitore relativo. Passa poi al genitore del genitore, e cosŤ via, fino a raggiungere il nodo radice dell'unit… (questo almeno Š il modo in cui xfix ricava il nome lungo del file).

    Un'implementazione del genere presenta numerosi vantaggi: