Question

Sur Unix, tout est un fichier, vous pouvez donc utiliser le fichier i / o fonctions avec des tuyaux, des fichiers, prises de courant, etc. Mais sur les fenêtres, l'api que vous utilisez dépend du type de i / o POIGNEE que vous avez.

Ma question est: étant donné une poignée comment déterminez-vous ce que le type sous-jacent est? Par exemple, j'ai une poignée qui est soit vrai fichier, ou un nom / canal anonyme. Je voudrais savoir si PeekNamedPipe peut être appelé sur ce POIGNÉE.

Était-ce utile?

La solution

Utilisez GetFileType. Vérifier une valeur de retour de FILE_TYPE_PIPE.

http://msdn.microsoft.com/ fr-fr / bibliothèque / aa364960 (VS.85) .aspx

Autres conseils

Sans essayer d'être stupide. Appeler. Si vous obtenez un code d'erreur de retour en disant son type de mauvaise chose ... alors vous savez.

Un principe similaire est relevent lorsque vous essayez de voir si l'utilisateur a le droit d'ouvrir un fichier. Il est possible d'essayer et ingénieur complètement inverse et réimplémenter la logique du système de fichiers passe par pour tester les ACLs. Ou, juste essayer de l'ouvrir.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top