>how do I cast a win32 file handle to an IntPtr? i ran into this in the past as well; specifically when i started using FTDI USB devices on DLPdesign development kits. the library is written in c++ MFC code. After providing data marshal/platform invoke i applied the intptr in c#. The USB device that I am accessing, passes a file handle to indicate specific pass / fail condition. i.e. the first command opens a connection to the device, the expected handle is 'OK'. if not one of many different possible error messages is passed in the file handle.
SummaryOpen the device and return a handle which will be used for subsequent accesses.DefinitionFT_STATUS FT_Open (int iDevice, FT_HANDLE *ftHandle)ParametersiDevice Index of the device to open. Indices are 0 based.ftHandle Pointer to a variable of type FT_HANDLE where the handle will bestored. This handle must be used to access the device.Return ValueFT_OK if successful, otherwise the return value is an FT error code. public class Wrapper{private static IntPtr m_USBhandler; [DllImport("FTD2XX.dll", EntryPoint="FT_Open")]public static extern uint FT_Open(int iDevice, ref IntPtr ftHandle); [DllImport("FTD2XX.dll", EntryPoint="FT_Close")]public static extern uint FT_Close(IntPtr ftHandle); [DllImport("FTD2XX.dll", EntryPoint="FT_Read")]public static extern uint FT_Read(IntPtr ftHandle, byte[] lpBuffer,uint dwBytesToRead, ref uintlpdwBytesReturned); [DllImport("FTD2XX.dll", EntryPoint="FT_Write")]public static extern uint FT_Write(IntPtr ftHandle, byte[] lpBuffer,uint dwBytesToWrite, ref uintlpdwBytesWritten); [DllImport("FTD2XX.dll", EntryPoint="FT_Purge")]public static extern uint FT_Purge(IntPtr ftHandle, uint dwMask); public static bool OpenDevice(){if (((FT_Status)Wrapper.FT_Open(1, ref m_USBhandler)) ==FT_Status.Ok){return true;}else{return false;}} i hope this helps you by seeing one way of applying file handles in c#. Ron “The desire that guides me in all I do is the desire to harness the forces of nature to the service of mankind.”Nikola Tesla“Radio Power Will Revolutionize the World” (Modern Mechanix & Inventions, July, 1934) On Tuesday, July 21, 2015 11:12 AM, Dan Lenski <dlen...@gmail.com> wrote: Ron Harding via PythonDotNet <pythondotnet@...> writes: > perhaps re-directed command line calls for stdin, stdout, stderr in c# interacting with python i/o command line calls(although in python it is common practice to daisy chain commands). Unfortunately, I cannot redirect the output of the C# library to a convenient filehandle like stdout/stderr; I need to be specify a FileStream object. It pretty much comes down to this: how do I cast a win32 file handle to an IntPtr? Thanks, Dan _________________________________________________ Python.NET mailing list - PythonDotNet@python.org https://mail.python.org/mailman/listinfo/pythondotnet
_________________________________________________ Python.NET mailing list - PythonDotNet@python.org https://mail.python.org/mailman/listinfo/pythondotnet