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 IStream
kontrollerar 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