IDiaInjectedSource
Les accès sont injecté code source enregistré dans la source de données de diamètre.
IDiaInjectedSource : IUnknown
méthodes en commande de Vtable
Le tableau suivant répertorie les méthodes d' IDiaInjectedSource.
Méthode |
Description |
---|---|
Récupère un contrôle de (CRC) redondance cyclique calculé des octets de code source. |
|
Récupère le nombre d'octets du code. |
|
Extrait le nom de fichier de la source. |
|
Récupère le nom de fichier objet auquel la source a été compilée. |
|
Extrait le nom donné au code source non ; autrement dit, le code qui a été injecté. |
|
Récupère l'indicateur de la compression de source utilisée. |
|
Récupère les octets de code source. |
Notes
la source injectée est un texte qui est injecté pendant la compilation. Cela ne signifie pas le préprocesseur #include utilisé en C++.
Remarques pour les appelants
obtenez cette interface en appelant les méthodes d' IDiaEnumInjectedSources::Item ou d' IDiaEnumInjectedSources::Next . Consultez l'interface d' IDiaEnumInjectedSources pour obtenir un exemple d'obtenir IDiaInjectedSource pour relier.
Exemple
Cet exemple affiche les données disponibles dans l'interface d' IDiaInjectedSource . Pour une approche alternative à l'aide de l'interface d' IDiaPropertyStorage , consultez l'exemple de l'interface d' 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);
}
}
Configuration requise
en-tête : Dia2.h
bibliothèque : diaguids.lib
DLL : msdia80.dll
Voir aussi
Référence
Autres ressources
Interfaces (Kit de développement logiciel de Debug Interface Access)