the return value is STATUS_EA_LIST_INCONSISTENT (0x80000014L)
and if i assign ,to the last parameter,
EALength * sizeof(FILE_FULL_EA_INFORMATION)
the problem persists
Code:
// us is a UNICODE_STRING with the filename
HANDLE hFile;
IO_STATUS_BLOCK IO;
OBJECT_ATTRIBUTES oa;
const ULONG EALength = 1024;
FILE_FULL_EA_INFORMATION EA[EALength];
memset(&oa,0,sizeof(oa));
oa.ObjectName = &us;
oa.uLength = sizeof(OBJECT_ATTRIBUTES);
int ret = NtCreateFile(&hFile,FILE_LIST_DIRECTORY | FILE_TRAVERSE,&oa,&IO,0,0,FILE_SHARE_READ,FILE_OPEN,FILE_DIRECTORY_FILE,EA,EALength);
??