Effect of opening/getting a handle to a file vs obreferenceobjectbyhandle on deleting the file?

Hi all

If i understand correctly, if you have a open handle on a file, whether you got this handle in kernel or user-mode, you can’t delete the file simply via explorer, and you have to close the handle (but correct me if Im wrong)

But what about the case that you only incremented the reference count by something like obreferenceobjectbyhandle?
lets say i get the handle, then use obreferenceobjectbyhandle, later on i only need to use ObDereferenceObject to close the handle right? or do i need to use both obreferenceobjectbyhandle and also close the handle as well, so the file could get deleted later on without problem?

can i just close the handle right after i do obreferenceobjectbyhandle if i only want to work the file file_object and not the handle?

I also forgot to mention that i call FltCreateFile before calling obreferenceobjectbyhandle, so i assume the reference count is incremented by two now right? basically my question is how can i properly close this file after I am done using the file object? (and i only need the file object not the handle, also note that i know there are better ways to do this, for example by using FltCreateFileEx, but thats for another day…)