bytes = (DWORD) sizeof(WM_MAD) + pMad->Length;\r
if (pOverlapped == NULL) {\r
EnterCriticalSection(&m_CritSecWrite);\r
- WriteFile(m_hFile, pMad, bytes, &bytes, &m_OverlapWrite);\r
- hr = GetOverlappedResult(&m_OverlapWrite, &bytes, TRUE);\r
+ if (WriteFile(m_hFile, pMad, bytes, &bytes, &m_OverlapWrite)) {\r
+ hr = GetOverlappedResult(&m_OverlapWrite, &bytes, TRUE);\r
+ } else {\r
+ hr = HRESULT_FROM_WIN32(GetLastError());\r
+ }\r
LeaveCriticalSection(&m_CritSecWrite);\r
} else {\r
if (WriteFile(m_hFile, pMad, bytes, &bytes, pOverlapped)) {\r
\r
if (pOverlapped == NULL) {\r
EnterCriticalSection(&m_CritSecRead);\r
- ReadFile(m_hFile, pMad, (DWORD) BufferSize, &bytes, &m_OverlapRead);\r
- hr = GetOverlappedResult(&m_OverlapRead, &bytes, TRUE);\r
+ if (ReadFile(m_hFile, pMad, (DWORD) BufferSize, &bytes, &m_OverlapRead)) {\r
+ hr = GetOverlappedResult(&m_OverlapRead, &bytes, TRUE);\r
+ } else {\r
+ hr = HRESULT_FROM_WIN32(GetLastError());\r
+ }\r
LeaveCriticalSection(&m_CritSecRead);\r
} else {\r
if (ReadFile(m_hFile, pMad, (DWORD) BufferSize, &bytes, pOverlapped)) {\r
) PURE;\r
};\r
\r
-#ifdef __cplusplus\r
-extern "C" __declspec(dllexport) HRESULT WvGetObject(REFIID riid, LPVOID FAR* ppvObj);\r
+#ifdef EXPORT_WV_SYMBOLS\r
+#define WV_EXPORT __declspec(dllexport)\r
#else\r
-__declspec(dllexport) HRESULT WvGetObject(REFIID riid, LPVOID FAR* ppvObj);\r
+#define WV_EXPORT __declspec(dllimport)\r
+#endif\r
+\r
+#ifdef __cplusplus\r
+extern "C" {\r
+#endif\r
+\r
+WV_EXPORT HRESULT WvGetObject(REFIID riid, LPVOID FAR* ppvObj);\r
+\r
+#ifdef __cplusplus\r
+}\r
#endif\r
\r
#endif // _WINVERBS_H_\r