Path, File oder RandomAccessFile: Absolute Dateistartposition auf Disk herausfinden

Ist es möglich, die physische Position einer Datei auf der Disk herauszufinden? Ich finde dazu auf SO nichts.
https://howtodoinjava.com/java/io/how-java-io-works-internally/
Wenn ich das richtig sehe, kann ich auf den Kernel Space, DMA und Diskcontroller von Java aus nicht zugreifen oder?

Versuch:

	public static long getPositionOnDisk(Path file) {
		try (RandomAccessFile raf = new RandomAccessFile(file.toFile(), "r")) {
			return raf.getFilePointer();
		} catch (IOException e) {
			e.printStackTrace();
			return -1;
		}
	}

liefert immer 0

Oder weiß jemand wie es hier weitergehen könnte?

import com.sun.jna.Function;
import com.sun.jna.Library.Handler;

public class FD2 {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Function f1 = Function.getFunction("kernel32", "OpenFile");
		HFile h1 = (HFile) f1.invoke(HFile.class, new Object[] {"D:\\a.pdf", 0, 0});
		
	}
}

HFile kennt er natürlich nicht, und DWORD ebenso wenig…

Suche den ersten Startblock der Datei auf dem Datenträger bzw. in der NTFS-Partition. Wenn die Datei fragmentiert ist, dann quasi die Lesestelle des ersten Byte.
Gibt es vielleicht eine C Win-Api -Funktion dafür? Wenn ja, wie kann ich diese proprietäre Funktion aus Java heraus aufrufen?
Habt ihr vielleicht ein gutes JNA/JNI Tutorial dazu? Bin über jede Antwort dankbar.