Condividi tramite


Funzione NtOpenTransactionManager (wdm.h)

La routine ZwOpenTransactionManager ottiene un handle per un oggetto gestore transazioni esistente.

Sintassi

__kernel_entry NTSYSCALLAPI NTSTATUS NtOpenTransactionManager(
  [out]          PHANDLE            TmHandle,
  [in]           ACCESS_MASK        DesiredAccess,
  [in, optional] POBJECT_ATTRIBUTES ObjectAttributes,
  [in, optional] PUNICODE_STRING    LogFileName,
  [in, optional] LPGUID             TmIdentity,
  [in, optional] ULONG              OpenOptions
);

Parametri

[out] TmHandle

Puntatore a una variabile allocata dal chiamante che riceve un handle per l'oggetto di gestione transazioni se ZwOpenTransactionManager restituisce STATUS_SUCCESS.

[in] DesiredAccess

Valore ACCESS_MASK che specifica l'accesso richiesto dal chiamante all'oggetto di gestione transazioni. Per informazioni su come specificare questo parametro, vedere il parametro DesiredAccess di ZwCreateTransactionManager.

[in, optional] ObjectAttributes

Puntatore a una struttura OBJECT_ATTRIBUTES che specifica il nome dell'oggetto e altri attributi. Utilizzare la routine InitializeObjectAttributes per inizializzare questa struttura. Se il chiamante non è in esecuzione in un contesto di thread di sistema, deve impostare l'attributo OBJ_KERNEL_HANDLE quando chiama InitializeObjectAttributes. Questo parametro è facoltativo e può essere NULL.

[in, optional] LogFileName

Puntatore a una struttura UNICODE_STRING che contiene il percorso e il nome file del flusso di file di log creato al momento della creazione dell'oggetto di gestione transazioni. Per altre informazioni, vedere il parametro LogFileName di ZwCreateTransactionManager. Questo parametro è facoltativo e può essere NULL.

[in, optional] TmIdentity

Puntatore a un GUID che identifica l'oggetto di gestione transazioni. Questo parametro è facoltativo e può essere NULL.

[in, optional] OpenOptions

Questo parametro non viene usato e deve essere zero.

Valore restituito

ZwOpenTransactionManager restituisce STATUS_SUCCESS se l'operazione ha esito positivo. In caso contrario, questa routine potrebbe restituire uno dei valori seguenti:

Codice restituito Descrizione
STATUS_INVALID_PARAMETER
Il valore di un parametro di input non è valido.
STATUS_INSUFFICIENT_RESOURCES
KTM non è riuscito ad allocare risorse di sistema (in genere memoria).
STATUS_OBJECT_NAME_INVALID
Il nome dell'oggetto specificato dal parametro ObjectAttributes non è valido.
STATUS_LOG_CORRUPTION_DETECTED
KTM ha rilevato un errore durante la creazione o l'apertura del file di log.
STATUS_ACCESS_DENIED
Il valore del parametro DesiredAccess non è valido.
 

La routine potrebbe restituire altri valori NTSTATUS.

Commenti

Il chiamante può identificare l'oggetto di gestione transazioni da aprire usando una delle tre tecniche seguenti:

  • Utilizzare il parametro LogFileName per specificare il percorso e il nome file di un flusso di file di log creato al momento della creazione dell'oggetto di gestione transazioni.
  • Usare il parametro TmIdentity per specificare il GUID che identifica l'oggetto di gestione transazioni.
  • Utilizzare il parametro ObjectAttributes per fornire una struttura OBJECT_ATTRIBUTES contenente il nome dell'oggetto specificato in precedenza dal chiamante alla routine ZwCreateTransactionManager .
È necessario specificare solo uno dei parametri elencati in precedenza (un nome di oggetto, un nome di file di log o un GUID) e impostare gli altri due parametri su NULL.

Il componente TPS deve chiamare ZwRecoverTransactionManager dopo aver chiamato ZwOpenTransactionManager.

Un componente TPS che chiama ZwOpenTransactionManager deve infine chiamare ZwClose per chiudere l'handle dell'oggetto.

Per altre informazioni su come usare ZwOpenTransactionManager, vedere Oggetti di Transaction Manager e Creazione di un Resource Manager.

NtOpenTransactionManager e ZwOpenTransactionManager sono due versioni della stessa routine di Servizi di sistema nativi di Windows.

Per le chiamate da driver in modalità kernel, le versioni NtXxx e ZwXxx di una routine di Servizi di sistema nativi di Windows 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 Using Nt and Zw Versions of the Native System Services Routines .For more information about the Nt Xxx and Zw versions of the Native System Services Routines.

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, PowerIrpDDis

Vedi anche

InitializeObjectAttributes

OBJECT_ATTRIBUTES

UNICODE_STRING

Uso delle versioni Nt e Zw delle routine native di Servizi di sistema

ZwClose

ZwCreateTransactionManager

ZwQueryInformationTransactionManager