estructura DEVICE_MANAGE_DATA_SET_ATTRIBUTES (ntddstor.h)
La estructura DEVICE_DSM_INPUT (o DEVICE_MANAGE_DATA_SET_ATTRIBUTES) especifica una acción de administración para los atributos del conjunto de datos para un dispositivo.
Sintaxis
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;
Miembros
Size
Tamaño de la estructura de DEVICE_DSM_INPUT, en bytes. El valor de este miembro cambiará a medida que se agreguen miembros a la estructura.
Action
Valor DEVICE_DSM_ACTION que especifica la acción que se va a realizar. Consulte DEVICE_DSM_ACTION Descripciones para obtener una lista de descripciones y valores de acción.
Si la marca DeviceDsmActionFlag_NonDestructive (bit más significativo) se establece en Acción, la acción especificada no es destructiva. En el caso de las acciones no destructivas, el controlador puede reenviar de forma segura la solicitud de IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES al siguiente controlador inferior de la pila aunque el controlador no controle la acción especificada. Si el controlador controla el DSM, debe realizar el procesamiento normal del bloque de intervalos del conjunto de datos especificado por los miembros DataSetRangesOffset y DataSetRangesLength antes de reenviar la solicitud de IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES al siguiente controlador inferior.
Flags
Estas marcas son globales para todas las acciones de control. Este miembro se puede establecer en una de las siguientes marcas:
Valor de marca | Significado |
---|---|
DEVICE_DSM_FLAG_ENTIRE_DATA_SET_RANGE | La acción de control se especifica para todo el bloque de intervalos de conjuntos de datos. Si se establece esta marca, los miembros DataSetRangesOffset y DataSetRangesLength deben establecerse en cero. |
ParameterBlockOffset
Especifica el inicio del bloque de parámetros dentro de la carga de la solicitud de IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES . El formato del bloque de parámetros depende del valor del miembro Action . Para obtener más información sobre el formato de bloque de parámetros, consulte DEVICE_DSM_ACTION Descripciones. Nota: El desplazamiento del bloque de parámetros debe alinearse en el límite de dirección del parámetro correspondiente.
Si ParameterBlockOffset se establece en cero, el bloque de parámetros no existe.
ParameterBlockLength
Especifica la longitud, en bytes, del bloque de parámetros dentro de la carga de la solicitud de IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES.
Si ParameterBlockLength se establece en cero, el bloque de parámetros no existe.
DataSetRangesOffset
Especifica el inicio del bloque de intervalos de conjuntos de datos dentro de la carga de la solicitud de IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES. Este bloque consta de una o varias entradas contiguas con formato como estructuras de DEVICE_DSM_RANGE . Nota: El desplazamiento del bloque de intervalos del conjunto de datos debe alinearse en el límite de dirección de la estructura DEVICE_DSM_RANGE.
Si se establece en cero, el bloque de intervalos de conjuntos de datos no existe.
DataSetRangesLength
Especifica la longitud, en bytes, del bloque de intervalos de conjuntos de datos dentro de la carga de la solicitud de IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES. Si DataSetRangesLength está establecido en cero, el bloque de intervalos de conjuntos de datos no existe.
Comentarios
Para obtener más información sobre el formato de la carga de una solicitud de IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES , consulte Información general sobre la administración de conjuntos de datos. El tamaño total del búfer debe ser al menos sizeof(DEVICE_DSM_INPUT) + ParameterBlockLength + DataSetRangesLength
.
Los miembros DataSetRangesOffset y DataSetRangesLength especifican el bloque de intervalos de conjuntos de datos. Si este bloque existe, contiene estructuras de DEVICE_DSM_RANGE contiguos.
Requisitos
Requisito | Valor |
---|---|
Header | ntddstor.h (incluya Ntddstor.h) |
Consulte también
Introducción a la administración de conjuntos de datos