From: Alistair Leslie-Hughes Subject: [PATCH 1/3] msado15: Implement _Recordset get_State Message-Id: Date: Fri, 13 Dec 2019 03:30:43 +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 f0bb1591aa..8a5f7aad41 100644 --- a/dlls/msado15/recordset.c +++ b/dlls/msado15/recordset.c @@ -1057,8 +1057,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 ) @@ -1337,6 +1339,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 494f1be463..d3c1f30f6d 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