Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Uzyskuje dostęp do wstrzykuje się kod źródłowy, przechowywanych w źródle danych DIA.
IDiaInjectedSource : IUnknown
Metody w kolejności Vtable
W poniższej tabeli przedstawiono metody IDiaInjectedSource.
Metoda |
Opis |
---|---|
Pobiera wyboru cyklicznej kontroli redundancji (CRC), obliczana na podstawie bajtów kodu źródłowego. |
|
Pobiera liczbę bajtów kodu. |
|
Pobiera nazwę pliku dla źródła. |
|
Pobiera nazwę pliku obiektu, do którego został skompilowany źródła. |
|
Pobiera nazwę nadaną kod źródłowy plik; oznacza to, że kod zostało dodane. |
|
Pobiera wskaźnik użytej kompresji źródła. |
|
Pobiera bajtów kodu źródłowego. |
Uwagi
Źródło wniesiony jest tekst, który jest wprowadzany podczas kompilacji.Nie oznacza to preprocesora #include używane w języku C++.
Uwagi do wywoływania
Ten interfejs uzyskać, wywołując IDiaEnumInjectedSources::Item lub IDiaEnumInjectedSources::Next metody.Zobacz IDiaEnumInjectedSources interfejsu, na przykład uzyskania IDiaInjectedSource interfejsu.
Przykład
W tym przykładzie wyświetla dane, które są dostępne z IDiaInjectedSource interfejsu.Dla alternatywne podejście przy użyciu IDiaPropertyStorage interfejsu, zobacz przykład w IDiaEnumInjectedSources interfejsu.
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);
}
}
Wymagania
Nagłówek: Dia2.h
Biblioteki: diaguids.lib
Biblioteka DLL: msdia80.dll