ole32: Move the low-level functionality of WriteProperty to a new function.
This commit is contained in:
parent
56622de951
commit
e71c696b51
|
@ -3071,6 +3071,32 @@ HRESULT StorageImpl_ReadRawDirEntry(StorageImpl *This, ULONG index, BYTE *buffer
|
||||||
return hr;
|
return hr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/******************************************************************************
|
||||||
|
* StorageImpl_WriteRawDirEntry
|
||||||
|
*
|
||||||
|
* This method will write the raw data from a directory entry in the file.
|
||||||
|
*
|
||||||
|
* buffer must be PROPSET_BLOCK_SIZE bytes long.
|
||||||
|
*/
|
||||||
|
HRESULT StorageImpl_WriteRawDirEntry(StorageImpl *This, ULONG index, const BYTE *buffer)
|
||||||
|
{
|
||||||
|
ULARGE_INTEGER offset;
|
||||||
|
HRESULT hr;
|
||||||
|
ULONG bytesRead;
|
||||||
|
|
||||||
|
offset.u.HighPart = 0;
|
||||||
|
offset.u.LowPart = index * PROPSET_BLOCK_SIZE;
|
||||||
|
|
||||||
|
hr = BlockChainStream_WriteAt(
|
||||||
|
This->rootBlockChain,
|
||||||
|
offset,
|
||||||
|
PROPSET_BLOCK_SIZE,
|
||||||
|
buffer,
|
||||||
|
&bytesRead);
|
||||||
|
|
||||||
|
return hr;
|
||||||
|
}
|
||||||
|
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Storage32Impl_ReadProperty
|
* Storage32Impl_ReadProperty
|
||||||
*
|
*
|
||||||
|
@ -3171,12 +3197,7 @@ BOOL StorageImpl_WriteProperty(
|
||||||
const StgProperty* buffer)
|
const StgProperty* buffer)
|
||||||
{
|
{
|
||||||
BYTE currentProperty[PROPSET_BLOCK_SIZE];
|
BYTE currentProperty[PROPSET_BLOCK_SIZE];
|
||||||
ULARGE_INTEGER offsetInPropSet;
|
|
||||||
HRESULT writeRes;
|
HRESULT writeRes;
|
||||||
ULONG bytesWritten;
|
|
||||||
|
|
||||||
offsetInPropSet.u.HighPart = 0;
|
|
||||||
offsetInPropSet.u.LowPart = index * PROPSET_BLOCK_SIZE;
|
|
||||||
|
|
||||||
memset(currentProperty, 0, PROPSET_BLOCK_SIZE);
|
memset(currentProperty, 0, PROPSET_BLOCK_SIZE);
|
||||||
|
|
||||||
|
@ -3242,11 +3263,7 @@ BOOL StorageImpl_WriteProperty(
|
||||||
OFFSET_PS_SIZE,
|
OFFSET_PS_SIZE,
|
||||||
buffer->size.u.LowPart);
|
buffer->size.u.LowPart);
|
||||||
|
|
||||||
writeRes = BlockChainStream_WriteAt(This->rootBlockChain,
|
writeRes = StorageImpl_WriteRawDirEntry(This, index, currentProperty);
|
||||||
offsetInPropSet,
|
|
||||||
PROPSET_BLOCK_SIZE,
|
|
||||||
currentProperty,
|
|
||||||
&bytesWritten);
|
|
||||||
return SUCCEEDED(writeRes) ? TRUE : FALSE;
|
return SUCCEEDED(writeRes) ? TRUE : FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -295,6 +295,11 @@ HRESULT StorageImpl_ReadRawDirEntry(
|
||||||
ULONG index,
|
ULONG index,
|
||||||
BYTE *buffer);
|
BYTE *buffer);
|
||||||
|
|
||||||
|
HRESULT StorageImpl_WriteRawDirEntry(
|
||||||
|
StorageImpl *This,
|
||||||
|
ULONG index,
|
||||||
|
const BYTE *buffer);
|
||||||
|
|
||||||
BOOL StorageImpl_ReadProperty(
|
BOOL StorageImpl_ReadProperty(
|
||||||
StorageImpl* This,
|
StorageImpl* This,
|
||||||
ULONG index,
|
ULONG index,
|
||||||
|
|
Loading…
Reference in New Issue