TXN_PARAMETER_BLOCK Struktur (ntddk.h)
Die TXN_PARAMETER_BLOCK-Struktur enthält Informationen zu einem Transaktionsdateivorgang.
Syntax
typedef struct _TXN_PARAMETER_BLOCK {
USHORT Length;
USHORT TxFsContext;
PVOID TransactionObject;
} TXN_PARAMETER_BLOCK, *PTXN_PARAMETER_BLOCK;
Angehörige
Length
Die Größe der TXN_PARAMETER_BLOCK Struktur in Byte.
TxFsContext
Die Miniversions-ID für die Datei.
TransactionObject
Ein undurchsichtiger Zeiger auf das Transaktionsobjekt für die Transaktion.
Bemerkungen
Eine Miniversion ist eine Version einer Datei, die ein Transacted Writer während einer Transaktion erstellt. (Ein Transacted Writer ist ein transacted File Handle geöffnet mit jeder Berechtigung, die nicht Teil des generischen Lesezugriffs ist, aber Teil des generischen Schreibzugriffs ist.)
Wenn keine bestimmte Miniversionsnummer für die Datei angegeben wird, muss das TxFsContext Member auf TXF_MINIVERSION_DEFAULT_VIEW festgelegt werden.
Der TxFsContext Mitglied der TXN_PARAMETER_BLOCK verwendet TXF_MINIVERSION_DEFAULT_VIEW, um die Standardansicht der angeforderten Datei abzurufen, die auf dem Wert des TransactionObject Members basiert. Wenn TransactionObject- also dieselbe Transaktion ist, die die angeforderte Datei für die transaktionierte Änderung gesperrt hat, kann der Aufrufer diese Änderungen (die "dirty"-Ansicht der Datei) sehen, wenn der Aufrufer den Wert des TransactionObject Members angeben kann. Wenn TransactionObject- nicht die gleiche Transaktion ist, die die angeforderte Datei für die transaktionierte Änderung gesperrt hat, ruft der Aufrufer eine transaktionsisolierte Ansicht der Datei ab, wenn dieser Wert angegeben wird.
Eine Miniversion ist nur als Point-in-Time-Ansicht einer Datei vorhanden und wurde noch nicht als tatsächliche On-Disk-Variante einer bestimmten Datei geschrieben. Ein Transacted Writer erstellt eine Miniversion mithilfe des FSCTL_TXFS_CREATE_MINIVERSION Steuerelementcodes, um ZwFsControlFile-aufzurufen. Als Reaktion erstellt das System eine Miniversion und gibt seine Miniversions-ID zurück. Der Transacted Writer kann anschließend weiterhin Änderungen an der Datei vornehmen. Wenn die Datei später mithilfe der zurückgegebenen Miniversions-ID als TxFsContext Mitglied der TXN_PARAMETER_BLOCK-Struktur geöffnet wird, zeigt das resultierende Dateihandle die Datei so an, wie sie zum Zeitpunkt der Erstellung der Miniversion war.
Alle in einer Transaktion erstellten Miniversionen gehen ab, 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 Transacted Writer verfügbar, der die Miniversion erstellt hat, nicht für einen transacted Reader oder nicht für transaktionente Leser.
Die IoGetTransactionParameterBlock Routine gibt einen Zeiger auf diese Struktur zurück.
Anforderungen
Anforderung | Wert |
---|---|
Header- | ntddk.h (include Ntddk.h, Ntifs.h, FltKernel.h) |