Dela via


IHostAssemblyStore::P rovideModule, metod

Löser en modul i en sammansättning eller en länkad (men inte en inbäddad) resursfil.

Syntax

HRESULT ProvideModule (  
    [in]  ModuleBindInfo *pBindInfo,  
    [out] DWORD          *pdwModuleId,  
    [out] IStream        **ppStmModuleImage,  
    [out] IStream        **ppStmPDB  
);  

Parametrar

pBindInfo
[in] En pekare till en ModuleBindInfo-instans som beskriver den begärda modulens AppDomain, sammansättnings- och modulnamn.

pdwModuleId
[ut] En pekare till en unik identifierare för den IStream som innehåller den inlästa modulen.

ppStmModuleImage
[ut] En pekare till adressen för ett IStream objekt som innehåller den bärbara körbara avbildningen (PE) som ska läsas in, eller null om modulen inte kunde hittas.

ppStmPDB
[ut] En pekare till adressen för ett IStream -objekt, som innehåller programfelsökningsinformationen (PDB) för den begärda modulen, eller null om .pdb-filen inte kunde hittas.

Returvärde

HRESULT Description
S_OK ProvideModule returnerades.
HOST_E_CLRNOTAVAILABLE CLR (Common Language Runtime) har inte lästs in i en process eller så är CLR i ett tillstånd där den inte kan köra hanterad kod eller bearbeta anropet.
HOST_E_TIMEOUT Tidsgränsen för samtalet överst.
HOST_E_NOT_OWNER Anroparen äger inte låset.
HOST_E_ABANDONED En händelse avbröts medan en blockerad tråd eller fiber väntade på den.
E_FAIL Ett okänt oåterkalleligt fel inträffade. När en metod returnerar E_FAIL kan CLR inte längre användas i processen. Efterföljande anrop till värdmetoder returnerar HOST_E_CLRNOTAVAILABLE.
COR_E_FILENOTFOUND (0x80070002) Det gick inte att hitta den begärda sammansättningen eller den länkade resursen.
E_NOT_SUFFICIENT_BUFFER pdwModuleId är inte tillräckligt stor för att innehålla den identifierare som värden vill returnera.

Kommentarer

Identitetsvärdet som returneras för pdwModuleId anges av värden. Identifierare måste vara unika inom livslängden för en process. CLR använder det här värdet som unik identifierare för den associerade dataströmmen. Den kontrollerar varje värde mot de värden som pAssemblyId returneras av anrop till ProvideAssembly och mot de värden som pdwModuleId returneras av andra anrop till ProvideModule. Om värden returnerar samma identifierarvärde för en annan IStreamkontrollerar CLR om innehållet i strömmen redan har mappats. I så fall läser CLR in den befintliga kopian av avbildningen i stället för att mappa en ny. Identifieraren får därför inte heller överlappa med de sammansättningsidentifierare som returneras från ProvideAssembly.

Krav

Plattformar: Se Systemkrav.

Huvudet: MSCorEE.h

Bibliotek: Ingår som en resurs i MSCorEE.dll

.NET Framework versioner: Tillgänglig sedan 2.0

Se även