#pragma once #pragma managed using namespace System; using namespace System::Runtime::InteropServices; namespace LSWDevices { public ref class cLSWDevice { public: String^ DeviceInstanceID; String^ BusReportedDeviceDesc; String^ Device_Manufacturer; String^ Device_FriendlyName; String^ DeviceDisplay_Category; String^ Hardware_ID; String^ PortName; String^ Firmware; cLSWDevice(); ~cLSWDevice(); private: }; public ref class cLSWDevices { public: literal String^ fElatec = "USB\\VID_09D8&PID_0420"; literal String^ fEdos = "USB\\VID_0EBB&PID_0340"; System::Collections::Generic::List^ DeviceList; System::Collections::Generic::Dictionary^ DevicesFound; cLSWDevices(); ~cLSWDevices(); void AddFilter(System::Collections::Generic::List^ Filter); void Scan(int type, System::Collections::Generic::List^ Filter); static int GetComPortElatec([Out] String^% ElatecPort, [Out] String^% ElatecFirmware); static int GetComPortEdosElatec( [Out] String^% eDosPort, [Out] String^% ElatecPort, [Out] String^% ElatecFirmware ); private: String^ GetFirmware(); }; }