sti - Windows CurDir-funktion - hvad er dens lave niveau deklaration og er der en Unicode-version?

Indlæg af Hanne Mølgaard Plasc

Problem



For et REAL Studio-program skal jeg forespørge om et bestemt drevbogstav nuværende mappe , da det forekommer i en sti som denne:


d:filename


Bemærk at det er en relativ sti på D: her.


Der er en GetCurrentDirectory-funktion, men det gør det ikke muligt at angive D-drevet, så det er ikke til brug her.


Jeg fandt CurDir-funktionen, hvilket er det, jeg har brug for funktionelt, men jeg kan ikke finde nogen info på MSDN-webstedet om DLL'en, det lever i, heller ikke det eksporterede navn i den DLL.


Jeg har forsøgt navnene CurDir og CurDirA, og DDL navngiver user32.dll og win32.dll og kernel32.dll.


Det fremgår også, at CurDir-funktionen som angivet til VB returnerer en ASCII, ikke en Unicode-streng. Er der en Unicode-version, f.eks. 'CurDirW'?

Bedste reference


Windows opretholder ikke separate nuværende mapper til separate drev. Det er noget, som DOS plejede at gøre, og cmd.exe emulerer ved at huske værdier for hvert drev. Når du ændrer drevet i cmd.exe, indstilles den aktuelle mappe, inklusive drevet. Hvis du vil have den samme funktionalitet, skal du selv gøre det.


Raymond Chen blogged om dette: http://blogs.msdn.com/b/oldnewthing/archive/2010/10/11/10073890.aspx[2]