From: Alexander Grigoriev on 27 Jan 2010 21:56 isn't that shlwapi.dll? "Kerem G�mr�kc�" <kareem114(a)hotmail.com> wrote in message news:%23wmDC32nKHA.1544(a)TK2MSFTNGP06.phx.gbl... > Hi Stefan, > >> Even if there is such a thing, what value would it give to you? Once you >> had that "next available file/folder name" and just before you can create >> it, your program can be preempted and someone else can calculate this >> file/folder and create it, so what value will your prior call to this >> imaginary function have?. Having a function that does this as an API is >> subject to race conditions, so it is per se useless, unless tightly >> coupled with a file/foldeer creation call. The only sure thing is a >> function that tries to *create* the next possible file/folder. > > Yes, you are right on that. But it is quite sure that there will be no > race condition/deadlock, because the access to the folder is only > restricted to > a special process that only runs single instance, system and sessionwide > in a special account and the folder (where the subfolders/files) will be > created) has special NTFS restrictions only for the process user context. > >> You mentioned PathMakeUniqueName, I never used that, does it only >> "suggest" the file name or does it create the file as well? > > AFAIK (i didnt check it and will use it!) it only suggest the file name, > like > many shell and helper functions do with strings and URLs/Paths. > >> doesn't create the file name, you will have to use that in a loop until a >> combination of the result of both PathMakeUniqueName and CreateFile >> succeed. > > I implemented my own version that does a for-loop on the names until it > gets > a "available" name, then it does its job. > >> BTW: MSDN online says that PathMakeUniqueName is suppported on W2K as >> well. > > I am always very cautious on functions i never used or know, so i always > check > first whether there is a (implemented) export of the function on the named > library > and this time i was right on checking it, because my up2date W2k system > does > NOT have such a export in the library! Yes, MSDN says that, but in fact it > seems to > be wrong since i do have a shell32.dll (5.00.3900.7155) on my W2k and it > does > NOT export that function at least it has no named export! But MSDN says: > > Minimum DLL Version shell32.dll version 5.0 or later > Custom Implementation No > Header shlobj.h > Import library shell32.lib > Minimum operating systems Windows 2000 > > Thats simply wrong! > > And what export name is that "PathYetAnotherMakeUniqueName", available > since >=XP *g* > > Regards > > K. > > > -- > ----------------------- > Beste Gr�sse / Best regards / Votre bien devoue > Kerem G�mr�kc� > Latest Project: http://www.pro-it-education.de/software/deviceremover > Latest Open-Source Projects: http://entwicklung.junetz.de > -----------------------
From: Kerem Gümrükcü on 28 Jan 2010 03:38 Non, its shell32.dll, check exports. At first i was expecting it in the helper library too,.. -- ----------------------- Beste Gr�sse / Best regards / Votre bien devoue Kerem G�mr�kc� Latest Project: http://www.pro-it-education.de/software/deviceremover Latest Open-Source Projects: http://entwicklung.junetz.de ----------------------- "Alexander Grigoriev" <alegr(a)earthlink.net> schrieb im Newsbeitrag news:ueIv7V8nKHA.5552(a)TK2MSFTNGP05.phx.gbl... > isn't that shlwapi.dll? > > "Kerem G�mr�kc�" <kareem114(a)hotmail.com> wrote in message > news:%23wmDC32nKHA.1544(a)TK2MSFTNGP06.phx.gbl... >> Hi Stefan, >> >>> Even if there is such a thing, what value would it give to you? Once you >>> had that "next available file/folder name" and just before you can >>> create it, your program can be preempted and someone else can calculate >>> this file/folder and create it, so what value will your prior call to >>> this imaginary function have?. Having a function that does this as an >>> API is subject to race conditions, so it is per se useless, unless >>> tightly coupled with a file/foldeer creation call. The only sure thing >>> is a function that tries to *create* the next possible file/folder. >> >> Yes, you are right on that. But it is quite sure that there will be no >> race condition/deadlock, because the access to the folder is only >> restricted to >> a special process that only runs single instance, system and sessionwide >> in a special account and the folder (where the subfolders/files) will be >> created) has special NTFS restrictions only for the process user context. >> >>> You mentioned PathMakeUniqueName, I never used that, does it only >>> "suggest" the file name or does it create the file as well? >> >> AFAIK (i didnt check it and will use it!) it only suggest the file name, >> like >> many shell and helper functions do with strings and URLs/Paths. >> >>> doesn't create the file name, you will have to use that in a loop until >>> a combination of the result of both PathMakeUniqueName and CreateFile >>> succeed. >> >> I implemented my own version that does a for-loop on the names until it >> gets >> a "available" name, then it does its job. >> >>> BTW: MSDN online says that PathMakeUniqueName is suppported on W2K as >>> well. >> >> I am always very cautious on functions i never used or know, so i always >> check >> first whether there is a (implemented) export of the function on the >> named library >> and this time i was right on checking it, because my up2date W2k system >> does >> NOT have such a export in the library! Yes, MSDN says that, but in fact >> it seems to >> be wrong since i do have a shell32.dll (5.00.3900.7155) on my W2k and it >> does >> NOT export that function at least it has no named export! But MSDN says: >> >> Minimum DLL Version shell32.dll version 5.0 or later >> Custom Implementation No >> Header shlobj.h >> Import library shell32.lib >> Minimum operating systems Windows 2000 >> >> Thats simply wrong! >> >> And what export name is that "PathYetAnotherMakeUniqueName", available >> since >=XP *g* >> >> Regards >> >> K. >> >> >> -- >> ----------------------- >> Beste Gr�sse / Best regards / Votre bien devoue >> Kerem G�mr�kc� >> Latest Project: http://www.pro-it-education.de/software/deviceremover >> Latest Open-Source Projects: http://entwicklung.junetz.de >> ----------------------- > >
From: Alexander Grigoriev on 28 Jan 2010 10:30 I remember that shell32.dll was replaced with IE update. Maybe the function is only present after one such update. "Kerem G�mr�kc�" <kareem114(a)hotmail.com> wrote in message news:errLqY$nKHA.3664(a)TK2MSFTNGP04.phx.gbl... > Non, its shell32.dll, check exports. At first i was > expecting it in the helper library too,.. > > -- > ----------------------- > Beste Gr�sse / Best regards / Votre bien devoue > Kerem G�mr�kc� > Latest Project: http://www.pro-it-education.de/software/deviceremover > Latest Open-Source Projects: http://entwicklung.junetz.de > ----------------------- > > "Alexander Grigoriev" <alegr(a)earthlink.net> schrieb im Newsbeitrag > news:ueIv7V8nKHA.5552(a)TK2MSFTNGP05.phx.gbl... >> isn't that shlwapi.dll? >> >> "Kerem G�mr�kc�" <kareem114(a)hotmail.com> wrote in message >> news:%23wmDC32nKHA.1544(a)TK2MSFTNGP06.phx.gbl... >>> Hi Stefan, >>> >>>> Even if there is such a thing, what value would it give to you? Once >>>> you had that "next available file/folder name" and just before you can >>>> create it, your program can be preempted and someone else can calculate >>>> this file/folder and create it, so what value will your prior call to >>>> this imaginary function have?. Having a function that does this as an >>>> API is subject to race conditions, so it is per se useless, unless >>>> tightly coupled with a file/foldeer creation call. The only sure thing >>>> is a function that tries to *create* the next possible file/folder. >>> >>> Yes, you are right on that. But it is quite sure that there will be no >>> race condition/deadlock, because the access to the folder is only >>> restricted to >>> a special process that only runs single instance, system and sessionwide >>> in a special account and the folder (where the subfolders/files) will be >>> created) has special NTFS restrictions only for the process user >>> context. >>> >>>> You mentioned PathMakeUniqueName, I never used that, does it only >>>> "suggest" the file name or does it create the file as well? >>> >>> AFAIK (i didnt check it and will use it!) it only suggest the file name, >>> like >>> many shell and helper functions do with strings and URLs/Paths. >>> >>>> doesn't create the file name, you will have to use that in a loop until >>>> a combination of the result of both PathMakeUniqueName and CreateFile >>>> succeed. >>> >>> I implemented my own version that does a for-loop on the names until it >>> gets >>> a "available" name, then it does its job. >>> >>>> BTW: MSDN online says that PathMakeUniqueName is suppported on W2K as >>>> well. >>> >>> I am always very cautious on functions i never used or know, so i always >>> check >>> first whether there is a (implemented) export of the function on the >>> named library >>> and this time i was right on checking it, because my up2date W2k system >>> does >>> NOT have such a export in the library! Yes, MSDN says that, but in fact >>> it seems to >>> be wrong since i do have a shell32.dll (5.00.3900.7155) on my W2k and it >>> does >>> NOT export that function at least it has no named export! But MSDN says: >>> >>> Minimum DLL Version shell32.dll version 5.0 or later >>> Custom Implementation No >>> Header shlobj.h >>> Import library shell32.lib >>> Minimum operating systems Windows 2000 >>> >>> Thats simply wrong! >>> >>> And what export name is that "PathYetAnotherMakeUniqueName", available >>> since >=XP *g* >>> >>> Regards >>> >>> K. >>> >>> >>> -- >>> ----------------------- >>> Beste Gr�sse / Best regards / Votre bien devoue >>> Kerem G�mr�kc� >>> Latest Project: http://www.pro-it-education.de/software/deviceremover >>> Latest Open-Source Projects: http://entwicklung.junetz.de >>> ----------------------- >> >>
From: rogero on 30 Jan 2010 16:26 On Jan 27, 4:25 pm, Kerem Gümrükcü <kareem...(a)hotmail.com> wrote: > > BTW: MSDN online says that PathMakeUniqueName is suppported on W2K as > > well. > > I am always very cautious on functions i never used or know, so i always > check > first whether there is a (implemented) export of the function on the named > library > and this time i was right on checking it, because my up2date W2k system does > NOT have such a export in the library! Yes, MSDN says that, but in fact it > seems to > be wrong since i do have a shell32.dll (5.00.3900.7155) on my W2k and it > does > NOT export that function at least it has no named export! But MSDN says: > > Minimum DLL Version shell32.dll version 5.0 or later > Custom Implementation No > Header shlobj.h > Import library shell32.lib > Minimum operating systems Windows 2000 > > Thats simply wrong! > > And what export name is that "PathYetAnotherMakeUniqueName", available > since >=XP *g* Ah - they're exported by ordinal not by name. PathMakeUniqueName is ordinal #47 in shell32.dll on W2K Regards, Roger.
First
|
Prev
|
Pages: 1 2 Prev: PolyLine and autoscrolling canvas Next: ActiveX App-wizard generated control and memory leaks |