윈 도 우 wimgapi.dll PB에서 사용할 때 함수 인수들...
2024.03.27 14:13
질문도 어떻게 올려야할지 잘 모르겠습니다.
사용 방법을 몰라서 일일히 하나씩 해보고 있긴한데
첨엔 라이브러리 어떻게 생겼나 보려고 Visual Studio를 설치해봤는데 소스코드는 안보여줘서
(아... 지금 질문하다보니... dumpbin 는 안해봤네요... 후딱 질문 던지고 나가야해서...)
이 함수들을 활용하려면 함수의 인수들을 대체 어떻게 봐야할지.... 일단 , , , , , 닥치는대로 찍고 에러 메시지에 따라서
추측해서 1, "" , 이런식으로 바꿔서 넣어보고 하나씩 끼워맞춰가면서 찾고있는 중입니다.
아래 입**님의 소스로 필요한 부분은 활용을 했는데
-------------------------------------------------------------------------
Procedure.l WIMGetImageCount(sWimFileFullPath.s)
Protected pdwCreationResult.l = 0, ImageCount.l = 0
Protected hDLL.l = OpenLibrary(#PB_Any, "WimGapi.dll")
If hDLL
Protected HANDLE_hWim = CallFunction(hDLL, "WIMCreateFile", @sWimFileFullPath, #GENERIC_READ, #OPEN_EXISTING, 0, 0, @pdwCreationResult)
ImageCount.l = CallFunction(hDLL, "WIMGetImageCount", HANDLE_hWim)
CloseLibrary(hDLL)
EndIf
ProcedureReturn ImageCount
EndProcedure
;디버그로 확인. 0이면 문제가 있는 wim 파일로 보면 됨.
Debug WIMGetImageCount("C:\11_PE\Builder_boot.wim")
------------------------------------------------------------------------------------
아래 것들은 어디서 찾은건지는 몰겠는데 wimgapi.dll에 있는 함수들이라고 하네요
DllCanUnloadNow
DllMain
WIMAddImagePath
WIMAddImagePaths
WIMAddWimbootEntry
WIMApplyImage
WIMCaptureImage
WIMCloseHandle
WIMCommitImageHandle
WIMCopyFile
WIMCreateFile
WIMCreateImageFile
WIMCreateWofCompressedFile
WIMDeleteImage
WIMDeleteImageMounts
WIMEnumImageFiles
WIMExportImage
WIMExtractImageDirectory
WIMExtractImagePath
WIMFindFirstImageFile
WIMFindNextImageFile
WIMGetAttributes
WIMGetImageCount
WIMGetImageInformation
WIMGetMessageCallbackCount
WIMGetMountedImageHandle
WIMGetMountedImageInfo
WIMGetMountedImageInfoFromHandle
WIMGetMountedImages
WIMGetWIMBootEntries
WIMGetWIMBootWIMPath
WIMInitFileIOCallbacks
WIMInitializeWofDriver
WIMIsCurrentSystemWimboot
WIMIsReferenceWim
WIMLoadImage
WIMMountImage
WIMMountImageHandle
WIMProcessCustomImage
WIMReadFileEx
WIMReadImageFile
WIMRedirectFolderBeforeApply
WIMRegisterLogFile
WIMRegisterMessageCallback
WIMRemountImage
WIMSetBootImage
WIMSetFileIOCallbackTemporaryPath
WIMSetImageInformation
WIMSetImageUserSpecifiedCreationTime
WIMSetReferenceFile
WIMSetTemporaryPath
WIMSetWimGuid
WIMSingleInstanceFile
WIMSplitFile
WIMUnmountImage
WIMUnmountImageHandle
WIMUnregisterLogFile
WIMUnregisterMessageCallback
WIMUpdateWIMBootEntry
WIMWriteFileWithIntegrity
---------------------------------------------------
handle = OpenLibrary(#PB_Any, "wimgapi.dll")
If handle
aa = GetFunction(handle, "WIMWriteFileWithIntegrity")
If aa
Debug "Success"
Else
Debug "Fail!"
EndIf
CloseLibrary(handle)
Else
Debug "Open Fail!"
EndIf
저 각각의 함수를 하나씩 간단하게 활용을 해서 사용법을 익혀보려고 하는데... 하나 하나가 인수가 몇개인지 모르니까 하나씩 하나씩
첨에 말한대로 ,, , , , , 여러개 찍어보고 에러보고 숫자 추측해서 끼워맞추는 노가다를 하고 있습니다.
일단 여기까지.... 나가야댐
https://windowsforum.kr/lecture/20548901