📄 datarecordextractor.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 + -