[PATCH] Implement BindIoCompletionCallback
Andrey Turkin
andrey.turkin at gmail.com
Tue Dec 18 14:49:17 CST 2007
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.
>
>> BOOL WINAPI BindIoCompletionCallback( HANDLE FileHandle,
>> LPOVERLAPPED_COMPLETION_ROUTINE Function, ULONG Flags)
>> {
>> - FIXME("%p, %p, %d, stub!\n", FileHandle, Function, Flags);
>> - SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
>> + NTSTATUS status;
>> +
>> + TRACE("(%p, %p, %d)\n", FileHandle, Function, Flags);
>> +
>> + status = RtlSetIoCompletionCallback( FileHandle, Function, Flags );
>> + if (status == STATUS_SUCCESS) return TRUE;
>> + SetLastError( RtlNtStatusToDosError(status) );
>> return FALSE;
>> }
>
>
More information about the wine-devel
mailing list