Since the Length
parameter of SetFileIoOverlappedRange
is ULONG
only, how can I lock a 4GB or larger memory block?
Say I allocate a contiguous 4 GB memory block to be used in overlapped I/O and call SetFileIoOverlappedRange
twice, once for each half of the block. Both calls return a success (non-zero) status code. Are the calls additive, resulting in locking the whole 4 GB block? Or does the second call "override" the first? How can I tell?