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 |
---|---|
|
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 de 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 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
Uso de las versiones Nt y Zw de las rutinas nativas de System Services