From: Alistair Leslie-Hughes Subject: [PATCH v2 1/3] msado15: Implement _Recordset get_State Message-Id: Date: Fri, 13 Dec 2019 04:49:33 +0000 Signed-off-by: Alistair Leslie-Hughes --- 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