Функция SHPathPrepareForWriteA (shlobj_core.h)
Проверяет, существует ли путь. К ним относятся повторное подключение сопоставленных сетевых дисков, запрос на повторное создание носителя, создание путей, запрос форматирования носителя и предоставление соответствующих пользовательских интерфейсов при необходимости. Разрешения на чтение и запись для носителя не проверяются.
Синтаксис
SHSTDAPI SHPathPrepareForWriteA(
[in, optional] HWND hwnd,
[in, optional] IUnknown *punkEnableModless,
[in] LPCSTR pszPath,
DWORD dwFlags
);
Параметры
[in, optional] hwnd
Тип: HWND
Дескриптор окна, указывающего родительское окно, которое будет использоваться для всех окон пользовательского интерфейса, которые необходимо создать. Если задано значение NULL, окна пользовательского интерфейса не создаются.
[in, optional] punkEnableModless
Тип: IUnknown*
Указатель на интерфейс
[in] pszPath
Тип: LPCTSTR
Указатель на строку, завершающуюся значением NULL, максимальную длину MAX_PATH, указывающую путь, который необходимо проверить как допустимый для записи. Это может быть UNC-путь или путь к файлу.
dwFlags
Тип: DWORD
Флаги, определяющие параметры поведения. Этот параметр может быть сочетанием следующих значений.
SHPPFW_NONE
Не создавайте новые каталоги.
SHPPFW_DEFAULT
По умолчанию. Не запрашивайте пользователя, если необходимо создать каталог. Это идентично SHPPFW_DIRCREATE. Не пропускайте SHPPFW_ASKDIRCREATE.
SHPPFW_DIRCREATE
Создайте каталоги без запроса пользователя. Не пропускайте SHPPFW_ASKDIRCREATE.
SHPPFW_ASKDIRCREATE
Предложите пользователю перед созданием каталогов. Не пропускайте SHPPFW_DIRCREATE.
SHPPFW_IGNOREFILENAME
Последний элемент в pszPath — это имя файла, поэтому игнорировать. Например, если pszPath="C:\MyDir\MyFile.doc", используйте только "C:\MyDir". Если pszPath="C:\MyFirDir\MySecDir", используйте только C:\MyFirDir.
SHPPFW_NOWRITECHECK
В настоящее время не реализовано.
SHPPFW_MEDIACHECKONLY
Windows XP или более поздней версии. Подавляет окно сообщения об ошибке "недоступен", которое отображается при сбое, отличном от отмены пользователя, и не NULL.
Возвращаемое значение
Тип: HRESULT
Возвращает S_OK, если путь доступен или код ошибки в противном случае. Обратите внимание, что возвращаемое значение S_OK не означает, что среда является записываемой; это просто означает, что путь доступен.
Замечания
Основное использование этой функции заключается в том, чтобы программа проверяла путь перед его использованием и отображала необходимый пользовательский интерфейс для запроса пользователя. Например, если диск на диске A отсутствует, появится окно, которое предложит пользователю вставить диск.
Заметка
Заголовок shlobj_core.h определяет SHPathPrepareForWrite как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows 2000 Профессиональный [только классические приложения] |
минимальный поддерживаемый сервер | Windows 2000 Server [только классические приложения] |
целевая платформа | Виндоус |
заголовка | shlobj_core.h (include Shlobj.h, Shlobj_core.h) |
библиотеки |
Shell32.lib |
DLL | Shell32.dll (версия 5.0 или более поздняя версия) |