[PATCH v3 1/3] msado15: Implement _Recordset get_State
Alistair Leslie-Hughes
leslie_alistair at hotmail.com
Thu Dec 12 23:12:15 CST 2019
Please Ignore the last patchset, the _Open wasn't meant to be sent.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
---
dlls/msado15/recordset.c | 7 +++++--
dlls/msado15/tests/msado15.c | 7 ++++++-
2 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/dlls/msado15/recordset.c b/dlls/msado15/recordset.c
index e854b3e824..4b61b552f0 100644
--- a/dlls/msado15/recordset.c
+++ b/dlls/msado15/recordset.c
@@ -1050,8 +1050,10 @@ static HRESULT WINAPI recordset_get_Status( _Recordset *iface, LONG *status )
static HRESULT WINAPI recordset_get_State( _Recordset *iface, LONG *state )
{
- FIXME( "%p, %p\n", iface, state );
- return E_NOTIMPL;
+ struct recordset *recordset = impl_from_Recordset( iface );
+ TRACE( "%p, %p\n", recordset, state );
+ *state = recordset->state;
+ return S_OK;
}
static HRESULT WINAPI recordset__xClone( _Recordset *iface, _Recordset **obj )
@@ -1330,6 +1332,7 @@ HRESULT Recordset_create( void **obj )
recordset->Recordset_iface.lpVtbl = &recordset_vtbl;
recordset->refs = 1;
recordset->index = -1;
+ recordset->state = adStateClosed;
*obj = &recordset->Recordset_iface;
TRACE( "returning iface %p\n", *obj );
diff --git a/dlls/msado15/tests/msado15.c b/dlls/msado15/tests/msado15.c
index f9a5377c50..d6bb50f44e 100644
--- a/dlls/msado15/tests/msado15.c
+++ b/dlls/msado15/tests/msado15.c
@@ -47,12 +47,17 @@ static void test_Recordset(void)
{
_Recordset *recordset;
Fields *fields, *fields2;
- LONG refs, count;
+ LONG refs, count, state;
HRESULT hr;
hr = CoCreateInstance( &CLSID_Recordset, NULL, CLSCTX_INPROC_SERVER, &IID__Recordset, (void **)&recordset );
ok( hr == S_OK, "got %08x\n", hr );
+ state = -1;
+ hr = _Recordset_get_State( recordset, &state );
+ ok( hr == S_OK, "got %08x\n", hr );
+ ok( state == adStateClosed, "got %d\n", state );
+
/* handing out fields object increases recordset refcount */
refs = get_refs_recordset( recordset );
ok( refs == 1, "got %d\n", refs );
--
2.17.1
More information about the wine-devel
mailing list