Partilhar via


NVCACHE_REQUEST_BLOCK estrutura (ntddscsi.h)

A estrutura de 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, tecnologia Do 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 miniporto 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 tamanho de(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 de recursos do 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 no momento. Para um dispositivo ATA, um comando Verificar o 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 especificados no NV Cache Manager Set Data to the NV Cache Manager Pinned Set if they not already are.
NRB_FUNCTION_REMOVE_LBAS_PINNED_SET Remova os LBAs especificados nos Dados do Conjunto 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 o status da solicitação de função do Gerenciador de Cache NV do driver. Esse pode ser um dos seguintes valores:

Valor Significado
NRB_SUCCESS Nenhum erro.
NRB_ILLEGAL_REQUEST Solicitação ilegal 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.

Observações

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 (include Ntddscsi.h)

Consulte também

IOCTL_SCSI_MINIPORT

IOCTL_SCSI_MINIPORT_NVCACHE