Come determinare se un'unità è un'unità RAM

Il presente articolo è stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell’utente. Tuttavia, un articolo tradotto in modo automatico non è sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, più o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non è la sua. Microsoft non è responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell’utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.

Clicca qui per visualizzare la versione originale in inglese dell’articolo: 113418
Questo articolo è stato archiviato. L’articolo, quindi, viene offerto “così come è” e non verrà più aggiornato.
Sommario
Non esistono funzioni di linguaggio C o C funzioni di runtime per determinare o meno un'unità è un'unità RAM. L'API GetDriveType() può essere chiamato dalle applicazioni di Win32 per ottenere il tipo di un'unità specifica dal sistema operativo. Sono disponibili ulteriori informazioni su GetDriveType() in riferimento SDK Win32 di documentazione in linea di Visual c ++ 32-bit Edition.

Per le applicazioni MS-DOS e Win16, sebbene non esistano metodi definitivo disponibile, modi possibili presenti per determinare che una determinata unità "probabilmente" è un'unità RAM. Nel resto di questo articolo verrà illustrare brevemente ognuno dei quattro metodi per controllare un'unità RAM. Si noti che per tutti i metodi è necessario controllare ogni unità del sistema host.
Informazioni

Metodo 1

Controllare l'etichetta di volume dell'unità. Questo metodo è probabilmente il più comune. Il RAMDRIVE.SYS Microsoft utilizza un'etichetta di volume di "MS-RAMDRIVE". Tuttavia, questo non è garantito dall'etichetta di volume e probabilmente non sarà l'etichetta di volume in unità di RAM da altre società. Un utente può inoltre modificare questa impostazione utilizzando il comando etichetta.

Metodo 2

Chiamare il metodo interrupt 21 h 0Dh subfunction 44 h di funzione, una funzione di controllo di I/O generica per dispositivi di blocco. La maggior parte delle periferiche supportano questa funzione. Tuttavia, RAMDRIVE.SYS attualmente non è supportata. Questa mancanza di supporto utilizzabile per identificare un'unità RAM. Caricare il registro CX con 0860h per ottenere i parametri di unità disco periferica; in caso contrario, lasciare impostato il flag comportano l'unità è probabilmente un'unità RAM.

Metodo 3

Controllare quante tabelle FAT sull'unità sono; in caso affermativo solo 1, probabilmente è un'unità RAM. Poiché RAMDRIVE.SYS non supporta l'IOCTL funzioni, il solo modo per determinare il numero di tabelle FAT consiste utilizzare INT 25, assoluto lettura del disco. Annotare gli avvisi che questa funzione è stata sostituita e non è supportata in Windows. Per ulteriori informazioni e un esempio che illustra come utilizzare INT 25, fare clic numero articolo riportato di seguito per visualizzare l'articolo della Microsoft Knowledge Base riportato di seguito:
102870Leggere il settore di avvio di un'unità

Metodo 4

Infine, la chiamata di funzione di interrupt 21 h h 44 subfunction 09 h per verificare se l'unità è remoto. Se il valore restituito in DX è 0x0800, solo con bit 11 set, l'unità è probabilmente un'unità RAM. Si tratta da un'unità RAM per detrazione. Poiché bit 6 e 7 sono chiari, è noto che la periferica non accetta funzioni IOCTL, come la maggior parte delle periferiche. Poiché 12 bit è deselezionata, questa non è un'unità di rete e così via.

Poiché nessuno dei metodi sopra descritti è garantita, è consigliabile utilizzare una combinazione di questi metodi. Prima di eliminare ovvio, ad esempio le unità di rete, dischi rigidi locali, unità CD-ROM e così via. Provare a determinare se l'unità specificata è un'unità RAM.
rilevare ricerca

Avviso: questo articolo è stato tradotto automaticamente

Proprietà

ID articolo: 113418 - Ultima revisione: 03/01/2014 07:09:59 - Revisione: 4.1

Microsoft Visual C++ 1.0 Professional Edition, Microsoft Visual C++ 1.5 Professional Edition, Microsoft Visual C++ 2.0 Professional Edition, Microsoft Visual C++ 2.1, Microsoft Visual C++ 4.0 Standard Edition, Microsoft Visual C++ 5.0 Enterprise Edition, Microsoft Visual C++ 6.0 Enterprise Edition, Microsoft Visual C++ 5.0 Professional Edition, Microsoft Visual C++ 6.0 Professional Edition, Microsoft Visual C++, 32-bit Learning Edition 6.0, Microsoft Visual C++ .NET 2002 Standard Edition, Microsoft Visual C++ .NET 2003 Standard Edition

  • kbnosurvey kbarchive kbmt kbhowtomaster kblangc KB113418 KbMtit
Feedback