Funzione NtOpenEnlistment (wdm.h)
La routine ZwOpenEnlistment ottiene un handle per un oggetto di inserimento 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 inserimento se la chiamata a ZwOpenEnlistment ha esito positivo.
[in] DesiredAccess
Valore ACCESS_MASK tipizzato che specifica l'accesso richiesto all'oggetto enlistment. Per altre informazioni su come specificare questo parametro, vedere il parametro DesiredAccess di ZwCreateEnlistment. Questo parametro non può essere zero.
[in] ResourceManagerHandle
Handle a un oggetto resource manager ottenuto da una chiamata precedente a ZwCreateResourceManager o ZwOpenResourceManager.
[in] EnlistmentGuid
Puntatore a un GUID che identifica l'inserimento. Per ulteriori informazioni, vedere la sezione Osservazioni successiva.
[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 . 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 |
---|---|
|
L'handle dell'oggetto non è valido. |
|
Il chiamante non dispone dell'accesso appropriato all'oggetto enlistment. |
|
Il valore del parametro DesiredAccess è zero o il valore del parametro EnlistmentGuid è NULL. |
|
L'inserimento specificato dal parametro EnlistmentGuid non esiste per gestione risorse specificato dal parametro RmHandle . |
|
Il valore del parametro DesiredAccess non è valido. |
La routine potrebbe restituire altri valori NTSTATUS.
Commenti
In genere, un componente TPS chiama ZwOpenEnlistment dopo aver ricevuto un GUID dell'elenco da un altro componente TPS precedentemente denominato ZwCreateEnlistment. La maggior parte dei progetti TPS non richiede la chiamata di ZwOpenEnlistment.
Un gestore risorse che chiama ZwOpenEnlistment deve infine chiamare ZwClose per chiudere l'handle dell'oggetto.
Per altre informazioni su ZwOpenEnlistment, vedere Enlistment Objects.
NtOpenEnlistment e ZwOpenEnlistment 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
Uso di nt e zw versioni delle routine di Servizi di sistema nativo