Función NtOpenEnlistment (wdm.h)

La rutina ZwOpenEnlistment obtiene un identificador para un objeto de inscripción existente.

Sintaxis

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

Parámetros

[out] EnlistmentHandle

Puntero a una variable asignada por el autor de la llamada que recibe un identificador a un objeto de inscripción si la llamada a ZwOpenEnlistment se realiza correctamente.

[in] DesiredAccess

Valor con tipo ACCESS_MASK que especifica el acceso solicitado al objeto de inscripción. Para obtener más información sobre cómo especificar este parámetro, vea el parámetro DesiredAccess de ZwCreateEnlistment. Este parámetro no puede ser cero.

[in] ResourceManagerHandle

Identificador de un objeto de administrador de recursos obtenido por una llamada anterior a ZwCreateResourceManager o ZwOpenResourceManager.

[in] EnlistmentGuid

Puntero a un GUID que identifica la inscripción. Para obtener más información, vea la sección Comentarios que se muestra más adelante.

[in, optional] ObjectAttributes

Puntero a una estructura OBJECT_ATTRIBUTES que especifica los atributos del objeto. Use la rutina InitializeObjectAttributes para inicializar esta estructura, pero especifique solo los parámetros InitializedAttributes y Attributes de la rutina. Si el autor de la llamada no se ejecuta en un contexto de subproceso del sistema, debe establecer la marca OBJ_KERNEL_HANDLE en el parámetro Attributes . Este parámetro es opcional y puede ser NULL.

Valor devuelto

ZwOpenEnlistment devuelve STATUS_SUCCESS si la operación se realiza correctamente. De lo contrario, esta rutina podría devolver uno de los siguientes valores:

Código devuelto Descripción
STATUS_INVALID_HANDLE
El identificador de objeto no es válido.
STATUS_ACCESS_DENIED
El autor de la llamada no tiene el acceso adecuado al objeto de inscripción.
STATUS_INVALID_PARAMETER
El valor del parámetro DesiredAccess es cero o el valor del parámetro EnlistmentGuid es NULL.
STATUS_ENLISTMENT_NOT_FOUND
La inscripción que especifica el parámetro EnlistmentGuid no existe para el administrador de recursos que especifica el parámetro RmHandle .
STATUS_ACCESS_DENIED
El valor del parámetro DesiredAccess no es válido.
 

La rutina podría devolver otros valores NTSTATUS.

Comentarios

Normalmente, un componente de TPS llama a ZwOpenEnlistment después de recibir un GUID de inscripción de otro componente de TPS que anteriormente había llamado ZwCreateEnlistment. La mayoría de los diseños tpS no requieren llamar a ZwOpenEnlistment.

Un administrador de recursos que llama a ZwOpenEnlistment debe llamar finalmente a ZwClose para cerrar el identificador del objeto.

Para obtener más información sobre ZwOpenEnlistment, vea Objetos de inscripción.

NtOpenEnlistment y ZwOpenEnlistment son dos versiones de la misma rutina de Servicios del sistema nativo de Windows.

En el caso de las llamadas desde controladores en modo kernel, las versiones NtXxx y ZwXxx de una rutina de Servicios del sistema nativo de Windows se pueden comportar de forma diferente en la forma en que controlan e interpretan los parámetros de entrada. Para obtener más información sobre la relación entre las versiones NtXxx y ZwXxx de una rutina, vea Using Nt and Zw Versions of the Native System Services Routines.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible en Windows Vista y versiones posteriores del sistema operativo.
Plataforma de destino Universal
Encabezado wdm.h (incluya Wdm.h, Ntifs.h)
Library NtosKrnl.lib
Archivo DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
Reglas de cumplimiento de DDI HwStorPortProhibitedDIs, PowerIrpDDis

Consulte también

ACCESS_MASK

InitializeObjectAttributes

OBJECT_ATTRIBUTES

Uso de las versiones Nt y Zw de las rutinas nativas de Servicios del sistema

ZwClose

ZwCreateEnlistment

ZwCreateResourceManager

ZwOpenResourceManager

ZwQueryInformationEnlistment

ZwSetInformationEnlistment