Wie überprüfe ich, ob eine Datei bereits von einem anderen Prozess in C geöffnet wurde?

Ich sehe, dass Standard C nicht sagen kann, ob eine Datei bereits in einem anderen Prozess geöffnet ist. Die Antwort sollte daher mehrere Beispiele für jede Plattform enthalten. Ich brauche diese Prüfung für Visual C ++ / Windows.