2025-11-28 00:35:46 +09:00

124 lines
2.9 KiB
C

// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
// PARTICULAR PURPOSE.
//
// Copyright (c) Microsoft Corporation. All rights reserved
#pragma once
#ifdef ASSERT
#undef ASSERT
#endif // ASSERT
#if DBG
void
AssertFunc
(
LPCSTR pszFunc,
LPCSTR pszFile,
DWORD dwLine
);
#define ASSERT(_X) if (!(_X)) AssertFunc(__FUNCTION__,__FILE__,__LINE__);
#else
#define ASSERT(_X)
#endif
#define BAIL( ) goto error;
#define BAIL_ON_HRESULT_ERROR(hr) \
if (FAILED(hr)) \
{ \
ASSERT(FALSE); \
BAIL( ); \
} \
#define BAIL_ON_WIN32_ERROR(_x) \
if (_x) \
{ \
ASSERT(FALSE); \
BAIL( ); \
} \
#define SAFE_RELEASE(_x) \
{ \
if (_x) \
{ \
(_x)->Release(); \
(_x) = NULL; \
} \
} \
#define SAFE_FREE_BSTR(_x) \
{ \
if (_x) \
{ \
SysFreeString(_x); \
(_x) = NULL; \
} \
} \
#define SAFE_FREE_NCP(_x) \
{ \
if (_x) \
{ \
NSModFreeNetConProperties(_x); \
(_x) = NULL; \
} \
} \
#define FREE_CPP_ARRAY(_x) \
{ \
if (_x) \
{ \
delete [] (_x); \
(_x) = NULL; \
} \
} \
#define SAFE_FREE_CLSID_STRING(_x) \
{ \
if (_x) \
{ \
CoTaskMemFree(_x); \
(_x) = NULL; \
} \
} \
#define ARRAY_SIZE( _x ) (DWORD) ( sizeof( _x ) / sizeof( (_x)[0] ) )
// __HRESULT_FROM_WIN32 is defined in winerror.h
#define WIN32_FROM_HRESULT(hr) \
(SUCCEEDED(hr) ? ERROR_SUCCESS : \
(HRESULT_FACILITY(hr) == FACILITY_WIN32 ? HRESULT_CODE(hr) : (hr)))
VOID
NSModFreeNetConProperties
(
NETCON_PROPERTIES* pProps
);
HRESULT
NSModDuplicateNetconProperties
(
NETCON_PROPERTIES* pSrc,
NETCON_PROPERTIES* pDst
);