Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

67 lines
1.9 KiB

//+--------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1997 - 1998.
//
// File: macros.hxx
//
// Contents: Miscellaneous useful macros
//
// History: 09-08-1997 DavidMun Created
//
//---------------------------------------------------------------------------
#ifndef __MACROS_HXX__
#define __MACROS_HXX__
#define ARRAYLEN(a) (sizeof(a) / sizeof((a)[0]))
#define CHECK_NULL(pwz) (pwz) ? (pwz) : L"NULL"
#define BREAK_ON_FAIL_LRESULT(lr) \
if ((lr) != ERROR_SUCCESS) \
{ \
DBG_OUT_LRESULT(lr); \
break; \
}
#define BREAK_ON_FAIL_HRESULT(hr) \
if (FAILED(hr)) \
{ \
DBG_OUT_HRESULT(hr); \
break; \
}
#define BREAK_ON_FAIL_NTSTATUS(nts) \
if (NT_ERROR(nts)) \
{ \
DBG_OUT_HRESULT(nts); \
break; \
}
#define BREAK_ON_FAIL_PROCESS_RESULT(npr) \
if (NAME_PROCESSING_FAILED(npr)) \
{ \
break; \
}
#define RETURN_ON_FAIL_HRESULT(hr) \
if (FAILED(hr)) \
{ \
DBG_OUT_HRESULT(hr); \
return; \
}
#define RETURN_HR_ON_FAIL_HRESULT(hr) \
if (FAILED(hr)) \
{ \
DBG_OUT_HRESULT(hr); \
return hr; \
}
#define HRESULT_FROM_LASTERROR HRESULT_FROM_WIN32(GetLastError())
#endif // __MACROS_HXX__