DEVICE_DSM_NOTIFICATION_PARAMETERS-Struktur (ntddstor.h)
Die DEVICE_DSM_NOTIFICATION_PARAMETERS-Struktur gibt die Parameter für einen Benachrichtigungsvorgang im Zusammenhang mit den Datasetattributen für ein Gerät an.
Syntax
typedef struct _DEVICE_DSM_NOTIFICATION_PARAMETERS {
ULONG Size;
ULONG Flags;
ULONG NumFileTypeIDs;
GUID FileTypeID[ANYSIZE_ARRAY];
} DEVICE_DSM_NOTIFICATION_PARAMETERS, *PDEVICE_DSM_NOTIFICATION_PARAMETERS;
Member
Size
Die Gesamtgröße dieser Struktur in Bytes. Der Wert dieses Members muss die Gesamtgröße des FileTypeID-Members in Bytes enthalten.
Flags
Ein Flag, das die Merkmale des Benachrichtigungsvorgangs angibt. Das Flags-Element muss auf einen der folgenden Werte festgelegt werden:
Flag | Bedeutung |
---|---|
DEVICE_DSM_NOTIFY_FLAG_BEGIN | Der LBA-Bereich (Logical Block Address) wird derzeit von den Dateitypen verwendet, die im FileTypeID-Element angegeben sind. Der LBA-Bereich wird durch den Datensatzbereich innerhalb der Nutzlast einer IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES Anforderung angegeben. |
DEVICE_DSM_NOTIFY_FLAG_END | Der LBA-Bereich wird nicht mehr von den Dateitypen verwendet, die im FileTypeID-Element angegeben sind. |
NumFileTypeIDs
Die Anzahl der Einträge im FileTypeID-Element .
FileTypeID[ANYSIZE_ARRAY]
Mindestens ein GUID-Wert , der den Dateityp für den Benachrichtigungsvorgang angibt. In der folgenden Tabelle werden die FileTypeID-GUID-Werte beschrieben.
GUID-Wert | BESCHREIBUNG |
---|---|
FILE_TYPE_NOTIFICATION_GUID_PAGE_FILE | Gibt einen Benachrichtigungsvorgang für eine Seitendatei an. |
FILE_TYPE_NOTIFICATION_GUID_HIBERNATION_FILE | Gibt einen Benachrichtigungsvorgang für die Systemruhezustandsdatei an. |
FILE_TYPE_NOTIFICATION_GUID_CRASHDUMP_FILE | Gibt einen Benachrichtigungsvorgang für eine Systemabbilddatei an. |
Hinweise
Die Benachrichtigung wird im Parameterblock innerhalb der Nutzlast einer IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES Anforderung angegeben. Eine allgemeine Beschreibung des Nutzlastlayouts finden Sie unter Übersicht über die Datasetverwaltung .
Ab Windows 7 benachrichtigt das NTFS-Dateisystem den Speicherstapel, wenn sich der LBA-Datensatzbereich (Logical Block Addressing) für einen angegebenen Satz von Dateien ändert. Das Dateisystem gibt diese Benachrichtigung aus, indem dem Speicherstapel eine IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES Anforderung mit einem Systempuffer gesendet wird, der eine DEVICE_DSM_INPUT-Struktur enthält. Für den Benachrichtigungsvorgang legt das Dateisystem die Elemente der DEVICE_DSM_INPUT-Struktur wie folgt fest:
- Das Aktionselement ist auf DeviceDsmAction_Notification festgelegt.
- Die Member ParameterBlockOffset und ParameterBlockLength geben den Speicherort und die Größe des Parameterblocks für den Benachrichtigungsvorgang an. Der Parameterblock ist als DEVICE_DSM_NOTIFICATION_PARAMETERS-Struktur formatiert.
- Wenn das Flags-Element auf 0 festgelegt ist, geben die Elemente DataSetRangesOffset und DataSetRangesLength den Datensatzbereichsblock innerhalb der IOCTL-Nutzlast an.
- Wenn das Flags-Element auf DEVICE_DSM_FLAG_ENTIRE_DATA_SET_RANGE festgelegt ist, werden die Elemente DataSetRangesOffset und DataSetRangesLength auf 0 festgelegt, und die Benachrichtigungsaktion umfasst den gesamten Datasetbereich für die angegebenen Dateien.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 7 |
Unterstützte Mindestversion (Server) | Windows Server 2008 R2 |
Kopfzeile | ntddstor.h (include Ntddstor.h) |
Weitere Informationen
Übersicht über die Datasetverwaltung