⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 datarecordextractor.cpp

📁 一个WinCE6。0下的IP phone的源代码
💻 CPP
字号:
//
// Copyright (c) Microsoft Corporation.  All rights reserved.
//
//
// Use of this sample source code is subject to the terms of the Microsoft
// license agreement under which you licensed this sample source code. If
// you did not accept the terms of the license agreement, you are not
// authorized to use this sample source code. For the terms of the license,
// please see the license agreement between you and Microsoft or, if applicable,
// see the LICENSE.RTF on your install media or the root of your tools installation.
// THE SAMPLE SOURCE CODE IS PROVIDED "AS IS", WITH NO WARRANTIES.
//
#include "DataRecordExtractor.h"

/*------------------------------------------------------------------------------
    CDataRecordExtractor::CDataRecordExtractor
    
    Constructor
------------------------------------------------------------------------------*/
CDataRecordExtractor::CDataRecordExtractor()
{
    m_pDataRecord = NULL;
}

CDataRecordExtractor::~CDataRecordExtractor()
{
    m_pDataRecord = NULL;
}

/*------------------------------------------------------------------------------
    CDataRecordExtractor::SetDataRecord
    
    Sets the datarecord that this object is wrapping
------------------------------------------------------------------------------*/
HRESULT CDataRecordExtractor::SetDataRecord(DataRecord * pDataRecord)
{
    if (pDataRecord == NULL)
    {
        return E_POINTER;
    }
    
    m_pDataRecord = pDataRecord;
    return S_OK;
}

/*------------------------------------------------------------------------------
    CDataRecordExtractor::GetStringValueAt
    
    Safely copies the string value from the array into the buffer
    
    Parameters:
        idxValue:      INDEX of the property
        wszValueBuffer: buffer to hold the property
        cchValueBuffer: size in WCHAR's of the buffer
------------------------------------------------------------------------------*/
HRESULT CDataRecordExtractor::GetStringValueAt(
    UINT    idxValue      ,
    WCHAR  *wszValueBuffer, 
    UINT    cchValueBuffer
    )
{
    //check params
    if (wszValueBuffer == NULL)
    {
        return E_POINTER;
    }

    //check params
    if (cchValueBuffer == 0)
    {
        return E_INVALIDARG;
    }

    //check initialization
    if (m_pDataRecord == NULL)
    {
        ASSERT(FALSE);
        return E_UNEXPECTED;
    }

    wszValueBuffer[0] = L'\0';

    //do the copy
    DataRecord::string &wstrValue = (*m_pDataRecord)[idxValue];
    StringCchCopy(wszValueBuffer, cchValueBuffer, wstrValue.get_buffer());

    return S_OK;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -