Freigeben über


IDiaInjectedSource

Zugriffe eingefügter Quellcode in einer Durchmesser-Datenquelle.

IDiaInjectedSource : IUnknown

Methoden in die Vtable-Reihenfolge

In der folgenden Tabelle werden die Methoden von IDiaInjectedSourcean.

Methode

Beschreibung

IDiaInjectedSource::get_crc

Ruft eine zyklische Blockprüfung (CRC) berechnet der Bytes des Quellcodes ab.

IDiaInjectedSource::get_length

Ruft die Anzahl von Bytes des Codes ab.

IDiaInjectedSource::get_filename

Ruft den Dateinamen für die Quelle ab.

IDiaInjectedSource::get_objectFilename

Ruft den Namen der Protokolldatei Objekt ab, auf das die Quelle kompiliert wurde.

IDiaInjectedSource::get_virtualFilename

Ruft den Namen ab, der dem Nicht-Datei-Quellcode angegeben ist. d. h. Code, der eingefügt wurde.

IDiaInjectedSource::get_sourceCompression

Ruft den Zähler der verwendeten Sources komprimierung ab.

IDiaInjectedSource::get_source

Ruft die Bytes ab.

Hinweise

Eingefügte Quelle ist Text, der während der Kompilierung eingefügt wird.Dies bedeutet nicht #include die Präprozessorausgabe in C++ verwendet wird.

Hinweise für Aufrufer

Rufen Sie diese Schnittstelle, indem sie die IDiaEnumInjectedSources::Item oder IDiaEnumInjectedSources::Next-Methoden aufgerufen werden.Zeigen Sie die IDiaEnumInjectedSources-Schnittstelle als Beispiel für die IDiaInjectedSource-Schnittstelle abzurufen.

Beispiel

Dieses Beispiel zeigt die Daten an, die von der IDiaInjectedSource-Schnittstelle zur Verfügung stehen.Für einen alternativen Ansatz mit der IDiaPropertyStorage-Schnittstelle finden Sie im Beispiel in der IDiaEnumInjectedSources-Schnittstelle.

void PrintInjectedSource(IDiaInjectedSource* pSource)
{
    ULONGLONG codeLength      = 0;
    DWORD     crc             = 0;
    DWORD     compressionType = 0;
    BSTR      sourceFilename  = NULL;
    BSTR      objectFilename  = NULL;
    BSTR      virtualFilename = NULL;

    std::cout << "Injected Source:" << std::endl;
    if (pSource != NULL)
    {
        if (pSource->get_crc(&crc) == S_OK &&
            pSource->get_sourceCompression(&compressionType) == S_OK &&
            pSource->get_length(&codeLength) == S_OK)
        {
            wprintf(L"  crc = %lu\n", crc);
            wprintf(L"  code length = %I64u\n",codeLength);
            wprintf(L"  compression type code = %lu\n", compressionType);
        }

        wprintf(L"  source filename: ");
        if (pSource->get_filename(&sourceFilename) == S_OK)
        {
            wprintf(L"%s", sourceFilename);
        }
        else
        {
            wprintf(L"<none>");
        }
        wprintf(L"\n");

        wprintf(L"  object filename: ");
        if (pSource->get_filename(&objectFilename) == S_OK)
        {
            wprintf(L"%s", objectFilename);
        }
        else
        {
            wprintf(L"<none>");
        }
        wprintf(L"\n");

        wprintf(L"  virtual filename: ");
        if (pSource->get_filename(&virtualFilename) == S_OK)
        {
            wprintf(L"%s", virtualFilename);
        }
        else
        {
            wprintf(L"<none>");
        }
        wprintf(L"\n");

        SysFreeString(sourceFilename);
        SysFreeString(objectFilename);
        SysFreeString(virtualFilename);
    }
}

Anforderungen

Header: Dia2.h

Bibliothek: diaguids.lib

DLLs: msdia80.dll

Siehe auch

Referenz

IDiaEnumInjectedSources::Item

IDiaEnumInjectedSources::Next

IDiaEnumInjectedSources

Weitere Ressourcen

Schnittstellen (Debug Interface Access SDK)