Hans Leidekker : msado15: Implement _Recordset_get_RecordCount.

Alexandre Julliard julliard at winehq.org
Fri Dec 13 15:27:22 CST 2019


Module: wine
Branch: master
Commit: 6f1a4fa8e2315c3d60706967db7a3399a6817724
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=6f1a4fa8e2315c3d60706967db7a3399a6817724

Author: Hans Leidekker <hans at codeweavers.com>
Date:   Fri Dec 13 15:52:27 2019 +0100

msado15: Implement _Recordset_get_RecordCount.

Signed-off-by: Hans Leidekker <hans at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 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 bac1c34a46..04ca338dd8 100644
--- a/dlls/msado15/tests/msado15.c
+++ b/dlls/msado15/tests/msado15.c
@@ -144,11 +144,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 );
 




More information about the wine-cvs mailing list