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 |
---|---|
Načte cyklická redundantní kontrola (CRC) vypočítat z bajtů zdrojového kódu. |
|
Počet bajtů kód načte. |
|
Načte název souboru zdroje. |
|
Načte soubor název objektu, na který byl kompilován zdroj. |
|
Načte název přidělený než soubor zdrojový kód; je kód, který byl injekčně. |
|
Načte ukazatel použité komprese zdroje. |
|
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