IDE_DEVICE_PARAMETERS-Struktur (irb.h)
Die IDE_DEVICE_PARAMETERS-Struktur enthält Konfigurationsinformationen, die der Porttreiber dem Miniporttreiber zum Konfigurieren eines Geräts bereitstellt.
Syntax
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;
Member
Version
Gibt die Größe der Geräteparameterstruktur an. Der Miniporttreiber sollte überprüfen, ob sizeof(IDE_DEVICE_PARAMETERS) kleiner oder gleich dem Feld Version ist.
IdeDeviceType
Gibt den Typ des Geräts an. Die zulässigen Gerätetypen sind DeviceIsAta für ATA-Geräte, DeviceIsAtapi für ATAPI-Geräte und DeviceNotExist , wenn unter dieser Adresse kein Gerät gefunden wurde. Die anderen Felder in dieser Struktur sind ungültig, wenn IdeDeviceType auf DeviceNotExist festgelegt ist.
TargetId
Gibt die Ziel-ID des Geräts an.
MaximumLun
Der Miniporttreiber muss dieses Feld aktualisieren, um die maximale Anzahl logischer Einheiten anzugeben, die von diesem Gerät unterstützt werden. Standardmäßig ist der Member auf 0 festgelegt, was angibt, dass nur eine LUN vorhanden ist.
NumberOfOverlappedRequests
Der Miniporttreiber muss dieses Feld aktualisieren, um die Anzahl der überlappenden Anforderungen anzugeben, die für dieses Gerät verarbeitet werden können. Standardmäßig ist das Element auf 1 festgelegt.
MaxBlockXfer
Gibt die Anzahl der Sektoren in einem zu übertragenden Datenblock an. Dieser Wert gilt für die Datenblöcke, die in ATA-Blockübertragungsbefehlen wie Read Multiple (0xC4), Write Multiple (0xC5) verwendet werden. Weitere Informationen zu den Befehlen ReadMultiple und WriteMultiple finden Sie in der ATA-Spezifikation.
DeviceCharacteristics
Gibt die Gerätemerkmale an. In der folgenden Tabelle sind die Merkmale aufgeführt, die in diesem Member festgelegt werden können. Das hohe Byte dieses Elements ist undurchsichtig und darf vom ATA-Miniport nicht geändert werden.
Geräteeigenschaft | BESCHREIBUNG |
---|---|
DFLAGS_REMOVABLE_MEDIA | Gibt an, dass das Laufwerk über Wechselmedien verfügt. |
DFLAGS_ REMOVABLE_DEVICE | Gibt an, dass das Gerät sicher vom Netz getrennt werden kann. |
DFLAGS_FUA_SUPPORT | Gibt an, dass das Gerät FUA (Force Unit Access) unterstützt. |
DFLAGS_INT_DRQ | Gibt an, dass das Gerät nach dem Empfang des ATAPI-Paketbefehls als DRQ festgelegt wird. |
DFLAGS_MSN_SUPPORT | Gibt an, dass das Gerät die Medienstatusbenachrichtigung unterstützt. |
AddressTranslation
Enthält einen Enumerationswert vom Typ ATA_ADDRESS_TRANSLATION , der die Art der Adressübersetzung angibt, die während der Datenübertragung verwendet wird.
MaxLba
Gibt die maximale anzahl von Benutzern adressierbare logische Blockadresse (LBA) an. Dieser Member wird definiert, wenn AddressTranslation gleich LbaMode oder Lba48BitMode ist.
Chs
Gibt die Antriebsgeometrie mit den Werten für die Anzahl der Zylinder, Köpfe pro Zylinder und die Sektoren pro Spur an. Dieser Member wird definiert, wenn AddressTranslation gleich ChsMode ist.
Chs.NumCylinders
Chs.NumHeads
Chs.NumSectorsPerTrack
Chs.Reserved
BytesPerLogicalSector
Dieser Member gibt die Anzahl der Bytes pro logischem Sektor (LBA) für das angegebene Gerät an.
BytesPerPhysicalSector
Dieser Member gibt die Anzahl der Bytes pro physischem Sektor (d. h. die kleinste Datenmenge, die das Gerät intern physisch schreiben kann) für das angegebene Gerät an.
BytesOffsetForSectorAlignment
Dieses Element gibt den Speicherort von Sektor 0 innerhalb des ersten physischen Sektors an, wie in der ATA-Spezifikation in Bytes definiert.
TransferModeSupported
Enthält eine Bitmap, die die unterstützten Übertragungsmodi angibt.
TransferModeSelected
Gibt die ausgewählten Übertragungsmodi auf dem Gerät an. Der Miniporttreiber muss diesen Member festlegen.
Hinweise
Der Porttreiber übergibt eine IDE_DEVICE_PARAMETERS-Struktur an den Miniporttreiber, wenn er IdeHwInitialize aufruft.
Anforderungen
Anforderung | Wert |
---|---|
Header | irb.h (include Irb.h) |