[This is preliminary documentation and is subject to change.]
Assembly: Tools.TotalCommander (in Tools.TotalCommander.dll) Version: 1.5.3.38916 (1.5.3.38916)
Syntax
| C# |
|---|
[EditorBrowsableAttribute(EditorBrowsableState.Never)] [CLSCompliantAttribute(false)] public void* FsFindFirst( sbyte* Path, _WIN32_FIND_DATAW* FindData ) |
| Visual Basic |
|---|
<EditorBrowsableAttribute(EditorBrowsableState.Never)> _ <CLSCompliantAttribute(False)> _ Public Function FsFindFirst ( _ Path As SByte*, _ FindData As _WIN32_FIND_DATAW* _ ) As Void* |
| Visual C++ |
|---|
[EditorBrowsableAttribute(EditorBrowsableState::Never)] [CLSCompliantAttribute(false)] public: void* FsFindFirst( signed char* Path, _WIN32_FIND_DATAW* FindData ) |
| F# |
|---|
[<EditorBrowsableAttribute(EditorBrowsableState.Never)>] [<CLSCompliantAttribute(false)>] member FsFindFirst : Path:nativeptr<sbyte> * FindData:nativeptr<_WIN32_FIND_DATAW> -> nativeptr<unit> |
| JScript |
|---|
|
Parameters
- Path
- Type: System..::..SByte*
Full path to the directory for which the directory listing has to be retrieved. Important: no wildcards are passed to the plugin! All separators will be backslashes, so you will need to convert them to forward slashes if your file system uses them!As root, a single backslash is passed to the plugin. The root items appear in the plugin base directory retrieved by FsGetDefRootName(SByte*, Int32) at installation time. This default root name is NOT part of the path passed to the plugin!
All subdirs are built from the directory names the plugin returns through FsFindFirst(SByte*, _WIN32_FIND_DATAW*) and FsFindNext(Void*, _WIN32_FIND_DATAW*), separated by single backslashes, e.g. \Some server\c:\subdir
- FindData
- Type: _WIN32_FIND_DATAW*
A standard [D:WIN32_FIND_DATA] struct as defined in the Windows SDK, which contains the file or directory details. Use the dwFileAttributes field set to Directory to distinguish files from directories. On Unix systems, you can | (or) the dwFileAttributes field with 0x80000000 and set the dwReserved0 parameter to the Unix file mode (permissions).
Return Value
Return INVALID_HANDLE_VALUE (==-1, not zero!) if an error occurs, or a number of your choice if not. It is recommended to pass a pointer to an internal structure as this handle, which stores the current state of the search. This will allow recursive directory searches needed for copying whole trees. This handle will be passed to FsFindNext(Void*, _WIN32_FIND_DATAW*) by the calling program.When an error occurs, call [M:SetLastError(System.UInt32!System.Runtime.CompilerServices.IsLong)] to set the reason of the error. Total Commander checks for the following two errors:
ERROR_NO_MORE_FILES: The directory exists, but it's empty (Totalcmd can open it, e.g. to copy files to it)Any other error: The directory does not exist, and Total Commander will not try to open it.
Remarks
This function is called by Total Commander and is not intended for direct use