estrutura NVCACHE_REQUEST_BLOCK (ntddscsi.h)

A estrutura NVCACHE_REQUEST_BLOCK é usada em conjunto com a solicitação IOCTL_SCSI_MINIPORT para gerenciar dispositivos H-HDD (unidade de disco rígido híbrido) (por exemplo, a tecnologia Microsoft ReadyDrive). Este tópico define a estrutura geral para dados de entrada e dados de saída para uma chamada feita ao Gerenciador de Cache NV. Um chamador deve preencher todos os campos necessários antes de chamar DeviceIoControl ou IoBuildDeviceIoControlRequest. O driver de miniporta deve fazer o mesmo depois que a função solicitada for concluída e antes de retornar.

Sintaxe

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;

Membros

NRBSize

O sizeof(NVCACHE_REQUEST_BLOCK).

Function

Especifica a operação a ser executada, que pode ser um dos seguintes valores:

Valor Significado
NRB_FUNCTION_NVCACHE_INFO Obtenha informações de suporte do recurso gerenciador de cache NV do dispositivo. Após a conclusão bem-sucedida dessa função, os campos de dados necessários são retornados ao chamador. A estrutura de dados de retorno é NV_FEATURE_PARAMETER.
NRB_FUNCTION_SPINDLE_STATUS Determine se o dispositivo está girando ou girando para baixo no momento. Para um dispositivo do ATA, um comando Verificar Modo de Energia é necessário para obter o status do eixo do dispositivo. Para um dispositivo SCSI, um comando Mode Sense pode ser usado para consultar o modo de energia atual do dispositivo.
NRB_FUNCTION_NVCACHE_POWER_MODE_SET Ative o modo de energia do Gerenciador de Cache NV.
NRB_FUNCTION_NVCACHE_POWER_MODE_RESET Desative o modo de energia do Gerenciador de Cache NV.
NRB_FUNCTION_FLUSH_NVCACHE Libere os dados que estão atualmente fixados na memória de cache NV para disponibilizar o espaço de memória de cache NV necessário.
NRB_FUNCTION_QUERY_PINNED_SET Obtenha os intervalos de LBA (Endereço de Bloco Lógico) atualmente no conjunto fixado do Gerenciador de Cache NV.
NRB_FUNCTION_QUERY_CACHE_MISS Solicite que o dispositivo relate erros de cache NV em intervalos LBA em um único bloco de 512 bytes.
NRB_FUNCTION_ADD_LBAS_PINNED_SET Adicione os LBAs que são especificados no Conjunto de Dados do Gerenciador de Cache NV ao Conjunto Fixado do Gerenciador de Cache NV se eles ainda não estiverem.
NRB_FUNCTION_REMOVE_LBAS_PINNED_SET Remova os LBAs especificados no conjunto de conjuntos de cache NV do conjunto fixado do Cache NV.
NRB_FUNCTION_QUERY_HYBRID_DISK_STATUS Reservado para uso futuro.
NRB_FUNCTION_PASS_HINT_PAYLOAD Passe dicas de E/S para um dispositivo SATA.

NRBFlags

Reservado para uso futuro.

NRBStatus

Indica a solicitação de função do Gerenciador de Cache NV status do driver. Esse valor pode ser um dos seguintes:

Valor Significado
NRB_SUCCESS Nenhum erro.
NRB_ILLEGAL_REQUEST Solicitação inválida detectada pelo driver de porta.
NRB_INVALID_PARAMETER Parâmetro inválido passado para o driver de porta.
NRB_INPUT_DATA_OVERRUN Muitos dados fornecidos para o driver de porta.
NRB_INPUT_DATA_UNDERRUN Não há dados suficientes fornecidos para o driver de porta.
NRB_OUTPUT_DATA_OVERRUN Muitos dados retornados do driver de porta.
NRB_OUTPUT_DATA_UNDERRUN Não há dados suficientes retornados do driver de porta.

Count

Número de blocos de 512 bytes a serem transferidos com a função especificada.

LBA

Iniciando o LBA do dispositivo para a função especificada.

DataBufSize

Tamanho do buffer de dados, em bytes.

NVCacheStatus

Status retornado do dispositivo. Para um dispositivo ATA, esse valor é o conteúdo do Registro de Status em seu Arquivo de Tarefa. Para um dispositivo SCSI, esse valor é o Sense Code retornado do dispositivo.

NVCacheSubStatus

O código de erro retornado do dispositivo. Para um dispositivo ATA, esse valor é o conteúdo do Registro de Erros em seu Arquivo de Tarefa. Para um dispositivo SCSI, esse valor é a chave Sense retornada do dispositivo.

Comentários

Para obter mais informações sobre o comportamento da função, consulte a seção 7.20 da especificação ATA8-ACS.

Requisitos

Requisito Valor
Cabeçalho ntddscsi.h (inclua Ntddscsi.h)

Confira também

IOCTL_SCSI_MINIPORT

IOCTL_SCSI_MINIPORT_NVCACHE