IDebugDocumentContext2::GetName

Возвращает отображаемое имя документа, содержащего этот контекст документа.

Синтаксис

int GetName(
    enum_GETNAME_TYPE  gnType,
    out string         pbstrFileName
);

Параметры

gnType
[in] Значение из перечисления GETNAME_TYPE , указывающее тип возвращаемого имени.

pbstrFileName
[out] Возвращает имя файла.

Возвращаемое значение

В случае успешного выполнения возвращается S_OK; в противном случае возвращается код ошибки.

Замечания

Этот метод обычно перенаправит вызов метода GetName , если контекст документа не записывается для хранения самого имени документа (как показано в примере).

Пример

В следующем примере показано, как реализовать этот метод для простого CDebugContext объекта, предоставляющего интерфейс IDebugDocumentContext2 .

HRESULT CDebugContext::GetName(GETNAME_TYPE gnType, BSTR* pbstrFileName)
{
    HRESULT hr;

    // Check for a valid file name argument.
    if (pbstrFileName)
    {
        *pbstrFileName = NULL;

        switch (gnType)
        {
            case GN_NAME:
            case GN_FILENAME:
            {
                // Copy the member file name into the local file name.
                *pbstrFileName = SysAllocString(m_sbstrFileName);
                // Check for successful copy.
                hr = (*pbstrFileName) ? S_OK : E_OUTOFMEMORY;
                break;
            }
            default:
            {
                hr = E_FAIL;
                break;
            }
        }
    }
    else
    {
        hr = E_INVALIDARG;
    }

    return hr;
}

См. также