Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Získá oblast paměti mapovaného souboru a typ mapování.
Syntax
HRESULT GetFileMapping (
[out] const void **ppvData,
[out] ULONGLONG *pcbData,
[out] DWORD *pdwMappingType
);
Parameters
ppvData [ven] Ukazatel na začátek mapovaného souboru.
pcbData [ven] Velikost mapované oblasti. Pokud pdwMappingType ano fmFlat, jedná se o velikost souboru.
pdwMappingType [ven] Hodnota CorFileMapping , která označuje typ mapování. Aktuální implementace modulu CLR (Common Language Runtime) vždy vrátí fmFlat. Další hodnoty jsou vyhrazeny pro budoucí použití. Vrácenou hodnotu byste ale měli vždy ověřit, protože v budoucích verzích nebo vydaných verzích služeb mohou být povolené jiné hodnoty.
Return Value
| HRESULT | Description |
|---|---|
S_OK |
Všechny výstupy jsou vyplněné. |
E_INVALIDARG |
Hodnota NULL byla předána jako hodnota argumentu. |
COR_E_NOTSUPPORTED |
Implementace CLR nemůže poskytnout informace o oblasti paměti. K tomu může dojít z následujících důvodů: - Obor metadat byl otevřen s příznakem nebo ofCopyMemory příznakemofWrite.- Obor metadat byl otevřen bez příznaku ofReadOnly .- Metoda IMetaDataDispenser::OpenScopeOnMemory byla použita k otevření pouze části souboru metadat. – Soubor není přenosný spustitelný soubor (PE). Poznámka: Tyto podmínky závisí na implementaci CLR a pravděpodobně budou v budoucích verzích CLR oslabovány. |
Remarks
Paměť, na kterou odkazuje, je platná pouze za předpokladu, že ppvData je otevřený základní obor metadat.
Aby tato metoda fungovala, musíte při mapování metadat souboru na disku do paměti voláním metody IMetaDataDispenser::OpenScope zadat ofReadOnly příznak a nesmíte zadat ofWrite příznak ani ofCopyMemory příznak.
Volba typu mapování souborů pro každý obor je specifická pro danou implementaci CLR. Uživatel ho nemůže nastavit. Aktuální implementace CLR vždy vrací fmFlat , pdwMappingTypeale to se může změnit v budoucích verzích CLR nebo v budoucích verzích služby dané verze. Vrácenou hodnotu byste měli vždy zkontrolovat, pdwMappingTypeprotože různé typy budou mít různá rozložení a posuny.
Předání hodnoty NULL pro některý ze tří parametrů se nepodporuje. Metoda vrátí a E_INVALIDARGžádný z výstupů není vyplněn. Ignorování typu mapování nebo velikosti oblasti může vést k neobvyklému ukončení programu.
Requirements
Platformy: Viz podporované operační systémy .NET.
Header: Cor.h
Library: CorGuids.lib
Verze .NET: K dispozici od rozhraní .NET Framework 4.0