Kvrsoft - milyen port
1. Milyen port
2. Egyes szabályok munka kikötők
Meg kell jegyezni, hogy a fejlesztési programok foglalkoznak a port kell vennie a következő tényezőket:
Próbáld meg használni a magasabb szintű funkciókat elérni a portok (különösen WinAPI), és nem használja az alacsony szintű olvasási / írási műveletek port. Ha úgy dönt, hogy írjon az alacsony szintű olvasási ezeket az eljárásokat kell tenni egy külön DLL vagy VXD, az alábbi okok miatt - köztudott, hogy az operációs rendszer Windows 95/98 és NT Különösen fogva multitasking rendszerek. Azaz, ha a programot kifejezetten utal a port nem pedig a dinamikus hívás DLL funkciók vagy VXD (használat DLL mechanizmus) közvetlenül és ez hatással lehet a helyes működését a rendszer, vagy akár kitölteni. És még ha a Windows95 / 98 ez a megközelítés jól működni a Windows NT, mert az építészet nem teszi lehetővé a közvetlen írási / olvasási közvetlenül, és a használata DLL vagy VXD mechanizmus lehetővé teszi, hogy megkerülje ezt a problémát.
Ha dolgozik néhány nem szabványos input-output port (pl port tárolása az állam a távirányító gombjait TVTunera akkor biztosan van egy DLL szolgáltatott natív szoftverek vagy VXD irányítani az eszközt, és már nem kell írni a kódot, úgyhogy dolgozni a távirányító TVTunera szabványos DLL a készletben, akkor azonnal úgy döntött kapcsolatos kérdések kezelésével port a tuner)
Így a visszavonulás - egy kis gyakorlás ...
funkció PortInit: logikai; // inicializálja
f: = Windows.CreateFile (PChar ( 'COM1'), GENERIC_READ vagy
FILE_SHARE_READ vagy FILE_SHARE_WRITE,
GENERIC_WRITE, 0, nulla,
Mutató egy null-terminált (PCHAR), amely megadja a nevét, az újonnan épített objektum (fájl, csatorna, mail slot, a kommunikációs erőforrás (ebben az esetben a port), a lemez eszközt, konzol, vagy könyvtár)
Típusát jelzi az objektum elérését értéket veszi
GENERIC_READ - olvasható
GENERIC_WRITE - (predostovlyaet teljes hozzáférést a keverési művelet GENERIC_READ GENERIC_READ és GENERIC_WRITE) rögzítésére
Állítsa be a bit zászlók, amelyek meghatározzák, hogy a tárgy lehet bontani ahhoz való hozzáférés. Ha dwShareMode - 0, a tárgy nem lehet megosztani. A szekvenciát a nyitás a tárgy sikertelen lesz, amíg a fogantyú (fogantyú) Nyissa az objektum zárva van. Tény, hogy ez adott exkluzív hozzáférést.
Ahhoz, hogy külön a tárgy (cél) kombinációját használják egy vagy több, a következő értékek:
FILE_SHARE_DELETE (csak Windows NT)
SECURITY_ATTRIBUTES mutatót a struktúrát, amely meghatározza, hogy a visszaküldött fogantyú örökölheti gyermek folyamatokat. Ha lpSecurityAttributes ZERO, a marker nem örökölhető. Csak amit a Windows NT.
Meghatározza a viselkedését a funkciót, ha az objektum már létezik, és hogyan lesz nyitva ebben az esetben az alábbi értékeket:
Létrehoz egy új objektumot (fájlt) hibát dob, ha az objektum (fájl) már létezik.
Létrehoz egy új objektum (fájl) függvény felülírja a meglévő objektum (fájl)
Megnyitja objektum (fájl) hibát dob, ha az objektum (fájl) nem létezik. (A részletesebb pillantást SDK)
Megnyitja objektum (fájl), ha létezik. Ha egy objektum (fájl) nem létezik, a függvény létrehozza azt, ha voltak dwCreationDistribution CREATE_NEW.
Megnyitja objektum (fájl). Ezt követően az objektum (fájl) csonka nullához, ha az említett hiba razmera.Vydaet objektum (fájl) nem létezik.
attribútumok az objektum (fájl) attribútumok is kombinálható
Meghatározza a fogantyút GENERIC_READ hozzáférést egy ideiglenes objektum (fájl). Ideiglenes objektum (fájl) látja fájlattribútumok és a kiterjesztett attribútumok a teremtett tárgy (fájl) csak Windows NT Windows 95: Ezt az értéket kell beállítani Nil.
Ha a függvény sikeres, a visszatérési érték - egy nyílt fogantyút az objektum (fájl). Ha a fájl nem létezik - 0.
Ha az üzemzavarok történt, a visszatérési érték - INVALID_HANDLE_VALUE. Ahhoz, hogy a kiterjesztett hiba információért hívja GetLastError.
Kikötőkre, dwCreationDistribution paramétert kell OPEN_EXISTING, és meg kell hTemplate Nil. Access-olvasható egyértelműen meg kell határozni.
A szerkezet tartalmaz egy biztonsági leírást a tárgy, és meghatározza, hogy a fogantyú lehet a gyerek által örökölt.
typedef struct _SECURITY_ATTRIBUTES
Meghatározza a mérete bájtokban, ennek a szerkezetnek. Ezt az értéket a méret a szerkezet SECURITY_ATTRIBUTES Windows NT használó funkciók SECURITY_ATTRIBUTES szerkezet, nem ellenőrzik az érték nLength.
Leíró jelző leíró a védelem tárgyát, ha nyél üres objektum lehet hozzárendelni az öröklés gyermek folyamatokat.
Ez határozza meg, hogy a visszaküldött fogantyú öröklődik, amikor egy új leíró jön létre. Ha ez az érték TRUE vesz egy új leíró örökli a fejét.
SECURITY_ATTRIBUTES Pointer olyan szerkezetet használunk paraméterként a legtöbb ablakozási funkciókat a Win32 API-t.