{\r
m_OverlapRead.hEvent = CreateEvent(NULL, FALSE, FALSE, NULL);\r
m_OverlapWrite.hEvent = CreateEvent(NULL, FALSE, FALSE, NULL);\r
+ if (m_OverlapRead.hEvent == NULL || m_OverlapWrite.hEvent == NULL)\r
+ return E_OUTOFMEMORY;\r
\r
- return (m_OverlapRead.hEvent != NULL && m_OverlapWrite.hEvent != NULL) ?\r
- NOERROR : E_OUTOFMEMORY;\r
+ m_OverlapRead.hEvent = (HANDLE) ((ULONG_PTR) m_OverlapRead.hEvent | 1);\r
+ m_OverlapWrite.hEvent = (HANDLE) ((ULONG_PTR) m_OverlapWrite.hEvent | 1);\r
+ return NOERROR;\r
}\r
\r
CWMProvider::~CWMProvider()\r
Init(void)\r
{\r
m_Overlap.hEvent = CreateEvent(NULL, FALSE, FALSE, NULL);\r
- return (m_Overlap.hEvent != NULL) ? WV_SUCCESS : WV_INSUFFICIENT_RESOURCES;\r
+ if (m_Overlap.hEvent == NULL)\r
+ return WV_INSUFFICIENT_RESOURCES;\r
+\r
+ m_Overlap.hEvent = (HANDLE) ((ULONG_PTR) m_Overlap.hEvent | 1);\r
+ return WV_SUCCESS;\r
}\r
\r
STDMETHODIMP_(ULONG) CWVBase::\r