当前位置: 首页>>代码示例>>C++>>正文


C++ VmDirAllocateMemory函数代码示例

本文整理汇总了C++中VmDirAllocateMemory函数的典型用法代码示例。如果您正苦于以下问题:C++ VmDirAllocateMemory函数的具体用法?C++ VmDirAllocateMemory怎么用?C++ VmDirAllocateMemory使用的例子?那么, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了VmDirAllocateMemory函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: VmDirSrvCreateAccessToken

DWORD
VmDirSrvCreateAccessToken(
    PCSTR pszUPN,
    PVMDIR_SRV_ACCESS_TOKEN* ppAccessToken
    )
{
    DWORD dwError = 0;
    PVMDIR_SRV_ACCESS_TOKEN pAccessToken = NULL;

    dwError = VmDirAllocateMemory(sizeof(*pAccessToken), (PVOID*)&pAccessToken);
    BAIL_ON_VMDIR_ERROR(dwError);

    pAccessToken->refCount = 1;

    dwError = VmDirAllocateStringA(pszUPN, &pAccessToken->pszUPN);
    BAIL_ON_VMDIR_ERROR(dwError);

    *ppAccessToken = pAccessToken;

cleanup:

    return dwError;

error:

    *ppAccessToken = NULL;

    if (pAccessToken)
    {
        VmDirSrvReleaseAccessToken(pAccessToken);
    }

    goto cleanup;
}
开发者ID:vmware,项目名称:lightwave,代码行数:34,代码来源:auth.c

示例2: VmDirAllocateMutex

DWORD
VmDirAllocateMutex(
    PVMDIR_MUTEX* ppMutex
    )
{
    DWORD dwError = ERROR_SUCCESS;
    PVMDIR_MUTEX pVmDirMutex = NULL;

    if ( ppMutex == NULL )
    {
        dwError = ERROR_INVALID_PARAMETER;
        BAIL_ON_VMDIR_ERROR(dwError);
    }

    dwError = VmDirAllocateMemory( sizeof(VMDIR_MUTEX), ((PVOID*)&pVmDirMutex));
    BAIL_ON_VMDIR_ERROR(dwError);

    dwError = VmDirInitializeMutexContent( pVmDirMutex );
    BAIL_ON_VMDIR_ERROR(dwError);

    *ppMutex = pVmDirMutex;
    pVmDirMutex = NULL;

error:

    VMDIR_SAFE_FREE_MUTEX( pVmDirMutex );

    return dwError;
}
开发者ID:vmware,项目名称:lightwave,代码行数:29,代码来源:threading.c

示例3: VmDirQueueInit

DWORD
VmDirQueueInit(
    PVDIR_QUEUE*    ppQueue
    )
{
    DWORD       dwError = 0;
    PVDIR_QUEUE pQueue = NULL;

    if (!ppQueue)
    {
        BAIL_WITH_VMDIR_ERROR(dwError, ERROR_INVALID_PARAMETER);
    }

    dwError = VmDirAllocateMemory(sizeof(VDIR_QUEUE), (PVOID*)&pQueue);
    BAIL_ON_VMDIR_ERROR(dwError);

    dwError = VmDirAllocateMutex(&pQueue->pMutex);
    BAIL_ON_VMDIR_ERROR(dwError);

    dwError = VmDirAllocateCondition(&pQueue->pCond);
    BAIL_ON_VMDIR_ERROR(dwError);

    *ppQueue = pQueue;

cleanup:
    return dwError;

error:
    VMDIR_LOG_ERROR(VMDIR_LOG_MASK_ALL, "%s failed, error (%d)", __FUNCTION__, dwError);
    VmDirQueueFree(pQueue);
    goto cleanup;
}
开发者ID:vmware,项目名称:lightwave,代码行数:32,代码来源:queue.c

示例4: VmDirAllocateRWLock

DWORD
VmDirAllocateRWLock(
    PVMDIR_RWLOCK*  ppLock
    )
{
    DWORD dwError = 0;
    PVMDIR_RWLOCK pLock = NULL;

    if (!ppLock)
    {
        dwError = VMDIR_ERROR_INVALID_PARAMETER;
        BAIL_ON_VMDIR_ERROR(dwError);
    }

    dwError = VmDirAllocateMemory(sizeof(VMDIR_RWLOCK), (PVOID*)&pLock);
    BAIL_ON_VMDIR_ERROR(dwError);

    dwError = VmDirInitializeRWLockContent(pLock);
    BAIL_ON_VMDIR_ERROR(dwError);

    *ppLock = pLock;
    pLock = NULL;

error:
    VmDirFreeRWLock(pLock);
    return dwError;
}
开发者ID:vmware,项目名称:lightwave,代码行数:27,代码来源:threading.c

示例5: VmDirDDVectorInit

DWORD
VmDirDDVectorInit(
    VOID
    )
{
    DWORD   dwError = 0;

    dwError = VmDirAllocateMemory(
            sizeof(VMDIR_REPL_DEADLOCKDETECTION_VECTOR),
            (PVOID*)&gVmdirServerGlobals.pReplDeadlockDetectionVector);
    BAIL_ON_VMDIR_ERROR(dwError);

    dwError = LwRtlCreateHashMap(
            &gVmdirServerGlobals.pReplDeadlockDetectionVector->pEmptyPageSentMap,
            LwRtlHashDigestPstrCaseless,
            LwRtlHashEqualPstrCaseless,
            NULL);
    BAIL_ON_VMDIR_ERROR(dwError);

    dwError = VmDirAllocateMutex(
            &gVmdirServerGlobals.pReplDeadlockDetectionVector->pMutex);
    BAIL_ON_VMDIR_ERROR(dwError);

cleanup:
    return dwError;

error:
    VMDIR_LOG_ERROR(VMDIR_LOG_MASK_ALL, "failed, error (%d)", dwError);
    goto cleanup;
}
开发者ID:vmware,项目名称:lightwave,代码行数:30,代码来源:deadlockdetectionvector.c

示例6: VmDirWriteQueueElementAllocate

DWORD
VmDirWriteQueueElementAllocate(
    PVMDIR_WRITE_QUEUE_ELEMENT*    ppWriteQueueEle
    )
{
    DWORD    dwError = 0;
    PVMDIR_WRITE_QUEUE_ELEMENT    pWriteQueueEleLocal = NULL;

    if (!ppWriteQueueEle)
    {
        BAIL_WITH_VMDIR_ERROR(dwError, VMDIR_ERROR_INVALID_PARAMETER);
    }

    dwError = VmDirAllocateMemory(sizeof(VMDIR_WRITE_QUEUE_ELEMENT), (PVOID)&pWriteQueueEleLocal);
    BAIL_ON_VMDIR_ERROR(dwError);

    dwError = VmDirAllocateCondition(&pWriteQueueEleLocal->pCond);
    BAIL_ON_VMDIR_ERROR(dwError);

    *ppWriteQueueEle = pWriteQueueEleLocal;
    pWriteQueueEleLocal = NULL;

cleanup:
    return dwError;

error:
    VmDirWriteQueueElementFree(pWriteQueueEleLocal);
    pWriteQueueEleLocal = NULL;

    VMDIR_LOG_ERROR(VMDIR_LOG_MASK_ALL, "failed, error (%d)", dwError);
    goto cleanup;
}
开发者ID:vmware,项目名称:lightwave,代码行数:32,代码来源:writequeue.c

示例7: _VmDirMDBInitializeDBEntry

static
DWORD
_VmDirMDBInitializeDBEntry(
    const char *pszDBPath,
    PVDIR_MDB_DB *ppDB
    )
{
    DWORD dwError = 0;
    PVDIR_MDB_DB pDB = NULL;

    if (!pszDBPath || !ppDB)
    {
        BAIL_WITH_VMDIR_ERROR(dwError, ERROR_INVALID_PARAMETER);
    }

    dwError = VmDirAllocateMemory (sizeof(VDIR_MDB_DB), ((PVOID*)&pDB));
    BAIL_ON_VMDIR_ERROR(dwError);

    dwError = VmDirAllocateStringA (pszDBPath, &pDB->pszDBPath);
    BAIL_ON_VMDIR_ERROR(dwError);

    *ppDB = pDB;

cleanup:
    return dwError;

error:
    if (pDB)
    {
        VMDIR_SAFE_FREE_MEMORY(pDB->pszDBPath);
        VMDIR_SAFE_FREE_MEMORY(pDB);
    }
    goto cleanup;
}
开发者ID:vmware,项目名称:lightwave,代码行数:34,代码来源:init.c

示例8: VmDirRESTAuthTokenInit

DWORD
VmDirRESTAuthTokenInit(
    PVDIR_REST_AUTH_TOKEN*  ppAuthToken
    )
{
    DWORD   dwError = 0;
    PVDIR_REST_AUTH_TOKEN   pAuthToken = NULL;

    if (!ppAuthToken)
    {
        dwError = VMDIR_ERROR_INVALID_PARAMETER;
        BAIL_ON_VMDIR_ERROR(dwError);
    }

    dwError = VmDirAllocateMemory(
            sizeof(VDIR_REST_AUTH_TOKEN), (PVOID*)&pAuthToken);
    BAIL_ON_VMDIR_ERROR(dwError);

    *ppAuthToken = pAuthToken;

cleanup:
    return dwError;

error:
    VMDIR_LOG_ERROR(
            VMDIR_LOG_MASK_ALL,
            "%s failed, error (%d)",
            __FUNCTION__,
            dwError);

    VmDirFreeRESTAuthToken(pAuthToken);
    goto cleanup;
}
开发者ID:vmware,项目名称:lightwave,代码行数:33,代码来源:authtoken.c

示例9: VmDirPrepareSwapDBInfo

DWORD
VmDirPrepareSwapDBInfo(
    PCSTR                   pszHostName,    // partner server object cn
    PVMDIR_SWAP_DB_INFO*    ppSwapDBInfo
    )
{
    DWORD       dwError = 0;
    PVMDIR_SWAP_DB_INFO pLocalSwapDBInfo = NULL;

    if (!ppSwapDBInfo)
    {
        BAIL_WITH_VMDIR_ERROR(dwError, VMDIR_ERROR_INVALID_PARAMETER);
    }

    dwError = VmDirAllocateMemory(sizeof(VMDIR_SWAP_DB_INFO), (PVOID*)&pLocalSwapDBInfo);
    BAIL_ON_VMDIR_ERROR(dwError);

    if (pszHostName)
    {
        dwError = VmDirAllocateStringA(pszHostName, &pLocalSwapDBInfo->pszPartnerServerName);
        BAIL_ON_VMDIR_ERROR(dwError);

        VMDIR_LOG_INFO(VMDIR_LOG_MASK_ALL, "My partner %s", pLocalSwapDBInfo->pszPartnerServerName);
    }

    dwError = VmDirInternalGetDSERootServerCN(&pLocalSwapDBInfo->pszOrgDBServerName);
    BAIL_ON_VMDIR_ERROR(dwError);

    VMDIR_LOG_INFO(VMDIR_LOG_MASK_ALL, "DB was from %s", pLocalSwapDBInfo->pszOrgDBServerName);

    dwError = _VmDirComposeUtdVector(pLocalSwapDBInfo);
    BAIL_ON_VMDIR_ERROR(dwError);

    if (!pLocalSwapDBInfo->pszPartnerServerName ||      // no partner, DR case
        VmDirStringCompareA(                            // DB copied from joining partner
            pLocalSwapDBInfo->pszPartnerServerName,
            pLocalSwapDBInfo->pszOrgDBServerName,
            FALSE) == 0)
    {
        dwError = VmDirAllocateStringA(pLocalSwapDBInfo->pszOrgDBMaxUSN, &pLocalSwapDBInfo->pszMyHighWaterMark);
        BAIL_ON_VMDIR_ERROR(dwError);
    }
    else
    {   // DB from one node but join to another
        dwError = _VmDirComposeHighWaterMark(pLocalSwapDBInfo);
        BAIL_ON_VMDIR_ERROR(dwError);
    }

    VMDIR_LOG_INFO(VMDIR_LOG_MASK_ALL, "My High Water Mark %s", pLocalSwapDBInfo->pszMyHighWaterMark);

    *ppSwapDBInfo = pLocalSwapDBInfo;

cleanup:
    return dwError;

error:
    VMDIR_LOG_ERROR( VMDIR_LOG_MASK_ALL, " error (%u)", dwError);
    VmDirFreeSwapDBInfo(pLocalSwapDBInfo);
    goto cleanup;
}
开发者ID:vmware,项目名称:lightwave,代码行数:60,代码来源:dbswap.c

示例10: VmDirAllocateAndCopyMemory

DWORD
VmDirAllocateAndCopyMemory(
    PVOID   pBlob,
    size_t  iBlobSize,
    PVOID*  ppOutBlob
    )
{
    DWORD   dwError = 0;
    PVOID   pMemory = NULL;

    if (!pBlob || !ppOutBlob || iBlobSize < 1)
    {
        dwError = ERROR_INVALID_PARAMETER;
        BAIL_ON_VMDIR_ERROR(dwError);
    }

    // add 1 for safety (VMDIR assuem bervalue is NULL terminated for string value)
    dwError = VmDirAllocateMemory(iBlobSize + 1, &pMemory);
    BAIL_ON_VMDIR_ERROR(dwError);

    dwError = VmDirCopyMemory(pMemory, iBlobSize, pBlob, iBlobSize);
    BAIL_ON_VMDIR_ERROR(dwError);

    *ppOutBlob = pMemory;

cleanup:

    return dwError;

error:

    VMDIR_SAFE_FREE_MEMORY(pMemory);

    goto cleanup;
}
开发者ID:Dan-McGee,项目名称:lightwave,代码行数:35,代码来源:memory.c

示例11: VmDirRESTCacheInit

DWORD
VmDirRESTCacheInit(
    PVDIR_REST_HEAD_CACHE*  ppRestCache
    )
{
    DWORD   dwError = 0;
    PVDIR_REST_HEAD_CACHE   pRestCache = NULL;

    if (!ppRestCache)
    {
        BAIL_WITH_VMDIR_ERROR(dwError, VMDIR_ERROR_INVALID_PARAMETER);
    }

    dwError = VmDirAllocateMemory(
            sizeof(VDIR_REST_HEAD_CACHE), (PVOID*)&pRestCache);
    BAIL_ON_VMDIR_ERROR(dwError);

    dwError = VmDirAllocateRWLock(&pRestCache->pRWLock);
    BAIL_ON_VMDIR_ERROR(dwError);

    *ppRestCache = pRestCache;

cleanup:
    return dwError;

error:
    VMDIR_LOG_ERROR(
            VMDIR_LOG_MASK_ALL,
            "%s failed, error (%d)",
            __FUNCTION__,
            dwError);

    VmDirFreeRESTCache(pRestCache);
    goto cleanup;
}
开发者ID:vmware,项目名称:lightwave,代码行数:35,代码来源:cache.c

示例12: wmain

int wmain(int argc, wchar_t* argv[])
{
    DWORD dwError = 0;
    PSTR* ppszArgs = NULL;
    int   iArg = 0;

    dwError = VmDirAllocateMemory(sizeof(PSTR) * argc, (PVOID*)&ppszArgs);
    BAIL_ON_VMDIR_ERROR(dwError);

    for (; iArg < argc; iArg++)
    {
        dwError = VmDirAllocateStringAFromW(argv[iArg], &ppszArgs[iArg]);
        BAIL_ON_VMDIR_ERROR(dwError);
    }

    dwError = VmDirMain(argc, ppszArgs);
    BAIL_ON_VMDIR_ERROR(dwError);

error:

    if (ppszArgs)
    {
        for (iArg = 0; iArg < argc; iArg++)
        {
            VMDIR_SAFE_FREE_MEMORY(ppszArgs[iArg]);
        }
        VmDirFreeMemory(ppszArgs);
    }

    return dwError;
}
开发者ID:DhanashreeA,项目名称:lightwave,代码行数:31,代码来源:main.c

示例13: VmDirAllocateCondition

DWORD
VmDirAllocateCondition(
    PVMDIR_COND* ppCondition
    )
{
    DWORD dwError = ERROR_SUCCESS;
    PVMDIR_COND pVmDirCond = NULL;

    if ( ppCondition == NULL )
    {
        dwError = ERROR_INVALID_PARAMETER;
        BAIL_ON_VMDIR_ERROR(dwError);
    }

    dwError = VmDirAllocateMemory( sizeof(VMDIR_COND), ((PVOID*)&pVmDirCond));
    BAIL_ON_VMDIR_ERROR(dwError);

    dwError = VmDirInitializeConditionContent( pVmDirCond );
    BAIL_ON_VMDIR_ERROR(dwError);

    *ppCondition = pVmDirCond;
    pVmDirCond = NULL;

error:

    VMDIR_SAFE_FREE_CONDITION( pVmDirCond );

    return dwError;
}
开发者ID:vmware,项目名称:lightwave,代码行数:29,代码来源:threading.c

示例14: VmDirGetKrbMasterKey

DWORD
VmDirGetKrbMasterKey(
    PSTR        pszFQDN, // [in] FQDN
    PBYTE*      ppKeyBlob,
    DWORD*      pSize
)
{
    DWORD       dwError = 0;
    PBYTE       pRetMasterKey = NULL;

    if (IsNullOrEmptyString(pszFQDN)
        || !ppKeyBlob
        || !pSize
       )
    {
        dwError = VMDIR_ERROR_INVALID_PARAMETER;
        BAIL_ON_VMDIR_ERROR(dwError);
    }

    // Currently, we only support single krb realm.
    // Global cache gVmdirKrbGlobals is initialized during startup stage.

    if (VmDirStringCompareA( pszFQDN, VDIR_SAFE_STRING(gVmdirKrbGlobals.pszRealm), FALSE) != 0)
    {
        dwError = VMDIR_ERROR_INVALID_REALM;
        BAIL_ON_VMDIR_ERROR(dwError);
    }

    dwError = VmDirAllocateMemory(
                    gVmdirKrbGlobals.bervMasterKey.lberbv.bv_len,
                    (PVOID*)&pRetMasterKey
                    );
    BAIL_ON_VMDIR_ERROR(dwError);

    dwError = VmDirCopyMemory (
                    pRetMasterKey,
                    gVmdirKrbGlobals.bervMasterKey.lberbv.bv_len,
                    gVmdirKrbGlobals.bervMasterKey.lberbv.bv_val,
                    gVmdirKrbGlobals.bervMasterKey.lberbv.bv_len
                    );
    BAIL_ON_VMDIR_ERROR(dwError);

    *ppKeyBlob = pRetMasterKey;
    *pSize     = (DWORD) gVmdirKrbGlobals.bervMasterKey.lberbv.bv_len;
    pRetMasterKey = NULL;

cleanup:

    return dwError;

error:

    VMDIR_LOG_ERROR( LDAP_DEBUG_RPC, "VmDirGetKrbMasterKey failed. (%u)(%s)",
                                     dwError, VDIR_SAFE_STRING(pszFQDN));
    VMDIR_SAFE_FREE_MEMORY(pRetMasterKey);

    goto cleanup;

}
开发者ID:Dan-McGee,项目名称:lightwave,代码行数:59,代码来源:krb.c

示例15: VmDirEntryAddSingleValueAttribute

/*
 * Convenient function to add a single attribute to pEntry.
 */
DWORD
VmDirEntryAddSingleValueAttribute(
    PVDIR_ENTRY pEntry,
    PCSTR pszAttrName,
    PCSTR pszAttrValue,
    size_t   iAttrValueLen
    )
{
    DWORD dwError = 0;
    PVDIR_ATTRIBUTE pAttr = NULL;

    if (!pEntry || !pEntry->pSchemaCtx || !pszAttrName || !pszAttrValue || iAttrValueLen < 1)
    {
        dwError = ERROR_INVALID_PARAMETER;
        BAIL_ON_VMDIR_ERROR(dwError);
    }

    dwError = VmDirAttributeAllocate(
                pszAttrName,
                1,
                pEntry->pSchemaCtx,
                &pAttr);
    BAIL_ON_VMDIR_ERROR(dwError);

    dwError = VmDirAllocateMemory(
            iAttrValueLen + 1,                  // want string null terminated.
            (PVOID*)&pAttr->vals[0].lberbv.bv_val );
    BAIL_ON_VMDIR_ERROR(dwError);

    dwError = VmDirCopyMemory(
        pAttr->vals[0].lberbv.bv_val,
        (iAttrValueLen + 1),
        (PCVOID)pszAttrValue,
        iAttrValueLen
    );
    BAIL_ON_VMDIR_ERROR(dwError);

    pAttr->vals[0].bOwnBvVal = TRUE;
    pAttr->vals[0].lberbv.bv_len = iAttrValueLen;

    dwError = VmDirEntryAddAttribute(
                pEntry,
                pAttr);
    BAIL_ON_VMDIR_ERROR(dwError);
    pAttr = NULL;

cleanup:

    return dwError;

error:

    if (pAttr)
    {
        VmDirFreeAttribute(pAttr);
    }

    goto cleanup;
}
开发者ID:vmware,项目名称:lightwave,代码行数:62,代码来源:vmdirentry.c


注:本文中的VmDirAllocateMemory函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。