struttura IDE_TRANSFER_MODE_PARAMETERS (irb.h)

La struttura IDE_TRANSFER_MODE_PARAMETERS viene utilizzata insieme alla routine AtaControllerTransferModeSelect del driver miniport per impostare i parametri della modalità di trasferimento su un canale.

Nota I modelli di driver di porta ATA e miniport ATA potrebbero essere modificati o non disponibili in futuro. È invece consigliabile usare il driver Storport e i modelli di driver miniport Storport .
 

Sintassi

typedef struct _IDE_TRANSFER_MODE_PARAMETERS {
  UCHAR           ChannelNumber;
  IDE_DEVICE_TYPE DeviceType[MAX_IDE_DEVICE];
  BOOLEAN         IoReadySupported[MAX_IDE_DEVICE];
  ULONG           DeviceTransferModeSupported[MAX_IDE_DEVICE];
  ULONG           DeviceTransferModeCurrent[MAX_IDE_DEVICE];
  ULONG           DeviceTransferModeSelected[MAX_IDE_DEVICE];
} IDE_TRANSFER_MODE_PARAMETERS, *PIDE_TRANSFER_MODE_PARAMETERS;

Members

ChannelNumber

Indica il numero di canale i cui parametri della modalità devono essere impostati.

DeviceType[MAX_IDE_DEVICE]

Contiene un valore di enumerazione di tipo IDE_DEVICE_TYPE che indica il tipo di dispositivo. Il driver miniport non deve selezionare una modalità di trasferimento se il tipo di dispositivo è DeviceNotExist.

IoReadySupported[MAX_IDE_DEVICE]

Indica quando TRUE il bit 11 della parola 49 dei dati di identificazione del dispositivo indicato è impostato su 1. Una richiesta IDE con un valore di funzione di IRB_FUNCTION_ATA_IDENTIFY recupererà i dati di identificazione di un dispositivo. Per altre informazioni sull'identificazione dei dati di ATA, vedere le sezioni relative al pacchetto di informazioni sul dispositivo di Identificazione del dispositivo nella versione 6.0 della specifica ATA/ATAPI.

DeviceTransferModeSupported[MAX_IDE_DEVICE]

Contiene una bitmap che indica le modalità di trasferimento supportate per ognuno dei dispositivi nel canale. Il driver della porta imposta questo membro. Il driver miniport non deve selezionare una modalità di trasferimento non supportata dal driver della porta. Per altre informazioni su questo membro, vedere la sezione Osservazioni .

DeviceTransferModeCurrent[MAX_IDE_DEVICE]

Contiene una bitmap che indica le impostazioni correnti della modalità di trasferimento per ogni dispositivo nel canale. Il driver della porta recupera la modalità di trasferimento corrente dei dispositivi dai dati di identificazione del dispositivo. Per altre informazioni su questo membro, vedere la sezione Osservazioni .

DeviceTransferModeSelected[MAX_IDE_DEVICE]

Contiene una bitmap che indica le impostazioni della modalità di trasferimento selezionate per ogni dispositivo nel canale. Il driver miniport deve usare questo membro per indicare al driver di porta le modalità di trasferimento selezionate. Per altre informazioni su questo membro, vedere la sezione Osservazioni .

Commenti

Le matrici membro DeviceTransferModeSupported, DeviceTransferModeCurrent e DeviceTransferModeSelected sono matrici di bitmap ULONG che indicano combinazioni di modalità di trasferimento PIO e DMA. Le bitmap sono definite come segue:

Modalità PIO

#define PIO_MODE0           (1 << 0)
#define PIO_MODE1           (1 << 1)
#define PIO_MODE2           (1 << 2)
#define PIO_MODE3           (1 << 3)
#define PIO_MODE4           (1 << 4)

// Single-word DMA Modes

#define SWDMA_MODE0         (1 << 5)
#define SWDMA_MODE1         (1 << 6)
#define SWDMA_MODE2         (1 << 7)

// Multi-word DMA Modes

#define MWDMA_MODE0         (1 << 8)
#define MWDMA_MODE1         (1 << 9)
#define MWDMA_MODE2         (1 << 10)

// Ultra DMA Modes

#define UDMA_MODE0          (1 << 11)
#define UDMA_MODE1          (1 << 12)
#define UDMA_MODE2          (1 << 13)
#define UDMA_MODE3          (1 << 14)
#define UDMA_MODE4          (1 << 15)
#define UDMA_MODE5          (1 << 16)

Requisiti

Requisito Valore
Intestazione irb.h (include Irb.h)

Vedi anche

AtaControllerTransferModeSelect

IDE_DEVICE_TYPE