/// <summary> /// Not extern /// </summary> internal static SafeFindHandle FindFirstFileTransactedW(string lpFileName, SafeKernelTransactionHandle kernelTxHandle, out WIN32_FIND_DATA lpFindFileData) { return FindFirstFileTransactedW(lpFileName, FINDEX_INFO_LEVELS.FindExInfoStandard, out lpFindFileData, FINDEX_SEARCH_OPS.FindExSearchNameMatch, IntPtr.Zero, 0, kernelTxHandle); }
internal static extern SafeFindHandle FindFirstFile(string lpFileName, out WIN32_FIND_DATA lpFindFileData);
public static extern bool FindNextFile(SafeFindHandle hFindFile, out WIN32_FIND_DATA lpFindFileData);
private static SafeFindHandle BeginFind(string normalizedPathWithSearchPattern, out WIN32_FIND_DATA findData) { var handle = NativeMethods.FindFirstFile(normalizedPathWithSearchPattern, out findData); if (handle.IsInvalid) { var errorCode = Marshal.GetLastWin32Error(); if (errorCode != NativeMethods.ERROR_FILE_NOT_FOUND) throw LongPathCommon.GetExceptionFromWin32Error(errorCode); return null; } return handle; }