Czy możliwe jest śledzenie operacji na plikach za pomocą .NET?

Czy jest to możliwe, gdy operacja na pliku jest nazywana w jakiś sposób - jak otwarcie lub zamknięcie - że mogę ją obsłużyć przed kontynuowaniem żądania przez system operacyjny i, jeśli to możliwe, anulować to przez.NETTO? Jeśli .NET nie ma takich umiejętności, jak mogę to zrobić?