Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die IDE_DEVICE_PARAMETERS-Struktur enthält Konfigurationsinformationen, die der Porttreiber für den 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;
Angehörige
Version
Gibt die Größe der parameterstruktur Device 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 kein Gerät an dieser Adresse gefunden wurde. Die anderen Felder in dieser Struktur sind ungültig, wenn die IdeDeviceType- auf DeviceNotExist-festgelegt ist.
TargetId
Gibt die Ziel-ID des Geräts an.
MaximumLun
Der Miniporttreiber muss dieses Feld aktualisieren, um die maximale logische Einheitsnummer anzugeben, die von diesem Gerät unterstützt wird. Standardmäßig ist das Element auf 0 festgelegt, der das Vorhandensein nur einer LUN angibt.
NumberOfOverlappedRequests
Der Miniporttreiber muss dieses Feld aktualisieren, um die Anzahl der überlappenden Anforderungen anzugeben, die er für dieses Gerät verarbeiten kann. Standardmäßig ist das Element auf 1 festgelegt.
MaxBlockXfer
Gibt die Anzahl der Sektoren in einem Datenblock an, der übertragen werden soll. Dieser Wert gilt für die Datenblöcke, die in ATA-Blockübertragungsbefehlen verwendet werden, z. B. "Mehrfach lesen" (0xC4), "Multiple schreiben" (0xC5). Weitere Informationen zu den Befehlen ReadMultiple und WriteMultiple finden Sie im ATA Specification.
DeviceCharacteristics
Gibt die Gerätemerkmale an. In der folgenden Tabelle sind die Merkmale aufgeführt, die in diesem Element festgelegt werden können. Das hohe Byte dieses Mitglieds ist undurchsichtig und darf nicht vom ATA-Miniport geändert werden.
| Gerätemerkmal | Beschreibung |
|---|---|
| DFLAGS_REMOVABLE_MEDIA | Gibt an, dass das Laufwerk Wechselmedien enthält. |
| DFLAGS_ REMOVABLE_DEVICE | Gibt an, dass das Gerät sicher nicht angeschlossen werden kann. |
| DFLAGS_FUA_SUPPORT | Gibt an, dass das Gerät FUA unterstützt (Force Unit Access) |
| 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 benutzeradressierbare logische Blockadresse (LBA) an. Dieses Element wird definiert, wenn AddressTranslation- entweder 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. Dieses Element wird definiert, wenn AddressTranslation- gleich ChsMode-ist.
Chs.NumCylinders
Chs.NumHeads
Chs.NumSectorsPerTrack
Chs.Reserved
BytesPerLogicalSector
Dieses Element gibt die Anzahl der Bytes pro logischem Sektor (LBA) für das angegebene Gerät an.
BytesPerPhysicalSector
Dieses Mitglied gibt die Anzahl der Bytes pro physischen Sektor an (d. h. die kleinste Menge an Daten, die das Gerät intern schreiben kann) für das angegebene Gerät.
BytesOffsetForSectorAlignment
Dieses Mitglied gibt den Standort von Sektor 0 innerhalb des ersten physischen Sektors an, wie in der ATA-Spezifikation definiert, die in Byte dargestellt wird.
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 dieses Element festlegen.
Bemerkungen
Der Porttreiber übergibt eine IDE_DEVICE_PARAMETERS Struktur an den Miniporttreiber, wenn er IdeHwInitializeaufruft.
Anforderungen
| Anforderung | Wert |
|---|---|
| Header- | irb.h (include Irb.h) |