mirror of
https://github.com/winfsp/winfsp.git
synced 2025-04-22 16:33:02 -05:00
sys, dll: ea testing
This commit is contained in:
parent
d3efdd9219
commit
9fd491fa3d
@ -1807,7 +1807,7 @@ FSP_API NTSTATUS FspFileSystemEnumerateEa(FSP_FILE_SYSTEM *FileSystem,
|
||||
{
|
||||
NTSTATUS Result = STATUS_SUCCESS;
|
||||
for (PFILE_FULL_EA_INFORMATION EaEnd = (PVOID)((PUINT8)Ea + EaLength);
|
||||
EaEnd > Ea; FSP_NEXT_EA(Ea, EaEnd))
|
||||
EaEnd > Ea; Ea = FSP_NEXT_EA(Ea, EaEnd))
|
||||
{
|
||||
Result = EnumerateEa(FileSystem, Context, Ea);
|
||||
if (!NT_SUCCESS(Result))
|
||||
|
@ -306,7 +306,7 @@ static NTSTATUS FspFsvolCreateNoLock(
|
||||
if (0 != EaBuffer)
|
||||
{
|
||||
/* does the file system support EA? */
|
||||
if (FsvolDeviceExtension->VolumeParams.ExtendedAttributes)
|
||||
if (!FsvolDeviceExtension->VolumeParams.ExtendedAttributes)
|
||||
return STATUS_EAS_NOT_SUPPORTED;
|
||||
|
||||
/* do we need EA knowledge? */
|
||||
|
@ -70,6 +70,7 @@ static void ea_create_dotest(ULONG Flags, PWSTR Prefix)
|
||||
FspFileSystemAddEa(&SingleEa.V, &Ea.V, sizeof Ea, &EaLength);
|
||||
|
||||
memset(&SingleEa, 0, sizeof SingleEa);
|
||||
SingleEa.V.Flags = FILE_NEED_EA;
|
||||
SingleEa.V.EaNameLength = (UCHAR)strlen("nameTwo");
|
||||
SingleEa.V.EaValueLength = (USHORT)strlen("second");
|
||||
lstrcpyA(SingleEa.V.EaName, "nameTwo");
|
||||
@ -89,11 +90,34 @@ static void ea_create_dotest(ULONG Flags, PWSTR Prefix)
|
||||
UnicodePath.MaximumLength = sizeof UnicodePathBuf;
|
||||
UnicodePath.Buffer = UnicodePathBuf;
|
||||
InitializeObjectAttributes(&Obja, &UnicodePath, 0, DirHandle, 0);
|
||||
|
||||
Result = NtCreateFile(&FileHandle,
|
||||
FILE_GENERIC_READ | FILE_GENERIC_WRITE | DELETE, &Obja, &Iosb,
|
||||
&LargeZero, FILE_ATTRIBUTE_NORMAL, 0,
|
||||
FILE_CREATE, FILE_DELETE_ON_CLOSE,
|
||||
FILE_CREATE, FILE_NO_EA_KNOWLEDGE,
|
||||
&Ea, EaLength);
|
||||
ASSERT(STATUS_ACCESS_DENIED == Result);
|
||||
|
||||
Result = NtCreateFile(&FileHandle,
|
||||
FILE_GENERIC_READ | FILE_GENERIC_WRITE | DELETE, &Obja, &Iosb,
|
||||
&LargeZero, FILE_ATTRIBUTE_NORMAL, 0,
|
||||
FILE_CREATE, 0,
|
||||
&Ea, EaLength);
|
||||
ASSERT(STATUS_SUCCESS == Result);
|
||||
CloseHandle(FileHandle);
|
||||
|
||||
Result = NtCreateFile(&FileHandle,
|
||||
FILE_GENERIC_READ | FILE_GENERIC_WRITE | DELETE, &Obja, &Iosb,
|
||||
&LargeZero, FILE_ATTRIBUTE_NORMAL, 0,
|
||||
FILE_OPEN, FILE_NO_EA_KNOWLEDGE,
|
||||
0, 0);
|
||||
ASSERT(STATUS_ACCESS_DENIED == Result);
|
||||
|
||||
Result = NtCreateFile(&FileHandle,
|
||||
FILE_GENERIC_READ | FILE_GENERIC_WRITE | DELETE, &Obja, &Iosb,
|
||||
&LargeZero, FILE_ATTRIBUTE_NORMAL, 0,
|
||||
FILE_OPEN, FILE_DELETE_ON_CLOSE,
|
||||
0, 0);
|
||||
ASSERT(STATUS_SUCCESS == Result);
|
||||
CloseHandle(FileHandle);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user