I'm not for certain on all of these, but here are my guesses :)
internal const int GENERIC_READ = unchecked((int) 0x80000000);
internal const int GENERIC_WRITE = 0x40000000;
Both are declared as constant int so that they cannot be modified after
declaration. internal means that the members are only accessible to types
within the same assembly.
The unchecked keyword turns of runtime bounds-checking I believe. You may
want to investigate this further.
Also, the 0x notation indicates a hex constant.
internal static readonly IntPtr INVALID_HANDLE_VALUE = new IntPtr(-1);
readonly means the variable can only be assigned to during the initial
declaration (or for an instance field, in the instance constructor of the
class that declares the variable).
This variable is probably used to check against handles returned from win32
api functions to make sure they are valid.
ie:
myHandle = someAPIFunction();
if (myHandle == INVALID_HANDLE_VALUE)
// error
internal static readonly IntPtr NULL = IntPtr.Zero;
This delcares an empty (null) pointer. Similar to the INVALID_HANDLE_VALUE
variable, it is probably used to make sure that pointers are not null before
using them.
Hope this helps.