TXN_PARAMETER_BLOCK-Struktur (ntddk.h)
Die TXN_PARAMETER_BLOCK-Struktur enthält Informationen zu einem transaktionierten Dateivorgang.
Syntax
typedef struct _TXN_PARAMETER_BLOCK {
USHORT Length;
USHORT TxFsContext;
PVOID TransactionObject;
} TXN_PARAMETER_BLOCK, *PTXN_PARAMETER_BLOCK;
Member
Length
Die Größe der TXN_PARAMETER_BLOCK-Struktur in Bytes.
TxFsContext
Die Miniversions-ID für die Datei.
TransactionObject
Ein undurchsichtiger Zeiger auf das Transaktionsobjekt für die Transaktion.
Hinweise
Eine Miniversion ist eine Version einer Datei, die von einem transaktionierten Writer während einer Transaktion erstellt wird. (Ein transacted writer ist ein Transaktionsdateihandle, das mit jeder Berechtigung geöffnet wird, die nicht Teil des generischen Lesezugriffs, sondern Teil des generischen Schreibzugriffs ist.)
Wenn keine bestimmte Miniversionsnummer für die Datei angegeben wird, muss der TxFsContext-Member auf TXF_MINIVERSION_DEFAULT_VIEW festgelegt werden.
Der TxFsContext-Member des TXN_PARAMETER_BLOCK verwendet TXF_MINIVERSION_DEFAULT_VIEW, um die Standardansicht der angeforderten Datei abzurufen, die auf dem Wert des TransactionObject-Elements basiert. Wenn TransactionObject also dieselbe Transaktion ist, für die die angeforderte Datei für die transaktionierte Änderung gesperrt ist, kann der Aufrufer diese Änderungen (die Ansicht "modifiziert" der Datei) sehen, wenn der Aufrufer den Wert des TransactionObject-Elements angeben kann. Wenn TransactionObject nicht dieselbe Transaktion ist, bei der die angeforderte Datei für die transaktionierte Änderung gesperrt ist, ruft der Aufrufer eine transaktionsisolierte Ansicht der Datei ab, wenn er diesen Wert angibt.
Eine Miniversion existiert nur als Point-in-Time-Ansicht einer Datei und wurde noch nicht als tatsächliche Disk-Variante einer bestimmten Datei geschrieben. Ein transacted writer erstellt eine Miniversion mithilfe des FSCTL_TXFS_CREATE_MINIVERSION-Steuerelementcodes , um ZwFsControlFile aufzurufen. Als Reaktion darauf erstellt das System eine Miniversion und gibt seine Miniversions-ID zurück. Der transaktionierte Writer kann danach weiterhin Änderungen an der Datei vornehmen. Wenn die Datei später mithilfe der zurückgegebenen Miniversions-ID als TxFsContext-Member der TXN_PARAMETER_BLOCK-Struktur geöffnet wird, zeigt das resultierende Dateihandle die Datei so an, wie sie zum Zeitpunkt der Miniversionserstellung war.
Alle in einer Transaktion erstellten Miniversionen verschwinden, wenn die Transaktion endet. Anschließend kann die Datei nicht mehr mit den Miniversions-IDs geöffnet werden.
Eine Miniversion ist nur für den transaktionierten Writer verfügbar, der die Miniversion erstellt hat, nicht für einen transacted Reader oder einen nicht transaktionierten Reader.
Die IoGetTransactionParameterBlock-Routine gibt einen Zeiger auf diese Struktur zurück.
Anforderungen
Anforderung | Wert |
---|---|
Header | ntddk.h (include Ntddk.h, Ntifs.h, FltKernel.h) |