IDiaInjectedSourceIDiaInjectedSource

Accède à injection de code source stocké dans la source de données DIA.Accesses injected source code stored in the DIA data source.

SyntaxeSyntax

IDiaInjectedSource : IUnknown  

Méthodes dans l'ordre VtableMethods in Vtable Order

Le tableau suivant présente les méthodes de IDiaInjectedSource.The following table shows the methods of IDiaInjectedSource.

MéthodeMethod DescriptionDescription
IDiaInjectedSource::get_crcIDiaInjectedSource::get_crc Récupère une vérification de redondance cyclique (CRC) calculée à partir d’octets du code source.Retrieves a cyclic redundancy check (CRC) calculated from the bytes of the source code.
IDiaInjectedSource::get_lengthIDiaInjectedSource::get_length Récupère le nombre d’octets de code.Retrieves the number of bytes of code.
IDiaInjectedSource::get_filenameIDiaInjectedSource::get_filename Récupère le nom de fichier pour la source.Retrieves the file name for the source.
IDiaInjectedSource::get_objectFilenameIDiaInjectedSource::get_objectFilename Récupère le nom de fichier objet sur lequel la source a été compilée.Retrieves the object file name to which the source was compiled.
IDiaInjectedSource::get_virtualFilenameIDiaInjectedSource::get_virtualFilename Récupère le nom donné au code de la source de fichier non ; Autrement dit, le code injecté.Retrieves the name given to non-file source code; that is, code that was injected.
IDiaInjectedSource::get_sourceCompressionIDiaInjectedSource::get_sourceCompression Récupère l’indicateur de la compression de la source utilisée.Retrieves the indicator of the source compression used.
IDiaInjectedSource::get_sourceIDiaInjectedSource::get_source Récupère les octets de code source.Retrieves the source code bytes.

NotesRemarks

Source injecté est le texte qui est injecté pendant la compilation.Injected source is text that is injected during compilation. Cela ne signifie pas que le préprocesseur #include utilisé dans C++.This does not mean the preprocessor #include used in C++.

Remarques pour les appelantsNotes for Callers

Obtenez cette interface en appelant le IDiaEnumInjectedSources::Item ou IDiaEnumInjectedSources::Next méthodes.Obtain this interface by calling the IDiaEnumInjectedSources::Item or IDiaEnumInjectedSources::Next methods. Consultez le IDiaEnumInjectedSources interface pour obtenir un exemple d’obtention de la IDiaInjectedSource interface.See the IDiaEnumInjectedSources interface for an example of obtaining the IDiaInjectedSource interface.

ExempleExample

Cet exemple affiche les données disponibles à partir de la IDiaInjectedSource interface.This example displays the data available from the IDiaInjectedSource interface. Pour une approche alternative à l’aide de la IDiaPropertyStorage l’interface, consultez l’exemple dans le IDiaEnumInjectedSources interface.For an alternative approach using the IDiaPropertyStorage interface, see the example in the IDiaEnumInjectedSources interface.

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);  
    }  
}  

SpécificationsRequirements

En-tête : Dia2.hHeader: Dia2.h

Bibliothèque : diaguids.libLibrary: diaguids.lib

DLL : msdia80.dllDLL: msdia80.dll

Voir aussiSee Also

Interfaces (Debug Interface Access SDK) Interfaces (Debug Interface Access SDK)
IDiaEnumInjectedSources::Item IDiaEnumInjectedSources::Item
IDiaEnumInjectedSources::Next IDiaEnumInjectedSources::Next
IDiaEnumInjectedSourcesIDiaEnumInjectedSources