mirror of
git://source.winehq.org/git/wine.git
synced 2024-09-30 04:48:36 +00:00
ntdll: Use file_complete_async() in NtFsControlFile().
This commit is contained in:
parent
0a42bd290d
commit
0db0f6180d
|
@ -6182,6 +6182,7 @@ NTSTATUS WINAPI NtFsControlFile( HANDLE handle, HANDLE event, PIO_APC_ROUTINE ap
|
|||
IO_STATUS_BLOCK *io, ULONG code, void *in_buffer, ULONG in_size,
|
||||
void *out_buffer, ULONG out_size )
|
||||
{
|
||||
ULONG_PTR size = 0;
|
||||
NTSTATUS status;
|
||||
|
||||
TRACE( "(%p,%p,%p,%p,%p,0x%08x,%p,0x%08x,%p,0x%08x)\n",
|
||||
|
@ -6225,7 +6226,7 @@ NTSTATUS WINAPI NtFsControlFile( HANDLE handle, HANDLE event, PIO_APC_ROUTINE ap
|
|||
buffer->StartingVcn.QuadPart = 1;
|
||||
buffer->Extents[0].NextVcn.QuadPart = 0;
|
||||
buffer->Extents[0].Lcn.QuadPart = 0;
|
||||
io->Information = sizeof(RETRIEVAL_POINTERS_BUFFER);
|
||||
size = sizeof(RETRIEVAL_POINTERS_BUFFER);
|
||||
status = STATUS_SUCCESS;
|
||||
}
|
||||
else
|
||||
|
@ -6259,7 +6260,7 @@ NTSTATUS WINAPI NtFsControlFile( HANDLE handle, HANDLE event, PIO_APC_ROUTINE ap
|
|||
memset( info, 0, sizeof(*info) );
|
||||
memcpy( info->ObjectId, &st.st_dev, sizeof(st.st_dev) );
|
||||
memcpy( info->ObjectId + 8, &st.st_ino, sizeof(st.st_ino) );
|
||||
io->Information = sizeof(*info);
|
||||
size = sizeof(*info);
|
||||
}
|
||||
else status = STATUS_BUFFER_TOO_SMALL;
|
||||
break;
|
||||
|
@ -6267,7 +6268,6 @@ NTSTATUS WINAPI NtFsControlFile( HANDLE handle, HANDLE event, PIO_APC_ROUTINE ap
|
|||
|
||||
case FSCTL_SET_SPARSE:
|
||||
TRACE("FSCTL_SET_SPARSE: Ignoring request\n");
|
||||
io->Information = 0;
|
||||
status = STATUS_SUCCESS;
|
||||
break;
|
||||
default:
|
||||
|
@ -6275,7 +6275,8 @@ NTSTATUS WINAPI NtFsControlFile( HANDLE handle, HANDLE event, PIO_APC_ROUTINE ap
|
|||
in_buffer, in_size, out_buffer, out_size );
|
||||
}
|
||||
|
||||
if (!NT_ERROR(status) && status != STATUS_PENDING) io->Status = status;
|
||||
if (!NT_ERROR(status) && status != STATUS_PENDING)
|
||||
file_complete_async( handle, event, apc, apc_context, io, status, size );
|
||||
return status;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue