}
static HRESULT knownfolder_set_id(
- IKnownFolder *iface,
+ struct knownfolder *knownfolder,
const KNOWNFOLDERID *kfid)
{
- struct knownfolder *knownfolder = impl_from_IKnownFolder( iface );
HKEY hKey;
HRESULT hr;
knownfolder_GetFolderDefinition
};
-static HRESULT knownfolder_create( void **ppv )
+static HRESULT knownfolder_create( struct knownfolder **knownfolder )
{
struct knownfolder *kf;
memset( &kf->id, 0, sizeof(kf->id) );
kf->registryPath = NULL;
- *ppv = &kf->IKnownFolder_iface.lpVtbl;
+ *knownfolder = kf;
- TRACE("returning iface %p\n", *ppv);
+ TRACE("returning iface %p\n", &kf->IKnownFolder_iface);
return S_OK;
}
IKnownFolder **ppkf)
{
struct foldermanager *fm = impl_from_IKnownFolderManager( iface );
+ struct knownfolder *kf;
HRESULT hr;
TRACE("%s, %p\n", debugstr_guid(rfid), ppkf);
WARN("unknown folder\n");
return E_INVALIDARG;
}
- hr = knownfolder_create( (void **)ppkf );
+ hr = knownfolder_create( &kf );
if (SUCCEEDED( hr ))
- hr = knownfolder_set_id( *ppkf, rfid );
+ {
+ hr = knownfolder_set_id( kf, rfid );
+ *ppkf = &kf->IKnownFolder_iface;
+ }
+ else
+ *ppkf = NULL;
return hr;
}