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