[PATCH 4/8] msado15: Implement _Recordset_get_RecordCount.

Hans Leidekker hans at codeweavers.com
Fri Dec 13 08:52:27 CST 2019


Signed-off-by: Hans Leidekker <hans at codeweavers.com>
---
 dlls/msado15/recordset.c     |  8 ++++++--
 dlls/msado15/tests/msado15.c | 10 ++++++++++
 2 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/dlls/msado15/recordset.c b/dlls/msado15/recordset.c
index e7c7cdc409..bb089cfded 100644
--- a/dlls/msado15/recordset.c
+++ b/dlls/msado15/recordset.c
@@ -873,8 +873,12 @@ static HRESULT WINAPI recordset_put_MaxRecords( _Recordset *iface, LONG max_reco
 
 static HRESULT WINAPI recordset_get_RecordCount( _Recordset *iface, LONG *count )
 {
-    FIXME( "%p, %p\n", iface, count );
-    return E_NOTIMPL;
+    struct recordset *recordset = impl_from_Recordset( iface );
+
+    TRACE( "%p, %p\n", recordset, count );
+
+    *count = recordset->count;
+    return S_OK;
 }
 
 static HRESULT WINAPI recordset_putref_Source( _Recordset *iface, IDispatch *source )
diff --git a/dlls/msado15/tests/msado15.c b/dlls/msado15/tests/msado15.c
index f003c2bb0f..992fb4e8ce 100644
--- a/dlls/msado15/tests/msado15.c
+++ b/dlls/msado15/tests/msado15.c
@@ -143,11 +143,21 @@ static void test_Recordset(void)
     ok( hr == S_OK, "got %08x\n", hr );
     ok( state == adStateOpen, "got %d\n", state );
 
+    count = -1;
+    hr = _Recordset_get_RecordCount( recordset, &count );
+    ok( hr == S_OK, "got %08x\n", hr );
+    ok( !count, "got %d\n", count );
+
     hr = _Recordset_AddNew( recordset, missing, missing );
     ok( hr == S_OK, "got %08x\n", hr );
     ok( !is_eof( recordset ), "eof\n" );
     ok( !is_bof( recordset ), "bof\n" );
 
+    count = -1;
+    hr = _Recordset_get_RecordCount( recordset, &count );
+    ok( hr == S_OK, "got %08x\n", hr );
+    ok( count == 1, "got %d\n", count );
+
     hr = _Recordset_Close( recordset );
     ok( hr == S_OK, "got %08x\n", hr );
 
-- 
2.20.1




More information about the wine-devel mailing list