funkció createfilemapping
Figyeljen! az a tény, hogy egy ilyen intézkedés okozhat balesetveszélyes. E kockázat elkerülése érdekében, használja a megengedett struktúrát SECURITY_ATTRIBUTES.
flProtect [a] típusú védelem szükséges fájlt, ha megjelenik. Ez a paraméter egyike lehet a következő értékeket.
Hozzáférést biztosít továbbított oldalak mező csak olvasható. Próbálok írandó az átviteli régióban, ami egy access violation. Fájl megadott paraméterek hFile kell létrehozni a megfelelő hozzáférési GENERIC_READ.
Ez ad hozzáférést a működését az író-olvasó küldött oldalak területen. Megadott fájl hFile kell létrehozni GENERIC_READ GENERIC_WRITE és hozzáférési jogokat.
Ez ad hozzáférést a másolatot írási átküldött oldalak területen. Files megadott paraméter kell létrehozni hFile GENERIC_READ GENERIC_WRITE és hozzáférési jogokat.
Hozzáférést biztosít elolvassa és végrehajtja a átküldött oldalak terén. A megadott fájl hFile. Úgy kell létrehozni GENERIC_READ GENERIC_EXECUTE és hozzáférési jogokat.
Ezen túlmenően, az alkalmazás meghatározhatja bizonyos rész attribútumokat kombinálásával (használatával bitenkénti OR) egy vagy több, a következő fejezetben attribútum értékeit az egyik az előző oldalon védelem értékek.
Osztja fizikai tárolóeszközt a memóriában, vagy a lapozófájl a lemezen az egyes oldalelemek. Ez - az alapértelmezett (tipikus) telepítést.
Windows Me / 98/95: Ez az opció nem támogatott.
Minden oldalak egy részén meghatározása a nem cacheable.
Az alkalmazások nem használják ezt a lehetőséget, kivéve, ha egyértelműen szükséges a készüléket. Használata vzaimoblokiruemyh memória funkció, kijelző rész SEC_NOCACHE vezethet kivételes helyzetben EXCEPTION_ILLEGAL_INSTRUCTION.
Figyeljen! hogy SEC_NOCACHE box megköveteli, hogy telepített vagy SEC_RESERVE. vagy SEC_COMMIT.
Windows Me / 98/95: Ez az opció nem támogatott.
Fenntartja paneloldalain anélkül, hogy azokat a fizikai memória. Fenntartott oldalak blokk nem használható bármely más kiosztási művelet, amíg kiengedik. Fenntartott oldalain lehet továbbítani a későbbi hívások VirtualAlloc funkciót. Ez az attribútum csak akkor érvényes, ha a paraméter értéke hFile INVALID_HANDLE_VALUE; azaz egy objektum „fájl mapping”, amely támogatja az operációs rendszer a lapozófájl.
[A] Az idősebb kettős szó (DWORD) a maximális méretét a tárgy „fájl mapping”.
[A] Az alacsony kettős szó (DWORD) a maximális méretét a tárgy „fájl feltérképezése.” Ha ezt a paramétert és dwMaximumSizeHigh nullával egyenlő, a maximális mérete a tárgy „fájl mapping” egyenlő az aktuális fájl méretét azonosított hFile.
Kísérlet, hogy megjelenítse a memória fájl nulla hosszúságú ily módon nem ERROR_FILE_INVALID kódot. Alkalmazások észlelnie kell a fájlokat nulla hosszúságú, és elutasítja az ilyen fájlokat.
[A] mutató egy karakterlánc egy nulla a végén, meghatározó a neve „vetített” objektumot.
Ha ez a paraméter megfelel a nevét egy meglévő nevű „vetített” objektumot, funkció hozzáférést kér egy „tervezett” a tárgyat a védelem által megadott paraméterek flProtect.
Ha ezt az opciót - hagyja, hogy a (NULL), „tervezett” objektum jön létre, ha név nélkül.
Ha lpName egyezik a nevét egy létező esemény, szemafor, mutex, vár egy időzítőt, vagy a munka tárgya, a funkció nem működik, és a GetLastError függvény egy hibát ERROR_INVALID_HANDLE. Ez azért van, mert ezek a tárgyak azonos névtérben.
Terminal Services: A név lehet előtaggal „Global \” vagy a „Local \”, hogy kifejezetten létre egy objektumot a globális vagy a munkamenet névtér. A fennmaradó kifejezés neve bármilyen karaktert tartalmazhat, kivéve a fordított perjel (\). További információért lásd. Cikk kerneltérben objektum nevek.
Windows XP Home Edition: Fast User Switching végzi a Terminal Services ülés. Az első felhasználó, hogy megkezdik a Session 0, a következő felhasználó, aki kezdi meg a munkamenet 1, és így tovább. Nevek kernel objektum irányelveket kell követni vázolt Terminal Services így egy olyan alkalmazás képes kezelni több felhasználó.
Windows NT. A név bármilyen karaktert tartalmazhat, kivéve a fordított perjel (\).
Windows 95/98 / Me: A név bármilyen karaktert tartalmazhat, kivéve a fordított perjel (\). Az üres string ( „”) - érvényes objektum nevét.
Ha a függvény sikeres, a visszatérési érték - a tárgy fogantyú „vetített” fájlt. Ha az objektum létezett, mielőtt a függvényhívás a függvény egy fogantyút egy létező objektum (a jelenlegi méretét nincs megadva méret), és akkor a függvény hibát GetLastError ERROR_ALREADY_EXISTS.
Ha a funkció nem működik, a visszatérési érték - NULL (NULL). Ahhoz, hogy a kiterjesztett hiba információért hívja GetLastError.
Ha az alkalmazás beállítja a tárgy „fájl mapping” méret, amely nagyobb, mint a méret a tényleges nevű fájlt a lemezen, a fájlt a lemezen van növelni, hogy a méret a megadott objektum „file mapping”. Ha a fájl nem lehet növelni, ez vezet sikerült kialakítani egy tárgy „fájl mapping”. GetLastError függvény egy hibát ERROR_DISK_FULL.
Leíró, amely visszaadja CreateFileMapping funkciót. Ez teljes hozzáférést biztosít az új objektum „file mapping”. Ezt fel lehet használni bármilyen funkciót, amely megköveteli a fogantyú egy tárgy „fájl mapping”. Objects „kivetített kép” lehet használni együtt, vagy a fejlesztési folyamat, vagy a párhuzamos leíró, vagy név szerint. További információ a sokszorosító kilincsek, lásd. DuplicateHandle függvény leírása. További információt megnyitja a tárgy „file mapping” megnevezés, lásd. OpenFileMapping függvény leírása.
Windows 95/98 / Me: fájlleíróból hogy létrehozásához használt tárgyak „leképezőfájl” nem alkalmazható a következő hívás a fájl beviteli lehetőségek - O, mint például readfile és WriteFile. Általában, ha egy fájl leíró által használt sikeres hívás CreateFileMapping funkciót. Ne használja ezt a fogantyút, ha előbb bezárja a megfelelő objektum „file mapping”.
Az első nagyobb kivételes helyzet néző fájl kapott kizárólagos célja „vetített” képsorozatot, vagy ugyanaz, mint jelenleg. Ha több folyamatok rendezi az azonos tárgy „vetített” fájlt, látják, hogy következetesen nyomon az adatokat, ha a kijelző ábrázolása a fájlt.
Kivétel kapcsolódik a távoli fájlokat. Bár CreateFileMapping funkciót, és működik a távoli fájlokat, akkor nem tartja meg a sorrendet. Például, ha két számítógép és a projekt fájl írható és cserélni, ugyanazon az oldalon, minden számítógép csak látni a saját belépési oldalon. Ha az adatok frissítése a lemezen, ezek nem kombinálhatók.
A megjelenített kép és a fájl által elérhető funkciók adat input / output (readfile és WriteFile) (I / O) nem szükségszerűen kapcsolódnak.
Ahhoz, hogy teljesen bezárja a létesítményt „file mapping” alkalmazás törölheti a kijelzőn mindenféle kijelző tárgy „file mapping” segítségével UnmapViewOfFile függvényhívás és zárja be a tárgy fogantyú „file mapping” hívja a CloseHandle funkciót. A sorrend, amelyben ezek a funkciók az úgynevezett nem számít. Hívjon UnmapViewOfFile szükség, mert a megjelenített objektum típus „file mapping” szolgáltatás belső nyitott objektumok kezelését és a tárgy „fájl mapping” nem lesz lezárva, amíg, amíg az összes nyitott fogantyúval van zárva vele.
Terminalaservisov munkamenet használhatják a közös memória blokkok adatot mozgatni folyamatok által generált ülés. Ha ezt megteszi, akkor szem előtt tartani, hogy az osztott memóriát nem lehet használni olyan esetekben, ahol az alábbi két feltétel:- Minden folyamatot a megosztott memória blokk nem keletkezett egy ülésen.
- Minden ülés ugyanazt a felhasználói hitelesítő adatokat a rendszer.
Hogy tegyen lépéseket megsértése elleni hozzáférési jogok, használja strukturált kivételkezelés, hogy megvédje bármilyen kódot, ír vagy olvas a memóriából a kijelző bemutatása. További információért lásd. Cikk olvasása és írása adatfájl benyújtását.
Ahhoz, hogy megjelenjen a végrehajtás az engedélyeket. A kérelemnek tartalmaznia kell a függvényt CreateFileMapping vagy zászló PAGE_EXECUTE_READWRITE vagy PAGE_EXECUTE_READ. majd hívja MapViewOfFile zászlókkal FILE_MAP_EXECUTE | FILE_MAP_WRITE vagy FILE_MAP_EXECUTE | FILE_MAP_READ.
Ahhoz, hogy a funkció egy „vetített” a tárgyat, amely sikertelen, ha az objektum már létezik, az használhatja az alábbi kódot.