Compartilhar via


estrutura DEVICE_MANAGE_DATA_SET_ATTRIBUTES (ntddstor.h)

A estrutura DEVICE_DSM_INPUT (ou DEVICE_MANAGE_DATA_SET_ATTRIBUTES) especifica uma ação de gerenciamento para os atributos de conjunto de dados de um dispositivo.

Sintaxe

typedef struct _DEVICE_MANAGE_DATA_SET_ATTRIBUTES {
  ULONG             Size;
  DEVICE_DSM_ACTION Action;
  ULONG             Flags;
  ULONG             ParameterBlockOffset;
  ULONG             ParameterBlockLength;
  ULONG             DataSetRangesOffset;
  ULONG             DataSetRangesLength;
} DEVICE_MANAGE_DATA_SET_ATTRIBUTES, *PDEVICE_MANAGE_DATA_SET_ATTRIBUTES, DEVICE_DSM_INPUT, *PDEVICE_DSM_INPUT;

Membros

Size

Tamanho da estrutura DEVICE_DSM_INPUT, em bytes. O valor desse membro será alterado à medida que os membros forem adicionados à estrutura .

Action

Um valor DEVICE_DSM_ACTION que especifica a ação a ser executada. Consulte descrições de DEVICE_DSM_ACTION para obter uma lista de valores e descrições de ação.

Se o sinalizador de DeviceDsmActionFlag_NonDestructive (bit mais significativo) for definido em Ação, a ação especificada não será indestrutiva. Para ações não estruturativas, o driver pode encaminhar com segurança a solicitação IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES para o próximo driver inferior na pilha, mesmo que o driver não manipule a ação especificada. Se o driver manipular o DSM, ele deverá executar o processamento normal do bloco de intervalos do conjunto de dados especificado pelos membros DataSetRangesOffset e DataSetRangesLength antes de encaminhar a solicitação de IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES para o próximo driver inferior.

Flags

Esses sinalizadores são globais para todas as ações de controle. Esse membro pode ser definido como um dos seguintes sinalizadores:

Valor de sinalizador Significado
DEVICE_DSM_FLAG_ENTIRE_DATA_SET_RANGE A ação de controle é especificada para todo o bloco de intervalos de conjuntos de dados. Se esse sinalizador for definido, os membros DataSetRangesOffset e DataSetRangesLength deverão ser definidos como zero.

ParameterBlockOffset

Especifica o início do bloco de parâmetros dentro do conteúdo da solicitação IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES . O formato do bloco de parâmetro depende do valor do membro Action . Para obter mais informações sobre o formato de bloco de parâmetro, consulte Descrições do DEVICE_DSM_ACTION. Observação: o deslocamento do bloco de parâmetros deve ser alinhado no limite de endereço do parâmetro correspondente.

Se ParameterBlockOffset estiver definido como zero, o bloco de parâmetros não existirá.

ParameterBlockLength

Especifica o comprimento, em bytes, do bloco de parâmetros dentro do conteúdo da solicitação IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES.

Se ParameterBlockLength estiver definido como zero, o bloco de parâmetros não existirá.

DataSetRangesOffset

Especifica o início do bloco de intervalos de conjuntos de dados dentro do conteúdo da solicitação de IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES. Esse bloco consiste em uma ou mais entradas contíguas formatadas como estruturas DEVICE_DSM_RANGE . Observação: o deslocamento do bloco de intervalo do conjunto de dados deve ser alinhado no limite de endereço da estrutura DEVICE_DSM_RANGE.

Se definido como zero, o bloco de intervalos do conjunto de dados não existe.

DataSetRangesLength

Especifica o comprimento, em bytes, do bloco de intervalos do conjunto de dados dentro do conteúdo da solicitação IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES. Se DataSetRangesLength estiver definido como zero, o bloco de intervalos do conjunto de dados não existirá.

Comentários

Para obter mais informações sobre o formato do conteúdo de uma solicitação de IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES , consulte Visão geral do gerenciamento do conjunto de dados. O tamanho total do buffer deve ser pelo menos sizeof(DEVICE_DSM_INPUT) + ParameterBlockLength + DataSetRangesLength.

O bloco de intervalos do conjunto de dados é especificado pelos membros DataSetRangesOffset e DataSetRangesLength . Se esse bloco existir, ele conterá estruturas de DEVICE_DSM_RANGE contíguas.

Requisitos

Requisito Valor
Cabeçalho ntddstor.h (inclua Ntddstor.h)

Confira também

Visão geral do gerenciamento do conjunto de dados

Descrições do DEVICE_DSM_ACTION

DEVICE_DSM_RANGE

IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES