diff --git a/dist/winfsp-msil.dll b/dist/winfsp-msil.dll deleted file mode 100644 index 375af56..0000000 Binary files a/dist/winfsp-msil.dll and /dev/null differ diff --git a/dist/winfsp-msil.xml b/dist/winfsp-msil.xml deleted file mode 100644 index 81221f4..0000000 --- a/dist/winfsp-msil.xml +++ /dev/null @@ -1,1345 +0,0 @@ - - - - winfsp-msil - - - - - Provides the base class that user mode file systems must inherit from. - - - - - Provides a means to customize the returned status code when an exception happens. - - - STATUS_SUCCESS or error code. - - - - Occurs just before the file system is mounted. - File systems may override this method to configure the file system host. - - - The file system host that is mounting this file system. - - STATUS_SUCCESS or error code. - - - - Occurs just after the file system is mounted, - but prior to receiving any file system operation. - - - The file system host that is mounting this file system. - - STATUS_SUCCESS or error code. - - - - Occurs just after the file system is unmounted. - No other file system operations will be received on this file system. - - - The file system host that is mounting this file system. - - - - - Gets the volume information. - - - Receives the volume information. - - STATUS_SUCCESS or error code. - - - - Sets the volume label. - - - The new label for the volume. - - - Receives the updated volume information. - - STATUS_SUCCESS or error code. - - - - Gets file or directory attributes and security descriptor given a file name. - - - The name of the file or directory to get the attributes and security descriptor for. - - - Receives the file attributes on successful return. - If this call returns STATUS_REPARSE, the file system may place here the index of the - first reparse point within FileName. - - - Receives the file security descriptor. If the SecurityDescriptor parameter is null - on input the file system should not fill this value. - - - STATUS_SUCCESS, STATUS_REPARSE or error code. - STATUS_REPARSE should be returned by file systems that support reparse points when - they encounter a FileName that contains reparse points anywhere but the final path - component. - - - - - Creates a new file or directory. - - - The name of the file or directory to be created. - - - Create options for this request. - - - Determines the specific access rights that have been granted for this request. - - - File attributes to apply to the newly created file or directory. - - - Security descriptor to apply to the newly created file or directory. - - - Allocation size for the newly created file. - - - Receives the file node for the newly created file. - - - Receives the file descriptor for the newly created file. - - - Receives the file information for the newly created file. - - - Receives the normalized name for the newly created file. - - STATUS_SUCCESS or error code. - - - - Opens a file or directory. - - - The name of the file or directory to be opened. - - - Create options for this request. - - - Determines the specific access rights that have been granted for this request. - - - Receives the file node for the newly opened file. - - - Receives the file descriptor for the newly opened file. - - - Receives the file information for the newly opened file. - - - Receives the normalized name for the newly opened file. - - STATUS_SUCCESS or error code. - - - - Overwrites a file. - - - The file node for the file to be overwritten. - - - The file descriptor for the file to be overwritten. - - - File attributes to apply to the overwritten file. - - - When true the existing file attributes should be replaced with the new ones. - When false the existing file attributes should be merged (or'ed) with the new ones. - - - Allocation size for the overwritten file. - - - Receives the updated file information. - - STATUS_SUCCESS or error code. - - - - Cleans up a file or directory. - - - - When CreateFile is used to open or create a file the kernel creates a kernel mode file - object (type FILE_OBJECT) and a handle for it, which it returns to user-mode. The handle may - be duplicated (using DuplicateHandle), but all duplicate handles always refer to the same - file object. When all handles for a particular file object get closed (using CloseHandle) - the system sends a Cleanup request to the file system. - - There will be a Cleanup operation for every Create or Open operation posted to the user mode - file system. However the Cleanup operation is not the final close operation on a file. - The file system must be ready to receive additional operations until close time. This is true - even when the file is being deleted! - - The Flags parameter contains information about the cleanup operation: - - CleanupDelete - - An important function of the Cleanup operation is to complete a delete operation. Deleting - a file or directory in Windows is a three-stage process where the file is first opened, then - tested to see if the delete can proceed and if the answer is positive the file is then - deleted during Cleanup. - When this flag is set, this is the last outstanding cleanup for this particular file node. - - CleanupSetAllocationSize - - The NTFS and FAT file systems reset a file's allocation size when they receive the last - outstanding cleanup for a particular file node. User mode file systems that implement - allocation size and wish to duplicate the NTFS and FAT behavior can use this flag. - - CleanupSetArchiveBit - - File systems that support the archive bit should set the file node's archive bit when this - flag is set. - - CleanupSetLastAccessTime, CleanupSetLastWriteTime, CleanupSetChangeTime - - File systems should set the corresponding file time when each one of these flags is set. - Note that updating the last access time is expensive and a file system may choose to not - implement it. - - - - There is no way to report failure of this operation. This is a Windows limitation. - - - - The file node of the file or directory to cleanup. - - - The file descriptor of the file or directory to cleanup. - - - The name of the file or directory to cleanup. Sent only when a Delete is requested. - - - These flags determine whether the file was modified and whether to delete the file. - - - - - - - - Closes a file or directory. - - - The file node of the file or directory to close. - - - The file descriptor of the file or directory to close. - - - - - Reads a file. - - - The file node of the file to read. - - - The file descriptor of the file to read. - - - Pointer to a buffer that receives the results of the read operation. - - - Offset within the file to read from. - - - Length of data to read. - - - Receives the actual number of bytes read. - - STATUS_SUCCESS or error code. - - - - Writes a file. - - - The file node of the file to write. - - - The file descriptor of the file to write. - - - Pointer to a buffer that receives the results of the write operation. - - - Offset within the file to write to. - - - Length of data to write. - - - When true the file system must write to the current end of file. In this case the Offset - parameter will contain the value -1. - - - When true the file system must not extend the file (i.e. change the file size). - - - Receives the actual number of bytes written. - - - Receives the updated file information. - - STATUS_SUCCESS or error code. - - - - Flushes a file or volume. - - - Note that the FSD will also flush all file/volume caches prior to invoking this operation. - - - The file node of the file to flush. - When this and the FileDesc parameter are null the whole volume is being flushed. - - - The file descriptor of the file to flush. - When this and the FileNode parameter are null the whole volume is being flushed. - - - Receives the updated file information. - - STATUS_SUCCESS or error code. - - - - Gets file or directory information. - - - The file node of the file to get information for. - - - The file descriptor of the file to get information for. - - - Receives the file information. - - STATUS_SUCCESS or error code. - - - - Sets file or directory basic information. - - - The file node of the file to set information for. - - - The file descriptor of the file to set information for. - - - File attributes to apply to the file or directory. - If the value -1 is sent, the file attributes should not be changed. - - - Creation time to apply to the file or directory. - If the value 0 is sent, the creation time should not be changed. - - - Last access time to apply to the file or directory. - If the value 0 is sent, the last access time should not be changed. - - - Last write time to apply to the file or directory. - If the value 0 is sent, the last write time should not be changed. - - - Change time to apply to the file or directory. - If the value 0 is sent, the change time should not be changed. - - - Receives the updated file information. - - STATUS_SUCCESS or error code. - - - - Sets file/allocation size. - - - - This function is used to change a file's sizes. Windows file systems maintain two kinds - of sizes: the file size is where the End Of File (EOF) is, and the allocation size is the - actual size that a file takes up on the "disk". - - The rules regarding file/allocation size are: - - - Allocation size must always be aligned to the allocation unit boundary. The allocation - unit is the product SectorSize * SectorsPerAllocationUnit. The FSD will always send - properly aligned allocation sizes when setting the allocation size. - - - Allocation size is always greater or equal to the file size. - - - A file size of more than the current allocation size will also extend the allocation - size to the next allocation unit boundary. - - - An allocation size of less than the current file size should also truncate the current - file size. - - - - - - The file node of the file to set the file/allocation size for. - - - The file descriptor of the file to set the file/allocation size for. - - - New file/allocation size to apply to the file. - - - If true, then the allocation size is being set. if false, then the file size is being set. - - - Receives the updated file information. - - STATUS_SUCCESS or error code. - - - - Determines whether a file or directory can be deleted. - - - - This function tests whether a file or directory can be safely deleted. This function does - not need to perform access checks, but may performs tasks such as check for empty - directories, etc. - - This function should NEVER delete the file or directory in question. Deletion should - happen during Cleanup with the FspCleanupDelete flag set. - - This function gets called when Win32 API's such as DeleteFile or RemoveDirectory are used. - It does not get called when a file or directory is opened with FILE_DELETE_ON_CLOSE. - - NOTE: If both CanDelete and SetDelete are defined, SetDelete takes precedence. However - most file systems need only implement the CanDelete operation. - - - - The file node of the file or directory to test for deletion. - - - The file descriptor of the file or directory to test for deletion. - - - The name of the file or directory to test for deletion. - - STATUS_SUCCESS or error code. - - - - - - Renames a file or directory. - - - The kernel mode FSD provides certain guarantees prior to posting a rename operation: - - - A file cannot be renamed if a file with the same name exists and has open handles. - - - A directory cannot be renamed if it or any of its subdirectories contains a file that - has open handles. - - - - - The file node of the file or directory to be renamed. - - - The file descriptor of the file or directory to be renamed. - - - The current name of the file or directory to rename. - - - The new name for the file or directory. - - - Whether to replace a file that already exists at NewFileName. - - STATUS_SUCCESS or error code. - - - - Gets file or directory security descriptor. - - - The file node of the file or directory to get the security descriptor for. - - - The file descriptor of the file or directory to get the security descriptor for. - - - Receives the file security descriptor. - - STATUS_SUCCESS or error code. - - - - Sets file or directory security descriptor. - - - The file node of the file or directory to set the security descriptor for. - - - The file descriptor of the file or directory to set the security descriptor for. - - - Describes what parts of the file or directory security descriptor should be modified. - - - Describes the modifications to apply to the file or directory security descriptor. - - STATUS_SUCCESS or error code. - - - - - Reads a directory. - - - - - - Reads a directory entry. - - - The file node of the directory to be read. - - - The file descriptor of the directory to be read. - - - The pattern to match against files in this directory. Can be null. The file system - can choose to ignore this parameter as the FSD will always perform its own pattern - matching on the returned results. - - - A file name that marks where in the directory to start reading. Files with names - that are greater than (not equal to) this marker (in the directory order determined - by the file system) should be returned. Can be null. - - - Can be used by the file system to track the ReadDirectory operation. - - - Receives the file name for the directory entry. - - - Receives the file information for the directory entry. - - True if there are additional directory entries to return. False otherwise. - - - - - Resolves reparse points. - - - - - Gets a reparse point given a file name. - - - The name of the file or directory to get the reparse point for. - - - Determines whether the passed file name is assumed to be a directory. - - - Receives the reparse data for the file or directory. - - STATUS_SUCCESS or error code. - - - - Gets a reparse point. - - - The file node of the reparse point. - - - The file descriptor of the reparse point. - - - The file name of the reparse point. - - - Receives the reparse data for the reparse point. - - STATUS_SUCCESS or error code. - - - - Sets a reparse point. - - - The file node of the reparse point. - - - The file descriptor of the reparse point. - - - The file name of the reparse point. - - - The new reparse data for the reparse point. - - STATUS_SUCCESS or error code. - - - - Deletes a reparse point. - - - The file node of the reparse point. - - - The file descriptor of the reparse point. - - - The file name of the reparse point. - - - The reparse data for the reparse point. - - STATUS_SUCCESS or error code. - - - - Gets named streams information. - - - - - Gets named streams information entry. - - - The file node of the file or directory to get stream information for. - - - The file descriptor of the file or directory to get stream information for. - - - Can be used by the file system to track the GetStreamInfo operation. - - - Receives the stream name for the stream entry. - - - Receives the stream size for the stream entry. - - - Receives the stream allocation size for the stream entry. - - True if there are additional stream entries to return. False otherwise. - - - - Gets directory information for a single file or directory within a parent directory. - - - The file node of the parent directory. - - - The file descriptor of the parent directory. - - - The name of the file or directory to get information for. This name is relative - to the parent directory and is a single path component. - - - Receives the normalized name from the directory entry. - - - Receives the file information. - - STATUS_SUCCESS or error code. - - - - Processes a control code. - - - This function is called when a program uses the DeviceIoControl API. - - - The file node of the file or directory to be controled. - - - The file descriptor of the file or directory to be controled. - - - The control code for the operation. This code must have a DeviceType with bit - 0x8000 set and must have a TransferType of METHOD_BUFFERED. - - - Pointer to a buffer that contains the input data. - - - Input data length. - - - Pointer to a buffer that will receive the output data. - - - Output data length. - - - Receives the actual number of bytes transferred. - - STATUS_SUCCESS or error code. - - - - Sets the file delete flag. - - - - This function sets a flag to indicates whether the FSD file should delete a file - when it is closed. This function does not need to perform access checks, but may - performs tasks such as check for empty directories, etc. - - This function should NEVER delete the file or directory in question. Deletion should - happen during Cleanup with the FspCleanupDelete flag set. - - This function gets called when Win32 API's such as DeleteFile or RemoveDirectory are used. - It does not get called when a file or directory is opened with FILE_DELETE_ON_CLOSE. - - NOTE: If both CanDelete and SetDelete are defined, SetDelete takes precedence. However - most file systems need only implement the CanDelete operation. - - - - The file node of the file or directory to set the delete flag for. - - - The file descriptor of the file or directory to set the delete flag for. - - - The name of the file or directory to set the delete flag for. - - - If set to TRUE the FSD indicates that the file will be deleted on Cleanup; otherwise - it will not be deleted. It is legal to receive multiple SetDelete calls for the same - file with different DeleteFile parameters. - - STATUS_SUCCESS or error code. - - - - - - Converts a Win32 error code to a Windows kernel status code. - - - - - Converts a Windows kernel status code to a Win32 error code. - - - - - Gets the originating process ID. - - - Valid only during Create, Open and Rename requests when the target exists. - - - - - Modifies a security descriptor. [OBSOLETE] - - - This is a helper for implementing the SetSecurity operation. - - - The original security descriptor. - - - Describes what parts of the file or directory security descriptor should be modified. - - - Describes the modifications to apply to the file or directory security descriptor. - - The modified security descriptor. - - - - - Modifies a security descriptor. - - - This is a helper for implementing the SetSecurity operation. - - - The original security descriptor. - - - Describes what parts of the file or directory security descriptor should be modified. - - - Describes the modifications to apply to the file or directory security descriptor. - - - The modified security descriptor. This parameter is modified only on success. - - STATUS_SUCCESS or error code. - - - - - Finds a reparse point in file name. - - - This is a helper for implementing the GetSecurityByName operation in file systems - that support reparse points. - - - The name of the file or directory. - - - Receives the index of the first reparse point within FileName. - - True if a reparse point was found, false otherwise. - - - - - Makes a byte array that contains a reparse point. - - The reparse point byte array. - - - - Gets the reparse tag from reparse data. - - - The reparse data to extract the reparse tag from. - - The reparse tag. - - - - Tests whether reparse data can be replaced. - - - This is a helper for implementing the SetReparsePoint/DeleteReparsePoint operation - in file systems that support reparse points. - - - The current reparse data. - - - The replacement reparse data. - - STATUS_SUCCESS or error code. - - - - - - Provides a means to host (mount) a file system. - - - - - Creates an instance of the FileSystemHost class. - - The file system to host. - - - - Unmounts the file system and releases all associated resources. - - - - - Gets or sets the sector size used by the file system. - - - - - Gets or sets the sectors per allocation unit used by the file system. - - - - - Gets or sets the maximum path component length used by the file system. - - - - - Gets or sets the volume creation time. - - - - - Gets or sets the volume serial number. - - - - - Gets or sets the file information timeout. - - - - - Gets or sets the volume information timeout. - - - - - Gets or sets the directory information timeout. - - - - - Gets or sets the security information timeout. - - - - - Gets or sets the stream information timeout. - - - - - Gets or sets the EA information timeout. - - - - - Gets or sets a value that determines whether the file system is case sensitive. - - - - - Gets or sets a value that determines whether a case insensitive file system - preserves case in file names. - - - - - Gets or sets a value that determines whether file names support unicode characters. - - - - - Gets or sets a value that determines whether the file system supports ACL security. - - - - - Gets or sets a value that determines whether the file system supports reparse points. - - - - - Gets or sets a value that determines whether the file system allows creation of - symbolic links without additional privileges. - - - - - Gets or sets a value that determines whether the file system supports named streams. - - - - - Gets or sets a value that determines whether the file system supports extended attributes. - - - - - Gets or sets the prefix for a network file system. - - - - - Gets or sets the file system name. - - - - - Checks whether mounting a file system is possible. - - - The mount point for the new file system. A value of null means that - the file system should use the next available drive letter counting - downwards from Z: as its mount point. - - STATUS_SUCCESS or error code. - - - - Mounts a file system. - - - The mount point for the new file system. A value of null means that - the file system should use the next available drive letter counting - downwards from Z: as its mount point. - - - Security descriptor to use if mounting on (newly created) directory. - A value of null means the directory should be created with default - security. - - - If true file system operations are synchronized using an exclusive lock. - - - A value of 0 disables all debug logging. - A value of -1 enables all debug logging. - - STATUS_SUCCESS or error code. - - - - Mounts a file system. - - - The mount point for the new file system. A value of null means that - the file system should use the next available drive letter counting - downwards from Z: as its mount point. - - - Number of threads to use to service file system requests. A value - of 0 means that the default number of threads should be used. - - - Security descriptor to use if mounting on (newly created) directory. - A value of null means the directory should be created with default - security. - - - If true file system operations are synchronized using an exclusive lock. - - - A value of 0 disables all debug logging. - A value of -1 enables all debug logging. - - STATUS_SUCCESS or error code. - - - - Unmounts the file system and releases all associated resources. - - - - - Gets the file system mount point. - - The file system mount point. - - - - Gets the hosted file system. - - The hosted file system. - - - - Sets the debug log file to use when debug logging is enabled. - - - The debug log file name. A value of "-" means standard error output. - - STATUS_SUCCESS or error code. - - - - Return the installed version of WinFsp. - - - - - Returns a RequestHint to reference the current operation asynchronously. - - - - - Asynchronously complete a Read operation. - - - A reference to the operation to complete. - - - STATUS_SUCCESS or error code. - - - Number of bytes read. - - - - - Asynchronously complete a Write operation. - - - A reference to the operation to complete. - - - STATUS_SUCCESS or error code. - - - The number of bytes written. - - - Updated file information. - - - - - Asynchronously complete a ReadDirectory operation. - - - A reference to the operation to complete. - - - STATUS_SUCCESS or error code. - - - Number of bytes read. - - - - - Begin notifying Windows that the file system has file changes. - - - - A file system that wishes to notify Windows about file changes must - first issue an FspFileSystemBegin call, followed by 0 or more - FspFileSystemNotify calls, followed by an FspFileSystemNotifyEnd call. - - This operation blocks concurrent file rename operations. File rename - operations may interfere with file notification, because a file being - notified may also be concurrently renamed. After all file change - notifications have been issued, you must make sure to call - FspFileSystemNotifyEnd to allow file rename operations to proceed. - - - - STATUS_SUCCESS or error code. The error code STATUS_CANT_WAIT means that - a file rename operation is currently in progress and the operation must be - retried at a later time. - - - - - End notifying Windows that the file system has file changes. - - - - A file system that wishes to notify Windows about file changes must - first issue an FspFileSystemBegin call, followed by 0 or more - FspFileSystemNotify calls, followed by an FspFileSystemNotifyEnd call. - - This operation allows any blocked file rename operations to proceed. - - - STATUS_SUCCESS or error code. - - - - Notify Windows that the file system has file changes. - - - - A file system that wishes to notify Windows about file changes must - first issue an FspFileSystemBegin call, followed by 0 or more - FspFileSystemNotify calls, followed by an FspFileSystemNotifyEnd call. - - Note that FspFileSystemNotify requires file names to be normalized. A - normalized file name is one that contains the correct case of all characters - in the file name. - - For case-sensitive file systems all file names are normalized by definition. - For case-insensitive file systems that implement file name normalization, - a normalized file name is the one that the file system specifies in the - response to Create or Open (see also FspFileSystemGetOpenFileInfo). For - case-insensitive file systems that do not implement file name normalization - a normalized file name is the upper case version of the file name used - to open the file. - - - STATUS_SUCCESS or error code. - - - - Contains volume information about a file system. - - - - - Total size of volume in bytes. - - - - - Free size of volume in bytes. - - - - - Sets the volume label. - - - - - Contains metadata information about a file or directory. - - - - - The file or directory attributes. - - - - - The reparse tag of the file or directory. - This value is 0 if the file or directory is not a reparse point. - - - - - The allocation size of the file. - - - - - The file size of the file (end of file). - - - - - The time that the file or directory was created. - - - - - The time that the file or directory was last accessed. - - - - - The time that the file or direcotry was last modified. - - - - - The time that the file or directory metadata was last modified. - - - - - A unique identifier that is associated with the file or directory. - Not all file systems support this value. - - - - - The number of hard links. - Not currently implemented. Set to 0. - - - - - The extended attribute size of the file. - - - - - Enumeration of all the possible values for NotifyInfo.Action - - - - - Enumeration of all the possible values for NotifyInfo.Filter - - - - - Contains file change notification information. - - - - - Provides the base class for a process that can be run as a service, - command line application or under the control of the WinFsp launcher. - - - - - Creates an instance of the Service class. - - The name of the service. - - - - Runs a service. - - Service process exit code. - - - - Stops a running service. - - - - - Gets or sets the service process exit code. - - - - - Provides a means to customize the returned status code when an exception happens. - - - STATUS_SUCCESS or error code. - - - - Occurs when the service starts. - - Command line arguments passed to the service. - - - - Occurs when the service stops. - - - - diff --git a/xbox-winfsp.csproj b/xbox-winfsp.csproj index 997546a..5a8c7da 100644 --- a/xbox-winfsp.csproj +++ b/xbox-winfsp.csproj @@ -55,10 +55,7 @@ - - False - dist\winfsp-msil.dll - +