Stefan- Maybe I'm being more dense than normal today, but I'm having trouble understanding the AVC_NotSupported return value. Does this imply that *all* the functions must at least have dummy code that returns a value of AVC_NotSupported? What is the difference in, for example, BAV_StreamChecking() returning AVC_Error vs AVC_NotSupported?
My understanding is that I should return AVC_OK if my plugin supports stream checking. If my plugin does not support stream checking then I should return AVC_Error. When would I *ever* want to return a value of AVC_NotSupported? Secondly, the Msg argument to BAV_CheckMemory(), BAV_CureMemory(), BAV_CheckFile(), BAV_CureFile, BAV_CheckStream(), and BAV_CureStream() is specified as never being allowed to exceed 1024 bytes - why is this? Not that I would expect to exceed this value, but I'm worried that there's a buffer in TB itself that would overflow if I passed, say, 4096 bytes as a result. What happens if the message is malformed, ie, not null-terminated? Will this cause TB to crash? The documentation states that for these functions "Usually AV software returns a distinguished name of the virus of the message." What does usually mean in this case? What does TB do with the returned string? If I return a string of "Please reformat your C: drive immediately" will this be displayed verbatim to the user? Lastly (at least for now) what is the difference in the BAV_Curexxx functions between AVC_CantBeCured, AVC_VirusFound, and AVC_Error? If an object is infected with a virus but could not be cured, which of these codes should I return? What is the difference in the way TB processes the result codes? -- -Mark Wieder Using The Bat! v1.63 Beta/7 on Windows 2000 5.0 Build 2195 Service Pack 2 BTW - many thanks for the API documentation. I'm looking forward to similar documentation for the macro and anti-spam APIs, but this has already cleared up some details for me such as the return values and the BAV_ComNeeded() function. ________________________________________________ http://www.silverstones.com/thebat/TBUDLInfo.html