windows api一日一練(dbghelp sdk)-002-MakeSureDirectoryPathExists,SearchTreeForFile
分類:General
函式:
MakeSureDirectoryPathExists: 建立目錄,可一次建立多層目錄結構,很方便的函式
SearchTreeForFile:搜尋檔案並返回路徑
――――――――下面是程式碼和註釋――――――――――――――――――――
MakeSureDirectoryPathExists("E://dbghelp_study//DbgHelpFunctions//debug3//");
注意引數最後要有’/’,成功返回t
SearchTreeForFile("e://","DbgHelpFunctions.sln",szBuf);
找到就返回t,並且路徑被填充進buf,否則返回是f
上面的函式還可以註冊回撥,回撥的樣子是這樣的:
BOOL CALLBACK MySymRegisterCallbackProc64( // 函式名隨意換
HANDLE hProcess,// 4個引數都是系統傳進來的
ULONG ActionCode,// 這個是CBA_DEFERRED_SYMBOL_LOAD_CANCEL=0x00000007
ULONG64 CallbackData,// 這個是0,無用
ULONG64 UserContext) // 這個是在外面註冊回撥時候設定的上下文
{
// LPAPI_VERSION p = (LPAPI_VERSION)UserContext;
return FALSE;
}
是使用這個函式註冊:
SymRegisterCallback64(hProcess,MySymRegisterCallbackProc64,(ULONG64)pVer);
Pver是個上下文引數,型別可以隨意,但要轉為ulong,這樣在回撥函式在被呼叫的時候上下文就能被傳進到MySymRegisterCallbackProc64裡了。
註冊回撥要在SearchTreeForFile執行之前,這樣在搜尋的時候,系統會每個資料夾都回撥一次定義的函式,方便在搜尋時由於時間可能很長造成的延遲。比如可以寫一些程式碼當搜尋n個資料夾之後cancel掉。
回撥中的返回值是f時候則搜尋函式繼續搜,為t就stop了
我在想如果要收集一個path下的多個子目錄中同一個名字的檔案,這個函式能不能用上呢?
相關文章
- windows api一日一練(dbghelp sdk)-004-FindExecutableImage,FindExecutableImageExWindowsAPIIndex
- windows api一日一練(dbghelp sdk)-001-ImagehlpApiVersion,ImagehlpApiVersionExWindowsAPI
- windows api一日一練(dbghelp sdk)-003-EnumerateLoadedModules64,EnumerateLoadedModulesExWindowsAPI
- API 和 SDKAPI
- API-SDKAPI
- 關於Platform SDK和Windows SDKPlatformWindows
- 統一日誌管理
- 十一月一日
- Cherry-Pick | 一日一 GitGit
- Autodesk View and Data API練練手ViewAPI
- 【成功智慧】014.一日復一日的度過難關
- SDK和API的區別?API
- 利用Spring Boot實現微服務的API閘道器統一日誌Spring Boot微服務API
- Dart語言一日遊Dart
- 短視訊SDK,直播SDK,美顏SDK_提供開放API介面API
- Golang一日一庫之logrusGolang
- 一日一碼01——氣泡排序排序
- Golang一日一庫之gjsonGolangJSON
- 在JavaScript SDK裡使用SoundCloud APIJavaScriptCloudAPI
- Golang 一日一庫之jwt-goGolangJWT
- Windows API 之 Windows ServiceWindowsAPI
- Windows10 使用 Tensorflow Object_detection API 訓練自己的資料WindowsObjectAPI
- [擴充套件分享] 多多客 API SDK套件API
- 【擴充套件分享】多多客 API SDK套件API
- RocketMQ 5.0 API 與 SDK 的演進MQAPI
- 高德地圖 API 介面封裝 SDK地圖API封裝
- java面試一日一題:如何優化sqlJava面試優化SQL
- Golang一日一庫之 日誌庫 zapGolang
- Windows sdk程式設計筆記Windows程式設計筆記
- Windows SDK程式設計之一 視窗示例程式 (轉)Windows程式設計
- java面試一日一題:java執行緒池Java面試執行緒
- python 呼叫通義千問SDK APIPythonAPI
- 各種API+教程+練習API
- Windows Phone SDK 8/8.1 官方下載Windows
- 如何基於 ZEGO SDK 實現 Windows 一對一音視訊聊天應用GoWindows
- java面試一日一題:講下mysql中的索引Java面試MySql索引
- java面試一日一題:java中的垃圾回收器Java面試
- 介紹一個 EOS 區塊鏈 RPC API 介面的 PHP SDK 包區塊鏈RPCAPIPHP