Sdílet prostřednictvím


IDiaInjectedSource

Přístupy injekčně uloženou ve zdroji dat DIA zdrojový kód.

IDiaInjectedSource : IUnknown

Metody v pořadí virtuální tabulka

Následující tabulka obsahuje metody IDiaInjectedSource.

Metoda

Description

IDiaInjectedSource::get_crc

Načte cyklická redundantní kontrola (CRC) vypočítat z bajtů zdrojového kódu.

IDiaInjectedSource::get_length

Počet bajtů kód načte.

IDiaInjectedSource::get_filename

Načte název souboru zdroje.

IDiaInjectedSource::get_objectFilename

Načte soubor název objektu, na který byl kompilován zdroj.

IDiaInjectedSource::get_virtualFilename

Načte název přidělený než soubor zdrojový kód; je kód, který byl injekčně.

IDiaInjectedSource::get_sourceCompression

Načte ukazatel použité komprese zdroje.

IDiaInjectedSource::get_source

Načte bajtů zdrojový kód.

Poznámky

Vloženého zdroj je text, který se vstřikuje během kompilace.To neznamená preprocesoru #include v jazyce C++.

Poznámky pro volající

Získat voláním rozhraní IDiaEnumInjectedSources::Item nebo IDiaEnumInjectedSources::Next metod.Najdete IDiaEnumInjectedSources rozhraní, například získání IDiaInjectedSource rozhraní.

Příklad

Tento příklad zobrazuje data k dispozici IDiaInjectedSource rozhraní.Pro alternativní metoda s použitím IDiaPropertyStorage rozhraní, viz příklad v IDiaEnumInjectedSources rozhraní.

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

Požadavky

Záhlaví: Dia2.h

Knihovny: diaguids.lib

Knihovna DLL: msdia80.dll

Viz také

Referenční dokumentace

IDiaEnumInjectedSources::Item

IDiaEnumInjectedSources::Next

IDiaEnumInjectedSources

Další zdroje

Rozhraní (ladění přístupu k rozhraní SDK)