the difference among METHOD_BUFFERED, METHOD_IN_DIRECT and METHOD_OUT_DIRECT.
osronline has an article about this, check here.
codeproject has an example about this, check here.