News:

MASM32 SDK Description, downloads and other helpful links
MASM32.com New Forum Link
masmforum WebSite

Faster Dirs Tree View

Started by lingo, April 11, 2011, 11:17:40 PM

Previous topic - Next topic

lingo

"When I have time I will try with NtQueryDirectoryFile from Ntdll.dll.."

As I promised in my Reply #20 link, I resolved the speed problem with NtQueryDirectoryFile.  :P
It is tested under Win7 64bit – SP1 and XP 32bit - SP3.

dedndave

XP MCE 2005 Sp3
Prescott w/htt (SSE3)


well, you were right about one thing...
....it WAS fast   ::)

donkey

Very fast but not very useful. It shows files in C root that are definitely not there, it seems to have issues opening subfolders empty or not, it also occasionally displayed the contents of a subfolder as if they were in its parent folder. Lastly, though I'm not absolutely sure because of the structure of my drive, I think it crossed a partition and displayed folders from another partition. I had some of these issues when I originally tried the Ntxxx functions but I abandoned the effort before I figured them out as I went for 9x compatibility.



Win7 Ult. X64

I get the same error as Dave when trying with XP compatibility mode and MCE.
"Ahhh, what an awful dream. Ones and zeroes everywhere...[shudder] and I thought I saw a two." -- Bender
"It was just a dream, Bender. There's no such thing as two". -- Fry
-- Futurama

Donkey's Stable

hutch--

Sorry Lingo,

It won't even start here, instant GP fault. This is on my Xp SP3 box.
Download site for MASM32      New MASM Forum
https://masm32.com          https://masm32.com/board/index.php

donkey

Also the directory tree has to be in a structure that's understandable to the end user, not some obscure listing that has little bearing on how the user sees his drive.



The vcxxxx.htm files shown here in the drive root folder are actually in "C:\Programming\instruct32 Source" and of course the symbols folder is a subfolder of Windows and doesn't belong in Root.
"Ahhh, what an awful dream. Ones and zeroes everywhere...[shudder] and I thought I saw a two." -- Bender
"It was just a dream, Bender. There's no such thing as two". -- Fry
-- Futurama

Donkey's Stable

donkey

"Ahhh, what an awful dream. Ones and zeroes everywhere...[shudder] and I thought I saw a two." -- Bender
"It was just a dream, Bender. There's no such thing as two". -- Fry
-- Futurama

Donkey's Stable

dedndave

http://www.masm32.com/board/index.php?topic=15474.msg135028#msg135028

Dave:
Quoteat any rate - what we really need is a way to create a thread in here without any "advice" from lingo
he used to provide some value to the assembler community
now, he just repeats "i am the only person on the planet that knows how to write code",
in spite of the fact that his code often fails to work properly and/or is buggish
it's not as though we can simply go to a different forum - he seems intent on polluting all of them

lingo:
Quotehave you just one example?

lingo

Thanks guys for testing.
As I see you have a low memory errors...
So, please find the last variable in the .data -> nMemory dd 8000h
and correct it with smaller value.
Recompile it and try again.
Thank you in advance..   :P

dedndave


donkey

Quote from: lingo on April 12, 2011, 12:26:49 AM
Thanks guys for testing.
As I see you have a low memory errors...
So, please find the last variable in the .data -> nMemory dd 8000h
and correct it with smaller value.
Recompile it and try again.
Thank you in advance..   :P


My problems were not memory issues. On XP it GPF'ed after it threw a c0000013 (No Disk) so the memory should have been allocated fine and I consistently was able to allocate 500MB on the MCE system which has 2GB of physical RAM (shows 1217 MB Free). On Win7 the drive structure and file lists were completely wrong. I don't have the necessary files (umacros.asm) to recompile but its of only passing interest anyway so...

Next, all programs should take into account that each user has a different machine configuration. If you're building something that requires a recompile each time it encounters something different from your machine you haven't done adequate error trapping and in a program as winding and hard to follow as the one you posted this is a fatal mistake as is evident from the fact that 3 different people tried it on at least 4 different machines and it did not run properly on any and GPF'ed on 3. My internal code is winding and loosely commented but I make an effort to only post readable code that is easy to follow on the forum, after all if you don't why even bother to include the source.
"Ahhh, what an awful dream. Ones and zeroes everywhere...[shudder] and I thought I saw a two." -- Bender
"It was just a dream, Bender. There's no such thing as two". -- Fry
-- Futurama

Donkey's Stable

lingo

"Also the directory tree has to be in a structure that's understandable to the end user, not some obscure listing that has little bearing on how the user sees his drive."
Wrong! It is not a full program, it is just an example.(see the original post and example)


"Next, all programs should take into account that each user has a different machine configuration"
Practically impossible, hence it is just a nonsense... :P


"If you're building something that requires a recompile each time it encounters something different from your machine and... bla,bla,blah,bla"
Again nonsense, just stupid bad emotions without any constructivism  ...


"as is evident from the fact that 3 different people tried it on at least 4 different machines and it did not run properly on any and GPF'ed on 3."
I have 2 machines at it works fine for me!!! (see my pics)  :P

"On Win7 the drive structure and file lists were completely wrong."
Again big nonsense (see my pictures)  :P

My internal code is winding and loosely commented but I make an effort to only post readable code that is easy to follow on the forum

Your code is "readable" for newbies but SLOW, hence I'm not interested,
and this post is for a SPEED problem rather than for "readable" code. :P


"I don't have the necessary files (umacros.asm) to recompile"

This is your great reason to post so many bla,bla,bla and nonsenses here! :lol


Anyway I thank you for the testing and for your efforts to help me to find the possible error in the undocumented code. :wink

hutch--

 :bg

You can leave me out of the invective, I am much more interested in seeing a working version of the code. It builds OK here but when you try and run it I get a DrWatson dialog appears and an instant GP fault. This is on my XP SP3 dev box. PS: It is hard to read.  :P
Download site for MASM32      New MASM Forum
https://masm32.com          https://masm32.com/board/index.php

lingo

Thank you Hutch,
but just tell me what to do?
For me it works just fine!!! :P
Donkey with his system is far away from Toronto and I can't test it on his place... :lol
What I can do? :P

hutch--

Don't know the answer without knowing a lot more about your computer configurations on the different machines you have tested it on. It may be something like changes in NTDLL.DLL that they don't document but that is bacically the problem of using undocumented functions in DLLs that are not required to be consistent in their interface. I would also be interested to know what language versions of Windows you are running. I have had problems before with stuff that works on a US English version failing on other language versions.
Download site for MASM32      New MASM Forum
https://masm32.com          https://masm32.com/board/index.php

six_L

OS:6.1.7600.2.0.0.768.2
QuoteExceptionCode:c0000005
offset:0000142a
regards