Erkennungsmerkmal ein Rohr aus einer Datei im Fenster
Frage
Auf Unix, alles ist eine Datei, so können Sie mit Datei-I / O-Funktionen mit Rohren, Dateien, Steckdosen, etc. Aber auf Fenster, die api Sie von der Art der i hängen verwenden / o GREIFEN Sie haben.
Meine Frage ist: gegeben einen Griff wie Sie bestimmen, was der zugrunde liegende Typ ist? Zum Beispiel habe ich einen Griff, die entweder echte Datei ist, oder einen Namen / anonymen Pipe. Ich würde gerne wissen, ob PeekNamedPipe auf dem HANDELTE aufgerufen werden.
Lösung
Mit GetFileType
. Überprüfen Sie für einen Rückgabewert von FILE_TYPE_PIPE
.
http://msdn.microsoft.com/ en-us / library / aa364960 (VS.85) aspx
Andere Tipps
Ohne zu versuchen, dumm zu sein. Nennen. Wenn Sie einen Fehlercode zurück seine die falsche Art der Sache zu sagen ... dann wissen Sie.
Ein ähnliches Prinzip ist relevent, wenn sie versuchen, um zu sehen, ob der Benutzer die Rechte hat, eine Datei zu öffnen. Es ist möglich, zu versuchen und voll Reverse Engineering und neu implementieren die Logik des Dateisystem durch die ACLs zu testen geht. Oder einfach nur versuchen, es zu öffnen.