26 #ifndef FREERDP_CHANNEL_DRIVE_CLIENT_FILE_H
27 #define FREERDP_CHANNEL_DRIVE_CLIENT_FILE_H
29 #include <winpr/stream.h>
30 #include <winpr/file.h>
31 #include <freerdp/channels/log.h>
33 #define TAG CHANNELS_TAG("drive.client")
42 const WCHAR* basepath;
45 UINT32 FileAttributes;
48 UINT32 CreateDisposition;
52 DRIVE_FILE* drive_file_new(
const WCHAR* base_path,
const WCHAR* path, UINT32 PathWCharLength,
53 UINT32
id, UINT32 DesiredAccess, UINT32 CreateDisposition,
54 UINT32 CreateOptions, UINT32 FileAttributes, UINT32 SharedAccess);
58 BOOL drive_file_seek(
DRIVE_FILE* file, UINT64 Offset);
59 BOOL drive_file_read(
DRIVE_FILE* file, BYTE* buffer, UINT32* Length);
60 BOOL drive_file_write(
DRIVE_FILE* file,
const BYTE* buffer, UINT32 Length);
61 BOOL drive_file_query_information(
DRIVE_FILE* file, UINT32 FsInformationClass,
wStream* output);
62 BOOL drive_file_set_information(
DRIVE_FILE* file, UINT32 FsInformationClass, UINT32 Length,
64 BOOL drive_file_query_directory(
DRIVE_FILE* file, UINT32 FsInformationClass, BYTE InitialQuery,
65 const WCHAR* path, UINT32 PathWCharLength,
wStream* output);