Gray C++ Libraries  0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
GrayKernel::CKeObjectPtr< TYPE > Struct Template Reference

#include <cKernel.h>

Public Member Functions

 CKeObjectPtr (TYPE *pObject=nullptr)
 
NTSTATUS ReferenceByHandle (IN HANDLE Handle, IN ACCESS_MASK uDesiredAccess=FILE_ANY_ACCESS, IN POBJECT_TYPE pObjectType=nullptr, IN KPROCESSOR_MODE eAccessMode=KernelMode, OUT POBJECT_HANDLE_INFORMATION pHandleInformation=nullptr)
 
void ReferenceObject ()
 
void ReleaseObject ()
 
CKeObject< TYPE > * DetachObject ()
 
void ReleaseLast ()
 
TYPE ** get_ObjectPPtr ()
 
CKeObject< TYPE > * get_ObjectPtr () const
 
bool IsValidObj () const
 
 operator const TYPE * () const
 
 operator TYPE * ()
 
TYPEoperator-> ()
 

Detailed Description

template<class TYPE>
struct GrayKernel::CKeObjectPtr< TYPE >

Non destructed system object pointer. based on CKeObject<TYPE> CKeObject<> by pointer and/or reference. ASSUME TYPE is a system object. IO_TYPE_FILE,IO_TYPE_DRIVER, etc.

Constructor & Destructor Documentation

◆ CKeObjectPtr()

template<class TYPE >
GrayKernel::CKeObjectPtr< TYPE >::CKeObjectPtr ( TYPE pObject = nullptr)
inline

Member Function Documentation

◆ DetachObject()

template<class TYPE >
CKeObject<TYPE>* GrayKernel::CKeObjectPtr< TYPE >::DetachObject ( )
inline

◆ get_ObjectPPtr()

template<class TYPE >
TYPE** GrayKernel::CKeObjectPtr< TYPE >::get_ObjectPPtr ( )
inline

◆ get_ObjectPtr()

template<class TYPE >
CKeObject<TYPE>* GrayKernel::CKeObjectPtr< TYPE >::get_ObjectPtr ( ) const
inline

◆ IsValidObj()

template<class TYPE >
bool GrayKernel::CKeObjectPtr< TYPE >::IsValidObj ( ) const
inline

◆ operator const TYPE *()

template<class TYPE >
GrayKernel::CKeObjectPtr< TYPE >::operator const TYPE * ( ) const
inline

◆ operator TYPE *()

template<class TYPE >
GrayKernel::CKeObjectPtr< TYPE >::operator TYPE * ( )
inline

◆ operator->()

template<class TYPE >
TYPE* GrayKernel::CKeObjectPtr< TYPE >::operator-> ( )
inline

◆ ReferenceByHandle()

template<class TYPE >
NTSTATUS GrayKernel::CKeObjectPtr< TYPE >::ReferenceByHandle ( IN HANDLE  Handle,
IN ACCESS_MASK  uDesiredAccess = FILE_ANY_ACCESS,
IN POBJECT_TYPE  pObjectType = nullptr,
IN KPROCESSOR_MODE  eAccessMode = KernelMode,
OUT POBJECT_HANDLE_INFORMATION  pHandleInformation = nullptr 
)
inline

◆ ReferenceObject()

template<class TYPE >
void GrayKernel::CKeObjectPtr< TYPE >::ReferenceObject ( )
inline

◆ ReleaseLast()

template<class TYPE >
void GrayKernel::CKeObjectPtr< TYPE >::ReleaseLast ( )
inline

◆ ReleaseObject()

template<class TYPE >
void GrayKernel::CKeObjectPtr< TYPE >::ReleaseObject ( )
inline

The documentation for this struct was generated from the following file: