Программирование на C++ глазами хакера


Работа с ресурсами сетевого окружения - часть 2


Общий вид UNC-имени выглядит следующим образом:

\\компьютер\имя\путь

Имя начинается с двойной косой черты (\\). Затем идет имя компьютера или сервера, на котором расположен объект, имя — это имя сетевой папки. После этого нужно указать путь к объекту.

Допустим, что у вас есть компьютер Тоm, на котором открыта для общего доступа папка Sound. В этой папке есть файл MySound.wav. Для доступа к этому файлу необходимо использовать UNC-имя: \\Tom\Sound\MySound.wav.

В листинге 4.1 приведен пример создания файла в открытой папке компьютера с именем Notebook.

Листинг 4.1. Пример создания файла в открытой папке другого компьютера
void CreateNetFile() { HANDLE FileHandle; DWORD BWritten;

// Create file \\notebook\temp\myfile.txt // Создание файла \\notebook\temp\myfile.txt if ((FileHandle = CreateFile("\\\\notebook\\temp\\myfile.txt", GENERIC_WRITE | GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL )) == INVALID_HANDLE_VALUE) { MessageBox(0, "Create file error", "Error",0); return; }

// Write to file 9 symbols // (Записать в файл 9 символов) if (WriteFile(FileHandle, "Test line", 9, &BWritten, NULL)== 0) { MessageBox(0, "Write to file error", "Error",0); return; }

// Close file (Закрыть файл) CloseHandle(FileHandle); }

Для начала создается файл с помощью стандартной WinAPI -функции CreateFile . У этой функции следующие параметры:

  • путь к создаваемому файлу;
  • режим доступа — файл открыт для чтения (GENERIC_READ) и записи (GENERIC_WRITE);
  • режим доступа к открытому файлу другим профаммам — другим приложениям разрешено чтение (FILE_SHARE_READ) и запись (FILE_SHARE_WRITE);
  • атрибуты безопасности — не использованы (NULL);
  • способ открытия файла — всегда создавать (CREATE_ALWAYS), если файл уже существует, то данные будут перезаписаны;
  • атрибуты создаваемого файла — нормальное состояние файла (FILE_ATTRIBUTE_NORMAL);
  • указатель на шаблон, который будет использоваться при создании файла.



  • Начало  Назад  Вперед



    Книжный магазин