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