Eraser API


New Member
I did a quick search but came up empty.

I'm interested in using the Eraser library in one of my apps without the need for EraserL. Is the Eraser API documented anywhere? If not is there any help you can provide me to get the required functions from the Eraser.dll?
Ok, so I've been digging through the Eraser source, and I'm getting somewhere. But I can't seem to get the convEraseMethod() function to work. I'm trying to do this in AutoIt3, and it keeps crashing when calling the function. I'm trying -

return type = ubyte
mIn = int = 0, 1, 2, etc.

Do I have a data type wrong somewhere? I pulled the Eraser.dll from the 5.87.1 beta portable version, so I don't think I'm missing any dependencies. I need to get this to work so I can set up the correct Context to actually start doing stuff. Is there another way to convert the ERASER_METHOD_*** to ***_METHOD_ID so I can use _eraserCreateContextEx?
I think this is right (in AutoIt3 terms) -

Global Const $BUILTIN_METHOD_ID = 0x80
Global Const $GUTMANN_METHOD_ID = BitOR(BitShift(1, 0), $BUILTIN_METHOD_ID)
Global Const $DOD_METHOD_ID = BitOR(BitShift(1, -1), $BUILTIN_METHOD_ID)
Global Const $DOD_E_METHOD_ID = BitOR(BitShift(1, -2), $BUILTIN_METHOD_ID)
Global Const $RANDOM_METHOD_ID = BitOR(BitShift(1, -3), $BUILTIN_METHOD_ID)
Global Const $SCHNEIER_METHOD_ID = BitOR(BitShift(1, -5), $BUILTIN_METHOD_ID)

Well I'm definitely gettings somewhere...I'll see if I have more questions later (for myself LOL).
So I'm really getting somewhere with this :)

I do have two questions though. First, can I add more file items to the context array while the erasing procedure is running? Or do I need to create and launch a separate context?

Second, is there a way to get what context an ERASER_NOTIFY message is coming from? It looks like the message only sends BEGIN, UPDATE, DONE in $wparam. But if I have multiple contexts running, I'd like to be able to distinguish between which is sending the message.