FTD2XX_NET.FTDI.GetEventType C# (CSharp) Method

GetEventType() public method

Gets the event type after an event has fired. Can be used to distinguish which event has been triggered when waiting on multiple event types.
public GetEventType ( UInt32 &EventType ) : FT_STATUS
EventType System.UInt32 The type of event that has occurred.
return FT_STATUS
        public FT_STATUS GetEventType(ref UInt32 EventType)
        {
            // Initialise ftStatus to something other than FT_OK
            FT_STATUS ftStatus = FT_STATUS.FT_OTHER_ERROR;

            // If the DLL hasn't been loaded, just return here
            if (hFTD2XXDLL == IntPtr.Zero)
                return ftStatus;

            // Check for our required function pointers being set up
            if (pFT_GetStatus != IntPtr.Zero)
            {
                tFT_GetStatus FT_GetStatus = (tFT_GetStatus)Marshal.GetDelegateForFunctionPointer(pFT_GetStatus, typeof(tFT_GetStatus));

                UInt32 RxQueue = 0;
                UInt32 TxQueue = 0;

                if (ftHandle != IntPtr.Zero)
                {
                    // Call FT_GetStatus
                    ftStatus = FT_GetStatus(ftHandle, ref RxQueue, ref TxQueue, ref EventType);
                }
            }
            else
            {
                if (pFT_GetStatus == IntPtr.Zero)
                {
                    LogB.Debug("FTD2XX: Failed to load function FT_GetStatus.");
                }
            }
            return ftStatus;
        }