internal override void Shutdown()
 {
     base.Shutdown();
     this._SendP2PPacket              = null;
     this._IsP2PPacketAvailable       = null;
     this._ReadP2PPacket              = null;
     this._AcceptP2PSessionWithUser   = null;
     this._CloseP2PSessionWithUser    = null;
     this._CloseP2PChannelWithUser    = null;
     this._GetP2PSessionState         = null;
     this._GetP2PSessionState_Windows = null;
     this._AllowP2PPacketRelay        = null;
     this._CreateListenSocket         = null;
     this._CreateP2PConnectionSocket  = null;
     this._CreateConnectionSocket     = null;
     this._DestroySocket              = null;
     this._DestroyListenSocket        = null;
     this._SendDataOnSocket           = null;
     this._IsDataAvailableOnSocket    = null;
     this._RetrieveDataFromSocket     = null;
     this._IsDataAvailable            = null;
     this._RetrieveData            = null;
     this._GetSocketInfo           = null;
     this._GetListenSocketInfo     = null;
     this._GetSocketConnectionType = null;
     this._GetMaxPacketSize        = null;
 }
 public override void InitInternals()
 {
     this._SendP2PPacket              = Marshal.GetDelegateForFunctionPointer <ISteamNetworking.FSendP2PPacket>(Marshal.ReadIntPtr(this.VTable, 0));
     this._IsP2PPacketAvailable       = Marshal.GetDelegateForFunctionPointer <ISteamNetworking.FIsP2PPacketAvailable>(Marshal.ReadIntPtr(this.VTable, 8));
     this._ReadP2PPacket              = Marshal.GetDelegateForFunctionPointer <ISteamNetworking.FReadP2PPacket>(Marshal.ReadIntPtr(this.VTable, 16));
     this._AcceptP2PSessionWithUser   = Marshal.GetDelegateForFunctionPointer <ISteamNetworking.FAcceptP2PSessionWithUser>(Marshal.ReadIntPtr(this.VTable, 24));
     this._CloseP2PSessionWithUser    = Marshal.GetDelegateForFunctionPointer <ISteamNetworking.FCloseP2PSessionWithUser>(Marshal.ReadIntPtr(this.VTable, 32));
     this._CloseP2PChannelWithUser    = Marshal.GetDelegateForFunctionPointer <ISteamNetworking.FCloseP2PChannelWithUser>(Marshal.ReadIntPtr(this.VTable, 40));
     this._GetP2PSessionState         = Marshal.GetDelegateForFunctionPointer <ISteamNetworking.FGetP2PSessionState>(Marshal.ReadIntPtr(this.VTable, 48));
     this._GetP2PSessionState_Windows = Marshal.GetDelegateForFunctionPointer <ISteamNetworking.FGetP2PSessionState_Windows>(Marshal.ReadIntPtr(this.VTable, 48));
     this._AllowP2PPacketRelay        = Marshal.GetDelegateForFunctionPointer <ISteamNetworking.FAllowP2PPacketRelay>(Marshal.ReadIntPtr(this.VTable, 56));
     this._CreateListenSocket         = Marshal.GetDelegateForFunctionPointer <ISteamNetworking.FCreateListenSocket>(Marshal.ReadIntPtr(this.VTable, 64));
     this._CreateP2PConnectionSocket  = Marshal.GetDelegateForFunctionPointer <ISteamNetworking.FCreateP2PConnectionSocket>(Marshal.ReadIntPtr(this.VTable, 72));
     this._CreateConnectionSocket     = Marshal.GetDelegateForFunctionPointer <ISteamNetworking.FCreateConnectionSocket>(Marshal.ReadIntPtr(this.VTable, 80));
     this._DestroySocket              = Marshal.GetDelegateForFunctionPointer <ISteamNetworking.FDestroySocket>(Marshal.ReadIntPtr(this.VTable, 88));
     this._DestroyListenSocket        = Marshal.GetDelegateForFunctionPointer <ISteamNetworking.FDestroyListenSocket>(Marshal.ReadIntPtr(this.VTable, 96));
     this._SendDataOnSocket           = Marshal.GetDelegateForFunctionPointer <ISteamNetworking.FSendDataOnSocket>(Marshal.ReadIntPtr(this.VTable, 104));
     this._IsDataAvailableOnSocket    = Marshal.GetDelegateForFunctionPointer <ISteamNetworking.FIsDataAvailableOnSocket>(Marshal.ReadIntPtr(this.VTable, 112));
     this._RetrieveDataFromSocket     = Marshal.GetDelegateForFunctionPointer <ISteamNetworking.FRetrieveDataFromSocket>(Marshal.ReadIntPtr(this.VTable, 120));
     this._IsDataAvailable            = Marshal.GetDelegateForFunctionPointer <ISteamNetworking.FIsDataAvailable>(Marshal.ReadIntPtr(this.VTable, 128));
     this._RetrieveData            = Marshal.GetDelegateForFunctionPointer <ISteamNetworking.FRetrieveData>(Marshal.ReadIntPtr(this.VTable, 136));
     this._GetSocketInfo           = Marshal.GetDelegateForFunctionPointer <ISteamNetworking.FGetSocketInfo>(Marshal.ReadIntPtr(this.VTable, 144));
     this._GetListenSocketInfo     = Marshal.GetDelegateForFunctionPointer <ISteamNetworking.FGetListenSocketInfo>(Marshal.ReadIntPtr(this.VTable, 152));
     this._GetSocketConnectionType = Marshal.GetDelegateForFunctionPointer <ISteamNetworking.FGetSocketConnectionType>(Marshal.ReadIntPtr(this.VTable, 160));
     this._GetMaxPacketSize        = Marshal.GetDelegateForFunctionPointer <ISteamNetworking.FGetMaxPacketSize>(Marshal.ReadIntPtr(this.VTable, 168));
 }