context definition in minifilter

Hi everybody.
I am new to device driver. I am trying to create encrypted filter driver using minifilter. However, I am confusing context definition in mini-filter. I’ve search a lot but I can not find a clear definition. I know in minifilter, there are a lot of contexts such as: files, stream, streamhandler, volume,…etc but i dont know which situation use those contexts.

Can anybody define what context in minifilter is? Moreover, in swapbuffer source from DDK, why do they use volume context? if I encrypt file only, do I need to use streamhandle context or volume context?

if my question is not clear, please forgive me because english is not my mother language.

Thanks in advance

Sorry everybody. I found this useful description at this forum:
http://www.osronline.com/showThread.cfm?link=181155

In addition to this, I’d strongly suggest that you cut your teeth on
something slightly less ambitious that an encryption filter. They can suck
up a fair whack of time - by which I mean man years.

Rod