Pregunta

En Unix, todo es un archivo, por lo que puede utilizar el archivo de E / S con funciones de tuberías, tomas de corriente, archivos, etc. Sin embargo, en las ventanas, la API que se utiliza depende del tipo de I / O MANIPULAR que tiene.

Mi pregunta es: dado un mango, ¿cómo determinar cuál es el tipo subyacente es? Por ejemplo, tengo un mango que es o archivo real, o una tubería con nombre / anónimo. Me gustaría saber si PeekNamedPipe puede ser llamado en este MANGO.

¿Fue útil?

Solución

Uso GetFileType. Compruebe si hay un valor de retorno de FILE_TYPE_PIPE.

http://msdn.microsoft.com/ en-us / library / aa364960 (VS.85) .aspx

Otros consejos

Sin tratar de ser tonto. Llámalo. Si recibe un código de error de vuelta diciendo que es el tipo equivocado de cosas ... entonces sabes.

Un principio similar es relevante cuando se trata de ver si el usuario tiene los derechos para abrir un archivo. Su posible para tratar de ingeniero totalmente inversa y volver a implementar la lógica del sistema de archivos pasa por poner a prueba las ACL. O, simplemente, tratar de abrirlo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top