00001 #ifndef _windows_check_h
00002 #define _windows_check_h
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #include "qpid/Exception.h"
00026 #include "qpid/sys/StrError.h"
00027
00028 #define QPID_WINDOWS_ERROR(ERRVAL) qpid::Exception(QPID_MSG(qpid::sys::strError(ERRVAL)))
00029 #define QPID_WINDOWS_CRT_ERROR(ERRNO) qpid::Exception(QPID_MSG(qpid::sys::strError(ERRNO)))
00030
00032 #define QPID_WINDOWS_CHECK_NULL(RESULT) \
00033 if ((RESULT) == NULL) throw QPID_WINDOWS_ERROR((::GetLastError()))
00034
00035 #define QPID_WINDOWS_CHECK_NOT(RESULT,VAL) \
00036 if ((RESULT) == (VAL)) throw QPID_WINDOWS_ERROR((::GetLastError()))
00037
00038 #define QPID_WINDOWS_CHECK_ASYNC_START(STATUS) \
00039 if (!(STATUS) && ::WSAGetLastError() != ERROR_IO_PENDING) \
00040 throw QPID_WINDOWS_ERROR((::WSAGetLastError()))
00041
00042 #define QPID_WINDOWS_CHECK_CRT_NZ(VAL) \
00043 if ((VAL) == 0) throw QPID_WINDOWS_CRT_ERROR(errno)
00044
00045 #define QPID_WINSOCK_CHECK(OP) \
00046 if ((OP) == SOCKET_ERROR) throw QPID_WINDOWS_ERROR((::WSAGetLastError()))
00047
00048 #endif