Função CmCallbackGetKeyObjectID (wdm.h)

A rotina CmCallbackGetKeyObjectID recupera o identificador exclusivo e o nome do objeto associados a um objeto de chave do Registro especificado.

Começando com Windows 8, os drivers de filtro do Registro devem chamar a rotina CmCallbackGetKeyObjectIDEx em vez de CmCallbackGetKeyObjectID. Para obter mais informações, consulte a seção Comentários abaixo.

Sintaxe

NTSTATUS CmCallbackGetKeyObjectID(
  [in]            PLARGE_INTEGER   Cookie,
  [in]            PVOID            Object,
  [out, optional] PULONG_PTR       ObjectID,
  [out, optional] PCUNICODE_STRING *ObjectName
);

Parâmetros

[in] Cookie

O valor do cookie obtido anteriormente pelo driver chamando a rotina CmRegisterCallback ou CmRegisterCallbackEx .

[in] Object

O valor do ponteiro que a rotina de retorno de chamada RegistryCallback do driver recebeu no membro Object de uma das estruturas _KEY_INFORMATION REG_XXX.

Aviso

Em determinadas circunstâncias, as estruturas de notificação de retorno de chamada do Registro podem conter ponteiros de objeto não NULL inválidos. Os drivers de filtragem do Registro não devem passar esses ponteiros para essa rotina. Para obter mais informações, confira Ponteiros de objeto de chave inválidos em notificações do Registro.

[out, optional] ObjectID

Um ponteiro para um local que recebe um ponteiro para o identificador exclusivo que representa a chave do Registro especificada pelo Objeto . Esse parâmetro é opcional e pode ser NULL.

[out, optional] ObjectName

Um ponteiro para um local que recebe um ponteiro para uma estrutura UNICODE_STRING . Essa estrutura contém o nome do objeto de chave do Registro especificado por Object . O nome do objeto é, na verdade, o nome do caminho completo da chave do Registro que o objeto representa. O chamador não deve gravar nesse UNICODE_STRING estrutura ou liberá-la. Esse parâmetro é opcional e pode ser NULL.

Retornar valor

CmCallbackGetKeyObjectID retornará STATUS_SUCCESS se a operação for bem-sucedida. Os possíveis valores retornados por erro incluem o código de status a seguir.

Código de retorno Descrição
STATUS_INVALID_PARAMETER O parâmetro Cookie ou Object é inválido.

Comentários

A rotina CmCallbackGetKeyObjectID está disponível a partir do Windows Vista. Uma versão aprimorada dessa rotina, CmCallbackGetKeyObjectIDEx, está disponível a partir de Windows 8. Os drivers executados somente em Windows 8 e versões posteriores do Windows devem chamar CmCallbackGetKeyObjectIDEx em vez de CmCallbackGetKeyObjectID.

Os drivers podem usar CmCallbackGetKeyObjectID para obter o identificador de chave do Registro, o nome do objeto ou ambos, fornecendo valores não NULL para os parâmetros ObjectID ou ObjectName .

Depois que o driver tiver obtido o identificador ou o nome, o identificador ou nome será válido até que a rotina RegistryCallback do driver receba uma notificação prévia do fechamento do identificador.

O driver não deve modificar o nome do objeto.

Se dois objetos de chave do Registro representarem a mesma chave do Registro, os identificadores de chave para ambos os objetos serão idênticos.

Para obter mais informações sobre CmCallbackGetKeyObjectID e operações de filtragem de registro, consulte Filtrando chamadas de registro.

Requisitos

Requisito Valor
Plataforma de Destino Universal
Cabeçalho wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Biblioteca NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

Confira também

CmCallbackGetKeyObjectIDEx

CmRegisterCallback

CmRegisterCallbackEx

RegistryCallback

UNICODE_STRING