Macro ObReferenceObject (wdm.h)

A rotina ObReferenceObject incrementa a contagem de referência para o objeto fornecido.

Sintaxe

void ObReferenceObject(
  [in]  Object
);

Parâmetros

[in] Object

Ponteiro para o objeto . O chamador obteve esse parâmetro quando criou o objeto ou de uma chamada anterior para ObReferenceObjectByHandle depois de abrir o objeto.

Retornar valor

Nenhum

Comentários

ObReferenceObject retorna um valor reservado para uso do sistema. Os drivers devem tratar esse valor como VOID.

ObReferenceObject simplesmente incrementa a contagem de referência de ponteiro para um objeto, sem fazer nenhuma verificação de acesso no objeto fornecido, como ObReferenceObjectByHandle e ObReferenceObjectByPointer fazem.

ObReferenceObject impede a exclusão do objeto pelo menos até que o driver posteriormente chame seu ObDereferenceObject recíproco ou feche o objeto fornecido. O chamador deve diminuir a contagem de referência com ObDereferenceObject assim que for feito com o objeto .

Quando a contagem de referência de um objeto atinge zero, um componente do modo kernel pode remover o objeto do sistema. No entanto, um driver pode remover apenas os objetos que ele criou, e um driver nunca deve tentar remover qualquer objeto que ele não criou.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível a partir do Windows 2000.
Plataforma de Destino Área de Trabalho
Cabeçalho wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Biblioteca NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <=DISPATCH_LEVEL
Regras de conformidade da DDI HwStorPortProhibitedDDIs(storport)

Confira também

ObDereferenceObject

ObReferenceObjectByHandle

ObReferenceObjectByPointer

ZwClose