Implement attribute info query.

This commit is contained in:
Michael Jumper 2013-10-22 18:19:30 -07:00
parent 22d0e496f5
commit 655cb8e9f2
2 changed files with 19 additions and 3 deletions

View File

@ -125,6 +125,12 @@
#define FILE_ATTRIBUTE_DIRECTORY 0x00000010 #define FILE_ATTRIBUTE_DIRECTORY 0x00000010
#define FILE_ATTRIBUTE_NORMAL 0x00000080 #define FILE_ATTRIBUTE_NORMAL 0x00000080
/*
* Filesystem attributes.
*/
#define FILE_UNICODE_ON_DISK 0x00000004
#define SEC_TO_UNIX_EPOCH 11644473600 #define SEC_TO_UNIX_EPOCH 11644473600
/** /**

View File

@ -85,9 +85,19 @@ void guac_rdpdr_fs_process_query_device_info(guac_rdpdr_device* device, wStream*
void guac_rdpdr_fs_process_query_attribute_info(guac_rdpdr_device* device, wStream* input_stream, void guac_rdpdr_fs_process_query_attribute_info(guac_rdpdr_device* device, wStream* input_stream,
int file_id, int completion_id) { int file_id, int completion_id) {
/* STUB */
guac_client_log_error(device->rdpdr->client, wStream* output_stream = guac_rdpdr_new_io_completion(device,
"Unimplemented stub: guac_rdpdr_fs_query_attribute_info"); completion_id, STATUS_SUCCESS, 16 + GUAC_FILESYSTEM_NAME_LENGTH);
Stream_Write_UINT32(output_stream, 12 + GUAC_FILESYSTEM_NAME_LENGTH);
Stream_Write_UINT32(output_stream, FILE_UNICODE_ON_DISK); /* FileSystemAttributes */
Stream_Write_UINT32(output_stream, GUAC_RDPDR_FS_MAX_PATH ); /* MaximumComponentNameLength */
Stream_Write_UINT32(output_stream, GUAC_FILESYSTEM_NAME_LENGTH);
Stream_Write(output_stream, GUAC_FILESYSTEM_NAME,
GUAC_FILESYSTEM_NAME_LENGTH);
svc_plugin_send((rdpSvcPlugin*) device->rdpdr, output_stream);
} }
void guac_rdpdr_fs_process_query_full_size_info(guac_rdpdr_device* device, wStream* input_stream, void guac_rdpdr_fs_process_query_full_size_info(guac_rdpdr_device* device, wStream* input_stream,