Windows ConfidentialQuasi una benedizione

Raymond Chen

Quando si inserisce un CD o DVD, la shell "analizza" il disco per determinarne il tipo di contenuto. Di conseguenza, viene indicato alla shell l'azione di AutoPlay da eseguire. I dettagli precisi su come viene eseguita l'analisi non sono documentati poiché si tratta di sistemi euristici che potranno essere modificati in futuro, se si trova un algoritmo migliore.

Formalmente, se l'algoritmo fosse contenuto nella documentazione sarebbe soggetto ai termini contrattuali previsti e ciò impedirebbe di modificarlo in versioni successive. Ufficialmente, quindi, i dettagli dell'algoritmo vengono omessi.

Chi non ha mai scritto documentazione SDK potrebbe non rendersi conto che ciò può comportare obblighi contrattuali. Una volta dichiarato pubblicamente che qualcosa funziona in un certo modo, non è possibile modificarlo. In tal caso, chi si basava su questa convinzione potrebbe dichiarare "Non è esattamente in linea con quanto specificato nella documentazione. Avete cambiato le regole a gioco iniziato".

Fatta questa premessa, ecco una descrizione veloce e incredibilmente semplificata di come Windows® XP Service Pack 2 (SP2) classifica il contenuto di CD e DVD dati che non dispongono di un file autorun.inf. Le versioni future di service pack e di Windows potrebbero funzionare diversamente. Dico "incredibilmente semplificata" perché l'algoritmo reale è una tabella decisioni a 61 passaggi che tiene conto di tutti i generi di tutte le informazioni come se l'applicazione in primo piano rispondesse alla notifica "Query cancel AutoPlay" (AutoPlay annullamento query), se è in esecuzione un programma a schermo intero, anche se si tratta di un computer portatile che è stato recentemente inserito nell'alloggiamento di espansione o da esso disinserito. Ma andiamo a esaminare solo il passaggio dell'analisi del contenuto.

  

In primo luogo, la shell verifica se l'utente ha specificato "Nessuna azione" come azione per tutti i tipi di contenuto. In tal caso, non viene eseguita alcuna analisi. La decisione è semplicemente "Nessuna azione".

In caso contrario, la shell deve esaminare ogni file sul disco (fino a quattro livelli di directory) e riunirli in una delle seguenti categorie in base al tipo rilevato: immagini, musica, filmati.

I file che non rientrano in una di queste categorie vengono ignorati. Se tra tutti i file esaminati è rappresentata soltanto una categoria (ad esempio, tutti i file sul disco sono file musicali), ciò determina il tipo di disco. Se è rappresentata più di una categoria, il disco viene considerato di contenuto misto.

Questo significa che la copertina album di un CD musicale fa sì che il CD sia considerato da Windows XP SP2 come CD di contenuto misto. Si tratta di una di quelle caratteristiche che potrebbero richiedere alcune modifiche. Ma si supponga che questo algoritmo sia stato modificato e che si decida che un'immagine occasionale su un CD di MP3 non debba far sì che un disco venga classificato come di contenuto misto. Un'azienda potrebbe avere un CD con file audio e solo qualche immagine. L'azienda, in verità, si basa sul fatto che il CD venga riconosciuto come di contenuto misto. Ma quando l'algoritmo viene modificato, il CD viene erroneamente classificato come musicale. E adesso quell'azienda ha un problema. Ma di chi è la colpa? Dell'azienda che fa affidamento sui dettagli dell'algoritmo di analisi? O di Windows che è responsabile di aver modificato l'algoritmo?

Ecco, in Windows Vista™, l'algoritmo è stato modificato, per quanto in misura minima. In Windows Vista, sono stati eseguiti diversi controlli per ignorare l'algoritmo per alcune configurazioni del disco ben note. Ad esempio, se nella directory principale del disco è presente una cartella DCIM, si presuppone sia composta da immagini digitali. Vedremo se qualcuno se ne accorge.

Raymond Chen, The Old New Thing (in inglese), come nel suo libro omonimo (Addison-Wesley, 2007), vengono illustrate la storia di Windows e la programmazione in Win32. Raymond si domanda a cosa somiglia il sole.

© 2008 Microsoft Corporation e CMP Media, LLC. Tutti i diritti riservati. È vietata la riproduzione completa o parziale senza autorizzazione.