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.