FindClose() private méthode

private FindClose ( [ handle ) : bool
handle [
Résultat bool
        // TODO - BCL match - add overload that has a 'searchOption' argument
        public static string[] GetFiles(string path, string searchPattern)
        {
            using (TransactionScope scope = new TransactionScope())
                using (KtmTransactionHandle ktmTx = KtmTransactionHandle.CreateKtmTransactionHandle())
                {
                    string dirSpec = System.IO.Path.Combine(path, searchPattern);

                    NativeMethods.WIN32_FIND_DATA findFileData;
                    SafeFileHandle hFind = FindFirstFileTransacted(dirSpec, ktmTx, out findFileData);
                    try
                    {
                        List <string> files = new List <string>();

                        // List all the other files in the directory.
                        do
                        {
                            files.Add(findFileData.cFileName);
                        }while (NativeMethods.FindNextFile(hFind, out findFileData));
                        int error = Marshal.GetLastWin32Error();

                        if (error != NativeMethods.ERROR_NO_MORE_FILES)
                        {
                            NativeMethods.HandleCOMError(error);
                        }

                        scope.Complete();
                        return(files.ToArray());
                    }
                    finally
                    {
                        // Ignore failures from this api just as the BCL does...
                        NativeMethods.FindClose(hFind);
                    }
                }
        }