[ros-dev] IoCheckEaBufferValidity

netzimme at aim.com netzimme at aim.com
Tue Aug 21 23:46:31 CEST 2007


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.


More information about the Ros-dev mailing list