Win32 API の BeginUpdateResource を使ってて、エラー(HANDLEが0で返ってくる)になるけど、GetLastError()も0が返ってくる状況になった。
確実な対処ではないかもしれないけど、安定したのでメモ。
こんなコード
HANDLE resource = ::BeginUpdateResource( path, FALSE ); if ( resource == 0 ) { DWORD errorCode = ::GetLastError(); }
現象
- pathに相対パスを入れたらエラー(resourceが0)になる事がある(なったり、ならなかったり)
- ::GetLastError()で返るエラーコードは0(=正常終了)
対処
- pathをフルパスにした