slackner: maybe he wanted to do a quick commit round to give your ntdll: Implement Rtl[Add|Remove]VectoredContinueHandler semi-stubs. more time to test
gagi joined the channel
slackner
puk: my patchset included tests ... moreover it would be the first time that he pushes commits multiple times a day ;)
puk
nah
he won't push more commits
just giving people more time to test
slackner
puk: not sure about your small strlen fixes
puk
and I had tests too when I introduced regressions
slackner
puk: maybe he pushes them before the release ;)
puk
nah
no janitorial work
DarkPlayer
titan38: i already wrote a standalone test yesterday with mingw, but had trouble to get wine to load my driver
puk
those will go in on Monday
i'm not in a hurry
DarkPlayer
will need to check what is going wrong, but the way they compiled the driver in the links you send was unnecessary complicated
titan38
slackner: indeed. It seems to be a custom trace system. I also wonder what is the difference between DPRINT and trace
DarkPlayer: good. can you put it somewhere to take a look?
DarkPlayer: So you try to load a windows driver build with mingw under wine with your test app?
DarkPlayer
titan38: i would first like to fix the problem why wine does not load the driver and moreover i want to test some other linker flags
seems like "--wdm" might be even sufficient
but I did not test it yet
slackner
DarkPlayer: it doesn't has to be fully functional, feel free to put the experimental code somewhere, and we can take a look
DarkPlayer
ugh -.-
the problem was that i called the driver wine.sys
somehow wine wants to load an internal dll in this case which does not exist
now, wine loads the driver, but unloading does not seem to work
titan38
DarkPlayer: btw does wine even handle driver unloading? Never paid attention
DarkPlayer
titan38: sure, it supports some DRM drivers like safedisc 1 and 2
titan38
DarkPlayer: yes it does load drivers and runs them but does unloading works?
DarkPlayer: In your case Unload entry point is not called?
DarkPlayer
titan38: yes, loading works, but for unloading the entry point is not called, and the API call fails
titan38: but maybe i am also just doing it wrong
although i have defined an unloading function: trace:winedevice:init_driver - DriverUnload = 0x541044
titan38
DarkPlayer: kk so winedevice does the call to unload entry point, it call something but not you entry point and return an error; correct?
DarkPlayer
wow, seems like the driver loaded perfectly on Windows XP :-)!
gagi has quit
someone needs to implement a DriverIoControl command to actually test the driver
the results are stored in the buffer specified using IOCTL_KMTEST_SET_RESULTBUFFER
i don't think that the DPRINT are necessary for the results
titan38
kk
DarkPlayer
if you want to make something similar to the way how the current tests work, it would most probably endup being something like this:
you define an IO control code which uses a structure as output, the first field is the number of failed tests and the second field is a larger text buffer
in the kernel itself, you would define ok(..) in a way that it uses RtlStringCchPrintf
all the output is printed into this buffer
and the counter is increased during a test failure
when the iocontrol returns, the number of test failure is added to the counter in the user mode program and the buffer is simply print to stdout
you only need to make sure that the buffer is big enough for all the fail messages
titan38
seems good
that said that would be nice to use a standard interface for that