There is an unsaved comment in progress. You will lose your changes if you continue. Are you sure you want to reopen the work item?
DWORD Flags are supposed to be UInt32
First of all, I would like to thank you for this excellent project!
I noticed that in your WININET wrapper class that you use a signed int type (Int32) for your P/Invoke declarations, this would work only if you do not use flags. I wanted to update the FtpGetFile method in the class FtpConnection to never cache the remote resource
to ensure that it always takes the file from the FTP server. To do this you need to enable the INTERNET_FLAG_NO_CACHE_WRITE flag when calling FtpGetFile method. But because of an incorrect data type the flag is ignored. Changing all DWORD flags to use UInt32
would resolve the issue
According to the MSDN documentation, a DWORD is a 32-bit unsigned integer (range: 0 through 4294967295 decimal). Because a DWORD is unsigned, its first bit (Most Significant Bit (MSB)) is not reserved for signing.