[PATCH] Implement BindIoCompletionCallback

Alexandre Julliard julliard at winehq.org
Wed Dec 19 09:56:30 CST 2007


Robert Shearman <rob at codeweavers.com> writes:

> Andrey Turkin wrote:
>> Robert Shearman wrote:
>>   
>>> Andrey Turkin wrote:
>>>     
>>>>  /******************************************************************************
>>>>
>>>>   *        BindIoCompletionCallback (KERNEL32.@)
>>>>   */
>>>> +extern NTSTATUS WINAPI
>>>> RtlSetIoCompletionCallback(HANDLE,LPOVERLAPPED_COMPLETION_ROUTINE,ULONG);
>>>>
>>>>   
>>>>       
>>> This should go in winternl.h.
>>>     
>> winternl.h may not depend on winbase.h for some reason, so this would
>> mean either changing prototype to "(HANDLE,LPVOID,ULONG)", which seems
>> wrong, or redefining LPOVERLAPPED_COMPLETION_ROUTINE and
>> OVERLAPPED/LPOVERLAPPED, which seems to be too much duplication.
>>   
>
> I think you should guard the function with an #ifdef __WINE_WINBASE_H 
> statement, but I would wait for some other developers to chime in to get 
> a consensus before accepting this though.

It doesn't seem right for an ntdll function to use an OVERLAPPED
pointer. Shouldn't it take an IO_STATUS_BLOCK instead?

-- 
Alexandre Julliard
julliard at winehq.org



More information about the wine-devel mailing list