本文整理匯總了C++中AnscAcquireLock函數的典型用法代碼示例。如果您正苦於以下問題:C++ AnscAcquireLock函數的具體用法?C++ AnscAcquireLock怎麽用?C++ AnscAcquireLock使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。
在下文中一共展示了AnscAcquireLock函數的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C++代碼示例。
示例1: AnscAcquireLock
ANSC_STATUS
BbhmDiagipSetStopTime
(
ANSC_HANDLE hThisObject,
USHORT SeqNumber,
ULONG PktSize,
UCHAR TTL,
ULONG StopTime
)
{
ANSC_STATUS returnStatus = ANSC_STATUS_FAILURE;
PBBHM_DIAG_IP_PING_OBJECT pMyObject = (PBBHM_DIAG_IP_PING_OBJECT)hThisObject;
PBBHM_IP_PING_PROPERTY pProperty = (PBBHM_IP_PING_PROPERTY )&pMyObject->Property;
PBBHM_IP_PING_TDO_OBJECT pStateTimer = (PBBHM_IP_PING_TDO_OBJECT )pMyObject->hStateTimer;
PBBHM_IP_PING_SINK_OBJECT pSink = (PBBHM_IP_PING_SINK_OBJECT )pMyObject->hSinkObject;
PSINGLE_LINK_ENTRY pSLinkEntry = NULL;
PBBHM_IP_PING_ECHO_ENTRY pEchoEntry = NULL;
PBBHM_IP_PING_ECHO_ENTRY pMEchoEntry = NULL;
ULONG ulHashIndex = SeqNumber % MAX_ECHO_TABLE_SIZE;
AnscAcquireLock(&pMyObject->EchoTableLock);
pSLinkEntry = AnscSListGetFirstEntry(&pMyObject->EchoTable[ulHashIndex]);
while ( pSLinkEntry )
{
pEchoEntry = (PBBHM_IP_PING_ECHO_ENTRY)ACCESS_BBHM_IP_PING_ECHO_ENTRY(pSLinkEntry);
pSLinkEntry = AnscSListGetNextEntry(pSLinkEntry);
if ( pEchoEntry->SeqId == SeqNumber )
{
if ( (StopTime - pEchoEntry->StartTime <= pProperty->TimeOut) && (pEchoEntry->StopTime == 0) )
{
returnStatus = ANSC_STATUS_SUCCESS;
pEchoEntry->StopTime = StopTime;
pEchoEntry->TTL = TTL;
pEchoEntry->PktSize = PktSize;
pEchoEntry->ICMPType = 0;
pMEchoEntry = (PBBHM_IP_PING_ECHO_ENTRY)AnscAllocateMemory(sizeof(BBHM_IP_PING_ECHO_ENTRY));
if ( pMEchoEntry )
{
pMEchoEntry->StartTime = pEchoEntry->StartTime;
pMEchoEntry->StopTime = pEchoEntry->StopTime;
pMEchoEntry->SeqId = pEchoEntry->SeqId;
pMEchoEntry->PktSize = pEchoEntry->PktSize;
pMEchoEntry->TTL = pEchoEntry->TTL;
pMEchoEntry->ICMPType = pEchoEntry->ICMPType;
AnscAcquireLock(&pMyObject->MiddleResultLock);
AnscSListPushEntryAtBack(&pMyObject->MiddleResult, &pMEchoEntry->Linkage);
AnscReleaseLock(&pMyObject->MiddleResultLock);
}
}
break;
}
}
AnscReleaseLock(&pMyObject->EchoTableLock);
return returnStatus;
}
示例2: AnscAcquireLock
ANSC_STATUS
HttpSpoDestroyPsoPool
(
ANSC_HANDLE hThisObject
)
{
ANSC_STATUS returnStatus = ANSC_STATUS_SUCCESS;
PHTTP_SIMPLE_PROXY_OBJECT pMyObject = (PHTTP_SIMPLE_PROXY_OBJECT )hThisObject;
PHTTP_SIMPLE_PROXY_PROPERTY pProperty = (PHTTP_SIMPLE_PROXY_PROPERTY)&pMyObject->Property;
PHTTP_PROXY_SESSION_OBJECT pSession = NULL;
PSINGLE_LINK_ENTRY pSLinkEntry = NULL;
AnscAcquireLock(&pMyObject->PsoSListLock);
pSLinkEntry = AnscSListPopEntry(&pMyObject->PsoSList);
while ( pSLinkEntry )
{
pSession = ACCESS_HTTP_PROXY_SESSION_OBJECT(pSLinkEntry);
pSLinkEntry = AnscSListPopEntry(&pMyObject->PsoSList);
pSession->Remove((ANSC_HANDLE)pSession);
}
AnscReleaseLock(&pMyObject->PsoSListLock);
return ANSC_STATUS_SUCCESS;
}
示例3: AnscAcquireLock
ANSC_STATUS
HttpBmoDelAllHfos
(
ANSC_HANDLE hThisObject
)
{
ANSC_STATUS returnStatus = ANSC_STATUS_SUCCESS;
PHTTP_BASIC_MESSAGE_OBJECT pMyObject = (PHTTP_BASIC_MESSAGE_OBJECT)hThisObject;
PHTTP_HFP_INTERFACE pHfpIf = (PHTTP_HFP_INTERFACE )pMyObject->hHfpIf;
PHTTP_HEADER_FIELD pHttpHfo = NULL;
PSINGLE_LINK_ENTRY pSLinkEntry = NULL;
ULONG i = 0;
AnscAcquireLock(&pMyObject->HfoTableLock);
for ( i = 0; i < HTTP_BMO_HFO_TABLE_SIZE; i++ )
{
pSLinkEntry = AnscQueuePopEntry(&pMyObject->HfoTable[i]);
while ( pSLinkEntry )
{
pHttpHfo = ACCESS_HTTP_HEADER_FIELD(pSLinkEntry);
pSLinkEntry = AnscQueuePopEntry(&pMyObject->HfoTable[i]);
AnscFreeMemory(pHttpHfo);
}
}
AnscReleaseLock(&pMyObject->HfoTableLock);
return ANSC_STATUS_SUCCESS;
}
示例4: AnscFreeMemory
ANSC_STATUS
DslhWmpdoReset
(
ANSC_HANDLE hThisObject
)
{
ANSC_STATUS returnStatus = ANSC_STATUS_SUCCESS;
PDSLH_WMP_DATABASE_OBJECT pMyObject = (PDSLH_WMP_DATABASE_OBJECT )hThisObject;
PDSLH_WMP_DATABASE_PROPERTY pProperty = (PDSLH_WMP_DATABASE_PROPERTY)&pMyObject->Property;
PDSLH_OBJ_RECORD_OBJECT pRootObjRecord = (PDSLH_OBJ_RECORD_OBJECT )pMyObject->hRootObjRecord;
PDSLH_OBJ_ENTITY_OBJECT pRootObjEntity = (PDSLH_OBJ_ENTITY_OBJECT )pMyObject->hRootObjEntity;
PDSLH_WMPDO_MONITOR_PARAM pMonitorParam = (PDSLH_WMPDO_MONITOR_PARAM )NULL;
PSINGLE_LINK_ENTRY pSLinkEntry = (PSINGLE_LINK_ENTRY )NULL;
pMyObject->ResetObjVarArray(hThisObject);
if ( pMyObject->LockedEntity )
{
AnscFreeMemory(pMyObject->LockedEntity);
pMyObject->LockedEntity = NULL;
}
if ( pMyObject->pRootObjName)
{
AnscFreeMemory(pMyObject->pRootObjName);
pMyObject->pRootObjName = NULL;
}
if ( pRootObjRecord )
{
pRootObjRecord->Remove((ANSC_HANDLE)pRootObjRecord);
pMyObject->hRootObjRecord = (ANSC_HANDLE)NULL;
}
if ( pRootObjEntity )
{
pRootObjEntity->Remove((ANSC_HANDLE)pRootObjEntity);
pMyObject->hRootObjEntity = (ANSC_HANDLE)NULL;
}
AnscAcquireLock(&pMyObject->MpoQueueLock);
pSLinkEntry = AnscQueuePopEntry(&pMyObject->MpoQueue);
while ( pSLinkEntry )
{
pMonitorParam = ACCESS_DSLH_WMPDO_MONITOR_PARAM(pSLinkEntry);
pSLinkEntry = AnscQueuePopEntry(&pMyObject->MpoQueue);
DslhWmpdoFreeMonitorParam(pMonitorParam);
}
AnscReleaseLock(&pMyObject->MpoQueueLock);
return ANSC_STATUS_SUCCESS;
}
示例5: AnscAcquireLock
ANSC_STATUS
HttpAuthcoClearAllAuthInfo
(
ANSC_HANDLE hThisObject
)
{
PHTTP_AUTH_CLIENT_OBJECT pMyObject = (PHTTP_AUTH_CLIENT_OBJECT)hThisObject;
PHTTP_AUTHO_INFO pAuthInfo = NULL;
PSINGLE_LINK_ENTRY pSLinkEntry = NULL;
AnscAcquireLock(&pMyObject->AuthInfoListLock);
/* remove auth info */
pSLinkEntry = AnscSListPopEntry(&pMyObject->AuthInfoList);
while (pSLinkEntry)
{
pAuthInfo = ACCESS_HTTP_AUTHO_INFO_OBJECT(pSLinkEntry);
pSLinkEntry = AnscSListPopEntry(&pMyObject->AuthInfoList);
HttpAuthInfoRemove(pAuthInfo);
}
AnscReleaseLock(&pMyObject->AuthInfoListLock);
return ANSC_STATUS_SUCCESS;
}
示例6: AnscAcquireLock
BOOLEAN
BbhmDiageoCheckCanStart
(
ANSC_HANDLE hThisObject
)
{
ANSC_STATUS returnStatus = ANSC_STATUS_SUCCESS;
PBBHM_DIAG_EXEC_OBJECT pMyObject = (PBBHM_DIAG_EXEC_OBJECT)hThisObject;
PDSLH_DIAG_INFO_BASE pDiagInfo = (PDSLH_DIAG_INFO_BASE )pMyObject->hDslhDiagInfo;
BOOLEAN bCanStart = FALSE;
AnscAcquireLock(&pMyObject->AccessLock);
if ( pMyObject->bResultQueryRunning )
{
bCanStart = FALSE;
}
else
{
bCanStart = TRUE;
}
AnscReleaseLock(&pMyObject->AccessLock);
return bCanStart;
}
示例7: AnscAcquireLock
ANSC_STATUS
Bmc2EnvcoDelAllCommandProperties
(
ANSC_HANDLE hThisObject
)
{
ANSC_STATUS returnStatus = ANSC_STATUS_SUCCESS;
PBMC2_ENV_CONTROLLER_OBJECT pMyObject = (PBMC2_ENV_CONTROLLER_OBJECT )hThisObject;
PBMC2_ENV_CONTROLLER_PROPERTY pProperty = (PBMC2_ENV_CONTROLLER_PROPERTY)&pMyObject->Property;
PBMC2_COMMAND_PROPERTY pBmc2CommandProperty = (PBMC2_COMMAND_PROPERTY )NULL;
PSINGLE_LINK_ENTRY pSLinkEntry = (PSINGLE_LINK_ENTRY )NULL;
ULONG i = 0;
AnscAcquireLock(&pMyObject->CompoTableLock);
for ( i = 0; i < BMC2_ENVCO_COMPO_TABLE_SIZE; i++ )
{
pSLinkEntry = AnscQueuePopEntry(&pMyObject->CompoTable[i]);
while ( pSLinkEntry )
{
pBmc2CommandProperty = ACCESS_BMC2_COMMAND_PROPERTY(pSLinkEntry);
pSLinkEntry = AnscQueuePopEntry(&pMyObject->CompoTable[i]);
Bmc2FreeCommandProperty(pBmc2CommandProperty);
}
}
AnscReleaseLock(&pMyObject->CompoTableLock);
return ANSC_STATUS_SUCCESS;
}
示例8: AnscAcquireLock
ANSC_STATUS
PsmSysroSysRamEnableFileSync
(
ANSC_HANDLE hThisObject,
BOOL bEnabled
)
{
ANSC_STATUS returnStatus = ANSC_STATUS_SUCCESS;
PPSM_SYS_REGISTRY_OBJECT pMyObject = (PPSM_SYS_REGISTRY_OBJECT )hThisObject;
PPSM_SYS_REGISTRY_PROPERTY pProperty = (PPSM_SYS_REGISTRY_PROPERTY)&pMyObject->Property;
PSYS_INFO_REPOSITORY_OBJECT pSysInfoRepository = (PSYS_INFO_REPOSITORY_OBJECT)pMyObject->hSysInfoRepository;
PSYS_IRA_INTERFACE pIraIf = (PSYS_IRA_INTERFACE )pSysInfoRepository->GetIraIf((ANSC_HANDLE)pSysInfoRepository);
AnscAcquireLock(&pMyObject->AccessLock);
//CcspTraceInfo(("\n##PsmSysroSysRamEnableFileSync() begins##\n"));
if ( bEnabled )
{
pMyObject->FileSyncRefCount--;
}
else
{
pMyObject->FileSyncRefCount++;
}
AnscReleaseLock(&pMyObject->AccessLock);
//CcspTraceInfo(("\n##PsmSysroSysRamEnableFileSync() ENDs##\n"));
return ANSC_STATUS_SUCCESS;
}
示例9: AnscAcquireLock
ANSC_STATUS
AnscLpccoDelAllPendingCalls
(
ANSC_HANDLE hThisObject
)
{
ANSC_STATUS returnStatus = ANSC_STATUS_SUCCESS;
PANSC_LPC_CONNECTOR_OBJECT pMyObject = (PANSC_LPC_CONNECTOR_OBJECT)hThisObject;
PANSC_LPCCO_PENDING_CALL pPendingCall = (PANSC_LPCCO_PENDING_CALL )NULL;
PSINGLE_LINK_ENTRY pSLinkEntry = (PSINGLE_LINK_ENTRY )NULL;
AnscAcquireLock(&pMyObject->PcallQueueLock);
pSLinkEntry = AnscQueuePopEntry(&pMyObject->PcallQueue);
while ( pSLinkEntry )
{
pPendingCall = ACCESS_ANSC_LPCCO_PENDING_CALL(pSLinkEntry);
pSLinkEntry = AnscQueuePopEntry(&pMyObject->PcallQueue);
AnscSetEvent (pPendingCall->CallEvent);
AnscFreeMemory(pPendingCall);
}
AnscReleaseLock(&pMyObject->PcallQueueLock);
return ANSC_STATUS_SUCCESS;
}
示例10: AnscHashString
ANSC_STATUS
Bmc2EnvcoAddCommandProperty
(
ANSC_HANDLE hThisObject,
ANSC_HANDLE hCommandProperty,
ANSC_HANDLE hCommandInsertBefore
)
{
ANSC_STATUS returnStatus = ANSC_STATUS_SUCCESS;
PBMC2_ENV_CONTROLLER_OBJECT pMyObject = (PBMC2_ENV_CONTROLLER_OBJECT )hThisObject;
PBMC2_ENV_CONTROLLER_PROPERTY pProperty = (PBMC2_ENV_CONTROLLER_PROPERTY)&pMyObject->Property;
PBMC2_COMMAND_PROPERTY pBmc2CommandProperty = (PBMC2_COMMAND_PROPERTY )hCommandProperty;
PBMC2_COMMAND_PROPERTY pBmc2CommandPropRef = (PBMC2_COMMAND_PROPERTY )hCommandInsertBefore;
ULONG ulHashIndex = AnscHashString(pBmc2CommandProperty->CommandName, AnscSizeOfString(pBmc2CommandProperty->CommandName), BMC2_ENVCO_COMPO_TABLE_SIZE);
AnscAcquireLock (&pMyObject->CompoTableLock);
if ( !pBmc2CommandPropRef )
{
AnscQueuePushEntry(&pMyObject->CompoTable[ulHashIndex], &pBmc2CommandProperty->Linkage);
}
else
{
/* This makes sure that the command property with more specific domain pattern name appears before those
* with less specific name. So when the command is issued, framework always tries to match domain
* with longer domain name, therefore there will be no mismatch.
*/
AnscQueuePushEntryBefore(&pMyObject->CompoTable[ulHashIndex], &pBmc2CommandProperty->Linkage, &pBmc2CommandPropRef->Linkage);
}
AnscReleaseLock (&pMyObject->CompoTableLock);
return ANSC_STATUS_SUCCESS;
}
示例11: AnscAcquireLock
ANSC_STATUS
TlsSmoDelAllSessions
(
ANSC_HANDLE hThisObject
)
{
PTLS_SESSION_MANAGER_OBJECT pMyObject = (PTLS_SESSION_MANAGER_OBJECT )hThisObject;
PTLS_SESSION_ENTRY_OBJECT pSessionEntry = (PTLS_SESSION_ENTRY_OBJECT )NULL;
PSINGLE_LINK_ENTRY pSLinkEntry = (PSINGLE_LINK_ENTRY )NULL;
ULONG i = 0;
AnscAcquireLock(&pMyObject->SeoTableLock);
for ( i = 0; i < TLS_SMO_SEO_TABLE_SIZE; i++ )
{
pSLinkEntry = AnscQueuePopEntry(&pMyObject->SeoTable[i]);
while ( pSLinkEntry )
{
pSessionEntry = ACCESS_TLS_SESSION_ENTRY_OBJECT(pSLinkEntry);
pSLinkEntry = AnscQueuePopEntry(&pMyObject->SeoTable[i]);
pSessionEntry->Remove((ANSC_HANDLE)pSessionEntry);
}
}
AnscReleaseLock(&pMyObject->SeoTableLock);
return ANSC_STATUS_SUCCESS;
}
示例12: AnscSizeOfString
ANSC_STATUS
HttpFcoAddFormElement
(
ANSC_HANDLE hThisObject,
ANSC_HANDLE hFeo
)
{
ANSC_STATUS returnStatus = ANSC_STATUS_SUCCESS;
PHTTP_FORM_CONTENT_OBJECT pMyObject = (PHTTP_FORM_CONTENT_OBJECT)hThisObject;
PHTTP_HFP_INTERFACE pHfpIf = (PHTTP_HFP_INTERFACE )pMyObject->hHfpIf;
PHTTP_FORM_ELEMENT pFormElement = (PHTTP_FORM_ELEMENT )hFeo;
ULONG ulHashIndex = 0;
ulHashIndex =
AnscHashString
(
pFormElement->Name,
AnscSizeOfString(pFormElement->Name),
HTTP_FCO_FEO_TABLE_SIZE
);
pFormElement->FormIndex = pMyObject->FormIndex++;
pFormElement->HashIndex = ulHashIndex;
AnscAcquireLock (&pMyObject->FeoTableLock);
AnscQueuePushEntry(&pMyObject->FeoTable[ulHashIndex], &pFormElement->Linkage);
AnscReleaseLock (&pMyObject->FeoTableLock);
return ANSC_STATUS_SUCCESS;
}
示例13: AnscQueuePopEntryByLink
ANSC_STATUS
HttpFcoDelFormElement
(
ANSC_HANDLE hThisObject,
char* name
)
{
ANSC_STATUS returnStatus = ANSC_STATUS_SUCCESS;
PHTTP_FORM_CONTENT_OBJECT pMyObject = (PHTTP_FORM_CONTENT_OBJECT)hThisObject;
PHTTP_HFP_INTERFACE pHfpIf = (PHTTP_HFP_INTERFACE )pMyObject->hHfpIf;
PHTTP_FORM_ELEMENT pFormElement = NULL;
ULONG ulHashIndex = 0;
pFormElement =
(PHTTP_FORM_ELEMENT)pMyObject->GetFormElement
(
(ANSC_HANDLE)pMyObject,
name
);
if ( !pFormElement )
{
return ANSC_STATUS_CANT_FIND;
}
else
{
ulHashIndex = pFormElement->HashIndex;
}
AnscAcquireLock (&pMyObject->FeoTableLock);
AnscQueuePopEntryByLink(&pMyObject->FeoTable[ulHashIndex], &pFormElement->Linkage);
AnscReleaseLock (&pMyObject->FeoTableLock);
return ANSC_STATUS_SUCCESS;
}
示例14: AnscHashString
ANSC_HANDLE
HttpFcoGetFormElement
(
ANSC_HANDLE hThisObject,
char* name
)
{
ANSC_STATUS returnStatus = ANSC_STATUS_SUCCESS;
PHTTP_FORM_CONTENT_OBJECT pMyObject = (PHTTP_FORM_CONTENT_OBJECT)hThisObject;
PHTTP_HFP_INTERFACE pHfpIf = (PHTTP_HFP_INTERFACE )pMyObject->hHfpIf;
PHTTP_FORM_ELEMENT pFormElement = NULL;
PSINGLE_LINK_ENTRY pSLinkEntry = NULL;
ULONG ulHashIndex = AnscHashString(name, AnscSizeOfString(name), HTTP_FCO_FEO_TABLE_SIZE);
AnscAcquireLock(&pMyObject->FeoTableLock);
pSLinkEntry = AnscQueueGetFirstEntry(&pMyObject->FeoTable[ulHashIndex]);
while ( pSLinkEntry )
{
pFormElement = ACCESS_HTTP_FORM_ELEMENT(pSLinkEntry);
pSLinkEntry = AnscQueueGetNextEntry(pSLinkEntry);
if ( AnscEqualString(pFormElement->Name, name, TRUE) )
{
AnscReleaseLock(&pMyObject->FeoTableLock);
return (ANSC_HANDLE)pFormElement;
}
}
AnscReleaseLock(&pMyObject->FeoTableLock);
return (ANSC_HANDLE)NULL;
}
示例15: AnscAcquireLock
ANSC_HANDLE
HttpWcsoGetEndWcto
(
ANSC_HANDLE hThisObject
)
{
ANSC_STATUS returnStatus = ANSC_STATUS_SUCCESS;
PHTTP_WEBC_SESSION_OBJECT pMyObject = (PHTTP_WEBC_SESSION_OBJECT)hThisObject;
PHTTP_BSP_INTERFACE pBspIf = (PHTTP_BSP_INTERFACE )pMyObject->hBspIf;
PHTTP_HFP_INTERFACE pHfpIf = (PHTTP_HFP_INTERFACE )pMyObject->hHfpIf;
PHTTP_WEBC_TRANS_OBJECT pWebcTrans = NULL;
PSINGLE_LINK_ENTRY pSLinkEntry = NULL;
ULONG ulWctoState = HTTP_WCTO_STATE_INITIALIZED;
AnscAcquireLock(&pMyObject->WctoSListLock);
pSLinkEntry = AnscSListGetFirstEntry(&pMyObject->WctoSList);
if ( pSLinkEntry )
{
pWebcTrans = ACCESS_HTTP_WEBC_TRANS_OBJECT(pSLinkEntry);
pWebcTrans->AcquireAccess((ANSC_HANDLE)pWebcTrans);
}
else
{
pWebcTrans = NULL;
}
AnscReleaseLock(&pMyObject->WctoSListLock);
return (ANSC_HANDLE)pWebcTrans;
}