IDiaInjectedSource
액세스 DIA 데이터 소스에 저장 된 소스 코드를 삽입 합니다.
IDiaInjectedSource : IUnknown
메서드에서 Vtable 순서
다음 표에서 메서드를 IDiaInjectedSource.
메서드 |
설명 |
---|---|
소스 코드의 바이트 수를 계산 하는 순환 중복 검사 (CRC)를 검색 합니다. |
|
코드의 바이트 수를 검색합니다. |
|
소스 파일 이름을 검색합니다. |
|
소스를 컴파일한 개체 파일 이름을 검색 합니다. |
|
파일 이외의 소스 코드를 지정 하는 이름을 검색 합니다. 삽입 된 코드입니다. |
|
표시기에 사용 되는 원본 압축을 검색 합니다. |
|
소스 코드 (바이트)를 검색합니다. |
설명
삽입 한 소스를 컴파일하는 동안 삽입 된 텍스트입니다.이것은 전처리기 아닙니다 #include C++를 사용 합니다.
호출자에 대 한 참고 사항
이 인터페이스를 호출 하 여 얻을 IDiaEnumInjectedSources::Item 또는 IDiaEnumInjectedSources::Next 방법입니다.참조는 IDiaEnumInjectedSources 인터페이스를 가져오는 예제를 IDiaInjectedSource 인터페이스.
예제
사용 가능한 데이터를 표시 하는이 예제는 IDiaInjectedSource 인터페이스입니다.사용 하는 다른 방법에 대 한는 IDiaPropertyStorage 인터페이스를 참조 하는 있는 IDiaEnumInjectedSources 인터페이스입니다.
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);
}
}
요구 사항
헤더: Dia2.h
라이브러리: diaguids.lib
DLL: msdia80.dll