Input/output error
-
Hallo Leute!!
Ich habe ein kleines Problem, denn ich versuche die serielle Schnittstelle unter Win zu reinitialisieren. Dabei verwende ich u.a. folgenden Code:
hPort = CreateFile( cpPortName, GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING | CREATE_ALWAYS, FILE_FLAG_RANDOM_ACCESS, NULL );um erst mal s entsprechende File für die richtige COM_Schnittstelle zu öffnen. In "cpPortName" steht übrigens folgendes:
"COM1:"
Jedenfalls habe ich mit dem ganzen zeugs hier folgendes Problem:
Ich herhalte mit GetLastError() die Fehlernummer 5 = Input/output error!!Was kann ich jetzt mit dieser tollen Fehlermeldung anfangen?? Bzw. was genau will sie mir sagen, außer dass ich n Problem dabei habe mein File zu öffnen, bzw. zu createn.
Vielleicht hat ja jemand ne Idee...
Gruß
mb
-
Dieser Thread wurde von Moderator/in kingruedi aus dem Forum Rund um die Programmierung in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/base/createfile.asp
msdn schrieb:
In the ANSI version of this function, the name is limited to MAX_PATH characters. To extend this limit to 32,767 wide characters, call the Unicode version of the function and prepend "\?\" to the path. For more information, see Naming a File.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/base/naming_a_file.asp
sprich
CreateFile("\\\\.\\COM1", ...
-
hmmm...habe das Problem nun eigentlich gefunden...ich hatte noch ne Anwendung offen, die auf die serielle Schnittstelle zugegriffen hat und demnach alles blockierte...richtig dämlich...:((
was nun die andere Formatierung des Dateipfades bringt...k.a....werde das aber zusätzlich ma ausprobieren und durchlesen...
trotzdem danke!
gruß
mb
-
FILE_FLAG_SEQUENTIAL_SCAN is uebrigens besser als FILE_FLAG_RANDOM_ACCESS, da serielle Schnittstellen ja per se streamorientiert sind.
Die alternative Pfadnotation bezieht sich nur auf Pfade groesser MAX_PATH (MAX_PATH ist etwa als 200 definiert). Kurze Dateinamen wie "COM1:" sind davon nicht betroffen.
-
Power Off schrieb:
(MAX_PATH ist etwa als 200 definiert)
WINDEF.H schrieb:
#define MAX_PATH 260