Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Hata Ayıklama Arabirimi Erişimi (DIA) veri kaynağında depolanan eklenen kaynak koduna erişir.
Sözdizimi
IDiaInjectedSource : IUnknown
Vtable Sırasına Göre Yöntemler
Aşağıdaki tabloda yönteminin yöntemleri gösterilmektedir IDiaInjectedSource.
| Metot | Açıklama |
|---|---|
| IDiaInjectedSource::get_crc | Kaynak kodun baytlarından hesaplanan döngüsel yedeklilik denetimini (CRC) alır. |
| IDiaInjectedSource::get_length | Kod bayt sayısını alır. |
| IDiaInjectedSource::get_filename | Kaynağın dosya adını alır. |
| IDiaInjectedSource::get_filename | Kaynağın derlendiği nesne dosyası adını alır. |
| IDiaInjectedSource::get_virtualFilename | Dosya olmayan kaynak koduna verilen adı alır; yani, eklenen kod. |
| IDiaInjectedSource::get_sourceCompression | Kullanılan kaynak sıkıştırmanın göstergesini alır. |
| IDiaInjectedSource::get_source | Kaynak kod baytlarını alır. |
Açıklamalar
Eklenen kaynak, derleme sırasında eklenen metindir. Bu, C++'ta kullanılan ön işlemci #include anlamına gelmez.
Arayanlar İçin Notlar
IDiaEnumInjectedSources::Item veya IDiaEnumInjectedSources::Next yöntemlerini çağırarak bu arabirimi alın. Arabirimi alma örneği için IDiaEnumInjectedSources arabirimine IDiaInjectedSource bakın.
Örnek
Bu örnek, arabirimden IDiaInjectedSource sağlanan verileri görüntüler. IDiaPropertyStorage arabirimini kullanan alternatif bir yaklaşım için IDiaEnumInjectedSources arabirimindeki örnbe bakın.
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_objectFilename(&objectFilename) == S_OK)
{
wprintf(L"%s", objectFilename);
}
else
{
wprintf(L"<none>");
}
wprintf(L"\n");
wprintf(L" virtual filename: ");
if (pSource->get_virtualFilename(&virtualFilename) == S_OK)
{
wprintf(L"%s", virtualFilename);
}
else
{
wprintf(L"<none>");
}
wprintf(L"\n");
SysFreeString(sourceFilename);
SysFreeString(objectFilename);
SysFreeString(virtualFilename);
}
}
Gereksinimler
Üst bilgi: Dia2.h
Kitaplık: diaguids.lib
DLL: msdia80.dll