Originally posted by eek
View Post
- Visitors can check out the Forum FAQ by clicking this link. You have to register before you can post: click the REGISTER link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. View our Forum Privacy Policy.
- Want to receive the latest contracting news and advice straight to your inbox? Sign up to the ContractorUK newsletter here. Every sign up will also be entered into a draw to WIN £100 Amazon vouchers!
Reply to: Hard .Net api type question
Collapse
You are not logged in or you do not have permission to access this page. This could be due to one of several reasons:
- You are not logged in. If you are already registered, fill in the form below to log in, or follow the "Sign Up" link to register a new account.
- You may not have sufficient privileges to access this page. Are you trying to edit someone else's post, access administrative features or some other privileged system?
- If you are trying to post, the administrator may have disabled your account, or it may be awaiting activation.
Logging in...
Previously on "Hard .Net api type question"
Collapse
-
WHS. When I had to call a complicated COM interface from C#, I gave up trying to make all the "MarhallAs" stuff work and instead created a C++ .NET wrapper DLL and called that from C#. With C++ .NET you can mix and match .NET and native code within the same function, although the syntax is a bit bizarre. Microsoft call this "IJW" for "It Just Works". Easy to be cynical about something like that from Microsoft, but in this case it just does.
-
Two (probably totally crap) suggestions
VS2010 is supposedly far friendly when dealing with unruly dll's and com objects on the fly.
Or could you keep the actually (communication) driver within a C++ based wrapper and then call that to retrieve the values.
Leave a comment:
-
might need to beCode:internal static Int32 SIOCTL_TYPE = 4000;
Code:internal static Int32 SIOCTL_TYPE = 40000;
Leave a comment:
-
Hard .Net api type question
I have a stub driver that received IOCTLS from a C app. I am trying to port this to C#.Net 2008.
The problem is my IOCTLs are getting mangled so the driver doesn't recognise them.
I am using the api declaration from pinvoke.net
and my IOCTL is defined asCode:[DllImport("Kernel32.dll", SetLastError = false, CharSet = CharSet.Auto)] public static extern bool DeviceIoControl( Microsoft.Win32.SafeHandles.SafeFileHandle hDevice, Int32 ioctl, [MarshalAs(UnmanagedType.AsAny)] [In] object InBuffer, int nInBufferSize, [MarshalAs(UnmanagedType.AsAny)] [Out] object OutBuffer, int nOutBufferSize, ref uint pBytesReturned, [In] IntPtr lpOverlapped);
I know from debugview that the driver receives :Code:internal static Int32 SIOCTL_TYPE = 4000; internal static Int32 METHOD_BUFFERED = 0; internal static Int32 FILE_ANY_ACCESS = 0; internal static Int32 IOCTL_START_INBOUND_TRAFFIC =((SIOCTL_TYPE) << 16) |((FILE_ANY_ACCESS) << 14) |((0x900) << 2) | (METHOD_BUFFERED);
IOCTL code received 262153216
Somehow I think something is wrong with the marshalling, and possible the API call from PInvoke is wrong. On the off chance any of you guys have tried sending IOCTL from .Net can you suggest what is wrong here?
(posted on osronline as well)Tags: None
- Home
- News & Features
- First Timers
- IR35 / S660 / BN66
- Employee Benefit Trusts
- Agency Workers Regulations
- MSC Legislation
- Limited Companies
- Dividends
- Umbrella Company
- VAT / Flat Rate VAT
- Job News & Guides
- Money News & Guides
- Guide to Contracts
- Successful Contracting
- Contracting Overseas
- Contractor Calculators
- MVL
- Contractor Expenses
Advertisers
Contractor Services
CUK News
- HMRC standstill agreements extended to 72 months: why the term's doubled, and what to check before signing Yesterday 05:53
- Who owns the loans? Inside the mystery of the loan charge recall scandal Jul 30 06:20
- Umbrella company winding-up petitions in 2026: the practical guide for contractors Jul 29 05:29
- Payments on Account deadline: what contractors must do before July 31st — maybe for the final few times Jul 28 08:01
- Andy Burnham's first 100 days: five things contractors need from the new PM Jul 27 00:53
- Starmer vs Burnham on housing: What their rival plans mean for your contractor mortgage Jul 22 00:59
- Burnham's housing vision vs. Starmer's home-buying reforms: what it means for your contractor mortgage Jul 22 00:59
- In Khalil v Innovate Transport, a limited company contractor wasn’t a worker and was on £2.30 — not £230 Jul 21 07:58
- Andy Burnham is PM: 5 new IT policies set to shape UK tech and its contractors Jul 20 06:29
- Taxed on money I haven't earned yet? Bold move, HMRC Jul 17 08:36

Leave a comment: