Windows System Software -- Consulting, Training, Development -- Unique Expertise, Guaranteed Results

Home NTDEV

More Info on Driver Writing and Debugging


The free OSR Learning Library has more than 50 articles on a wide variety of topics about writing and debugging device drivers and Minifilters. From introductory level to advanced. All the articles have been recently reviewed and updated, and are written using the clear and definitive style you've come to expect from OSR over the years.


Check out The OSR Learning Library at: https://www.osr.com/osr-learning-library/


Before Posting...

Please check out the Community Guidelines in the Announcements and Administration Category.

ARM64 ws2_32 issues

vsmvsm Member Posts: 45

Hi all,
Sorry in advance if the subject doesn't fit to this forum, but I'm quite desperate to find an answer to my question and I know this forum hosts windows internals experts.
I'm trying to use a native ARM64 DLL on HoloLens 2; this DLL implements a proprietary network protocol and works perfectly fine on native x64 architecture.
I compiled a UWP ARM64 version of this DLL that works on HoloLens 2, but the performance is ridiculous, so I try to use a native ARM64 DLL (not UWP). I can link it to ws2_32.lib ARM64 version, but when I try to run it on HoloLens 2, it doesn't find the ARM64 ws2_32.dll. I searched the internet, and cannot find any information.
Does anybody here know how to use a native ARM64 DLL that use winsock2 on HoloLens 2?
Thanks in advance!
Best regards.
Note: my DLL is called from C# code inside Unity framework

Comments

  • Martin_BurnickiMartin_Burnicki Member - All Emails Posts: 35

    Yet, I haven't done anything with Windows on ARM, but I've heard about confusion regarding 32 and 64 bit versions of DLLs.
    The reason is that, regardless of the naming, the directory c:\windows\system32 always contains the "native" version of a DLL.
    This means that on 32 bit Windows the 32 bit versions of the DLLs are located there, while on 64 bit Windows the directory "system32" contains the 64 bit versions, and the 32 bit versions are in c:\windows\syswow64, where wow64 probably means "Windows (32) on Windows64".
    I don't know if you have this on your mind, and I don't know how ARM comes into the game, but I thought I'd drop this note anyway.

Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. Sign in or register to get started.

Upcoming OSR Seminars
OSR has suspended in-person seminars due to the Covid-19 outbreak. But, don't miss your training! Attend via the internet instead!
Writing WDF Drivers 24 January 2022 Live, Online
Internals & Software Drivers 7 February 2022 Live, Online
Kernel Debugging 21 March 2022 Live, Online
Developing Minifilters 23 May 2022 Live, Online