Função NtOpenResourceManager (wdm.h)
A rotina de ZwOpenResourceManager retorna um identificador para um objeto do gerenciador de recursos existente.
Sintaxe
__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
Um ponteiro para uma variável alocada por chamador que recebe o identificador do gerenciador de recursos se a chamada para ZwOpenResourceManager for bem-sucedida.
[in] DesiredAccess
Um valor ACCESS_MASK que especifica o acesso solicitado do chamador ao objeto do gerenciador de recursos. Para obter mais informações sobre como especificar esse parâmetro, consulte o parâmetro DesiredAccess de ZwCreateResourceManager. Esse parâmetro não pode ser zero.
[in] TmHandle
Um identificador para um objeto do gerenciador de transações obtido por uma chamada anterior para ZwCreateTransactionManager ou ZwOpenTransactionManager.
[in] ResourceManagerGuid
Um ponteiro para o GUID que identifica o gerenciador de recursos a ser aberto.
[in, optional] ObjectAttributes
Um ponteiro para uma estrutura OBJECT_ATTRIBUTES que especifica os atributos do objeto. Use a rotina InitializeObjectAttributes para inicializar essa estrutura, mas especifique apenas os parâmetros InitializedAttributes e Attributes da rotina. Se o chamador não estiver em execução em um contexto de thread do sistema, ele deverá definir o sinalizador OBJ_KERNEL_HANDLE no parâmetro atributos. Esse parâmetro é opcional e pode ser NULL.
Valor de retorno
ZwOpenResourceManager retornará STATUS_SUCCESS se a operação for bem-sucedida. Caso contrário, essa rotina poderá retornar um dos seguintes valores:
Código de retorno | Descrição |
---|---|
|
O identificador que especifica TmHandle não é um identificador para um objeto de transação. |
|
O identificador que especifica TmHandle é inválido. |
|
O chamador não tem acesso apropriado ao objeto do gerenciador de transações especificado. |
|
O parâmetro DesiredAccess é zero ou o parâmetro ResourceManagerGuid é inválido. |
|
Não foi possível encontrar o gerenciador de recursos especificado. |
|
O gerenciador de transações especificado não está online. |
A rotina pode retornar outros valores NTSTATUS .
Observações
Normalmente, um componente TPS chama ZwOpenResourceManager após receber um GUID de inscrição de outro componente TPS que anteriormente havia chamado ZwCreateResourceManager. A maioria dos designs TPS não exige chamar ZwOpenResourceManager.
Um gerenciador de recursos que chama ZwOpenResourceManager deve eventualmente chamar ZwClose para fechar o identificador de objeto.
Para obter mais informações sobre ZwOpenResourceManager, consulte objetos KTM.
NtOpenResourceManager e ZwOpenResourceManager são duas versões da mesma rotina dos Serviços de Sistema Nativo do Windows.
Para chamadas de drivers no modo kernel, as versões NtXxx e Zwxxx versões de uma rotina dos Serviços de Sistema Nativo do Windows podem se comportar de forma diferente na maneira como lidam e interpretam parâmetros de entrada. Para obter mais informações sobre a relação entre as versões NtXxx e ZwXxx de uma rotina, consulte Usando versões Nt e Zw das rotinas de serviços do sistema nativo.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Disponível no Windows Vista e versões posteriores do sistema operacional. |
da Plataforma de Destino | Universal |
cabeçalho | wdm.h (include Wdm.h, Ntifs.h) |
biblioteca | NtosKrnl.lib |
de DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
regras de conformidade de DDI | HwStorPortProhibitedDIs, PowerIrpDDis |
Consulte também
usando versões Nt e Zw das rotinas de serviços do sistema nativo