[PATCH] msado15: Implement _Recordset get/put Bookmark

Alistair Leslie-Hughes leslie_alistair at hotmail.com
Thu Mar 25 04:24:49 CDT 2021


Signed-off-by: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
---
 dlls/msado15/recordset.c | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/dlls/msado15/recordset.c b/dlls/msado15/recordset.c
index a86936eb037..05107d7a50e 100644
--- a/dlls/msado15/recordset.c
+++ b/dlls/msado15/recordset.c
@@ -1029,14 +1029,22 @@ static HRESULT WINAPI recordset_get_BOF( _Recordset *iface, VARIANT_BOOL *bof )
 
 static HRESULT WINAPI recordset_get_Bookmark( _Recordset *iface, VARIANT *bookmark )
 {
-    FIXME( "%p, %p\n", iface, bookmark );
-    return E_NOTIMPL;
+    struct recordset *recordset = impl_from_Recordset( iface );
+    TRACE( "%p, %p\n", iface, bookmark );
+    V_VT(bookmark) = VT_I4;
+    V_I4(bookmark) = recordset->index;
+    return S_OK;
 }
 
 static HRESULT WINAPI recordset_put_Bookmark( _Recordset *iface, VARIANT bookmark )
 {
-    FIXME( "%p, %s\n", iface, debugstr_variant(&bookmark) );
-    return E_NOTIMPL;
+    struct recordset *recordset = impl_from_Recordset( iface );
+    TRACE( "%p, %s\n", iface, debugstr_variant(&bookmark) );
+    if (V_VT(&bookmark) != VT_I4)
+        ERR("Unexpected type %d\n", V_VT(&bookmark));
+
+    recordset->index = V_I4(&bookmark);
+    return S_OK;
 }
 
 static HRESULT WINAPI recordset_get_CacheSize( _Recordset *iface, LONG *size )
-- 
2.30.2




More information about the wine-devel mailing list