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


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

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

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

Синтаксис

WINSETUPAPI UINT SetupPromptForDiskA(
  [in]      HWND   hwndParent,
  [in]      PCSTR  DialogTitle,
  [in]      PCSTR  DiskName,
  [in]      PCSTR  PathToSource,
  [in]      PCSTR  FileSought,
  [in]      PCSTR  TagFile,
  [in]      DWORD  DiskPromptStyle,
  [in, out] PSTR   PathBuffer,
  [in]      DWORD  PathBufferSize,
  [in, out] PDWORD PathRequiredSize
);

Параметры

[in] hwndParent

Дескриптор в родительском окне для этого диалогового окна.

[in] DialogTitle

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

[in] DiskName

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

[in] PathToSource

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

[in] FileSought

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

[in] TagFile

Необязательный указатель на строку со значением NULL, указывающую файл тега (только часть имени файла), который определяет наличие определенного тома съемных носителей. Если выбранный в данный момент путь помещается на съемный носитель и указан файл тега, 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. Строка, завершающаяся значением NULL, не должна превышать размер буфера назначения. Вы можете вызвать функцию один раз, чтобы получить требуемый размер буфера, выделить необходимую память, а затем вызвать функцию во второй раз, чтобы получить данные. С помощью этого метода можно избежать ошибок из-за недостаточного размера буфера. См. раздел «Примечания».

[in] PathBufferSize

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

[in, out] PathRequiredSize

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

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

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

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

Комментарии

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

Примечание

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

Требования

Требование Значение
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header setupapi.h
Библиотека Setupapi.lib
DLL Setupapi.dll

См. также

Функции

Обзор

SetupCopyError

SetupDeleteError

SetupRenameError