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) |