Поделиться через


Функция SetupPromptForDiskW (setupapi.h)

[Эта функция доступна для использования в операционных системах, указанных в разделе "Требования". Он может быть изменен или недоступен в последующих версиях. SetupAPI больше не следует использовать для установки приложений. Вместо этого используйте установщик Windows для разработки установщиков приложений. SetupAPI по-прежнему используется для установки драйверов устройств.]

Функция SetupPromptForDisk отображает диалоговое окно с запросом пользователя на диск.

Синтаксис

WINSETUPAPI UINT SetupPromptForDiskW(
  [in]      HWND   hwndParent,
  [in]      PCWSTR DialogTitle,
  [in]      PCWSTR DiskName,
  [in]      PCWSTR PathToSource,
  [in]      PCWSTR FileSought,
  [in]      PCWSTR TagFile,
  [in]      DWORD  DiskPromptStyle,
  [in, out] PWSTR  PathBuffer,
  [in]      DWORD  PathBufferSize,
  [in, out] PDWORD PathRequiredSize
);

Параметры

[in] hwndParent

Обработайте родительское окно для этого диалогового окна.

[in] DialogTitle

Необязательный указатель на строку null-terminated, указывающую заголовок диалогового окна. Если этот параметр null, используется значение по умолчанию "%s--Files Needed" (локализовано). Значение "%s" заменяется текстом, полученным из родительского окна. Если текст не извлекается из родительского окна, то заголовок "Необходимые файлы".

[in] DiskName

Необязательный указатель на строку null-terminated, указывающую имя диска для вставки. Если этот параметр null, используется значение по умолчанию "(Неизвестно)" (локализованное).

[in] PathToSource

Необязательный указатель на строку null-endd, указывающую часть пути ожидаемого расположения файла, например F:\x86. Если это не указано, используется путь, в котором используется SetupPromptForDisk последнее расположение файла. Если этот список пуст, используется системное значение по умолчанию.

[in] FileSought

Указатель на строку null-terminated, указывающую имя нужного файла (только часть имени файла). Имя файла отображается, если пользователь нажимает кнопку "Обзор". Эта подпрограмма ищет файл с помощью сжатых имен форм; поэтому вы можете передать cmd.exe и не беспокоиться о том, что файл фактически существует как cmd.ex_ на исходном носителе.

[in] TagFile

Необязательный указатель на строку null-terminated, указывающую файл тега (только часть имени файла), который определяет наличие определенного тома съемных носителей. Если выбранный в данный момент путь поместит файл на съемный носитель, а файл тега указан, SetupPromptForDisk ищет файл тега в корне диска, чтобы определить, следует ли продолжать работу.

Например, если PathToSource имеет значение A:\x86, файл тега — disk1.tag, а типы пользователей B:\x86 в элементе управления редактированием диалогового окна запроса, подпрограмма ищет B:\disk1.tag, чтобы определить, следует ли продолжать. Если файл тега не найден, функция ищет файл тегов с помощью PathToSource.

Если файл тега не указан, съемный носитель работает так же, как несъемный носитель и FileSought ищется перед продолжением.

[in] DiskPromptStyle

Указывает поведение диалогового окна. Этот параметр может быть сочетанием следующих флагов.

IDF_CHECKFIRST

Проверьте наличие файла или диска перед отображением диалогового окна запроса и, если оно присутствует, вернитесь DPROMPT_SUCCESS немедленно.

IDF_NOBEEP

Не допустить, чтобы диалоговое окно отображалось, чтобы получить внимание пользователя при первом появлении.

IDF_NOBROWSE

Не отображайте параметр обзора.

IDF_NOCOMPRESSED

Не проверяйте сжатые версии исходного файла.

IDF_NODETAILS

Не отображайте подробные сведения.

IDF_NOFOREGROUND

Запретить диалоговому окну стать окном переднего плана.

IDF_NOSKIP

Не отображайте параметр пропуска.

IDF_OEMDISK

Запрос диска, предоставленного производителем оборудования.

IDF_WARNIFSKIP

Предупреждать пользователя о том, что пропуск файла может повлиять на установку.

[in, out] PathBuffer

Необязательный указатель на буфер, который после возврата получает путь (без имени файла) расположения, указанного пользователем через диалоговое окно. Следует использовать строку null-terminated. Строка null-terminated не должна превышать размер целевого буфера. Вы можете вызвать функцию один раз, чтобы получить необходимый размер буфера, выделить необходимую память, а затем вызвать функцию во второй раз, чтобы получить данные. С помощью этого метода можно избежать ошибок из-за недостаточного размера буфера. См. раздел "Примечания".

[in] PathBufferSize

Размер буфера, на который указывает PathBuffer, в символах. Это должно быть по крайней мере MAX_PATH длину. Это включает в себя null конца.

[in, out] PathRequiredSize

Необязательный указатель на переменную, которая получает требуемый размер для PathBuffer, в символах. Это включает в себя null конца.

Возвращаемое значение

Функция возвращает одно из следующих значений.

Чтобы получить расширенные сведения об ошибке, вызовите GetLastError.

Замечания

Если эта функция вызывается с PathBufferNULL и PathBufferSize нуля, функция помещает размер буфера, необходимый для хранения указанных данных в переменную, на которую указывает PathRequiredSize. Если функция выполнена успешно, возвращаемое значение NO_ERROR. В противном случае возвращаемое значение является одним из значений, описанных в разделе "Возвращаемые значения".

Заметка

Заголовок setupapi.h определяет SetupPromptForDisk в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows XP [только классические приложения]
минимальный поддерживаемый сервер Windows Server 2003 [только классические приложения]
целевая платформа Виндоус
заголовка setupapi.h
библиотеки Setupapi.lib
DLL Setupapi.dll

См. также

Функции

Обзор

SetupCopyError

SetupDeleteError

SetupRenameError