IDiaInjectedSource
Accède au code source injecté stocké dans la source de données DIA.
Syntax
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
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour