| 3067 | } |
| 3068 | |
| 3069 | HANDLE WINAPI shCustomFindFirstFileExA(LPCSTR lpFileName, FINDEX_INFO_LEVELS fInfoLevelId, WIN32_FIND_DATAA* lpFindFileData, FINDEX_SEARCH_OPS fSearchOp, LPVOID lpSearchFilter, DWORD dwAdditionalFlags) |
| 3070 | { |
| 3071 | auto raddr = _ReturnAddress(); |
| 3072 | auto ret = mhFindFirstFileExA->get_original<decltype(FindFirstFileExA)>()(lpFileName, fInfoLevelId, lpFindFileData, fSearchOp, lpSearchFilter, dwAdditionalFlags); |
| 3073 | |
| 3074 | if (isRecursive(raddr)) |
| 3075 | return ret; |
| 3076 | |
| 3077 | if (ret != INVALID_HANDLE_VALUE && IsTlsInitialized()) |
| 3078 | { |
| 3079 | if (fInfoLevelId != FindExInfoMaxInfoLevel) |
| 3080 | { |
| 3081 | mFindFileDirsA[ret] = lpFileName; |
| 3082 | FindFileCheckOverloadedPath(lpFileName, lpFindFileData, lpFindFileData->cFileName); |
| 3083 | } |
| 3084 | } |
| 3085 | |
| 3086 | return ret; |
| 3087 | } |
| 3088 | |
| 3089 | HANDLE WINAPI shCustomFindFirstFileExW(LPCWSTR lpFileName, FINDEX_INFO_LEVELS fInfoLevelId, WIN32_FIND_DATAW* lpFindFileData, FINDEX_SEARCH_OPS fSearchOp, LPVOID lpSearchFilter, DWORD dwAdditionalFlags) |
| 3090 | { |
nothing calls this directly
no test coverage detected