Condividi tramite


Intestazione ntddscsi.h

Questa intestazione viene usata dall'archiviazione. Per altre informazioni, vedere:

ntddscsi.h contiene le interfacce di programmazione seguenti:

IOCTLs

 
IOCTL_ATA_PASS_THROUGH

Consente a un'applicazione di inviare quasi qualsiasi comando ATA a un dispositivo di destinazione, con le restrizioni seguenti: _If esiste un driver di classe per il tipo di destinazione del dispositivo, l'applicazione deve inviare la richiesta al driver di classe.
IOCTL_ATA_PASS_THROUGH_DIRECT

Informazioni su come IOCTL_ATA_PASS_THROUGH_DIRECT consente a un'applicazione di inviare quasi tutti i comandi ATA a un dispositivo di destinazione.
IOCTL_MINIPORT_PROCESS_SERVICE_IRP

Questo IOCTL viene usato da un'applicazione in modalità utente o da un driver in modalità kernel che richiede una notifica quando si verifica qualcosa di interessante nel miniport virtuale.
IOCTL_MINIPORT_SIGNATURE_ENDURANCE_INFO

IOCTL_MINIPORT_SIGNATURE_ENDURANCE_INFO è la firma definita dal sistema usata insieme al codice di controllo IOCTL_SCSI_MINIPORT per richiedere che un miniport restituisca dati di resistenza per un dispositivo di destinazione.
IOCTL_MINIPORT_SIGNATURE_SET_PROTOCOL

IOCTL_MINIPORT_SIGNATURE_SET_PROTOCOL è la firma usata insieme al codice di controllo IOCTL_SCSI_MINIPORT per inviare dati specifici del protocollo a un miniport.
IOCTL_MPIO_PASS_THROUGH_PATH

Questo codice di controllo di I/O consente a un driver dell'applicazione o del kernel di inviare un comando SCSI a un LUN reale designato.
IOCTL_MPIO_PASS_THROUGH_PATH_DIRECT

Informazioni su come questo codice di controllo di I/O consente a un driver dell'applicazione o del kernel di inviare un comando SCSI a un LUN reale designato.
IOCTL_MPIO_PASS_THROUGH_PATH_DIRECT_EX

La richiesta di codice di controllo IOCTL_MPIO_PASS_THROUGH_PATH_DIRECT_EX è la versione estesa della richiesta di IOCTL_MPIO_PASS_THROUGH_PATH_DIRECT. Questa richiesta fornisce supporto per i trasferimenti di dati bidirezionali e consente un blocco di dati dei comandi (CDB) > 16 byte.
IOCTL_MPIO_PASS_THROUGH_PATH_EX

La richiesta di codice di controllo IOCTL_MPIO_PASS_THROUGH_PATH_EX è la versione estesa della richiesta di IOCTL_MPIO_PASS_THROUGH_PATH. Questa richiesta fornisce supporto per i trasferimenti di dati bidirezionali e consente un blocco di dati dei comandi (CDB) > 16 byte.
IOCTL_SCSI_GET_ADDRESS

Restituisce le informazioni sull'indirizzo, ad esempio l'ID di destinazione (TID) e il numero di unità logica (LUN) di una destinazione SCSI specifica.
IOCTL_SCSI_GET_CAPABILITIES

Restituisce le funzionalità e le limitazioni dell'HBA SCSI sottostante.
IOCTL_SCSI_GET_INQUIRY_DATA

Restituisce i dati di richiesta SCSI per tutti i dispositivi in una determinata scheda bus host SCSI (HBA).
IOCTL_SCSI_MINIPORT

Invia una funzione di controllo speciale a un driver miniport specifico di HBA.
IOCTL_SCSI_MINIPORT_DIAGNOSTIC

Il codice di controllo IOCTL_SCSI_MINIPORT_DIAGNOSTIC viene usato per eseguire una richiesta di diagnostica al Miniport.
IOCTL_SCSI_MINIPORT_HYBRID

Il codice di controllo IOCTL_SCSI_MINIPORT_HYBRID invia una richiesta di controllo del disco ibrido a un driver miniport specifico di HBA.
IOCTL_SCSI_MINIPORT_NVCACHE

Le operazioni di gestione della cache NV definite qui possono essere richiamate dal codice dell'applicazione in modalità utente in esecuzione con privilegi di amministratore, usando DeviceIoControl e il codice di controllo IOCTL_SCSI_MINIPORT.
IOCTL_SCSI_PASS_THROUGH

Consente a un'applicazione di inviare quasi qualsiasi comando SCSI a un dispositivo di destinazione, con le restrizioni seguenti: i comandi multitarget, ad esempio COPY, non sono consentiti. Le operazioni di trasferimento dei dati bidirezionali non sono supportate. Se esiste un driver di classe per il tipo di dispositivo di destinazione, la richiesta deve essere inviata a tale driver di classe. Pertanto, un'applicazione può inviare questa richiesta direttamente al driver della porta di sistema per un'unità logica di destinazione (LU) solo se non è presente alcun driver di classe per il tipo di dispositivo connesso a tale lu. Il driver della porta di sistema non verifica se un dispositivo è stato richiesto da un driver di classe prima di elaborare una richiesta pass-through. Pertanto, se un'applicazione ignora un driver di classe che ha richiesto un dispositivo e invia una richiesta pass-through per tale dispositivo direttamente al driver della porta, può verificarsi un conflitto per il controllo del dispositivo tra il driver di classe e l'applicazione. Se una richiesta pass-through viene inviata a un oggetto dispositivo adattatore e se ha origine dalla modalità utente e ha come destinazione un lu richiesto da un driver di classe, Storport non riesce la richiesta con STATUS_INVALID_DEVICE_REQUEST. Se la richiesta viene inviata a un oggetto dispositivo LU, ha origine in modalità kernel o ha come destinazione un LU non richiesto, viene passata al driver miniport. Questa richiesta non può essere usata se il CDB potrebbe richiedere al driver miniport sottostante di accedere direttamente alla memoria. Se il CDB del chiamante potrebbe richiedere l'accesso diretto alla memoria, usare invece IOCTL_SCSI_PASS_THROUGH_DIRECT. Le applicazioni non devono tentare di inviare una richiesta pass-through in modo asincrono. Tutte le richieste pass-through devono essere sincrone. Le applicazioni non richiedono privilegi amministrativi per inviare una richiesta pass-through a un dispositivo, ma devono avere accesso in lettura/scrittura al dispositivo. L'applicazione chiamante crea il blocco descrittore del comando SCSI, che può includere una richiesta di dati del senso della richiesta se si verifica una CONDIZIONE CHECK. IOCTL_SCSI_PASS_THROUGH è una richiesta di controllo del dispositivo memorizzata nel buffer. Per ignorare il buffering nella memoria di sistema, i chiamanti devono usare IOCTL_SCSI_PASS_THROUGH_DIRECT. Quando si gestisce una richiesta di IOCTL_SCSI_PASS_THROUGH_DIRECT, il sistema blocca il buffer nella memoria utente e il dispositivo accede direttamente a questa memoria. Questa richiesta viene in genere usata per trasferire piccole quantità di dati (<16.000). Le applicazioni possono inviare questa richiesta tramite una richiesta di IRP_MJ_DEVICE_CONTROL. I driver della classe di archiviazione impostano il numero IRP secondario su IRP_MN_SCSI_CLASS per indicare che la richiesta è stata elaborata da un driver di classe di archiviazione.
IOCTL_SCSI_PASS_THROUGH_DIRECT

Consente a un'applicazione di inviare quasi qualsiasi comando SCSI a un dispositivo di destinazione, con le restrizioni seguenti: i comandi multitarget, ad esempio COPY, non sono consentiti. Le operazioni di trasferimento dei dati bidirezionali non sono supportate. Se esiste un driver di classe per il tipo di dispositivo di destinazione, la richiesta deve essere inviata a tale driver di classe. Pertanto, un'applicazione può inviare questa richiesta direttamente al driver della porta di sistema per un'unità logica di destinazione solo se non è presente alcun driver di classe per il tipo di dispositivo connesso a tale lu. Questa richiesta deve essere effettuata se il CDB di input potrebbe richiedere al driver miniport sottostante di accedere direttamente alla memoria. L'applicazione chiamante crea il blocco descrittore del comando SCSI, che può includere una richiesta di dati del senso della richiesta se si verifica una CONDIZIONE CHECK. Se il CDB richiede un'operazione di trasferimento dei dati, il chiamante deve configurare un buffer allineato al dispositivo adattatore da cui o in cui il driver miniport può trasferire direttamente i dati. Questa richiesta viene in genere usata per trasferire grandi quantità di dati (>16.000). Le applicazioni possono inviare questa richiesta tramite una richiesta di IRP_MJ_DEVICE_CONTROL. I driver della classe di archiviazione impostano il numero IRP secondario su IRP_MN_SCSI_CLASS per indicare che la richiesta è stata elaborata da un driver di classe di archiviazione.
IOCTL_SCSI_PASS_THROUGH_DIRECT_EX

La richiesta di codice di controllo IOCTL_SCSI_PASS_THROUGH_DIRECT_EX è la versione estesa della richiesta di IOCTL_SCSI_PASS_THROUGH_DIRECT. Questa richiesta fornisce supporto per i trasferimenti di dati bidirezionali e consente un blocco di dati dei comandi (CDB) > 16 byte.
IOCTL_SCSI_PASS_THROUGH_EX

La richiesta di codice di controllo IOCTL_SCSI_PASS_THROUGH_EX è la versione estesa della richiesta di IOCTL_SCSI_PASS_THROUGH. Questa richiesta fornisce supporto per i trasferimenti di dati bidirezionali e consente un blocco di dati dei comandi (CDB) > 16 byte.
IOCTL_SCSI_RESCAN_BUS

Analizza nuovamente i LUN sul bus.rescans the bus(es).

Strutture

 
ATA_PASS_THROUGH_DIRECT

La struttura ATA_PASS_THROUGH_DIRECT viene usata insieme a una richiesta di IOCTL_ATA_PASS_THROUGH_DIRECT per indicare al driver della porta di inviare un comando ATA incorporato al dispositivo di destinazione.
ATA_PASS_THROUGH_EX

La struttura ATA_PASS_THROUGH_EX viene usata insieme a una richiesta di IOCTL_ATA_PASS_THROUGH per indicare al driver di porta di inviare un comando ATA incorporato al dispositivo di destinazione.
HYBRID_INFORMATION

La struttura HYBRID_INFORMATION contiene informazioni sulle funzionalità del disco ibrido.
IO_SCSI_CAPABILITIES

La struttura IO_SCSI_CAPABILITIES viene usata insieme alla richiesta di IOCTL_SCSI_GET_CAPABILITIES per recuperare le funzionalità e le limitazioni della scheda host SCSI sottostante. Nota I modelli di driver porta SCSI e miniport SCSI potrebbero essere modificati o non disponibili in futuro. È invece consigliabile usare il driver Storport e i modelli di driver miniport Storport.
MPIO_PASS_THROUGH_PATH

La struttura MPIO_PASS_THROUGH_PATH viene usata insieme a una richiesta di IOCTL_MPIO_PASS_THROUGH_PATH per indicare al driver della porta di inviare un comando SCSI incorporato al dispositivo di destinazione.
MPIO_PASS_THROUGH_PATH_DIRECT

La struttura MPIO_PASS_THROUGH_PATH_DIRECT viene usata insieme a una richiesta di IOCTL_MPIO_PASS_THROUGH_PATH_DIRECT per indicare al driver di porta di inviare un comando SCSI incorporato al dispositivo di destinazione.
MPIO_PASS_THROUGH_PATH_DIRECT_EX

La struttura MPIO_PASS_THROUGH_PATH_DIRECT_EX viene usata insieme a una richiesta di IOCTL_MPIO_PASS_THROUGH_PATH_DIRECT_EX per indicare al driver di porta di inviare un comando SCSI incorporato al dispositivo di destinazione.
MPIO_PASS_THROUGH_PATH_EX

La struttura MPIO_PASS_THROUGH_PATH_EX viene usata insieme a una richiesta di IOCTL_MPIO_PASS_THROUGH_PATH_EX per indicare al driver della porta di inviare un comando SCSI incorporato al dispositivo di destinazione.
NTSCSI_UNICODE_STRING

I driver delle porte di archiviazione possono usare la struttura NTSCSI_UNICODE_STRING per definire stringhe Unicode.
NV_FEATURE_PARAMETER

La struttura NV_FEATURE_PARAMETER viene usata insieme alla richiesta di IOCTL_SCSI_MINIPORT_NVCACHE per ottenere informazioni sul supporto delle funzionalità di Gestione cache NV dal dispositivo.
NVCACHE_REQUEST_BLOCK

La struttura NVCACHE_REQUEST_BLOCK viene usata in combinazione con la richiesta di IOCTL_SCSI_MINIPORT di gestire dispositivi dischi rigidi ibridi (H-HDD), ad esempio la tecnologia Microsoft ReadyDrive.
SCSI_ADAPTER_BUS_INFO

La struttura SCSI_ADAPTER_BUS_INFO viene usata insieme alla richiesta di IOCTL_SCSI_GET_INQUIRY_DATA per recuperare i dati di richiesta SCSI per tutti i dispositivi in un determinato bus SCSI.
SCSI_ADDRESS

La struttura SCSI_ADDRESS viene usata insieme alla richiesta di IOCTL_SCSI_GET_ADDRESS per recuperare le informazioni sull'indirizzo, ad esempio l'ID di destinazione (TID) e il numero di unità logica (LUN) di una destinazione SCSI specifica.
SCSI_BUS_DATA

La struttura SCSI_BUS_DATA viene usata insieme alla richiesta di IOCTL_SCSI_GET_INQUIRY_DATA e alla struttura SCSI_ADAPTER_BUS_INFO per recuperare i dati di richiesta SCSI per tutti i dispositivi in un determinato bus SCSI.
SCSI_INQUIRY_DATA

La struttura SCSI_INQUIRY_DATA viene usata insieme alla richiesta di IOCTL_SCSI_GET_INQUIRY_DATA di recuperare i dati di richiesta SCSI per tutti i dispositivi in un determinato bus SCSI.
SCSI_PASS_THROUGH

La struttura SCSI_PASS_THROUGH viene usata insieme a una richiesta di IOCTL_SCSI_PASS_THROUGH per indicare al driver della porta di inviare un comando SCSI incorporato al dispositivo di destinazione.
SCSI_PASS_THROUGH_DIRECT

La struttura SCSI_PASS_THROUGH_DIRECT viene usata insieme a una richiesta di IOCTL_SCSI_PASS_THROUGH_DIRECT per indicare al driver della porta di inviare un comando SCSI incorporato al dispositivo di destinazione.
SCSI_PASS_THROUGH_DIRECT_EX

La struttura SCSI_PASS_THROUGH_DIRECT_EX viene usata insieme a una richiesta di IOCTL_SCSI_PASS_THROUGH_DIRECT_EX per indicare al driver di porta di inviare un comando SCSI incorporato al dispositivo di destinazione.
SCSI_PASS_THROUGH_EX

La struttura SCSI_PASS_THROUGH_EX viene usata insieme a una richiesta di IOCTL_SCSI_PASS_THROUGH_EX per indicare al driver di porta di inviare un comando SCSI incorporato al dispositivo di destinazione.
SRB_IO_CONTROL

struttura SRB_IO_CONTROL
STORAGE_DIAGNOSTIC_MP_REQUEST

Descrive una richiesta di diagnostica a Miniport. La struttura STORAGE_DIAGNOSTIC_MP_REQUEST viene fornita nel buffer di input/output di una richiesta di IOCTL_SCSI_MINIPORT_DIAGNOSTIC.
STORAGE_ENDURANCE_DATA_DESCRIPTOR

Un miniport usa STORAGE_ENDURANCE_DATA_DESCRIPTOR per segnalare le informazioni sulla resistenza di un dispositivo al driver della porta di archiviazione.
STORAGE_ENDURANCE_INFO

Un miniport usa la struttura STORAGE_ENDURANCE_INFO per segnalare le informazioni sulla resistenza di un dispositivo.
STORAGE_FIRMWARE_SLOT_INFO

Informazioni sulla struttura STORAGE_FIRMWARE_SLOT_INFO.

Enumerazioni

 
MP_STORAGE_DIAGNOSTIC_LEVEL

L'enumerazione MP_STORAGE_DIAGNOSTIC_LEVEL consente al chiamante di controllare quali tipi di dati deve restituire il provider.
MP_STORAGE_DIAGNOSTIC_TARGET_TYPE

L'enumerazione MP_STORAGE_DIAGNOSTIC_TARGET_TYPE specifica il tipo di destinazione di una diagnostica di archiviazione.