Compartir a través de


Función NtOpenResourceManager (wdm.h)

La rutina ZwOpenResourceManager devuelve un identificador a un objeto de administrador de recursos existente.

Sintaxis

__kernel_entry NTSYSCALLAPI NTSTATUS NtOpenResourceManager(
  [out]          PHANDLE            ResourceManagerHandle,
  [in]           ACCESS_MASK        DesiredAccess,
  [in]           HANDLE             TmHandle,
  [in]           LPGUID             ResourceManagerGuid,
  [in, optional] POBJECT_ATTRIBUTES ObjectAttributes
);

Parámetros

[out] ResourceManagerHandle

Puntero a una variable asignada por el autor de la llamada que recibe el identificador del administrador de recursos si la llamada a ZwOpenResourceManager se realiza correctamente.

[in] DesiredAccess

Valor de ACCESS_MASK que especifica el acceso solicitado del autor de la llamada al objeto de Resource Manager. Para obtener más información sobre cómo especificar este parámetro, vea el parámetro DesiredAccess de ZwCreateResourceManager. Este parámetro no puede ser cero.

[in] TmHandle

Identificador de un objeto de administrador de transacciones obtenido por una llamada anterior a ZwCreateTransactionManager o ZwOpenTransactionManager.

[in] ResourceManagerGuid

Puntero al GUID que identifica el administrador de recursos que se va a abrir.

[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

ZwOpenResourceManager 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_OBJECT_TYPE_MISMATCH
El identificador que tmHandle especifica no es un identificador para un objeto de transacción.
STATUS_INVALID_HANDLE
El identificador que tmHandle especifica no es válido.
STATUS_ACCESS_DENIED
El autor de la llamada no tiene el acceso adecuado al objeto de administrador de transacciones especificado.
STATUS_INVALID_PARAMETER
El parámetro DesiredAccess es cero o el parámetro ResourceManagerGuid no es válido.
STATUS_RESOURCEMANAGER_NOT_FOUND
No se encontró el administrador de recursos especificado.
STATUS_TRANSACTIONMANAGER_NOT_ONLINE
El administrador de transacciones especificado no está en línea.
 

La rutina podría devolver otros valores NTSTATUS.

Comentarios

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

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

Para obtener más información sobre ZwOpenResourceManager, vea Objetos KTM.

NtOpenResourceManager y ZwOpenResourceManager son dos versiones de la misma rutina de Windows Native System Services.

En el caso de las llamadas desde controladores en modo kernel, las versiones NtXxx y ZwXxx de una rutina de Windows Native System Services pueden comportarse 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

InitializeObjectAttributes

OBJECT_ATTRIBUTES

Uso de las versiones Nt y Zw de las rutinas nativas de System Services

ZwClose

ZwCreateResourceManager

ZwCreateTransactionManager

ZwOpenTransactionManager