Condividi tramite


Funzione NtOpenEnlistment (wdm.h)

La routine ZwOpenEnlistment ottiene un handle per un oggetto esistente.

Sintassi

__kernel_entry NTSYSCALLAPI NTSTATUS NtOpenEnlistment(
  [out]          PHANDLE            EnlistmentHandle,
  [in]           ACCESS_MASK        DesiredAccess,
  [in]           HANDLE             ResourceManagerHandle,
  [in]           LPGUID             EnlistmentGuid,
  [in, optional] POBJECT_ATTRIBUTES ObjectAttributes
);

Parametri

[out] EnlistmentHandle

Puntatore a una variabile allocata dal chiamante che riceve un handle a un oggetto di integrazione se la chiamata a ZwOpenEnlistment ha esito positivo.

[in] DesiredAccess

Valore ACCESS_MASKtipizzato che specifica l'accesso richiesto all'oggetto di integrazione. Per altre informazioni su come specificare questo parametro, vedere il parametro DesiredAccess di ZwCreateEnlistment. Questo parametro non può essere zero.

[in] ResourceManagerHandle

Handle per un oggetto resource manager ottenuto da una chiamata precedente a ZwCreateResourceManager o ZwOpenResourceManager.

[in] EnlistmentGuid

Puntatore a un GUID che identifica l'integrazione. Per altre informazioni, vedere la sezione Osservazioni seguente.

[in, optional] ObjectAttributes

Puntatore a una struttura OBJECT_ATTRIBUTES che specifica gli attributi dell'oggetto. Utilizzare la routine InitializeObjectAttributes per inizializzare questa struttura, ma specificare solo il InitializedAttributes e attributi parametri della routine. Se il chiamante non è in esecuzione in un contesto di thread di sistema, deve impostare il flag OBJ_KERNEL_HANDLE nel parametro Attributi. Questo parametro è facoltativo e può essere NULL.

Valore restituito

ZwOpenEnlistment 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_HANDLE
L'handle dell'oggetto non è valido.
STATUS_ACCESS_DENIED
Il chiamante non dispone dell'accesso appropriato all'oggetto di integrazione.
STATUS_INVALID_PARAMETER
Il valore del parametro desiredAccess è zero oppure il valore del parametro EnlistmentGuid è NULL.
STATUS_ENLISTMENT_NOT_FOUND
L'integrazione del parametro EnlistmentGuid non esiste per il gestore risorse specificato dal parametro RmHandle .
STATUS_ACCESS_DENIED
Il valore del parametro desiredAccess non è valido.
 

La routine potrebbe restituire altri valori NTSTATUS .

Osservazioni

In genere, un componente TPS chiama ZwOpenEnlistment dopo aver ricevuto un GUID di integrazione da un altro componente TPS precedentemente chiamato ZwCreateEnlistment. La maggior parte delle progettazioni TPS non richiede la chiamata ZwOpenEnlistment.

Un gestore di risorse che chiama ZwOpenEnlistment deve chiamare ZwClose per chiudere l'handle dell'oggetto.

Per altre informazioni su ZwOpenEnlistment, vedere Oggetti di integrazione.

ntOpenEnlistment e ZwOpenEnlistment 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

ACCESS_MASK

InitializeObjectAttributes

OBJECT_ATTRIBUTES

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

ZwClose

ZwCreateEnlistment

ZwCreateResourceManager

ZwOpenResourceManager

ZwQueryInformationEnlistment

ZwSetInformationEnlistment