Funzione NtPrepareEnlistment (wdm.h)

La routine ZwPrepareEnlistment avvia l'operazione di preparazione per una transazione specificata.

Sintassi

__kernel_entry NTSYSCALLAPI NTSTATUS NtPrepareEnlistment(
  [in]           HANDLE         EnlistmentHandle,
  [in, optional] PLARGE_INTEGER TmVirtualClock
);

Parametri

[in] EnlistmentHandle

Handle a un oggetto enlistment ottenuto da una chiamata precedente a ZwCreateEnlistment o ZwOpenEnlistment. L'oggetto deve rappresentare un inserimento superiore e l'handle deve avere ENLISTMENT_SUPERIOR_RIGHTS accesso all'oggetto.

[in, optional] TmVirtualClock

Puntatore a un valore di orologio virtuale. Questo parametro è facoltativo e può essere NULL.

Valore restituito

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

Codice restituito Descrizione
STATUS_ENLISTMENT_NOT_SUPERIOR
Il chiamante non è un gestore delle transazioni superiore per l'inserimento.
STATUS_TRANSACTION_RESPONSE_NOT_ENLISTED
Il chiamante non è stato registrato per ricevere notifiche di TRANSACTION_NOTIFY_PREPARE_COMPLETE.
STATUS_OBJECT_TYPE_MISMATCH
L'handle specificato non è un handle per un oggetto enlistment.
STATUS_INVALID_HANDLE
L'handle dell'oggetto non è valido.
STATUS_ACCESS_DENIED
Il chiamante non dispone dell'accesso appropriato all'oggetto enlistment.
STATUS_TRANSACTION_REQUEST_NOT_VALID
La transazione dell'elenco non è in uno stato che consente di entrare nella fase di preparazione.
 

La routine potrebbe restituire altri valori NTSTATUS.

Commenti

Solo i responsabili delle transazioni superiori possono chiamare ZwPrepareEnlistment.

La routine ZwPrepareEnlistment fa in modo che KTM invii notifiche TRANSACTION_NOTIFY_PREPARE a tutti i responsabili delle risorse che hanno inserito nella transazione.

I chiamanti di ZwPrepareEnlistment devono registrarsi per ricevere notifiche di TRANSACTION_NOTIFY_PREPARE_COMPLETE.

Per altre informazioni su ZwPrepareEnlistment, vedere Creazione di una gestione transazioni superiore e gestione delle operazioni di commit.

NtPrepareEnlistment e ZwPrepareEnlistment 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, PowerIrpDDis

Vedi anche

TmPrepareEnlistment

Uso di nt e zw versioni delle routine di Servizi di sistema nativo

ZwCreateEnlistment

ZwOpenEnlistment