winapi - Sådan læses bytes fra et Windows filhåndtag i Rust?

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg implementerer en DLL ved hjælp af Rust. DLLs værtsprogrammet overfører Win32 filhåndtag til DLL til læsning og skrivning.


Er der en eksisterende funktion, der returnerer en 'normal' rustlæser fra et Windows-filhåndtag? Hvordan ville en manuel implementering af Read eller Write træket se ud?

Bedste reference


På Windows er der et platformspecifikt træk FromRawHandle, som er implementeret til std::fs::File og std::process::Stdio. [9]


Brug denne overfører ejerskab af håndtaget ; Når File eller Stdio slippes, vil håndtaget blive lukket. Sørg for, at det passer til din API og brug det i overensstemmelse hermed.





Der er et tilsvarende træk for * nix platforme: FromRawFd. [10]