#pragma once 
 | 
  
 | 
#include "il2cpp-object-internals.h" 
 | 
  
 | 
namespace il2cpp 
 | 
{ 
 | 
namespace vm 
 | 
{ 
 | 
    struct WeakReference IL2CPP_FINAL : Il2CppIWeakReference 
 | 
    { 
 | 
        static il2cpp_hresult_t Create(Il2CppObject* managedObject, Il2CppIWeakReference** result); 
 | 
  
 | 
        WeakReference(Il2CppObject * managedObject); 
 | 
  
 | 
        virtual il2cpp_hresult_t STDCALL QueryInterface(const Il2CppGuid& iid, void** object) IL2CPP_FINAL IL2CPP_OVERRIDE; 
 | 
        virtual uint32_t STDCALL AddRef() IL2CPP_FINAL IL2CPP_OVERRIDE; 
 | 
        virtual uint32_t STDCALL Release() IL2CPP_FINAL IL2CPP_OVERRIDE; 
 | 
        virtual il2cpp_hresult_t STDCALL Resolve(const Il2CppGuid& iid, Il2CppIInspectable** object) IL2CPP_FINAL IL2CPP_OVERRIDE; 
 | 
  
 | 
    private: 
 | 
        uint32_t m_GCHandle; 
 | 
        uint32_t m_RefCount; 
 | 
    }; 
 | 
} 
 | 
} 
 |