struttura DEVICE_DSM_NOTIFICATION_PARAMETERS (ntddstor.h)
La struttura DEVICE_DSM_NOTIFICATION_PARAMETERS specifica i parametri per un'operazione di notifica correlata agli attributi del set di dati per un dispositivo.
Sintassi
typedef struct _DEVICE_DSM_NOTIFICATION_PARAMETERS {
ULONG Size;
ULONG Flags;
ULONG NumFileTypeIDs;
GUID FileTypeID[ANYSIZE_ARRAY];
} DEVICE_DSM_NOTIFICATION_PARAMETERS, *PDEVICE_DSM_NOTIFICATION_PARAMETERS;
Membri
Size
Dimensione totale, in byte, di questa struttura. Il valore di questo membro deve includere le dimensioni totali, in byte, del membro FileTypeID.
Flags
Flag che specifica le caratteristiche dell'operazione di notifica. Il membro flag deve essere impostato su uno dei valori seguenti:
Bandiera | Significato |
---|---|
DEVICE_DSM_NOTIFY_FLAG_BEGIN | L'intervallo LBA (Logical Block Address) è attualmente utilizzato dai tipi di file specificati nel membro FileTypeID. L'intervallo LBA viene specificato dall'intervallo di set di dati all'interno del payload di una richiesta di IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES. |
DEVICE_DSM_NOTIFY_FLAG_END | L'intervallo LBA non viene più utilizzato dai tipi di file specificati nel membro FileTypeID. |
NumFileTypeIDs
Numero di voci nel membro FileTypeID.
FileTypeID[ANYSIZE_ARRAY]
Uno o più GUID valori che specificano il tipo di file per l'operazione di notifica. Nella tabella seguente vengono descritti i valori FileTypeID GUID.
Valore GUID | Descrizione |
---|---|
FILE_TYPE_NOTIFICATION_GUID_PAGE_FILE | Specifica un'operazione di notifica per un file di pagina. |
FILE_TYPE_NOTIFICATION_GUID_HIBERNATION_FILE | Specifica un'operazione di notifica per il file di ibernazione di sistema. |
FILE_TYPE_NOTIFICATION_GUID_CRASHDUMP_FILE | Specifica un'operazione di notifica per un file di dump di arresto anomalo del sistema. |
Osservazioni
La notifica viene specificata nel blocco di parametri all'interno del payload di una richiesta di IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES. Per una descrizione generale del layout del payload , vedere Panoramica della gestione dei set di dati.
A partire da Windows 7, il file system NTFS invia una notifica allo stack di archiviazione quando l'intervallo di set di dati LBA (Logical Block Addressing) cambia per un set specificato di file. Il file system invia questa notifica inviando allo stack di archiviazione una richiesta di IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES con un buffer di sistema contenente una struttura di DEVICE_DSM_INPUT. Per l'operazione di notifica, il file system imposta i membri della struttura DEVICE_DSM_INPUT come indicato di seguito:
- Il membro action è impostato su DeviceDsmAction_Notification.
- I membri ParameterBlockOffset e ParameterBlockLength specificano la posizione e le dimensioni del blocco di parametri per l'operazione di notifica. Il blocco di parametri viene formattato come struttura DEVICE_DSM_NOTIFICATION_PARAMETERS.
- Se il membro flag è impostato su zero, i membri DataSetRangesOffset e DataSetRangesLength specificano il blocco dell'intervallo di set di dati all'interno del payload IOCTL.
- Se il membro flag è impostato su DEVICE_DSM_FLAG_ENTIRE_DATA_SET_RANGE, l'DataSetRangesOffset e i membri di DataSetRangesLength vengono impostati su zero e l'azione di notifica include l'intero intervallo di set di dati per i file specificati.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Windows 7 |
server minimo supportato | Windows Server 2008 R2 |
intestazione | ntddstor.h (include Ntddstor.h) |