From 2d08613e874d517e0b31b4972f2fd011e886f27a Mon Sep 17 00:00:00 2001 From: Dmitry Timoshkov Date: Tue, 3 Nov 2015 11:45:25 +0800 Subject: [PATCH] ole32: Add more traces to the storage methods. Signed-off-by: Dmitry Timoshkov Signed-off-by: Vincent Povirk Signed-off-by: Alexandre Julliard --- dlls/ole32/storage32.c | 105 +++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 94 insertions(+), 11 deletions(-) diff --git a/dlls/ole32/storage32.c b/dlls/ole32/storage32.c index f75e0975e91..bf1c1b30217 100644 --- a/dlls/ole32/storage32.c +++ b/dlls/ole32/storage32.c @@ -908,6 +908,8 @@ static HRESULT WINAPI IEnumSTATSTGImpl_QueryInterface( { IEnumSTATSTGImpl* const This = impl_from_IEnumSTATSTG(iface); + TRACE("%p,%s,%p\n", iface, debugstr_guid(riid), ppvObject); + if (ppvObject==0) return E_INVALIDARG; @@ -918,9 +920,11 @@ static HRESULT WINAPI IEnumSTATSTGImpl_QueryInterface( { *ppvObject = &This->IEnumSTATSTG_iface; IEnumSTATSTG_AddRef(&This->IEnumSTATSTG_iface); + TRACE("<-- %p\n", *ppvObject); return S_OK; } + TRACE("<-- E_NOINTERFACE\n"); return E_NOINTERFACE; } @@ -958,6 +962,8 @@ static HRESULT IEnumSTATSTGImpl_GetNextRef( HRESULT hr; WCHAR result_name[DIRENTRY_NAME_MAX_LEN]; + TRACE("%p,%p\n", This, ref); + hr = StorageBaseImpl_ReadDirEntry(This->parentStorage, This->parentStorage->storageDirEntry, &entry); searchNode = entry.dirRootEntry; @@ -990,6 +996,7 @@ static HRESULT IEnumSTATSTGImpl_GetNextRef( memcpy(This->name, result_name, sizeof(result_name)); } + TRACE("<-- %08x\n", hr); return hr; } @@ -1007,11 +1014,16 @@ static HRESULT WINAPI IEnumSTATSTGImpl_Next( DirRef currentSearchNode; HRESULT hr=S_OK; + TRACE("%p,%u,%p,%p\n", iface, celt, rgelt, pceltFetched); + if ( (rgelt==0) || ( (celt!=1) && (pceltFetched==0) ) ) return E_INVALIDARG; if (This->parentStorage->reverted) + { + TRACE("<-- STG_E_REVERTED\n"); return STG_E_REVERTED; + } /* * To avoid the special case, get another pointer to a ULONG value if @@ -1062,6 +1074,7 @@ static HRESULT WINAPI IEnumSTATSTGImpl_Next( if (SUCCEEDED(hr) && *pceltFetched != celt) hr = S_FALSE; + TRACE("<-- %08x (asked %u, got %u)\n", hr, celt, *pceltFetched); return hr; } @@ -1076,8 +1089,13 @@ static HRESULT WINAPI IEnumSTATSTGImpl_Skip( DirRef currentSearchNode; HRESULT hr=S_OK; + TRACE("%p,%u\n", iface, celt); + if (This->parentStorage->reverted) + { + TRACE("<-- STG_E_REVERTED\n"); return STG_E_REVERTED; + } while ( (objectFetched < celt) ) { @@ -1092,6 +1110,7 @@ static HRESULT WINAPI IEnumSTATSTGImpl_Skip( if (SUCCEEDED(hr) && objectFetched != celt) return S_FALSE; + TRACE("<-- %08x\n", hr); return hr; } @@ -1100,8 +1119,13 @@ static HRESULT WINAPI IEnumSTATSTGImpl_Reset( { IEnumSTATSTGImpl* const This = impl_from_IEnumSTATSTG(iface); + TRACE("%p\n", iface); + if (This->parentStorage->reverted) + { + TRACE("<-- STG_E_REVERTED\n"); return STG_E_REVERTED; + } This->name[0] = 0; @@ -1117,8 +1141,13 @@ static HRESULT WINAPI IEnumSTATSTGImpl_Clone( IEnumSTATSTGImpl* const This = impl_from_IEnumSTATSTG(iface); IEnumSTATSTGImpl* newClone; + TRACE("%p,%p\n", iface, ppenum); + if (This->parentStorage->reverted) + { + TRACE("<-- STG_E_REVERTED\n"); return STG_E_REVERTED; + } if (ppenum==0) return E_INVALIDARG; @@ -1208,6 +1237,8 @@ static HRESULT WINAPI StorageBaseImpl_QueryInterface( { StorageBaseImpl *This = impl_from_IStorage(iface); + TRACE("%p,%s,%p\n", iface, debugstr_guid(riid), ppvObject); + if (!ppvObject) return E_INVALIDARG; @@ -1228,10 +1259,13 @@ static HRESULT WINAPI StorageBaseImpl_QueryInterface( *ppvObject = &This->IDirectWriterLock_iface; } else + { + TRACE("<-- E_NOINTERFACE\n"); return E_NOINTERFACE; + } IStorage_AddRef(iface); - + TRACE("<-- %p\n", *ppvObject); return S_OK; } @@ -1414,6 +1448,7 @@ static HRESULT StorageBaseImpl_CopyChildEntryTo(StorageBaseImpl *This, hr = StorageBaseImpl_CopyChildEntryTo( This, data.rightChild, skip_storage, skip_stream, snbExclude, pstgDest ); + TRACE("<-- %08x\n", hr); return hr; } @@ -1421,6 +1456,8 @@ static BOOL StorageBaseImpl_IsStreamOpen(StorageBaseImpl * stg, DirRef streamEnt { StgStreamImpl *strm; + TRACE("%p,%d\n", stg, streamEntry); + LIST_FOR_EACH_ENTRY(strm, &stg->strmHead, StgStreamImpl, StrmListEntry) { if (strm->dirEntry == streamEntry) @@ -1436,6 +1473,8 @@ static BOOL StorageBaseImpl_IsStorageOpen(StorageBaseImpl * stg, DirRef storageE { StorageInternalImpl *childstg; + TRACE("%p,%d\n", stg, storageEntry); + LIST_FOR_EACH_ENTRY(childstg, &stg->storageHead, StorageInternalImpl, ParentListEntry) { if (childstg->base.storageDirEntry == storageEntry) @@ -2240,6 +2279,7 @@ static HRESULT StorageBaseImpl_CopyStorageEntryTo(StorageBaseImpl *This, hr = StorageBaseImpl_CopyChildEntryTo( This, data.dirRootEntry, skip_storage, skip_stream, snbExclude, pstgDest ); + TRACE("<-- %08x\n", hr); return hr; } @@ -2396,6 +2436,8 @@ static HRESULT deleteStorageContents( HRESULT destroyHr = S_OK; StorageInternalImpl *stg, *stg2; + TRACE("%p,%d\n", parentStorage, indexToDelete); + /* Invalidate any open storage objects. */ LIST_FOR_EACH_ENTRY_SAFE(stg, stg2, &parentStorage->storageHead, StorageInternalImpl, ParentListEntry) { @@ -2419,6 +2461,7 @@ static HRESULT deleteStorageContents( if (hr != S_OK) { + TRACE("<-- %08x\n", hr); return hr; } @@ -2429,6 +2472,7 @@ static HRESULT deleteStorageContents( if (FAILED(hr)) { IStorage_Release(childStorage); + TRACE("<-- %08x\n", hr); return hr; } @@ -2456,6 +2500,7 @@ static HRESULT deleteStorageContents( IStorage_Release(childStorage); IEnumSTATSTG_Release(elements); + TRACE("%08x\n", hr); return destroyHr; } @@ -2495,6 +2540,7 @@ static HRESULT deleteStreamContents( if (hr!=S_OK) { + TRACE("<-- %08x\n", hr); return(hr); } @@ -2505,6 +2551,7 @@ static HRESULT deleteStreamContents( if(hr != S_OK) { + TRACE("<-- %08x\n", hr); return hr; } @@ -2512,7 +2559,7 @@ static HRESULT deleteStreamContents( * Release the stream object. */ IStream_Release(pis); - + TRACE("<-- %08x\n", hr); return S_OK; } @@ -2558,6 +2605,7 @@ static HRESULT WINAPI StorageBaseImpl_DestroyElement( if ( entryToDeleteRef == DIRENTRY_NULL ) { + TRACE("<-- STG_E_FILENOTFOUND\n"); return STG_E_FILENOTFOUND; } @@ -2577,7 +2625,10 @@ static HRESULT WINAPI StorageBaseImpl_DestroyElement( } if (hr!=S_OK) + { + TRACE("<-- %08x\n", hr); return hr; + } /* * Remove the entry from its parent storage @@ -2596,6 +2647,7 @@ static HRESULT WINAPI StorageBaseImpl_DestroyElement( if (SUCCEEDED(hr)) hr = StorageBaseImpl_Flush(This); + TRACE("<-- %08x\n", hr); return hr; } @@ -6034,6 +6086,7 @@ end: StorageBaseImpl_UnlockTransaction(This->transactedParent, TRUE); } + TRACE("<-- %08x\n", hr); return hr; } @@ -6140,7 +6193,11 @@ static HRESULT TransactedSnapshotImpl_WriteDirEntry(StorageBaseImpl *base, TRACE("%x %s l=%x r=%x d=%x\n", index, debugstr_w(data->name), data->leftChild, data->rightChild, data->dirRootEntry); hr = TransactedSnapshotImpl_EnsureReadEntry(This, index); - if (FAILED(hr)) return hr; + if (FAILED(hr)) + { + TRACE("<-- %08x\n", hr); + return hr; + } memcpy(&This->entries[index].data, data, sizeof(DirEntry)); @@ -6162,7 +6219,7 @@ static HRESULT TransactedSnapshotImpl_WriteDirEntry(StorageBaseImpl *base, This->entries[index].transactedParentEntry = This->entries[index].newTransactedParentEntry = DIRENTRY_NULL; } } - + TRACE("<-- S_OK\n"); return S_OK; } @@ -6173,7 +6230,11 @@ static HRESULT TransactedSnapshotImpl_ReadDirEntry(StorageBaseImpl *base, HRESULT hr; hr = TransactedSnapshotImpl_EnsureReadEntry(This, index); - if (FAILED(hr)) return hr; + if (FAILED(hr)) + { + TRACE("<-- %08x\n", hr); + return hr; + } memcpy(data, &This->entries[index].data, sizeof(DirEntry)); @@ -6235,10 +6296,18 @@ static HRESULT TransactedSnapshotImpl_StreamWriteAt(StorageBaseImpl *base, HRESULT hr; hr = TransactedSnapshotImpl_EnsureReadEntry(This, index); - if (FAILED(hr)) return hr; + if (FAILED(hr)) + { + TRACE("<-- %08x\n", hr); + return hr; + } hr = TransactedSnapshotImpl_MakeStreamDirty(This, index); - if (FAILED(hr)) return hr; + if (FAILED(hr)) + { + TRACE("<-- %08x\n", hr); + return hr; + } hr = StorageBaseImpl_StreamWriteAt(This->scratch, This->entries[index].stream_entry, offset, size, buffer, bytesWritten); @@ -6248,6 +6317,7 @@ static HRESULT TransactedSnapshotImpl_StreamWriteAt(StorageBaseImpl *base, This->entries[index].data.size.QuadPart, offset.QuadPart + size); + TRACE("<-- %08x\n", hr); return hr; } @@ -6258,7 +6328,11 @@ static HRESULT TransactedSnapshotImpl_StreamSetSize(StorageBaseImpl *base, HRESULT hr; hr = TransactedSnapshotImpl_EnsureReadEntry(This, index); - if (FAILED(hr)) return hr; + if (FAILED(hr)) + { + TRACE("<-- %08x\n", hr); + return hr; + } if (This->entries[index].data.size.QuadPart == newsize.QuadPart) return S_OK; @@ -6299,6 +6373,7 @@ static HRESULT TransactedSnapshotImpl_StreamSetSize(StorageBaseImpl *base, if (SUCCEEDED(hr)) This->entries[index].data.size = newsize; + TRACE("<-- %08x\n", hr); return hr; } @@ -6310,10 +6385,18 @@ static HRESULT TransactedSnapshotImpl_StreamLink(StorageBaseImpl *base, TransactedDirEntry *dst_entry, *src_entry; hr = TransactedSnapshotImpl_EnsureReadEntry(This, src); - if (FAILED(hr)) return hr; + if (FAILED(hr)) + { + TRACE("<-- %08x\n", hr); + return hr; + } hr = TransactedSnapshotImpl_EnsureReadEntry(This, dst); - if (FAILED(hr)) return hr; + if (FAILED(hr)) + { + TRACE("<-- %08x\n", hr); + return hr; + } dst_entry = &This->entries[dst]; src_entry = &This->entries[src]; @@ -6668,7 +6751,7 @@ static HRESULT WINAPI TransactedSharedImpl_Commit( This->lastTransactionSig = transactionSig+1; } } - + TRACE("<-- %08x\n", hr); return hr; } -- 2.11.4.GIT