One more shot at ntoskrl implementation

Vitaliy Margolen wine-devel at
Wed Jun 14 00:17:48 CDT 2006

Tuesday, June 13, 2006, 4:27:07 PM, Detlef Riekenberg wrote:
> Vitaliy Margolen wrote:
>> Here is last instalment of safedisc support in Wine.

> Great Stuff, but heavy.

Thank you. I appreciate all the comments.
Well it's not that easy to run kernel drivers...

> +            lpservicestatus->dwCurrentState = SERVICE_STOPPED;
> +        else
> +        {
> +            Sleep(1000);
> +            lpservicestatus->dwCurrentState = SERVICE_RUNNING;

> Waiting for something, reason unknown without a comment.
> It seems to be related to:
> +     * Note: NtQuerySystemInformation needs to be fixed to handle this

> +++ b/dlls/ntdll/misc.c
> in  NTSTATUS NTOSKRNL_connect(HANDLE *device_handle)

> +            ntoskrnl_started = TRUE;
> +            sleep(3);
> +            continue;
> Waiting for something, reason unknown without a comment.
> Is it here to force a shedule / taskswitch?

Those are the two places that do need extra work. I'm not sure what would be a
clean way to check if a driver is running (1st wait) and synch with child process
startup - ntoskrnl (2nd wait).

> +++ b/programs/ntoskrnl/ntoskrnl_api.c
> +LPCSTR wine_dbgstr_us( const UNICODE_STRING *us )

> This is also in "dlls/ntdll/misc.c"
> Is it useful to add "debugstr_us" to "include/wine/debug.h"?

Yes that's where it came from. I'm not sure if it would be beneficial to move it
or not.


More information about the wine-devel mailing list