Condividi tramite


struttura IDE_CONTROLLER_CONFIGURATION (irb.h)

La struttura IDE_CONTROLLER_CONFIGURATION viene usata per passare le informazioni di configurazione del controller tra il driver di porta e il driver miniport.

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_CONTROLLER_CONFIGURATION {
  USHORT                  Version;
  UCHAR                   NumberOfChannels;
  IDE_OPERATION_MODE      ControllerMode;
  UCHAR                   NumberOfPhysicalBreaks;
  ULONG                   MaximumTransferLength;
  BOOLEAN                 Reserved;
  BOOLEAN                 NativeModeEnabled;
  BOOLEAN                 Dma64BitAddress;
  BOOLEAN                 BusMaster;
  IDE_BUS_TYPE            AtaBusType;
  PIDE_MINIPORT_RESOURCES ControllerResources;
} IDE_CONTROLLER_CONFIGURATION, *PIDE_CONTROLLER_CONFIGURATION;

Members

Version

Il driver della porta imposta questo campo per indicare la versione del driver di porta. Il driver della porta imposta la versione su sizeof(IDE_CONTROLLER_CONFIGURATION). Il driver miniport deve verificare che la versione sia maggiore o uguale a quella in uso.

NumberOfChannels

Specifica il numero di canali supportati dall'HBA. Si noti che questo indica il numero totale di canali, inclusi quelli disabilitati.

ControllerMode

Il driver della porta imposta questo campo per informare il miniport ATA in quale modalità è in esecuzione. Esistono due possibili modalità:

Mode Descrizione
IdeModeNormal Questa è la modalità completa standard in cui il miniport ATA può funzionare normalmente.
IdeModeDump Questa è la modalità di memoria limitata che un miniport ATA opera durante l'ibernazione o crashdump. Le routine di callback e le routine di accesso al Registro di sistema non possono essere usate in questa modalità.

NumberOfPhysicalBreaks

Specifica il numero massimo di interruzioni tra intervalli di indirizzi che un buffer di dati può avere se l'HBA supporta la raccolta/dispersione. In altre parole, il numero di elenchi a dispersione/raccolta meno uno. Per impostazione predefinita, il valore di questo membro è IDE_UNINITIALIZED_VALUE, che indica che l'HBA può supportare un numero illimitato di discontità fisiche. Se il driver della porta imposta un valore per questo membro, il driver miniport può modificare il valore inferiore ma non superiore. Se questo membro è IDE_UNINITIALIZED_VALUE, il driver miniport deve reimpostare questo membro in base alla capacità di dispersione/raccolta dell'HBA.

MaximumTransferLength

Specifica il numero massimo di byte che l'HBA può trasferire in una singola operazione di trasferimento. Per impostazione predefinita, il valore di questo membro è IDE_UNINITIALIZED_VALUE, che indica una dimensione massima di trasferimento illimitata.

Reserved

Riservato per utilizzi futuri. Il driver miniport non deve utilizzare questo campo.

NativeModeEnabled

Il driver miniport potrebbe impostare questo membro su TRUE per indicare che il controller deve essere gestito in modalità nativa.

Dma64BitAddress

Il driver miniport potrebbe impostare questo membro su TRUE per indicare il supporto per l'operazione DMA a 64 bit.

BusMaster

Il driver miniport potrebbe impostare questo membro su TRUE per indicare il supporto del mastering del bus.

AtaBusType

Indica se si tratta di un controller SATA o PATA.

ControllerResources

Fornisce le risorse hardware per il controller ATA.

Requisiti

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