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. |