Jeff Cody wrote: > On Tue, May 21, 2013 at 11:33:57AM -0400, Tomoki Sekiyama wrote: >> + HRESULT hr = WaitForAsync(pAsyncSnapshot); >> + if (hr == VSS_E_OBJECT_NOT_FOUND) { > > When I tried compiling, I received a warning that this is a signed / > unsigned comparison. I think, from the VSS_E_OBJECT_NOT_FOUND > definition found in inc/win2003/vss.h, that it is intended to be > negative (it is a 32-bit int that leads with 0x800). However, it is > interpreted as unsigned and throws the warning. > > Does that sound correct?
0x80042308 or 0x80042308L looks interpreted as unsigned 32-bit int in mingw gcc. And in mingw headers, these errors are defined like: #define VSS_E_OBJECT_NOT_FOUND _HRESULT_TYPEDEF_(0x80042308) where _HRESULT_TYPEDEF_ is a cast to HRESULT (signed 32-bit int). Maybe I should add casts like (HRESULT)VSS_E_... to avoid the warning.... Tomoki Sekiyama