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

📄 stringutils.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 "stringutils.h"
#include "commonmacros.h"

/*------------------------------------------------------------------------------
CopyBSTR

    Copies a BSTR from one location to another, validating all arguments and
    allocating the destination.  Optionally frees the destination buffer if it
    is previously allocated.

    Parameters:
        [out] pbstrDest:    Pointer to destination buffer.
         [in] bstrSrc:      Source buffer.
         [in] fFreeDest:    If TRUE, the destination buffer is freed if it is
                            non-NULL.
------------------------------------------------------------------------------*/
HRESULT CopyBSTR(
    BSTR *pbstrDest, 
    BSTR bstrSrc,
    BOOL fFreeDest
    )
{
    HRESULT hr = S_OK;

    // Check arguments
    if(!pbstrDest || !bstrSrc)
    {
        hr = E_POINTER;
    }

    if(SUCCEEDED(hr))
    {
        if(fFreeDest)
        {
            // Discard any string, if any
            if(*pbstrDest != NULL)
            {
                SysFreeString(*pbstrDest);
                *pbstrDest = NULL;
            }
        }

        // Allocate a new string to return
        *pbstrDest = SysAllocString(bstrSrc);
        if(*pbstrDest == NULL)
        {
            hr = E_OUTOFMEMORY;
        }
    }

    return hr;
}

⌨️ 快捷键说明

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