Funzione ZwOpenTransaction (wdm.h)
La routine ZwOpenTransaction ottiene un handle per un oggetto transazione esistente.
Sintassi
NTSYSCALLAPI NTSTATUS ZwOpenTransaction(
[out] PHANDLE TransactionHandle,
[in] ACCESS_MASK DesiredAccess,
[in, optional] POBJECT_ATTRIBUTES ObjectAttributes,
[in] LPGUID Uow,
[in, optional] HANDLE TmHandle
);
Parametri
[out] TransactionHandle
Puntatore a una variabile allocata dal chiamante che riceve un handle all'oggetto transazione se ZwOpenTransaction restituisce STATUS_SUCCESS.
[in] DesiredAccess
Valore ACCESS_MASK che specifica l'accesso richiesto dal chiamante all'oggetto transazione. Per informazioni su come specificare questo parametro, vedere il parametro DesiredAccess di ZwCreateTransaction.
[in, optional] ObjectAttributes
Puntatore a una struttura OBJECT_ATTRIBUTES che specifica gli attributi dell'oggetto. Usare la routine InitializeObjectAttributes per inizializzare questa struttura, ma specificare solo i parametri InitializedAttributes e Attributes della routine. Se il chiamante non è in esecuzione in un contesto di thread di sistema, deve impostare il flag di OBJ_KERNEL_HANDLE nel parametro Attributi . Il parametro ObjectAttributes è facoltativo e può essere NULL.
[in] Uow
Puntatore a un GUID che è un identificatore UOW (Unit of Work) dell'oggetto transazione. Questo GUID identifica l'oggetto transazione da aprire.
[in, optional] TmHandle
Handle a un oggetto di gestione transazioni. Se questo parametro non è NULL, KTM cerca solo oggetti transazioni appartenenti all'oggetto di gestione transazioni specificato. Se questo parametro è NULL, KTM esegue la ricerca di tutti gli oggetti transazioni.
Valore restituito
ZwCreateTransaction restituisce STATUS_SUCCESS se l'operazione ha esito positivo. In caso contrario, questa routine potrebbe restituire uno dei valori seguenti:
Codice restituito | Descrizione |
---|---|
|
Il parametro DesiredAccess o Uow era zero. |
|
L'handle specificato non è un handle per un oggetto transazione. |
|
Un handle oggetto non è valido. |
|
KTM non è riuscito a trovare l'oggetto transazione. |
|
Il valore del parametro DesiredAccess non è valido. |
La routine potrebbe restituire altri valori NTSTATUS.
Commenti
In genere, un resource manager chiama ZwOpenTransaction dopo aver ricevuto una transazione UOW da un client transazionale che in precedenza ha chiamato ZwCreateTransaction.
Per altre informazioni su ZwOpenTransaction, vedere Creazione di un Resource Manager.
NtOpenTransaction e ZwOpenTransaction sono due versioni della stessa routine di Windows Native System Services.
Per le chiamate dai driver in modalità kernel, le versioni NtXxx e ZwXxx di una routine di Windows Native System Services possono comportarsi in modo diverso nel modo in cui gestiscono e interpretano i parametri di input. Per altre informazioni sulla relazione tra le versioni NtXxx e ZwXxx di una routine, vedere Uso di nt e zw versioni delle routine di Servizi di sistema nativo.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Disponibile in Windows Vista e versioni successive del sistema operativo. |
Piattaforma di destinazione | Universale |
Intestazione | wdm.h (include Wdm.h, Ntifs.h) |
Libreria | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
Regole di conformità DDI | HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm) |
Vedi anche
Uso di nt e zw versioni delle routine di Servizi di sistema nativo