Compartir a través de


estructura NVCACHE_REQUEST_BLOCK (ntddscsi.h)

La estructura de NVCACHE_REQUEST_BLOCK se usa junto con la solicitud de IOCTL_SCSI_MINIPORT para administrar dispositivos de disco duro híbrido (H-HDD) (por ejemplo, la tecnología Microsoft ReadyDrive). En este tema se define la estructura general para los datos de entrada y los datos de salida de una llamada realizada al Administrador de caché de NV. Un llamador debe rellenar todos los campos obligatorios antes de llamar a DeviceIoControl o IoBuildDeviceIoControlRequest. El controlador de minipuerto debe hacer lo mismo una vez completada la función solicitada y antes de que vuelva.

Sintaxis

typedef struct _NVCACHE_REQUEST_BLOCK {
  ULONG     NRBSize;
  USHORT    Function;
  ULONG     NRBFlags;
  ULONG     NRBStatus;
  ULONG     Count;
  ULONGLONG LBA;
  ULONG     DataBufSize;
  ULONG     NVCacheStatus;
  ULONG     NVCacheSubStatus;
} NVCACHE_REQUEST_BLOCK, *PNVCACHE_REQUEST_BLOCK;

Miembros

NRBSize

Sizeof(NVCACHE_REQUEST_BLOCK).

Function

Especifica la operación que se va a realizar, que puede ser uno de los valores siguientes:

Valor Significado
NRB_FUNCTION_NVCACHE_INFO Obtenga la información de compatibilidad de características de NV Cache Manager del dispositivo. Tras la finalización correcta de esta función, los campos de datos necesarios se devuelven al autor de la llamada. La estructura de datos de retorno se NV_FEATURE_PARAMETER.
NRB_FUNCTION_SPINDLE_STATUS Determine si el dispositivo está girando o girando. Para un dispositivo ATA, se requiere un comando Check Power Mode para obtener el estado del eje del dispositivo. Para un dispositivo SCSI, se puede usar un comando Mode Sense para consultar el modo de alimentación actual del dispositivo.
NRB_FUNCTION_NVCACHE_POWER_MODE_SET Active el modo de alimentación nv Cache Manager.
NRB_FUNCTION_NVCACHE_POWER_MODE_RESET Desactive el modo de alimentación del Administrador de caché de NV.
NRB_FUNCTION_FLUSH_NVCACHE Vacíe los datos que están anclados actualmente en la memoria caché de NV para que el espacio de memoria de caché nv necesario esté disponible.
NRB_FUNCTION_QUERY_PINNED_SET Obtenga los intervalos de direcciones de bloque lógico (LBA) que se encuentran actualmente en el conjunto anclado del Administrador de caché de NV.
NRB_FUNCTION_QUERY_CACHE_MISS Solicite que el informe de errores de caché de NV del dispositivo en intervalos LBA en un único bloque de 512 bytes.
NRB_FUNCTION_ADD_LBAS_PINNED_SET Agregue los LBAs que se especifican en los datos del conjunto del administrador de caché de NV al conjunto anclado del Administrador de caché de NV si aún no lo están.
NRB_FUNCTION_REMOVE_LBAS_PINNED_SET Quite los LBAs que se especifican en los datos del conjunto de caché de NV del conjunto anclado de caché de NV.
NRB_FUNCTION_QUERY_HYBRID_DISK_STATUS Reservado para uso futuro.
NRB_FUNCTION_PASS_HINT_PAYLOAD Pase sugerencias de E/S a un dispositivo SATA.

NRBFlags

Reservado para uso futuro.

NRBStatus

Indica el estado de solicitud de la función nv Cache Manager del controlador. Puede ser uno de los siguientes valores:

Valor Significado
NRB_SUCCESS Sin errores.
NRB_ILLEGAL_REQUEST Solicitud no válida detectada por el controlador de puerto.
NRB_INVALID_PARAMETER Parámetro no válido pasado al controlador de puerto.
NRB_INPUT_DATA_OVERRUN Demasiados datos proporcionados al controlador de puerto.
NRB_INPUT_DATA_UNDERRUN No hay suficientes datos proporcionados al controlador de puerto.
NRB_OUTPUT_DATA_OVERRUN Demasiados datos devueltos desde el controlador de puerto.
NRB_OUTPUT_DATA_UNDERRUN No hay suficientes datos devueltos desde el controlador de puerto.

Count

Número de bloques de 512 bytes que se van a transferir con la función especificada.

LBA

Iniciar LBA del dispositivo para la función especificada.

DataBufSize

Tamaño del búfer de datos, en bytes.

NVCacheStatus

Estado devuelto desde el dispositivo. Para un dispositivo ATA, este valor es el contenido del registro de estado en su archivo de tareas. Para un dispositivo SCSI, este valor es el código de sentido devuelto desde el dispositivo.

NVCacheSubStatus

Código de error devuelto desde el dispositivo. Para un dispositivo ATA, este valor es el contenido del registro de errores en su archivo de tareas. Para un dispositivo SCSI, este valor es la clave Sense devuelta desde el dispositivo.

Comentarios

Para obtener más información sobre el comportamiento de las funciones, consulte la sección 7.20 de la especificación ATA8-ACS.

Requisitos

Requisito Valor
Header ntddscsi.h (incluya Ntddscsi.h)

Consulte también

IOCTL_SCSI_MINIPORT

IOCTL_SCSI_MINIPORT_NVCACHE