IDiaInjectedSource
Accède au code source injecté stocké dans la source de données Dia (Debug Interface Access).
Syntaxe
IDiaInjectedSource : IUnknown
Méthodes dans l'ordre Vtable
Le tableau suivant présente les méthodes de IDiaInjectedSource
.
Méthode | Description |
---|---|
IDiaInjectedSource::get_crc | Récupère une vérification de redondance cyclique (CRC) calculée à partir des octets du code source. |
IDiaInjectedSource::get_length | Récupère le nombre d’octets du code. |
IDiaInjectedSource::get_filename | Récupère le nom de fichier de la source. |
IDiaInjectedSource::get_objectFilename | Récupère le nom du fichier objet dans lequel la source a été compilée. |
IDiaInjectedSource::get_virtualFilename | Récupère le nom donné au code source non fichier ; c’est-à-dire au code qui a été injecté. |
IDiaInjectedSource::get_sourceCompression | Récupère l’indicateur de la compression source utilisée. |
IDiaInjectedSource::get_source | Récupère les octets du code source. |
Remarques
La source injectée est le texte injecté pendant la compilation. Ce n’est pas le préprocesseur #include
utilisé en C++.
Remarques pour les appelants
Obtenez cette interface en appelant les méthodes IDiaEnumInjectedSources::Item ou IDiaEnumInjectedSources::Next . Consultez l’interface IDiaEnumInjectedSources pour obtenir un exemple d’obtention de l’interface IDiaInjectedSource
.
Exemple
Cet exemple montre comment afficher les données disponibles à partir de l’interface IDiaInjectedSource
. Pour obtenir une autre approche utilisant l’interface IDiaPropertyStorage, consultez l’exemple dans l’interface 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_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);
}
}
Configuration requise
En-tête : Dia2.h
Bibliothèque : diaguids.lib
DLL : msdia80.dll