NVME_CONTROLLER_MEMORY_BUFFER_SIZE unión (nvme.h)

Define el tamaño del registro opcional del búfer de memoria del controlador y se usa en el campo CMBSZ de la estructura NVME_CONTROLLER_REGISTERS .

Si el controlador no admite la característica Búfer de memoria del controlador, el campo CMBSZ se borra en 0h.

La ubicación del búfer de memoria del controlador se especifica en el campo CMBLOC de NVME_CONTROLLER_REGISTERS.

Sintaxis

typedef union {
  struct {
    ULONG SQS : 1;
    ULONG CQS : 1;
    ULONG LISTS : 1;
    ULONG RDS : 1;
    ULONG WDS : 1;
    ULONG Reserved : 3;
    ULONG SZU : 4;
    ULONG SZ : 20;
  } DUMMYSTRUCTNAME;
  ULONG  AsUlong;
} NVME_CONTROLLER_MEMORY_BUFFER_SIZE, *PNVME_CONTROLLER_MEMORY_BUFFER_SIZE;

Miembros

DUMMYSTRUCTNAME

DUMMYSTRUCTNAME.SQS

Indica si el controlador admite Administración y colas de envío de E/S en el búfer de memoria del controlador.

Cuando este valor se establece 1en , el controlador admite Administración y colas de envío de E/S en el búfer de memoria del controlador. Cuando este valor se borra en 0, todas las colas de envío se colocarán en la memoria del host.

DUMMYSTRUCTNAME.CQS

Indica si el controlador admite Administración y colas de finalización de E/S en el búfer de memoria del controlador.

Cuando este valor se establece 1en , el controlador admite Administración y colas de finalización de E/S en el búfer de memoria del controlador. Cuando este valor se borra en 0, todas las colas de finalización se colocarán en la memoria del host.

DUMMYSTRUCTNAME.LISTS

Indica si el controlador admite la página de región física (PRP) y la recopilación de dispersión Listas (SGL) en el búfer de memoria del controlador.

Cuando este valor se establece 1en , el controlador admite prp Listas en el búfer de memoria del controlador. Si el valor se establece 1 en y los SGL son compatibles con el controlador, el controlador admite sgls en el búfer de memoria del controlador. Si este bit se establece 1en , el campo Compatibilidad con colas de envío (SQS) se establecerá en 1.

Cuando este valor se borra en 0, todas las Listas PRP y sgLs se colocarán en la memoria del host.

DUMMYSTRUCTNAME.RDS

Indica si el controlador admite datos y metadatos en el búfer de memoria del controlador para comandos, como el comando Read, que transfiere datos del controlador al host.

Cuando este valor se establece 1en , el controlador admite datos y metadatos en el búfer de memoria del controlador para los comandos que transfieren datos del controlador al host.

Cuando este valor se borra en 0, todos los datos y metadatos de los comandos que transfieren datos del controlador al host se transferirán a la memoria del host.

DUMMYSTRUCTNAME.WDS

Indica si el controlador admite datos y metadatos en el búfer de memoria del controlador para comandos, como el comando Write, que transfiere datos del host al controlador.

Cuando este valor se establece 1en , el controlador admite datos y metadatos en el búfer de memoria del controlador para los comandos que transfieren datos del host al controlador.

Cuando este valor se borra en 0, todos los datos y metadatos de los comandos que transfieren datos del host al controlador se transferirán desde la memoria del host.

DUMMYSTRUCTNAME.Reserved

DUMMYSTRUCTNAME.SZU

Valor NVME_CMBSZ_SIZE_UNITS que indica la granularidad del campo Tamaño SZ .

DUMMYSTRUCTNAME.SZ

Indica el tamaño del búfer de memoria del controlador disponible para su uso por parte del host. El tamaño está en múltiplo de la unidad de tamaño SZU.

Si el desplazamiento (el campo OFST de la estructura NVME_CONTROLLER_MEMORY_BUFFER_LOCATION ) + Tamaño (SZ) supera la longitud del registro de direcciones base especificado (el campo BIR en la estructura NVME_CONTROLLER_MEMORY_BUFFER_LOCATION ), el tamaño disponible para el host está limitado por la longitud del registro de direcciones base.

AsUlong

Requisitos

Requisito Value
Cliente mínimo compatible Windows 10
Encabezado nvme.h

Consulte también