IDE_DEVICE_PARAMETERS struttura (irb.h)
La struttura IDE_DEVICE_PARAMETERS contiene informazioni di configurazione fornite dal driver di porta al driver miniport per configurare un dispositivo.
Sintassi
typedef struct _IDE_DEVICE_PARAMETERS {
USHORT Version;
IDE_DEVICE_TYPE IdeDeviceType;
UCHAR TargetId;
UCHAR MaximumLun;
UCHAR NumberOfOverlappedRequests;
UCHAR MaxBlockXfer;
USHORT DeviceCharacteristics;
ATA_ADDRESS_TRANSLATION AddressTranslation;
union {
LARGE_INTEGER MaxLba;
struct {
USHORT NumCylinders;
USHORT NumHeads;
USHORT NumSectorsPerTrack;
USHORT Reserved;
} Chs;
};
ULONG BytesPerLogicalSector;
ULONG BytesPerPhysicalSector;
ULONG BytesOffsetForSectorAlignment;
ULONG TransferModeSupported;
ULONG TransferModeSelected;
} IDE_DEVICE_PARAMETERS, *PIDE_DEVICE_PARAMETERS;
Members
Version
Indica le dimensioni della struttura Dei parametri del dispositivo . Il driver miniport deve verificare che sizeof(IDE_DEVICE_PARAMETERS) sia minore o uguale al campo Version .
IdeDeviceType
Indica il tipo del dispositivo. I tipi di dispositivo consentiti sono DeviceIsAta per dispositivi ATA, DeviceIsAtapi per dispositivi ATAPI e DeviceNotExist se non è stato trovato alcun dispositivo a tale indirizzo. Gli altri campi di questa struttura non sono validi se IdeDeviceType è impostato su DeviceNotExist.
TargetId
Specifica l'ID di destinazione del dispositivo.
MaximumLun
Il driver miniport deve aggiornare questo campo per indicare il numero massimo di unità logica supportato da questo dispositivo. Per impostazione predefinita, il membro è impostato su 0 che indica l'esistenza di un solo LUN.
NumberOfOverlappedRequests
Il driver miniport deve aggiornare questo campo per specificare il numero di richieste sovrapposte che può gestire per questo dispositivo. Per impostazione predefinita, il membro è impostato su 1.
MaxBlockXfer
Specifica il numero di settori in un blocco di dati da trasferire. Questo valore si applica ai blocchi di dati usati nei comandi di trasferimento a blocchi ATA, ad esempio Read Multiple (0xC4), Write Multiple (0xC5). Per altre informazioni sui comandi ReadMultiple e WriteMultiple, vedere la specifica ATA.
DeviceCharacteristics
Specifica le caratteristiche del dispositivo. La tabella seguente elenca le caratteristiche che possono essere impostate in questo membro. Il byte elevato di questo membro è opaco e non deve essere modificato dal miniport ATA.
Caratteristica del dispositivo | Descrizione |
---|---|
DFLAGS_REMOVABLE_MEDIA | Indica che l'unità dispone di supporti rimovibili |
DFLAGS_ REMOVABLE_DEVICE | Indica che il dispositivo può essere scollegato in modo sicuro |
DFLAGS_FUA_SUPPORT | Indica che il dispositivo supporta FUA (Force Unit Access) |
DFLAGS_INT_DRQ | Indica che l'interruzione del dispositivo come ripristino di emergenza viene impostata dopo la ricezione del comando pacchetto ATAPI |
DFLAGS_MSN_SUPPORT | Indica che il dispositivo supporta la notifica dello stato multimediale. |
AddressTranslation
Contiene un valore di enumerazione di tipo ATA_ADDRESS_TRANSLATION che specifica il tipo di conversione degli indirizzi usato durante i trasferimenti di dati.
MaxLba
Specifica l'indirizzo di blocco logico indirizzabile dall'utente massimo. Questo membro viene definito quando AddressTranslation è uguale a LbaMode o Lba48BitMode.
Chs
Specifica la geometria dell'unità con i valori per il numero di cilindri, le teste per ogni cilindro e i settori per traccia. Questo membro viene definito quando AddressTranslation è uguale a ChsMode.
Chs.NumCylinders
Chs.NumHeads
Chs.NumSectorsPerTrack
Chs.Reserved
BytesPerLogicalSector
Questo membro specifica il numero di byte per settore logico (LBA) per il dispositivo specificato.
BytesPerPhysicalSector
Questo membro specifica il numero di byte per ogni settore fisico, ovvero la quantità di dati più piccola che il dispositivo può scrivere fisicamente internamente, per il dispositivo specificato.
BytesOffsetForSectorAlignment
Questo membro specifica la posizione del settore 0 all'interno del primo settore fisico, come definito nella specifica ATA rappresentata in byte.
TransferModeSupported
Contiene una bitmap che indica le modalità di trasferimento supportate.
TransferModeSelected
Indica le modalità di trasferimento selezionate nel dispositivo. Il driver miniport deve impostare questo membro.
Commenti
Il driver di porta passa una struttura IDE_DEVICE_PARAMETERS al driver miniport quando chiama IdeHwInitialize.
Requisiti
Requisito | Valore |
---|---|
Intestazione | irb.h (includere Irb.h) |