public bool Get(Seek seek, out object key, out object value) {
Data dkey = Data.New();
Data dvalue = Data.New();
try {
int ret = funcs.get(cursorp, ref dkey, ref dvalue, (uint)seek);
if (ret == DB_NOTFOUND || ret == DB_KEYEMPTY) {
key = null;
value = null;
return false;
}
CheckError(ret);
key = dkey.GetObject(parent.binfmt, parent.KeyType);
value = dvalue.GetObject(parent.binfmt, parent.ValueType);
return true;
} finally {
dkey.Free();
dvalue.Free();
}
}