Jump to content
  • Advertisement
Sign in to follow this  
Wicked Ewok

Windows Shell Extensions

This topic is 4871 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi, I am having a problem debugging my windows shell extension for generating thumbnails of a certain model type. Basically, it's crashing on exit and there's where that I can have the debugger break to tell me exactly what's happening. I am using an external graphics engine to generate a preview of the models. I am aware that memory leaks in a shell extension wouldn't be a good thing, but does it cause an immediate explorer crash? It might be that the external graphics engine has a memory leak, but I'm not certain if that would cause the whole system to crash. The crash happens after the thumbnail has been generated and we run out of the IExtractImage::Extract( HBITMAP *pbitmap ) function. I can't tell what's happening. Any help? Thanks a lot -Marv

Share this post


Link to post
Share on other sites
Advertisement
Quote:
Original post by Wicked Ewok
Is there a problem with having the extension DLL link to another DLL for graphics?(2 extra DLLs actually)


AFAIK, no, but I may be wrong here. I belive that if it was forbidden, you should not be able to load it. Since your problem arise when you unload your extension, it can't be tied to this reference - unless your other DLL crash on exit. It seems there is another problem in your code - and I believe it has something to do with memory overwriting.

If you use VC++, it should be possible to debug your DLL by lanching explorer as the exe. This way, you'll be able to put breakpoints in your code to see what happens.

Regards,

Share this post


Link to post
Share on other sites
Quote:
Original post by Emmanuel Deloget
Quote:
Original post by Wicked Ewok
Is there a problem with having the extension DLL link to another DLL for graphics?(2 extra DLLs actually)


AFAIK, no, but I may be wrong here. I belive that if it was forbidden, you should not be able to load it. Since your problem arise when you unload your extension, it can't be tied to this reference - unless your other DLL crash on exit. It seems there is another problem in your code - and I believe it has something to do with memory overwriting.

If you use VC++, it should be possible to debug your DLL by lanching explorer as the exe. This way, you'll be able to put breakpoints in your code to see what happens.

Regards,


Thanks emmanuel. I have been debugging with VC++ but the debugger never catches any exceptions or where it crashes. I will try some more things before coming back to post regarding the problem.

Share this post


Link to post
Share on other sites
I think I've found my problem: Race conditions. The extract is called a couple times in a non-synchronized fashion, and I assume this happens on the deinitialization too.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!