Exemple #1
0
    /// <summary>
    /// Controllers the query.
    /// </summary>
    /// <returns>The query.</returns>
    /// <param name="handle">Handle.</param>
    /// <param name="what">What.</param>
    /// <param name="mem">Mem.</param>
    /// <param name="size">Size.</param>
    //---------------------------------------------------------------------------------------------
    public override object ControllerQuery(int handle, SvrController.svrControllerQueryType what)
    {
        int    memorySize = 0;
        IntPtr memory     = IntPtr.Zero;
        object result     = null;

        System.Type typeOfObject = null;

        switch (what)
        {
        case SvrController.svrControllerQueryType.kControllerBatteryRemaining:
        {
            typeOfObject = typeof(int);
            memorySize   = System.Runtime.InteropServices.Marshal.SizeOf(typeOfObject);
            memory       = System.Runtime.InteropServices.Marshal.AllocHGlobal(memorySize);
        }
        break;
        }

        int writtenBytes = SvrControllerQuery(handle, (int)what, memory, memorySize);

        if (memorySize == writtenBytes)
        {
            result = System.Runtime.InteropServices.Marshal.PtrToStructure(memory, typeOfObject);
        }

        if (memory != IntPtr.Zero)
        {
            Marshal.FreeHGlobal(memory);
        }

        return(result);
    }
Exemple #2
0
 //---------------------------------------------------------------------------------------------
 public virtual object ControllerQuery(int handle, SvrController.svrControllerQueryType what)
 {
     return(null);
 }
 /// <summary>
 /// Controllers the query.
 /// </summary>
 /// <returns>The query.</returns>
 /// <param name="handle">Handle.</param>
 /// <param name="what">What.</param>
 /// <param name="mem">Mem.</param>
 /// <param name="size">Size.</param>
 //---------------------------------------------------------------------------------------------
 public object ControllerQuery(int handle, SvrController.svrControllerQueryType what)
 {
     return(plugin.ControllerQuery(handle, what));
 }