dark-moon / vmulti

Automatically exported from code.google.com/p/vmulti
0 stars 0 forks source link

Help to understand and install #1

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
Hi, could someone explain what this driver does and how to install it.

Thank you!

Original issue reported on code.google.com by lutin...@gmail.com on 23 Jul 2010 at 3:17

GoogleCodeExporter commented 8 years ago
Hi,

This driver is a root enumerated (ie virtual or software) multitouch device 
driver.

When installed it is possible to send input events programatically to the 
driver which are then presented to the operating system as input events from 
the multitouch device allowing anyone to play with multitouch input to windows 
7 (say using a webcam to derive multitouch input).

If there is sufficient interest I can produce an installable build.

Cheers

Original comment by djpnew...@gmail.com on 2 Oct 2010 at 7:26

GoogleCodeExporter commented 8 years ago
Hi, 
I was able to compile the sys, but i can't install in in Windows 7 32 bit. 
When using both OSRLoader and "net start", it successfuly registers the driver, 
but doesn't start giving an error 1058. 

Can you please explain how to install. 

Thanks alot. 

Original comment by a...@uplayinteractive.com on 4 Nov 2010 at 5:41

GoogleCodeExporter commented 8 years ago
Here is a simple overview of building and installing vmulti: 
https://code.google.com/p/vmulti/wiki/BuildingAndInstallingVMulti

Let me know if anything needs clarification

Original comment by djpnew...@gmail.com on 4 Nov 2010 at 9:32

GoogleCodeExporter commented 8 years ago
Hi,

this is great project and I'm very thankful for this. I installed the driver, 
testvmulti.exe is running well, but I would like to know, how can I include it 
to my cpp. I tried to change testvmulti.c, make main function extern "C" 
(renamed of course), but there are still some errors. Looks like it can't be 
compiled in Visual Studio. Can you help me with this? What else do I need to 
include (I have vmulticommon.h), where is hidsdi.h or dontuse.h (is it even 
usefull?) ? It would be great to have an easy way to use this driver in any 
project.

Thanks! :-)

Original comment by matgr...@gmail.com on 18 Nov 2010 at 3:49

GoogleCodeExporter commented 8 years ago
dontuse.h is in the WDK (it is not really needed).

hidsdi.h is also found in the WDK (you can also get a version from MinGW and 
maybe win Windows SDK) it is needed to call the functions in hid.dll.

Once you get hidsdi.h you should be able to compile from Visual Studio you 
should be able to compile testvmulti easy enough.

Original comment by djpnew...@gmail.com on 19 Nov 2010 at 4:15

GoogleCodeExporter commented 8 years ago

Original comment by djpnew...@gmail.com on 19 Nov 2010 at 4:16

GoogleCodeExporter commented 8 years ago
matgrula,

I have split the test client into two parts 

1) A static library for connecting and sending requests to vmulti
2) A small test app that uses the library (testvmulti)

I have also added a visual studio solution (you will still need the latest WDK 
installed).

Cheers

Original comment by djpnew...@gmail.com on 22 Nov 2010 at 4:57

GoogleCodeExporter commented 8 years ago
Hi,

Thank you very much, that's great! :-)
But I was still unable to make it work :( I compiled vmulticlient, linked lib 
in my project (and hid.lib, setupapi.lib - you have them in your test project), 
included vmulticlient.h and vmulticommon.h, but I get errors about unresolved 
external symbols. Do you have any idea what could be wrong?

Also, I would like to ask about status parameter in vmulti_update_multitouch - 
is it for dwFlags in Touchinput structure? If so, how can we send, for example 
TOUCHEVENTF_MOVE or TOUCHEVENTF_[UP|DOWN]?

Thank you again! You are doing very good work :-)

Original comment by matgr...@gmail.com on 24 Nov 2010 at 2:06

GoogleCodeExporter commented 8 years ago
1) are you able to compile the testvmulti execuable?
2) what are the symbol names that the linker is complaining about?

To perform a TOUCHEVENTF_DOWN you would send two requests with the same x/y 
coords:
 - status = MULTI_CONFIDENCE_BIT | MULTI_IN_RANGE_BIT
 - status = MULTI_CONFIDENCE_BIT | MULTI_IN_RANGE_BIT | MULTI_TIPSWITCH_BIT

Then to move your change the coordinates while keeping the status byte at 
"MULTI_CONFIDENCE_BIT | MULTI_IN_RANGE_BIT | MULTI_TIPSWITCH_BIT"

Then to perform TOUCHEVENTF_UP send two requests changing the status to:
 - MULTI_CONFIDENCE_BIT | MULTI_IN_RANGE_BIT
 - 0

Original comment by djpnew...@gmail.com on 24 Nov 2010 at 8:08

GoogleCodeExporter commented 8 years ago
1) Yes.
2)

1>main.obj : error LNK2019: unresolved external symbol "void __cdecl 
vmulti_disconnect(struct _vmulti_client_t *)" 
(?vmulti_disconnect@@YAXPAU_vmulti_client_t@@@Z) referenced in function _main
1>main.obj : error LNK2019: unresolved external symbol "int __cdecl 
vmulti_update_multitouch(struct _vmulti_client_t *,unsigned char,unsigned 
char,unsigned short,unsigned short,unsigned char,unsigned char,unsigned 
short,unsigned short,unsigned char)" 
(?vmulti_update_multitouch@@YAHPAU_vmulti_client_t@@EEGGEEGGE@Z) referenced in 
function _main
1>main.obj : error LNK2019: unresolved external symbol "void __cdecl 
vmulti_free(struct _vmulti_client_t *)" 
(?vmulti_free@@YAXPAU_vmulti_client_t@@@Z) referenced in function _main
1>main.obj : error LNK2019: unresolved external symbol "int __cdecl 
vmulti_connect(struct _vmulti_client_t *)" 
(?vmulti_connect@@YAHPAU_vmulti_client_t@@@Z) referenced in function _main
1>main.obj : error LNK2019: unresolved external symbol "struct _vmulti_client_t 
* __cdecl vmulti_alloc(void)" (?vmulti_alloc@@YAPAU_vmulti_client_t@@XZ) 
referenced in function _main

Thanks!

Original comment by matgr...@gmail.com on 25 Nov 2010 at 9:15

GoogleCodeExporter commented 8 years ago
Are you linking vmulticlient into your own new project?

It looks like you are linking to a vmulticlient.lib to a C++ project. If so you 
want to import the C header like so to stop the name mangling:

 extern "C" 
 {
   #include "vmulticlient.h"
 }

See http://www.parashift.com/c++-faq-lite/mixing-c-and-cpp.html for more details

Original comment by djpnew...@gmail.com on 29 Nov 2010 at 12:56

GoogleCodeExporter commented 8 years ago
Thanks, but now I get different errors:

1>MSVCRTD.lib(MSVCR90D.dll) : error LNK2005: _malloc already defined in 
LIBCMTD.lib(dbgmalloc.obj)
1>MSVCRTD.lib(MSVCR90D.dll) : error LNK2005: _free already defined in 
LIBCMTD.lib(dbgfree.obj)
1>MSVCRTD.lib(MSVCR90D.dll) : error LNK2005: _printf already defined in 
LIBCMTD.lib(printf.obj)
1>MSVCRTD.lib(ti_inst.obj) : error LNK2005: "private: __thiscall 
type_info::type_info(class type_info const &)" (??0type_info@@AAE@ABV0@@Z) 
already defined in LIBCMTD.lib(typinfo.obj)
1>MSVCRTD.lib(ti_inst.obj) : error LNK2005: "private: class type_info & 
__thiscall type_info::operator=(class type_info const &)" 
(??4type_info@@AAEAAV0@ABV0@@Z) already defined in LIBCMTD.lib(typinfo.obj)

It's OK with only this in code: pvmulti_client vmulti;
But when I add - vmulti = vmulti_alloc(); - errors show up. I did UTFG and it 
seems like problem of different versions of runtime libraries 
(http://www.gamedev.net/community/forums/topic.asp?topic_id=485446), but the 
solution was not really helpful (if I did it well).

Sorry for bothering you, but you seem very experienced and helpful and I really 
appreciate your help!

Original comment by matgr...@gmail.com on 29 Nov 2010 at 10:28

GoogleCodeExporter commented 8 years ago
Ok, I solved it. Changed Runtime library in vmulticlient to /MTd, compiled and 
it's working :-)
Well, not exactly. There are no errors, but when I touch the screen, no message 
is generated (I think).

Ok, so if I go back to this: "To perform a TOUCHEVENTF_DOWN you would send two 
requests with the same x/y coords: ..." a have to ask if this is the reason why 
vmulti_update_multitouch takes 2 points as input parameter and if I should in 
this case set actualCount to 2 or 1 and IDs to the same value or different.

Thanks! 

Original comment by matgr...@gmail.com on 29 Nov 2010 at 11:10

GoogleCodeExporter commented 8 years ago
I know I'm little bit annoying, but I just found this in the output:
failed HidD_SetOutputReport 23
(from source code it seems that 23 is number of error but I couldn't find 
anything about it).

Original comment by matgr...@gmail.com on 29 Nov 2010 at 12:00

GoogleCodeExporter commented 8 years ago
>Ok, so if I go back to this: "To perform a TOUCHEVENTF_DOWN you would send two 
requests with the same x/y coords: ..." a have to ask if this is the reason why 
vmulti_update_multitouch takes 2 points as input parameter and if I should in 
this case set actualCount to 2 or 1 and IDs to the same value or different.

See the testvmulti.c code it does and touch down and then touch up at the same 
coordinate:
            vmulti_update_multitouch(vmulti, 1, MULTI_CONFIDENCE_BIT | MULTI_IN_RANGE_BIT, 1000, 10000, 1, 0, 0, 0, 0);
            vmulti_update_multitouch(vmulti, 1, MULTI_CONFIDENCE_BIT | MULTI_IN_RANGE_BIT | MULTI_TIPSWITCH_BIT, 1000, 10000, 1, 0, 0, 0, 0);
            vmulti_update_multitouch(vmulti, 1, MULTI_CONFIDENCE_BIT | MULTI_IN_RANGE_BIT, 1000, 10000, 1, 0, 0, 0, 0);
            vmulti_update_multitouch(vmulti, 1, 0, 1000, 10000, 1, 0, 0, 0, 0);

vmulti_update_multitouch takes two touch points as the vmulti driver multitouch 
endpoint supports two touch point so whenever you want to update the state of 
the touch points you need to address both touch points.

Original comment by djpnew...@gmail.com on 30 Nov 2010 at 9:04

GoogleCodeExporter commented 8 years ago
>failed HidD_SetOutputReport 23

That is a strange error code. Are you able to run the testvmulti app and see 
what happens?

Also you could try changing line 201 in client.c to:
  return HidOutput(FALSE, vmulti->hVMulti, (PCHAR)vmulti->vendorReport, VENDOR_REPORT_SIZE); 

Original comment by djpnew...@gmail.com on 30 Nov 2010 at 9:08

GoogleCodeExporter commented 8 years ago
>vmulti_update_multitouch takes two touch points as the vmulti driver 
multitouch endpoint supports two touch point so whenever you want to update the 
state of the touch points you need to address both touch points.

Sorry, I don't understand what you mean. There are 2 touch points for one 
point, or what? Why can't I use this:
vmulti_update_multitouch(vmulti, 2, MULTI_CONFIDENCE_BIT | MULTI_IN_RANGE_BIT, 
1000, 10000, 1, MULTI_CONFIDENCE_BIT | MULTI_IN_RANGE_BIT | 
MULTI_TIPSWITCH_BIT, 1000, 10000, 1);

And just to be sure - x/y coords need to be multiplied by 100, right?
Last question - I set touch point ID to 0, could this be a problem?

Original comment by matgr...@gmail.com on 30 Nov 2010 at 9:31

GoogleCodeExporter commented 8 years ago
>Also you could try changing line 201 in client.c to:
>  return HidOutput(FALSE, vmulti->hVMulti, (PCHAR)vmulti->vendorReport, 
VENDOR_REPORT_SIZE); 

failed WriteFile 87

>Are you able to run the testvmulti app and see what happens?
The same thing. It's working only in older version (not splited). I tried to 
uninstall the driver (because it's from older version - did you change anything 
in the driver?) but "build -wgc" give me some errors (attached)

So now I got no driver... :-(

Original comment by matgr...@gmail.com on 30 Nov 2010 at 2:46

Attachments:

GoogleCodeExporter commented 8 years ago
>Sorry, I don't understand what you mean. There are 2 touch points for one 
point, or what? Why can't I use this:
vmulti_update_multitouch(vmulti, 2, MULTI_CONFIDENCE_BIT | MULTI_IN_RANGE_BIT, 
1000, 10000, 1, MULTI_CONFIDENCE_BIT | MULTI_IN_RANGE_BIT | 
MULTI_TIPSWITCH_BIT, 1000, 10000, 1);

Ok so the different parameters in vmulti_update_multitouch are for two separate 
touch points (see 
http://www.microsoft.com/whdc/device/input/DigitizerDrvs_touch.mspx for more 
details).

So it turns out I was wrong if you want to do a single touch down 
(TOUCHEVENTF_DOWN) just do:
  vmulti_update_multitouch(vmulti, 1, MULTI_CONFIDENCE_BIT | MULTI_IN_RANGE_BIT | MULTI_TIPSWITCH_BIT, 1000, 10000, 0, 0, 0, 0, 0);
Then for TOUCHEVENTF_UP:
  vmulti_update_multitouch(vmulti, 1, 0, 1000, 10000, 0, 0, 0, 0, 0);

Original comment by djpnew...@gmail.com on 1 Dec 2010 at 9:46

GoogleCodeExporter commented 8 years ago
>failed WriteFile 87

ERROR_INVALID_PARAMETER (you might have a mismatch between the currently 
installed driver and the vmulti client library you are using)

>The same thing. It's working only in older version (not splited). I tried to 
uninstall the driver (because it's from older version - did you change anything 
in the driver?) but "build -wgc" give me some errors (attached)

yes I have been changing the driver

build.exe (the WDK build tool) does not work with directory paths that have 
spaces in them

Original comment by djpnew...@gmail.com on 1 Dec 2010 at 9:49

GoogleCodeExporter commented 8 years ago
Great! Thanks! It's working now. :-)
But is there something special about x/y parameters? Because in my testing full 
screen image, touch points are marked good (I mean drawed circles), but 
generated touch points with the same coords (multiplied by 100) are elsewhere. 
I tried not multipy them by 100, switch x and y, divide by 2 (I have 2 screens, 
set to cloning) but nothing helped.

Also, can I change vmulti_update_multitouch to take an array of touch points as 
an input parameter, instead of 2 points?

Original comment by matgr...@gmail.com on 1 Dec 2010 at 11:22

GoogleCodeExporter commented 8 years ago
The X and Y parameters map 0-32767 to the screen width and height (so it is 
completely independant to screen resolution).

There are some definitions in the vmulticommon header:
  #define MULTI_MIN_COORDINATE   0x0000
  #define MULTI_MAX_COORDINATE   0x7FFF

Regarding the number of touch points, the hid descriptor specifies just two 
touch points at the moment. If you want more touch points open a new issue and 
we can discuss that there.

Cheers,
dan

Original comment by djpnew...@gmail.com on 1 Dec 2010 at 8:35

GoogleCodeExporter commented 8 years ago
By screen width and height you mean REAL ones? In cm or inches? How can the 
system know them? Is there any system variable for this width and height?

Every pixel has one value from 0-32767, or 0-32767 is mapped to screen width 
and another 0-32767 to screen height?

Thanks! :-)

Original comment by matgr...@gmail.com on 2 Dec 2010 at 1:16

GoogleCodeExporter commented 8 years ago
>or 0-32767 is mapped to screen width and another 0-32767 to screen height?

Yes this,

It doesn't matter what the screen dimensions or resolution is.

Original comment by djpnew...@gmail.com on 3 Dec 2010 at 8:25

GoogleCodeExporter commented 8 years ago
>It doesn't matter what the screen dimensions or resolution is.

That's OK. I may sound stupid but I still don't understand what do you mean by 
screen width and height. If they are not screen dimensions, neither resolution, 
what they are? 0-32767 is mapped to some value - what is the value and how can 
I find it?

Original comment by matgr...@gmail.com on 3 Dec 2010 at 9:41

GoogleCodeExporter commented 8 years ago
0,0 is the top left of your screen
32767,32767 is mapped to the bottom right

If your current screen resolution is 1024x768 then the multitouch XValue and 
YValue map to the screen like so:

  pixelX = (XValue / 32767) * 1024;
  pixelY = (YValue / 32767) * 768;

Original comment by djpnew...@gmail.com on 3 Dec 2010 at 10:02

GoogleCodeExporter commented 8 years ago
Thanks man! :)

Original comment by matgr...@gmail.com on 3 Dec 2010 at 10:18

GoogleCodeExporter commented 8 years ago
hi...
For virtual multi touch driver(vmulti) When installed it is possible to send 
input events programatically to the driver which are then presented to the 
operating system as input events from the multitouch device allowing anyone to 
play with multitouch input to windows 7 (say using a usb mouse to derive 
multitouch input).

Can u get me installable build for this.

Original comment by guru....@gmail.com on 8 Mar 2011 at 6:19

GoogleCodeExporter commented 8 years ago
I dont have any time to make an installer sorry

Original comment by djpnew...@gmail.com on 14 Mar 2011 at 2:15

GoogleCodeExporter commented 8 years ago
Hi,
According to BuildingAndInstallingVMulti document went through,When I was in 
window xp,why appear Error: CreateFile failed: 5 or Error: CreateFile failed: 
32 as attached file. how should I solve this problem, thank you.

Original comment by avants.s...@gmail.com on 16 Feb 2012 at 5:46

Attachments:

GoogleCodeExporter commented 8 years ago
hi avants.savant,

Those error messages are ok. Some HID devices are opened exclusively by the OS 
(like mouse and keyboard HIDs), that does not matter so much for us because the 
vmulti client library communicates with a vendor defined HID.

Does the command work (ie does your mouse move)?

Original comment by djpnew...@gmail.com on 16 Feb 2012 at 6:16

GoogleCodeExporter commented 8 years ago
thks.yes,it is working

Original comment by avants.s...@gmail.com on 21 Feb 2012 at 3:10

GoogleCodeExporter commented 8 years ago
hi im also trying to implement your hid driver into my cpp programm and im 
running into some problems. hopefully you can help me out.
when im trying to compile my programme which includes your "vmulticlient.h" i 
got the following error: "1>LINK : fatal error C1047: Die Objekt- oder 
Bibliotheksdatei 
"E:\Repos\vmulti\obj\repos\vmulti\sys\objchk_win7_amd64\amd64\vmulti.obj" wurde 
mit einem älteren Compiler als andere Objekte erstellt. Erstellen Sie die 
alten Objekte und Bibliotheken neu.
1>LINK : fatal error LNK1257: Fehler bei Codegenerierung." which is german for 
"vmulti.obj has been compiled with an old compiler and has to be recompiled"
so i tried to recompile vmulti.obj and opened your visual studio project 
..\vmulti\client\vmulticlient.vcproj, i added the folder containing hidsdi.h 
and the platform sdk folder to the included directories but i still get the 
following error:
1>client.c(1): fatal error C1083: Datei (Include) kann nicht geöffnet werden: 
"windows.h": No such file or directory.
ive tried to reinstall windows psdk but it didnt help.
thanks for your help. i highly appreciate your work! :)

Original comment by mrmaf...@googlemail.com on 24 Feb 2012 at 4:59

GoogleCodeExporter commented 8 years ago
ive just tried to compile everything with visual studios debug config and im 
getting another error Oo: 

1>vmulticlient.lib(client.obj) : error LNK2001: Nicht aufgelöstes externes 
Symbol "HidP_GetCaps".
1>vmulticlient.lib(client.obj) : error LNK2001: Nicht aufgelöstes externes 
Symbol "HidD_FreePreparsedData".
1>vmulticlient.lib(client.obj) : error LNK2001: Nicht aufgelöstes externes 
Symbol "__imp_SetupDiGetClassDevsA".
1>vmulticlient.lib(client.obj) : error LNK2001: Nicht aufgelöstes externes 
Symbol "HidD_SetOutputReport".
1>vmulticlient.lib(client.obj) : error LNK2001: Nicht aufgelöstes externes 
Symbol "__imp_SetupDiDestroyDeviceInfoList".
1>vmulticlient.lib(client.obj) : error LNK2001: Nicht aufgelöstes externes 
Symbol "HidD_GetAttributes".
1>vmulticlient.lib(client.obj) : error LNK2001: Nicht aufgelöstes externes 
Symbol "HidD_SetNumInputBuffers".
1>vmulticlient.lib(client.obj) : error LNK2001: Nicht aufgelöstes externes 
Symbol "HidD_GetHidGuid".
1>vmulticlient.lib(client.obj) : error LNK2001: Nicht aufgelöstes externes 
Symbol "__imp_SetupDiGetDeviceInterfaceDetailA".
1>vmulticlient.lib(client.obj) : error LNK2001: Nicht aufgelöstes externes 
Symbol "__imp_SetupDiEnumDeviceInterfaces".
1>vmulticlient.lib(client.obj) : error LNK2001: Nicht aufgelöstes externes 
Symbol "HidD_GetPreparsedData".
1>C:\Users\mrmaffen\Documents\Visual Studio 
2010\Projects\cammouseGUI\x64\Debug\cammouseGUI.exe : fatal error LNK1120: 11 
nicht aufgelöste externe Verweise.

do you have any idea how to solve this one ? :S thanks again. im still learning 
as you can see ^^

Original comment by mrmaf...@googlemail.com on 24 Feb 2012 at 6:25

GoogleCodeExporter commented 8 years ago
ive added hid.lib and setupapi.lib from the winddk folder and it compiled 
correctly. in addition also my programme is running correctly. i dont mean to 
spam, but i think my solution could help others in the future so i will not 
delete my comments.
however i still dont know why it doesnt compile when im setting the config to 
"release".
thanks for your awesome work! you actually enable me to get an awesome grade 
with my project (im studying computer science) :) thanks!

Original comment by mrmaf...@googlemail.com on 24 Feb 2012 at 7:05

GoogleCodeExporter commented 8 years ago
Good to hear you got it working. As to the release config not working, there 
must be some difference in the settings between debug and release, check the 
command line that VS passes to the compiler for each and see if you can find a 
difference

Original comment by djpnew...@gmail.com on 26 Feb 2012 at 10:55

GoogleCodeExporter commented 8 years ago
right now im trying to build a 32bit version of my project including your 
vmulti files and im failing quite badly :D. 
linking errors are the following: 
1>vmultiinput.obj : error LNK2019: Verweis auf nicht aufgelöstes externes 
Symbol "_vmulti_free" in Funktion ""int __cdecl connect_mouse(void)" 
(?connect_mouse@@YAHXZ)".
1>vmultiinput.obj : error LNK2019: Verweis auf nicht aufgelöstes externes 
Symbol "_vmulti_connect" in Funktion ""int __cdecl connect_mouse(void)" 
(?connect_mouse@@YAHXZ)".
1>vmultiinput.obj : error LNK2019: Verweis auf nicht aufgelöstes externes 
Symbol "_vmulti_alloc" in Funktion ""int __cdecl connect_mouse(void)" 
(?connect_mouse@@YAHXZ)".
1>vmultiinput.obj : error LNK2019: Verweis auf nicht aufgelöstes externes 
Symbol "_vmulti_disconnect" in Funktion ""int __cdecl disconnect_mouse(void)" 
(?disconnect_mouse@@YAHXZ)".
1>vmultiinput.obj : error LNK2019: Verweis auf nicht aufgelöstes externes 
Symbol "_vmulti_update_mouse" in Funktion ""int __cdecl 
update_mouse(char,unsigned short,unsigned short,char)" 
(?update_mouse@@YAHDGGD@Z)".
ive already tried setting the runtimelibrary to MTd.
of course i rebuilt your vmulticlient files using a wdk x86 build environment. 
but still the linker doesnt seem to accept the vmulticlient.lib file.

do you have any idea on how i could solve this?
thanks again

Original comment by mrmaf...@googlemail.com on 29 Feb 2012 at 4:48

GoogleCodeExporter commented 8 years ago
after several hours of searching i came up with a solution:
http://stackoverflow.com/questions/1356653/multiple-compiling-errors-with-basic-
c-application-on-vs2010-beta-1

to successfully recompile vmulticlient.lib with visual studio 2010 ulti and 
winsdk7.1 you simply need to delete sal.h in the same dir youre including 
windows.h in

hope this helps others

Original comment by mrmaf...@googlemail.com on 2 Mar 2012 at 5:15

GoogleCodeExporter commented 8 years ago
Can i use this vmulti to create a Virtual USB HID Dongle? if possible, please 
let me know how to enter the vendor code and product code for this vmulti?

Original comment by sps.kan...@gmail.com on 26 Apr 2012 at 3:18

GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
Hi, I have build the library and driver without problems. But when I use the 
library (vmulticlient.lib) i get this result on both x86 and x64.

....looking for our HID device (with UP=0xff00 and Usage=0x1)
Error: CreateFile failed: 5
Error: CreateFile failed: 5
Error: CreateFile failed: 5
Error: CreateFile failed: 32
Error: CreateFile failed: 32
Error: CreateFile failed: 5
Error: CreateFile failed: 5
Success: Found my device..

....looking for our HID device (with UP=0xff00 and Usage=0x2)
Error: CreateFile failed: 5
Error: CreateFile failed: 5
Error: CreateFile failed: 5
Error: CreateFile failed: 32
Error: CreateFile failed: 32
Error: CreateFile failed: 5
Error: CreateFile failed: 5
Error: CreateFile failed: 32
Failure: Could not find our HID device

The weird thing is that I built the lib for x86 once before (2 years ago) and 
if I link to that lib-file everything works if i build for x86 but not for x64 
(I have 64bit driver installed). Back then I built the library using the same 
method as I did today (just running 'build -wcg' in a x86 free build prompt 
from the winddk) but they turn out different. I need to use the library from a 
64bit exe so I need to be able to build it, please advice. 
Or maybe someone can provide me with a working lib-file for x64?

Original comment by lars.englund on 19 Feb 2013 at 10:59