Beispiel #1
0
VOID
LwKrb5Constructor(
    VOID
    )
{
    LwInterlockedIncrement(&glLibraryRefCount);
}
Beispiel #2
0
VOID
LwmEvtOpenServerConstructor(
    VOID
    )
{
    LwInterlockedIncrement(&glLibraryRefCount);
}
Beispiel #3
0
VOID
RtlReferenceAccessToken(
    IN PACCESS_TOKEN AccessToken
    )
{
    LwInterlockedIncrement(&AccessToken->ReferenceCount);
}
Beispiel #4
0
PREG_KEY_CONTEXT
SqliteCacheLocateActiveKey_inlock(
    IN PCWSTR pwszKeyName
    )
{
    PREG_KEY_CONTEXT pKeyResult = NULL;
    DWORD status = 0;

    status = RegHashGetValue(gActiveKeyList.pKeyList,
    		                 pwszKeyName,
                              (PVOID*)&pKeyResult);
    if (!status && pKeyResult)
    {
        LwInterlockedIncrement(&pKeyResult->refCount);
    }

    return pKeyResult;
}
Beispiel #5
0
DWORD
LsaPcacheGetMachinePasswordInfoW(
    IN LSA_MACHINEPWD_CACHE_HANDLE pPcache,
    OUT PLSA_MACHINE_PASSWORD_INFO_W* ppPasswordInfo
    )
{
    DWORD dwError = 0;
    BOOLEAN bInLock = FALSE;
    PLSA_MACHINE_PASSWORD_INFO_W pPasswordInfo = NULL;

    dwError = LsaPcachepEnsurePasswordInfoAndLock(pPcache);
    BAIL_ON_LSA_ERROR(dwError);
    bInLock = TRUE;

    pPasswordInfo = &pPcache->pEntry->PasswordInfoW;
    LwInterlockedIncrement(&pPcache->pEntry->RefCount);

error:
    if (bInLock)
    {
        PTHREAD_CALL_MUST_SUCCEED(pthread_rwlock_unlock(pPcache->pStateLock));
    }

    if (dwError)
    {
        if (pPasswordInfo)
        {
            LsaPcacheReleaseMachinePasswordInfoW(pPasswordInfo);
            pPasswordInfo = NULL;
        }
    }

    *ppPasswordInfo = pPasswordInfo;

    return dwError;
}