Kommunikationsressourcenhandles
Ein Prozess verwendet die CreateFile--Funktion, um ein Handle für eine Kommunikationsressource zu öffnen. Wenn Sie z. B. COM1 angeben, wird ein Handle für einen seriellen Port geöffnet, und LPT1 öffnet einen Handle zu einem parallelen Port. Wenn die angegebene Ressource derzeit von einem anderen Prozess verwendet wird, schlägt CreateFile- fehl. Jeder Thread des Prozesses kann das von CreateFile zurückgegebene Handle verwenden, um die Ressource in einer der Funktionen zu identifizieren, die auf die Ressource zugreifen.
Wenn der Prozess CreateFile- aufruft, um eine Kommunikationsressource zu öffnen, gibt er die folgenden Attribute an:
- Welche Art von Lese-/Schreibzugriff für die angegebene Ressource vorhanden ist.
- Gibt an, ob das Handle von untergeordneten Prozessen geerbt werden kann.
- Gibt an, ob das Handle in überlappenden (asynchronen) E/A-Vorgängen verwendet werden kann. (Eine Beschreibung der überlappenden Vorgänge finden Sie unter Synchronisierung.)
Wenn der Prozess CreateFile- zum Öffnen einer Kommunikationsressource verwendet, muss er bestimmte Werte für die folgenden Parameter angeben:
- Der parameter fdwShareMode muss null sein und die Ressource für exklusiven Zugriff öffnen.
- Der parameter fdwCreate muss das OPEN_EXISTING Flag angeben.
- Der hTemplateFile--Parameter muss NULL-sein.
Wenn Sie CreateFile- verwenden, um ein Handle direkt auf einem Gerät zu öffnen, muss eine Anwendung die Sonderzeichen "\\ .\" verwenden, um das Gerät zu identifizieren. Um z. B. ein Handle für Laufwerk A zu öffnen, geben Sie \\ .\a: für den parameter lpszName von CreateFilean. Der Aufrufvorgang kann das Handle in der DeviceIoControl--Funktion verwenden, um Steuercodes an das Gerät zu senden.