Condividi tramite


Funzione NtOpenTransactionManager (wdm.h)

La routine ZwOpenTransactionManager ottiene un handle per un oggetto di gestione 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 .

Osservazioni

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.
  • Usare 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 sopra (un nome 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 undi 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 NtXxx e ZwXxx versioni 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 Using Nt and Zw Versions of the Native System Services Routines.

Fabbisogno

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

Vedere anche

InitializeObjectAttributes

OBJECT_ATTRIBUTES

UNICODE_STRING

uso di versioni Nt e Zw delle routine di Servizi di sistema nativi

ZwClose

ZwCreateTransactionManager

ZwQueryInformationTransactionManager