本文整理汇总了C++中BAIL_ON_VMDNS_ERROR函数的典型用法代码示例。如果您正苦于以下问题:C++ BAIL_ON_VMDNS_ERROR函数的具体用法?C++ BAIL_ON_VMDNS_ERROR怎么用?C++ BAIL_ON_VMDNS_ERROR使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了BAIL_ON_VMDNS_ERROR函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: VmDnsCacheGetZoneName
DWORD
VmDnsCacheGetZoneName(
PVMDNS_ZONE_OBJECT pZoneObject,
PSTR *ppszZoneName
)
{
DWORD dwError = 0;
PSTR pszZoneName = NULL;
if (!pZoneObject)
{
dwError = ERROR_INVALID_PARAMETER;
BAIL_ON_VMDNS_ERROR(dwError);
}
dwError = VmDnsZoneGetName(pZoneObject, &pszZoneName);
BAIL_ON_VMDNS_ERROR(dwError);
*ppszZoneName = pszZoneName;
cleanup:
return dwError;
error:
goto cleanup;
}
开发者ID:vmware,项目名称:lightwave,代码行数:26,代码来源:cache.c
示例2: VmDnsAllocateCondition
DWORD
VmDnsAllocateCondition(
PVMDNS_COND* ppCondition
)
{
DWORD dwError = ERROR_SUCCESS;
PVMDNS_COND pVmDnsCond = NULL;
if ( ppCondition == NULL )
{
dwError = ERROR_INVALID_PARAMETER;
BAIL_ON_VMDNS_ERROR(dwError);
}
dwError = VmDnsAllocateMemory( sizeof(VMDNS_COND), ((PVOID*)&pVmDnsCond));
BAIL_ON_VMDNS_ERROR(dwError);
dwError = VmDnsInitializeConditionContent( pVmDnsCond );
BAIL_ON_VMDNS_ERROR(dwError);
*ppCondition = pVmDnsCond;
pVmDnsCond = NULL;
error:
VMDNS_SAFE_FREE_CONDITION( pVmDnsCond );
return dwError;
}
开发者ID:DhanashreeA,项目名称:lightwave,代码行数:29,代码来源:threading.c
示例3: VmDnsGetLockKey
static
int*
VmDnsGetLockKey(
pthread_key_t* pLockKey
)
{
DWORD dwError = ERROR_SUCCESS;
int* pCounter = NULL;
int* pCount = (int*)pthread_getspecific(*pLockKey);
if (!pCount)
{
dwError = VmDnsAllocateMemory(sizeof(int), (void**)&(pCounter));
BAIL_ON_VMDNS_ERROR(dwError);
dwError = pthread_setspecific(*pLockKey, pCounter);
dwError = POSIX_TO_WIN32_ERROR(dwError);
BAIL_ON_VMDNS_ERROR(dwError);
pCounter = NULL;
pCount = (int*)pthread_getspecific(*pLockKey);
}
cleanup:
return pCount;
error:
VMDNS_SAFE_FREE_MEMORY(pCounter);
goto cleanup;
}
开发者ID:DhanashreeA,项目名称:lightwave,代码行数:30,代码来源:threading.c
示例4: VmDnsRpcCopySrvRecord
DWORD VmDnsRpcCopySrvRecord(
PVMDNS_RECORD pSrc,
PVMDNS_RECORD pDest
)
{
DWORD dwError = 0;
PVMDNS_SRV_DATAA pData = NULL;
pData = &pDest->Data.SRV;
VmDnsRpcAllocateStringA(pSrc->pszName, &pDest->pszName);
BAIL_ON_VMDNS_ERROR(dwError);
pDest->iClass = pSrc->iClass;
pDest->dwTtl = pSrc->dwTtl;
pDest->dwType = pSrc->dwType;
pData->wPort = pSrc->Data.SRV.wPort;
pData->wPriority = pSrc->Data.SRV.wPriority;
pData->wWeight = pSrc->Data.SRV.wWeight;
VmDnsRpcAllocateStringA(pSrc->Data.SRV.pNameTarget, &pData->pNameTarget);
BAIL_ON_VMDNS_ERROR(dwError);
cleanup:
return dwError;
error:
VmDnsClearRecord(pDest);
goto cleanup;
}
开发者ID:vmware,项目名称:lightwave,代码行数:31,代码来源:record-srv.c
示例5: VmDnsAllocateRWLock
DWORD
VmDnsAllocateRWLock(
PVMDNS_RWLOCK* ppLock
)
{
DWORD dwError = 0;
PVMDNS_RWLOCK pLock = NULL;
BAIL_ON_VMDNS_INVALID_POINTER(ppLock, dwError);
dwError = VmDnsAllocateMemory(sizeof(VMDNS_RWLOCK), (void**)&pLock);
BAIL_ON_VMDNS_ERROR(dwError);
dwError = pthread_rwlock_init(&pLock->rwLock, NULL);
dwError = POSIX_TO_WIN32_ERROR(dwError);
BAIL_ON_VMDNS_ERROR(dwError);
dwError = pthread_key_create(&pLock->readKey, VmDnsFreeLockCount);
dwError = POSIX_TO_WIN32_ERROR(dwError);
BAIL_ON_VMDNS_ERROR(dwError);
dwError = pthread_key_create(&pLock->writeKey, VmDnsFreeLockCount);
dwError = POSIX_TO_WIN32_ERROR(dwError);
BAIL_ON_VMDNS_ERROR(dwError);
*ppLock = pLock;
cleanup:
return dwError;
error:
VMDNS_SAFE_FREE_MEMORY(pLock);
goto cleanup;
}
开发者ID:DhanashreeA,项目名称:lightwave,代码行数:33,代码来源:threading.c
示例6: VmDnsThreadJoin
DWORD
VmDnsThreadJoin(
PVMDNS_THREAD pThread,
PDWORD pRetVal
)
{
DWORD dwError = ERROR_SUCCESS;
union
{
DWORD dwError;
PVOID pvRet;
} retVal = { 0 };
if(pThread == NULL)
{
dwError = ERROR_INVALID_PARAMETER;
BAIL_ON_VMDNS_ERROR(dwError);
}
dwError = pthread_join(
(*pThread),
((pRetVal != NULL) ? &(retVal.pvRet) : NULL)
);
BAIL_ON_VMDNS_ERROR(dwError);
if( pRetVal != NULL )
{
// our ThreadFunction returns error code
*pRetVal = retVal.dwError;
}
error:
return dwError;
}
开发者ID:DhanashreeA,项目名称:lightwave,代码行数:35,代码来源:threading.c
示例7: VmDnsAllocateMutex
DWORD
VmDnsAllocateMutex(
PVMDNS_MUTEX* ppMutex
)
{
DWORD dwError = ERROR_SUCCESS;
PVMDNS_MUTEX pVmDnsMutex = NULL;
if ( ppMutex == NULL )
{
dwError = ERROR_INVALID_PARAMETER;
BAIL_ON_VMDNS_ERROR(dwError);
}
dwError = VmDnsAllocateMemory( sizeof(VMDNS_MUTEX), ((PVOID*)&pVmDnsMutex));
BAIL_ON_VMDNS_ERROR(dwError);
dwError = VmDnsInitializeMutexContent( pVmDnsMutex );
BAIL_ON_VMDNS_ERROR(dwError);
*ppMutex = pVmDnsMutex;
pVmDnsMutex = NULL;
error:
VMDNS_SAFE_FREE_MUTEX( pVmDnsMutex );
return dwError;
}
开发者ID:DhanashreeA,项目名称:lightwave,代码行数:29,代码来源:threading.c
示例8: VmDnsDuplicateNSRecord
DWORD
VmDnsDuplicateNSRecord(
PVMDNS_RECORD pSrc,
PVMDNS_RECORD *ppDest
)
{
DWORD dwError = 0;
PVMDNS_RECORD pRecord = NULL;
BAIL_ON_VMDNS_INVALID_POINTER(pSrc, dwError);
BAIL_ON_VMDNS_INVALID_POINTER(ppDest, dwError);
dwError = VmDnsAllocateMemory(sizeof(VMDNS_RECORD), (void**)&pRecord);
BAIL_ON_VMDNS_ERROR(dwError);
dwError = VmDnsCopyNSRecord(pSrc, pRecord);
BAIL_ON_VMDNS_ERROR(dwError);
*ppDest = pRecord;
pRecord = NULL;
cleanup:
return dwError;
error:
VMDNS_FREE_RECORD(pRecord);
if (ppDest)
{
*ppDest = NULL;
}
goto cleanup;
}
开发者ID:vmware,项目名称:lightwave,代码行数:32,代码来源:record-ns.c
示例9: VmDnsCacheRemoveZone
DWORD
VmDnsCacheRemoveZone(
PVMDNS_CACHE_CONTEXT pContext,
PVMDNS_ZONE_OBJECT pZoneObject
)
{
DWORD dwError = 0;
BOOL bLocked = FALSE;
if (!pZoneObject)
{
dwError = ERROR_INVALID_PARAMETER;
BAIL_ON_VMDNS_ERROR(dwError);
}
VmDnsLockWrite(pContext->pLock);
bLocked = TRUE;
dwError = VmDnsZoneListRemoveZone(pContext->pZoneList, pZoneObject);
BAIL_ON_VMDNS_ERROR(dwError);
cleanup:
if (bLocked)
{
VmDnsUnlockWrite(pContext->pLock);
}
return dwError;
error:
goto cleanup;
}
开发者ID:vmware,项目名称:lightwave,代码行数:32,代码来源:cache.c
示例10: VmDnsCliCreateZone
static
DWORD
VmDnsCliCreateZone(
PVM_DNS_CLI_CONTEXT pContext
)
{
DWORD dwError = 0;
if (pContext->dwZoneType == VMDNS_ZONE_TYPE_FORWARDER)
{
dwError = VmDnsCliCreateForwarderZone(pContext);
BAIL_ON_VMDNS_ERROR(dwError);
}
else
{
dwError = VmDnsCliCreatePrimaryZone(pContext);
BAIL_ON_VMDNS_ERROR(dwError);
}
cleanup:
return dwError;
error:
goto cleanup;
}
开发者ID:vmware,项目名称:lightwave,代码行数:27,代码来源:cli.c
示例11: VmDnsCachePurgeRecordProc
DWORD
VmDnsCachePurgeRecordProc(
PVOID pData,
PCSTR pszZone,
PCSTR pszNode
)
{
PVMDNS_CACHE_CONTEXT pCacheContext = (PVMDNS_CACHE_CONTEXT) pData;
PVMDNS_ZONE_OBJECT pZoneObject = NULL;
DWORD dwError = 0;
dwError = VmDnsCacheFindZone(
pCacheContext,
pszZone,
&pZoneObject
);
BAIL_ON_VMDNS_ERROR(dwError);
dwError = VmDnsCachePurgeRecord(pZoneObject, pszNode, CACHE_PURGE_REPLICATION);
BAIL_ON_VMDNS_ERROR(dwError);
cleanup:
VmDnsZoneObjectRelease(pZoneObject);
return dwError;
error:
goto cleanup;
}
开发者ID:vmware,项目名称:lightwave,代码行数:29,代码来源:cache.c
示例12: VmDnsRpcCopyPtrRecord
DWORD
VmDnsRpcCopyPtrRecord(
PVMDNS_RECORD pSrc,
PVMDNS_RECORD pDest
)
{
DWORD dwError = 0;
PVMDNS_PTR_DATAA pData = NULL;
pData = &pDest->Data.PTR;
VmDnsRpcAllocateStringA(pSrc->pszName, &pDest->pszName);
BAIL_ON_VMDNS_ERROR(dwError);
pDest->iClass = pSrc->iClass;
pDest->dwTtl = pSrc->dwTtl;
pDest->dwType = pSrc->dwType;
VmDnsRpcAllocateStringA(pSrc->Data.PTR.pNameHost, &pData->pNameHost);
BAIL_ON_VMDNS_ERROR(dwError);
cleanup:
return dwError;
error:
VmDnsRpcClearPtrRecord(pDest);
goto cleanup;
}
开发者ID:DhanashreeA,项目名称:lightwave,代码行数:29,代码来源:record-ptr.c
示例13: VmDnsRpcDuplicatePtrRecord
DWORD
VmDnsRpcDuplicatePtrRecord(
PVMDNS_RECORD pSrc,
PVMDNS_RECORD *ppDest
)
{
DWORD dwError = 0;
PVMDNS_RECORD pRecord = NULL;
BAIL_ON_VMDNS_INVALID_POINTER(pSrc, dwError);
BAIL_ON_VMDNS_INVALID_POINTER(ppDest, dwError);
dwError = VmDnsRpcAllocateMemory(sizeof(VMDNS_RECORD), (PVOID*)&pRecord);
BAIL_ON_VMDNS_ERROR(dwError);
dwError = VmDnsRpcCopyPtrRecord(pSrc, pRecord);
BAIL_ON_VMDNS_ERROR(dwError);
*ppDest = pRecord;
pRecord = NULL;
cleanup:
return dwError;
error:
VmDnsRpcClearPtrRecord(pRecord);
VmDnsRpcFreeMemory(pRecord);
if (ppDest)
{
*ppDest = NULL;
}
goto cleanup;
}
开发者ID:DhanashreeA,项目名称:lightwave,代码行数:33,代码来源:record-ptr.c
示例14: VmDnsCacheSyncZones
DWORD
VmDnsCacheSyncZones(
DWORD dwLastChangedUSN,
PVMDNS_CACHE_CONTEXT pCacheContext
)
{
DWORD dwError = 0;
dwError = VmDnsStoreSyncDeleted(
dwLastChangedUSN,
VmDnsCacheRemoveZoneProc,
(PVOID) pCacheContext
);
BAIL_ON_VMDNS_ERROR(dwError);
dwError = VmDnsStoreSyncNewObjects(
dwLastChangedUSN,
VmDnsCacheSyncZoneProc,
VmDnsCachePurgeRecordProc,
(PVOID) pCacheContext
);
BAIL_ON_VMDNS_ERROR(dwError);
cleanup:
return dwError;
error:
goto cleanup;
}
开发者ID:vmware,项目名称:lightwave,代码行数:29,代码来源:cache.c
示例15: VmDnsCacheStopRefreshThread
static
DWORD
VmDnsCacheStopRefreshThread(
PVMDNS_CACHE_CONTEXT pContext
)
{
DWORD dwError = 0;
if (!pContext->pRefreshEvent ||
!pContext->pRefreshThread)
{
dwError = ERROR_INVALID_STATE;
BAIL_ON_VMDNS_ERROR(dwError);
}
pContext->bShutdown = TRUE;
dwError = VmDnsConditionSignal(pContext->pRefreshEvent);
BAIL_ON_VMDNS_ERROR(dwError);
dwError = VmDnsThreadJoin(pContext->pRefreshThread, &dwError);
BAIL_ON_VMDNS_ERROR(dwError);
dwError = VmDnsCacheCleanupRefreshThread(pContext);
BAIL_ON_VMDNS_ERROR(dwError);
cleanup:
return dwError;
error:
goto cleanup;
}
开发者ID:vmware,项目名称:lightwave,代码行数:33,代码来源:cache.c
示例16: VmDnsConditionWait
DWORD
VmDnsConditionWait(
PVMDNS_COND pCondition,
PVMDNS_MUTEX pMutex
)
{
DWORD dwError = ERROR_SUCCESS;
if ( ( pCondition == NULL )
||
( pCondition->bInitialized == FALSE )
||
( pMutex == NULL )
||
( pMutex->bInitialized == FALSE )
)
{
dwError = ERROR_INVALID_PARAMETER;
BAIL_ON_VMDNS_ERROR(dwError);
}
dwError = pthread_cond_wait(
&(pCondition->cond),
&(pMutex->critSect)
);
BAIL_ON_VMDNS_ERROR(dwError);
error:
return dwError;
}
开发者ID:DhanashreeA,项目名称:lightwave,代码行数:31,代码来源:threading.c
示例17: VmDnsCliDelForwarder
static
DWORD
VmDnsCliDelForwarder(
PVM_DNS_CLI_CONTEXT pContext
)
{
DWORD dwError = 0;
if (pContext->pszZone)
{
dwError = VmDnsDeleteZoneForwarderA(
pContext->pServerContext,
pContext->pszForwarder,
pContext->pszZone);
BAIL_ON_VMDNS_ERROR(dwError);
}
else
{
dwError = VmDnsDeleteForwarderA(
pContext->pServerContext,
pContext->pszForwarder);
BAIL_ON_VMDNS_ERROR(dwError);
}
cleanup:
return dwError;
error:
goto cleanup;
}
开发者ID:vmware,项目名称:lightwave,代码行数:32,代码来源:cli.c
示例18: VmDnsPropertyListAddList
DWORD
VmDnsPropertyListAddList(
PVMDNS_PROPERTY_LIST pDestList,
PVMDNS_PROPERTY_LIST pSrcList
)
{
DWORD dwError = 0;
DWORD i = 0;
DWORD dwPropertyListSize = 0;
BAIL_ON_VMDNS_INVALID_POINTER(pDestList, dwError);
BAIL_ON_VMDNS_INVALID_POINTER(pSrcList, dwError);
if (pSrcList->dwCurrentSize == 0)
{
dwError = ERROR_INVALID_PARAMETER;
BAIL_ON_VMDNS_ERROR(dwError);
}
dwPropertyListSize = VmDnsPropertyListGetSize(pSrcList);
for (i = 0; i < dwPropertyListSize; i++)
{
dwError = VmDnsPropertyListAdd(pDestList, pSrcList->ppProperties[i]);
BAIL_ON_VMDNS_ERROR(dwError);
}
cleanup:
return dwError;
error:
goto cleanup;
}
开发者ID:vmware,项目名称:lightwave,代码行数:33,代码来源:propertylist.c
示例19: VmDnsCreateThread
DWORD
VmDnsCreateThread(
PVMDNS_THREAD pThread,
BOOLEAN bDetached,
VmDnsStartRoutine* pStartRoutine,
PVOID pArgs
)
{
DWORD dwError = ERROR_SUCCESS;
PVMDNS_THREAD_START_INFO pThreadStartInfo = NULL;
pthread_attr_t thrAttr;
BOOLEAN bThreadAttrInited = FALSE;
if ( ( pThread == NULL ) || ( pStartRoutine == NULL ) )
{
dwError = ERROR_INVALID_PARAMETER;
BAIL_ON_VMDNS_ERROR(dwError);
}
if( bDetached != FALSE )
{
pthread_attr_init(&thrAttr);
bThreadAttrInited = TRUE;
pthread_attr_setdetachstate(&thrAttr, PTHREAD_CREATE_DETACHED);
}
dwError = VmDnsAllocateMemory(
sizeof(VMDNS_THREAD_START_INFO),
((PVOID*)&pThreadStartInfo)
);
BAIL_ON_VMDNS_ERROR(dwError);
pThreadStartInfo->pStartRoutine = pStartRoutine;
pThreadStartInfo->pArgs = pArgs;
dwError = pthread_create(
pThread,
((bDetached == FALSE) ? NULL : &thrAttr),
ThreadFunction,
pThreadStartInfo
);
BAIL_ON_VMDNS_ERROR(dwError);
// we started successfully -> pThreadStartInfo is now owned by
// ThreadFunction
pThreadStartInfo = NULL;
error:
if(bThreadAttrInited != FALSE)
{
pthread_attr_destroy(&thrAttr);
}
VMDNS_SAFE_FREE_MEMORY( pThreadStartInfo );
return dwError;
}
开发者ID:DhanashreeA,项目名称:lightwave,代码行数:58,代码来源:threading.c
示例20: VmDnsListRecordsA
VMDNS_API
DWORD
VmDnsListRecordsA(
PVMDNS_SERVER_CONTEXT pServerContext,
PSTR pszZone,
PVMDNS_RECORD_ARRAY* ppRecordArray
)
{
DWORD dwError = 0;
PVMDNS_RECORD_ARRAY pRecordArray = NULL;
PVMDNS_RECORD_ARRAY pRpcRecordArray = NULL;
if (!pServerContext ||
!pServerContext->hBinding ||
!ppRecordArray)
{
dwError = ERROR_INVALID_PARAMETER;
BAIL_ON_VMDNS_ERROR(dwError);
}
DCETHREAD_TRY
{
dwError = VmDnsRpcListRecords(
pServerContext->hBinding,
pszZone,
&pRpcRecordArray
);
}
DCETHREAD_CATCH_ALL(THIS_CATCH)
{
dwError = VmDnsRpcGetErrorCode(THIS_CATCH);
}
DCETHREAD_ENDTRY;
BAIL_ON_VMDNS_ERROR(dwError);
dwError = VmDnsAllocateFromRpcRecordArray(
pRpcRecordArray,
&pRecordArray
);
BAIL_ON_VMDNS_ERROR(dwError);
*ppRecordArray = pRecordArray;
cleanup:
if (pRpcRecordArray)
{
VmDnsRpcClientFreeRpcRecordArray(pRpcRecordArray);
}
return dwError;
error:
VMDNS_FREE_RECORD_ARRAY(pRecordArray);
goto cleanup;
}
开发者ID:vmware,项目名称:lightwave,代码行数:55,代码来源:client.c
注:本文中的BAIL_ON_VMDNS_ERROR函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论