Freigeben über


IDebugDocumentContext2::GetName

Ruft den anzeigefähigen Namen des Dokuments ab, das diesen Dokumentkontext enthält.

Syntax

int GetName(
    enum_GETNAME_TYPE  gnType,
    out string         pbstrFileName
);

Parameter

gnType
[in] Ein Wert aus der GETNAME_TYPE-Aufzählung , der den Typ des zurückzugebenden Namens angibt.

pbstrFileName
[out] Gibt den Namen der Datei zurück.

Rückgabewert

Wenn die Ausführung erfolgreich ist, wird S_OK, andernfalls ein Fehlercode zurückgegeben.

Hinweise

Diese Methode leitet den Aufruf der GetName-Methode in der Regel weiter, es sei denn, der Dokumentkontext wird geschrieben, um den Dokumentnamen selbst zu speichern (wie das Beispiel zeigt).

Beispiel

Das folgende Beispiel zeigt, wie Sie diese Methode für ein einfaches CDebugContext Objekt implementieren, das die IDebugDocumentContext2-Schnittstelle verfügbar macht.

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;
}

Siehe auch