Hello
PBYTE is not a kernel type, it is a Win32 type, and
should not be
used. Please use ULONG_PTR for pointer arithmetic.
Okay that shout not a problem.
Please explain what the line "LenOfEaBuffer =
((LenOfEaBuffer + 3) &
0xFFFFFFFC);" is trying to achieve, as well as this
calculation:
"EaBufferEnd->EaNameLength+EaBufferEnd->EaValueLength + 9;".
From the MSDN (
http://msdn2.microsoft.com/en-us/library/ms795740.aspx)
the next buffer
offset must be greater than zero and must fall on a ULONG boundary.
EaBufferEnd->EaNameLength+EaBufferEnd->EaValueLength + 9:
The Length of the rest of the buffer must lesser equal to the size of
the Name + Value + BYTE_ALIGN(sizeof(FILE_FULL_EA_INFORMATION)).
Thanks
Daniel Zimmermann
________________________________________________________________________
Check Out the new free AIM(R) Mail -- 2 GB of storage and
industry-leading spam and email virus protection.