共用方式為


IDebugProperty3::GetStringCharLength

 

如需 Visual Studio 2017 的最新文件請參閱 Visual Studio 2017 文件

傳回關聯的屬性字串中的字元數。

語法

HRESULT GetStringCharLength(  
   ULONG *pLen  
);  
int GetStringCharLength(  
   out uint pLen  
);  

參數

參數 描述
pLen [out]傳回屬性的字串中的字元數。

傳回值

如果成功,傳回S_OK; 否則會傳回錯誤碼。

備註

這個方法通常,做為呼叫配置緩衝區序曲GetStringChars方法。

範例

下列範例示範如何實作這個方法的CProperty公開物件IDebugProperty3介面。

STDMETHODIMP CProperty::GetStringCharLength(ULONG *pLen)  
{  
    HRESULT hr = E_INVALIDARG;  
  
    EVALFLAGS oldEVALFLAGS = m_EVALFLAGS;  
  
    m_EVALFLAGS &= ~EVAL_NOFUNCEVAL;  
  
    if (pLen)  
    {  
        DEBUG_PROPERTY_INFO dpInfo;  
        dpInfo.bstrValue = NULL;  
        ULONG ulen = 0;  
        hr = GetPropertyInfo(DEBUGPROP_INFO_VALUE,10,DEFAULT_TIMEOUT,NULL,0,&dpInfo);  
        if (hr == S_OK && dpInfo.bstrValue)  
        {  
            if (wcscmp(dpInfo.bstrValue,L"Nothing") == 0)  
            {  
                ulen = 0;   //VSWhidbey#64815  
            }  
            else  
            {  
                ulen = ::SysStringLen(dpInfo.bstrValue);  
                if( ulen > 2 &&  
                    dpInfo.bstrValue[0] == L'"' &&  
                    dpInfo.bstrValue[ulen-1] == L'"')  
                {                      
                    ulen = ulen > 2 ? ulen - 2 : ulen;  //remove two double quotes  
                }  
            }  
        }  
        ::SysFreeString(dpInfo.bstrValue);  
        *pLen = ulen;  
    }  
    m_EVALFLAGS = oldEVALFLAGS;  
    return hr;  
}  

另請參閱

GetStringChars
IDebugProperty3