#ifndef __INCLUDE_DDK_FSTYPES_H
#define __INCLUDE_DDK_FSTYPES_H
-/* $Id: fstypes.h,v 1.14 2004/03/14 09:21:41 weiden Exp $ */
+/* $Id: fstypes.h,v 1.15 2004/03/18 16:19:25 weiden Exp $ */
#ifndef __USE_W32API
WCHAR FileName[1];
} FILE_LINK_INFORMATION, *PFILE_LINK_INFORMATION;
+typedef struct _FILE_VALID_DATA_LENGTH_INFORMATION {
+ LARGE_INTEGER ValidDataLength;
+} FILE_VALID_DATA_LENGTH_INFORMATION, *PFILE_VALID_DATA_LENGTH_INFORMATION;
+
typedef NTSTATUS (*PCOMPLETE_LOCK_IRP_ROUTINE) (
IN PVOID Context,
IN PIRP Irp
FileMailslotQueryInformation,
FileMailslotSetInformation,
FileCompressionInformation,
- FileCopyOnWriteInformation,
+ FileObjectIdInformation,
FileCompletionInformation,
FileMoveClusterInformation,
- FileOleClassIdInformation,
- FileOleStateBitsInformation,
+ FileQuotaInformation,
+ FileReparsePointInformation,
FileNetworkOpenInformation,
- FileObjectIdInformation,
- FileOleAllInformation,
- FileOleDirectoryInformation,
- FileContentIndexInformation,
- FileInheritContentIndexInformation,
- FileOleInformation,
- FileMaximumInformation,
+ FileAttributeTagInformation,
+ FileTrackingInformation,
+ FileIdBothDirectoryInformation,
+ FileIdFullDirectoryInformation,
+ FileValidDataLengthInformation,
+ FileShortNameInformation,
+ FileMaximumInformation
} FILE_INFORMATION_CLASS, *PFILE_INFORMATION_CLASS;
typedef enum _SECTION_INHERIT {
-/* $Id: file.c,v 1.51 2004/03/14 13:20:10 weiden Exp $
+/* $Id: file.c,v 1.52 2004/03/18 16:19:25 weiden Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS system libraries
/* INCLUDES *****************************************************************/
#include <k32.h>
+#include <ddk/ntifs.h>
#define NDEBUG
#include "../include/debug.h"
}
+
+/*
+ * @implemented
+ */
+BOOL
+STDCALL
+SetFileValidData(
+ HANDLE hFile,
+ LONGLONG ValidDataLength
+ )
+{
+ IO_STATUS_BLOCK IoStatusBlock;
+ FILE_VALID_DATA_LENGTH_INFORMATION ValidDataLengthInformation;
+ NTSTATUS Status;
+
+ ValidDataLengthInformation.ValidDataLength.QuadPart = ValidDataLength;
+
+ Status = NtSetInformationFile(
+ hFile,
+ &IoStatusBlock, //out
+ &ValidDataLengthInformation,
+ sizeof(FILE_VALID_DATA_LENGTH_INFORMATION),
+ FileValidDataLengthInformation
+ );
+
+ if (!NT_SUCCESS(Status)){
+ SetLastErrorByStatus(Status);
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
/* EOF */
-/* $Id: stubs.c,v 1.68 2004/03/14 18:16:39 weiden Exp $
+/* $Id: stubs.c,v 1.69 2004/03/18 16:19:26 weiden Exp $
*
* KERNEL32.DLL stubs (unimplemented functions)
* Remove from this file, if you implement them.
return 0;
}
-/*
- * @unimplemented
- */
-BOOL
-STDCALL
-SetFileValidData(
- HANDLE hFile,
- LONGLONG ValidDataLength
- )
-{
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- return 0;
-}
-
/*
* @unimplemented
*/