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) |