Función NtOpenResourceManager (wdm.h)
La rutina ZwOpenResourceManager devuelve un identificador a un objeto resource manager 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 al 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 de InitializeObjectAttributes para inicializar esta estructura, pero especifique solo los parámetros InitializedAttributes de esa rutina y Atributos. 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 atributos . Este parámetro es opcional y se puede 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 |
---|---|
|
El identificador que tmHandle especifica no es un identificador para un objeto de transacción. |
|
El identificador que tmHandle especifica no es válido. |
|
El autor de la llamada no tiene el acceso adecuado al objeto del administrador de transacciones especificado. |
|
El parámetro DesiredAccess es cero o el parámetro ResourceManagerGuid no es válido. |
|
No se encontró el administrador de recursos especificado. |
|
El administrador de transacciones especificado no está en línea. |
La rutina puede devolver otros valores NTSTATUS de .
Observaciones
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 a ZwCreateResourceManager. La mayoría de los diseños tpS no requieren llamar a ZwOpenResourceManager.
Un administrador de recursos que llama a ZwOpenResourceManager debe llamar finalmente a ZwClose para cerrar el identificador de objeto.
Para obtener más información sobre ZwOpenResourceManager, vea objetos KTM.
NtOpenResourceManager y ZwOpenResourceManager 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 NtXxx y Zwversiones de Xxx de una rutina de Servicios del sistema nativo de Windows 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 de NtXxx y ZwXxx de una rutina, vea Using Nt and Zw Versions of the Native System Services Routines.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Disponible en Windows Vista y versiones posteriores del sistema operativo. |
de la plataforma de destino de | Universal |
encabezado de | wdm.h (include Wdm.h, Ntifs.h) |
biblioteca de | NtosKrnl.lib |
DLL de | NtosKrnl.exe |
irQL | PASSIVE_LEVEL |
reglas de cumplimiento de DDI | HwStorPortProhibitedDIs, PowerIrpDDis |
Consulte también
usar versiones Nt y Zw de las rutinas de servicios del sistema nativo