ListDir with callback