114 lines
6.0 KiB
HTML
114 lines
6.0 KiB
HTML
; =============================================================================
|
||
; SharedFolder Constants (VirtualBox HGCM)
|
||
; =============================================================================
|
||
|
||
; =========================================
|
||
; Функции службы Shared Folders (SHFL_FN_*)
|
||
; =========================================
|
||
SHFL_FN_QUERY_MAPPINGS equ 1 ; Запросить список подключенных папок
|
||
SHFL_FN_QUERY_MAP_NAME equ 2 ; Запросить имя подключения по индексу
|
||
SHFL_FN_CREATE equ 3 ; Создать файл/каталог
|
||
SHFL_FN_CLOSE equ 4 ; Закрыть дескриптор
|
||
SHFL_FN_READ equ 5 ; Чтение из файла
|
||
SHFL_FN_WRITE equ 6 ; Запись в файл
|
||
SHFL_FN_LOCK equ 7 ; Блокировка файла
|
||
SHFL_FN_LIST equ 8 ; Получить содержимое каталога
|
||
SHFL_FN_INFORMATION equ 9 ; Получить/установить информацию о файле
|
||
SHFL_FN_UNUSED_10 equ 10 ; (Зарезервировано)
|
||
SHFL_FN_REMOVE equ 11 ; Удалить файл/каталог
|
||
SHFL_FN_MAP_FOLDER_OLD equ 12 ; Устаревшее подключение папки (не использовать)
|
||
SHFL_FN_UNMAP_FOLDER equ 13 ; Отключить папку
|
||
SHFL_FN_RENAME equ 14 ; Переименовать/переместить
|
||
SHFL_FN_FLUSH equ 15 ; Сбросить кэш файла на диск
|
||
SHFL_FN_SET_UTF8 equ 16 ; Включить режим UTF-8 (0 параметров)
|
||
SHFL_FN_MAP_FOLDER equ 17 ; Подключить папку
|
||
SHFL_FN_READLINK equ 18 ; Прочитать символьную ссылку
|
||
SHFL_FN_SYMLINK equ 19 ; Создать символьную ссылку
|
||
SHFL_FN_SET_SYMLINKS equ 20 ; Разрешить/запретить симлинки (0 параметров)
|
||
SHFL_FN_SET_FILE_SIZE equ 24 ; Установить размер файла (усечь/расширить)
|
||
|
||
; Флаги для SHFL_FN_REMOVE
|
||
SHFL_REMOVE_FILE equ 0x01 ; Удалить файл
|
||
SHFL_REMOVE_DIR equ 0x02 ; Удалить каталог
|
||
SHFL_REMOVE_SYMLINK equ 0x04 ; Удалить символьную ссылку
|
||
|
||
; Флаги для SHFL_FN_RENAME
|
||
SHFL_RENAME_FILE equ 0x01 ; Переименовать файл
|
||
SHFL_RENAME_DIR equ 0x02 ; Переименовать каталог
|
||
SHFL_RENAME_REPLACE_IF_EXISTS equ 0x04 ; Заменить если существует
|
||
|
||
; Флаги для операции LIST (используются в SHFL_LIST_PARMS.Flags)
|
||
; ==============================================================
|
||
SHFL_LIST_NONE equ 0x00000000 ; Базовый листинг
|
||
SHFL_LIST_RETURN_ONE equ 0x00000001 ; Вернуть только первую запись
|
||
SHFL_LIST_RESTART equ 0x00000002 ; Начать перебор заново
|
||
SHFL_LIST_SIZE_RETURNED equ 0x00000004 ; В SizeReturned реальный размер данных
|
||
|
||
; Лимиты
|
||
; ======
|
||
SHFL_MAX_MAPPINGS equ 10 ; Максимальное число подключенных папок
|
||
SHFL_MAX_NAME_LEN equ 256 ; Макс. длина имени в символах
|
||
SHFL_MAX_PATH_LEN equ 4096 ; Макс. длина пути в байтах (включая UTF-8)
|
||
|
||
; Флаги создания/открытия файлов - SHFL_CF_*
|
||
; ======================================================================
|
||
; SHFL_CF_* — CreateFlags для SHFL_FN_CREATE (из shflsvc.h)
|
||
; ======================================================================
|
||
SHFL_CF_NONE equ 0x00000000
|
||
|
||
; Бит 0: Lookup only
|
||
SHFL_CF_LOOKUP equ 0x00000001
|
||
|
||
; Бит 1: Open target directory
|
||
SHFL_CF_OPEN_TARGET_DIRECTORY equ 0x00000002
|
||
|
||
; Бит 2: Object is a directory
|
||
SHFL_CF_DIRECTORY equ 0x00000004
|
||
|
||
; Биты 4..7: Action if file EXISTS
|
||
SHFL_CF_ACT_MASK_IF_EXISTS equ 0x000000F0
|
||
SHFL_CF_ACT_OPEN_IF_EXISTS equ 0x00000000 ; Open existing
|
||
SHFL_CF_ACT_FAIL_IF_EXISTS equ 0x00000010 ; Fail if exists
|
||
SHFL_CF_ACT_REPLACE_IF_EXISTS equ 0x00000020 ; Replace (truncate)
|
||
SHFL_CF_ACT_OVERWRITE_IF_EXISTS equ 0x00000030 ; Overwrite
|
||
|
||
; Биты 8..11: Action if file is NEW
|
||
SHFL_CF_ACT_MASK_IF_NEW equ 0x00000F00
|
||
SHFL_CF_ACT_CREATE_IF_NEW equ 0x00000000 ; Create new file
|
||
SHFL_CF_ACT_FAIL_IF_NEW equ 0x00000100 ; Fail if doesn't exist
|
||
|
||
; Биты 12..13: Access mode (read/write)
|
||
SHFL_CF_ACCESS_MASK_RW equ 0x00003000
|
||
SHFL_CF_ACCESS_NONE equ 0x00000000
|
||
SHFL_CF_ACCESS_READ equ 0x00001000
|
||
SHFL_CF_ACCESS_WRITE equ 0x00002000
|
||
SHFL_CF_ACCESS_READWRITE equ 0x00003000
|
||
|
||
; Биты 14..15: Deny mode (sharing)
|
||
SHFL_CF_ACCESS_MASK_DENY equ 0x0000C000
|
||
SHFL_CF_ACCESS_DENYNONE equ 0x00000000
|
||
SHFL_CF_ACCESS_DENYREAD equ 0x00004000
|
||
SHFL_CF_ACCESS_DENYWRITE equ 0x00008000
|
||
SHFL_CF_ACCESS_DENYALL equ 0x0000C000
|
||
|
||
; Биты 16..17: Attribute access
|
||
SHFL_CF_ACCESS_MASK_ATTR equ 0x00030000
|
||
SHFL_CF_ACCESS_ATTR_NONE equ 0x00000000
|
||
SHFL_CF_ACCESS_ATTR_READ equ 0x00010000
|
||
SHFL_CF_ACCESS_ATTR_WRITE equ 0x00020000
|
||
SHFL_CF_ACCESS_ATTR_READWRITE equ 0x00030000
|
||
|
||
; Бит 18: Append mode
|
||
SHFL_CF_ACCESS_APPEND equ 0x00040000
|
||
|
||
; ======================================================================
|
||
; SHFLCREATERESULT — результат CREATE
|
||
; ======================================================================
|
||
SHFL_NO_RESULT equ 0
|
||
SHFL_PATH_NOT_FOUND equ 1
|
||
SHFL_FILE_NOT_FOUND equ 2
|
||
SHFL_FILE_EXISTS equ 3
|
||
SHFL_FILE_CREATED equ 4
|
||
SHFL_FILE_REPLACED equ 5
|
||
|