IMetaDataInfo::GetFileMapping-Methode
Ruft den Arbeitsspeicherbereich der zugeordneten Datei und den Typ der Zuordnung ab.
HRESULT GetFileMapping (
[out] const void **ppvData,
[out] ULONGLONG *pcbData,
[out] DWORD *pdwMappingType
);
Parameter
ppvData
[out] Zeiger auf den Beginn der zugeordneten DateipcbData
[out] Größe des zugeordneten Bereichs Wenn pdwMappingType auf fmFlat lautet, ist das die Größe der Datei.pdwMappingType
[out] CorFileMapping-Wert, der den Mappingtyp angibt. Die aktuelle Implementierung der Common Language Runtime (CLR) gibt immer fmFlat zurück. Weitere Werte sind für eine spätere Verwendung vorgesehen. Sie sollten jedoch immer den zurückgegebenen Wert überprüfen, da andere Werte möglicherweise in zukünftigen Versionen oder Dienstversionen aktiviert werden.
Rückgabewert
HRESULT |
Beschreibungen |
---|---|
S_OK |
Alle Ausgaben werden ausgefüllt. |
E_INVALIDARG |
NULL wurde als Argumentwert übergeben. |
COR_E_NOTSUPPORTED |
Die CLR-Implementierung kann keine Informationen über den Arbeitsspeicherbereich bereitstellen. Dies kann aus den folgenden Gründen geschehen:
Hinweis
Diese Bedingungen hängen von der CLR-Implementierung ab und werden in zukünftigen Versionen der CLR wahrscheinlich abgeschwächt sein.
|
Hinweise
Der Arbeitsspeicher, auf den ppvData verweist, ist nur so lange gültig, wie der zugrunde liegende Metadatenbereich offen ist.
Wenn Sie die Metadaten einer Datei auf dem Datenträger im Arbeitsspeicher abbilden, indem Sie die IMetaDataDispenser::OpenScope-Methode aufrufen, müssen Sie das ofReadOnly-Flag angeben und dürfen Sie das ofWrite-Flag oder ofCopyMemory-Flag nicht angeben, da die Methode sonst nicht funktioniert.
Die Auswahl des Dateizuordnungstyps für jeden Bereich ist für eine gegebene Implementierung der CLR spezifisch. Kann nicht vom Benutzer festgelegt werden. Die aktuelle Implementierung der CLR gibt immer fmFlat in pdwMappingType zurück, aber dies kann sich in zukünftigen Versionen der CLR oder zukünftigen Dienstversionen einer bestimmten Version ändern. Sie sollten immer den zurückgegebenen Wert in pdwMappingType überprüfen, da verschiedene Typen unterschiedliche Layouts und Offsets haben.
Das Übergeben von NULL für irgendeinen der drei Parameter wird nicht unterstützt. Die Methode gibt E_INVALIDARG zurück, und keine der Ausgaben wird ausgefüllt. Das Ignorieren des Zuordnungstyps oder der Größe des Bereichs kann zu nicht normaler Programmbeendigung führen.
Anforderungen
Plattformen: siehe Systemanforderungen für .NET Framework.
Header: Cor.h
Bibliothek: als Ressource in MsCorEE.dll verwendet
.NET Framework-Versionen: 4