Condividi tramite


STORAGE_ADAPTER_DESCRIPTOR struttura (ntddstor.h)

La struttura STORAGE_ADAPTER_DESCRIPTOR viene usata insieme alla richiesta di IOCTL_STORAGE_QUERY_PROPERTY per recuperare i dati dell'adattatore di archiviazione per un dispositivo.

Sintassi

typedef struct _STORAGE_ADAPTER_DESCRIPTOR {
  ULONG   Version;
  ULONG   Size;
  ULONG   MaximumTransferLength;
  ULONG   MaximumPhysicalPages;
  ULONG   AlignmentMask;
  BOOLEAN AdapterUsesPio;
  BOOLEAN AdapterScansDown;
  BOOLEAN CommandQueueing;
  BOOLEAN AcceleratedTransfer;
#if ...
  BOOLEAN BusType;
#else
  UCHAR   BusType;
#endif
  USHORT  BusMajorVersion;
  USHORT  BusMinorVersion;
  UCHAR   SrbType;
  UCHAR   AddressType;
} STORAGE_ADAPTER_DESCRIPTOR, *PSTORAGE_ADAPTER_DESCRIPTOR;

Members

Version

Contiene la versione della struttura STORAGE_ADAPTER_DESCRIPTOR. Il valore di questo membro verrà modificato quando i membri vengono aggiunti alla struttura.

Size

Specifica le dimensioni totali del descrittore, in byte.

MaximumTransferLength

Specifica il numero massimo di byte che l'adattatore del bus host (HBA) può trasferire in una singola operazione.

MaximumPhysicalPages

Specifica il numero massimo di pagine fisiche discontinue che l'HBA può gestire in un singolo trasferimento (in altre parole, l'estensione del supporto di dispersione/raccolta).

AlignmentMask

Specifica i requisiti di allineamento dell'HBA per i trasferimenti. Un driver di classe di archiviazione imposta il campo AlignmentRequirement negli oggetti del dispositivo su questo valore. La maschera di allineamento indica le restrizioni di allineamento per i buffer richiesti dall'HBA per le operazioni di trasferimento. I valori della maschera validi sono 0 (allineati a byte), 1 (parola allineata), 3 (DWORD allineato) e 7 (doppia DWORD allineato).

AdapterUsesPio

Indica quando true che l'HBA usa input/output programmato (PIO) e richiede l'uso di indirizzi virtuali nello spazio di sistema mappati alla memoria fisica per i buffer di dati. Quando FALSE, l'HBA non usa PIO.

AdapterScansDown

Indica quando true che l'HBA esegue l'analisi per i dispositivi BIOS, ovvero, l'HBA inizia a analizzare con il numero di dispositivo più alto anziché quello più basso. Quando FALSE, l'HBA inizia l'analisi con il numero di dispositivo più basso. Questo membro è riservato ai driver miniport legacy.

CommandQueueing

Indica quando TRUE supporta l'accodamento con tag SCSI e/o le code interne dell'unità logica o l'equivalente non SCSI. Quando FALSE, l'HBA non supporta l'accodamento con tag SCSI né le code interne per unità logica.

AcceleratedTransfer

Indica quando TRUE supporta i trasferimenti sincroni come modo per velocizzare l'I/O. Quando FALSE, l'HBA non supporta i trasferimenti sincroni come modo per velocizzare l'I/O.

BusType

Specifica un valore di tipo STORAGE_BUS_TYPE che indica il tipo di bus a cui è connesso il dispositivo.

BusMajorVersion

Specifica il numero di versione principale, se presente, dell'HBA.

BusMinorVersion

Specifica il numero di versione secondaria, se presente, dell'HBA.

SrbType

Specifica il tipo di blocco di richieste SCSI (SRB) usato dall'HBA. Questo membro è valido a partire da Windows 8.

Valore Significato
SRB_TYPE_SCSI_REQUEST_BLOCK L'HBA usa blocchi di richiesta SCSI.
SRB_TYPE_STORAGE_REQUEST_BLOCK L'HBA usa blocchi di richiesta SCSI estesi.

AddressType

Specifica il tipo di indirizzo dell'HBA. Questo membro è valido a partire da Windows 8.

Valore Significato
STORAGE_ADDRESS_TYPE_BTL8 L'HBA usa un bus a 8 bit, la destinazione e l'indirizzamento LUN.

Commenti

I driver della classe di archiviazione emettono una richiesta di controllo del dispositivo con il codice di controllo I/O IOCTL_STORAGE_QUERY_PROPERTY per recuperare questa struttura, che contiene informazioni di configurazione dall'HBA per le operazioni di trasferimento dei dati. La struttura può essere recuperata dall'oggetto dispositivo per il bus o da un oggetto dispositivo funzionale (FDO), che inoltra la richiesta al bus sottostante.

Se si verificano errori di protocollo eccessivo in un hbA che supporta i trasferimenti sincroni (AcceleratedTransfer è TRUE), il driver della classe di archiviazione può disabilitare i trasferimenti sincroni impostando SRB_FLAGS_DISABLE_SYNCH_TRANSFER in SRB.

Requisiti

Requisito Valore
Intestazione ntddstor.h (include Ntddstor.h)

Vedi anche

IOCTL_STORAGE_QUERY_PROPERTY

IoBuildDeviceIoControlRequest

STORAGE_ADAPTER_DESCRIPTOR

STORAGE_BUS_TYPE

STORAGE_DESCRIPTOR_HEADER

STORAGE_DEVICE_DESCRIPTOR

STORAGE_DEVICE_ID_DESCRIPTOR