↑  ←  Описание функции


_WIM_MountImage

Монтирует wim-образ в указанный каталог.

#Include <wimgapi.au3>
_WIM_MountImage ( $sMountPath, $sWimFileName, $dwImageIndex [, $sTempPath = 0 ] )

Параметры

$sMountPath Полный путь к каталогу, в который wim-файл должен быть смонтирован
$sWimFileName Полный путь к wim-файлу, образ которого должен быть смонтирован
$dwImageIndex Индекс образа в wim-файле, который должен быть смонтирован
$sTempPath [необязательный] Полный путь к временному каталогу, в котором отслеживаются изменения wim-файла. Если этот параметр равен 0, образ не будет смонтирован с возможностью изменения.

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

Успех:Возвращает 1
Ошибка:Возвращает 0 и устанавливает @error:
@error:1 - Не удалось использовать DLL файл
2 - Неизвестный тип возвращаемого значения
3 - Не найдена функция в DLL файле
4 - Не верное число параметров
В обоих случаях @extended равен _WinAPI_GetLastError()

Примечания

Функция _WIM_MountImage() проецирует содержимое образа wim-файла в указанный каталог монтирования. После успешного завершения этой операции, пользователи и приложения могут получить доступ к содержимому образа, отображаемого в каталоге монтирования. Используйте функцию _WIM_UnMountImage(), чтобы демонтировать образ, отключив его от каталога, в который он был смонтирован.

См. также

_WIM_UnMountImage

Пример

#include <wimgapi.au3>

Local $hWim, $hImage, $sPath, $sWimPath

$sWimPath = FileOpenDialog('Выбрать файл-образ', @WorkingDir, 'Образ (*.wim)', 3, 'install.wim')
If @error Then Exit

$sPath = FileSelectFolder('Выбрать папку, в которую монтировать', '', 3, @WorkingDir)
If @error Then Exit

$aResult = _WIM_Startup() ; Открывает wimgapi.dll
If @error Then Exit MsgBox(0, 'Сообщение', 'Ошибка открытия wimgapi.dll')

; Открывает существующий wim-файл
$hWim = _WIM_CreateFile($sWimPath, $WIM_GENERIC_READ, $WIM_OPEN_EXISTING, $WIM_FLAG_SHARE_WRITE, $WIM_COMPRESS_LZX)
If $hWim Then
    MsgBox(0, 'Сообщение', 'Дескриптор wim-файла $hWim = ' & $hWim)
Else
    MsgBox(0, 'Сообщение', 'Ошибка создания wim-файла')
    _Exit()
EndIf
; Монтирует образ
$iFlag = _WIM_MountImage($sPath, $sWimPath, 1)
If $iFlag Then
    MsgBox(0, 'Сообщение', 'Удачно смонтирован = ' & $iFlag)
Else
    MsgBox(0, 'Сообщение', 'Неудача _WIM_MountImage')
    _Exit()
EndIf
$iFlag = _WIM_UnMountImage($sPath, $sWimPath, 1)
If $iFlag Then
    MsgBox(0, 'Сообщение', 'Удачно демонтирован = ' & $iFlag)
Else
    MsgBox(0, 'Сообщение', 'Неудача _WIM_UnMountImage')
EndIf
_Exit()

Func _Exit()
    If $hImage Then _WIM_CloseHandle($hImage) ; Закрывает открытый дескриптор
    If $hWim Then _WIM_CloseHandle($hWim) ; Закрывает открытый дескриптор
    _WIM_Shutdown() ; Выгружает wimgapi.dll
    Exit
EndFunc