27#define NONAMELESSUNION
155 *phglobal =
This->supportHandle;
161 hres = ILockBytes_Stat(iface,&stbuf,STATFLAG_NONAME);
163 ERR(
"Cannot ILockBytes_Stat, %x\n",
hres);
171 hres = ILockBytes_ReadAt(iface,
start,
GlobalLock(*phglobal), stbuf.cbSize.u.LowPart, &xread);
174 FIXME(
"%p->ReadAt failed with %x\n",iface,
hres);
177 if (stbuf.cbSize.u.LowPart != xread) {
178 FIXME(
"Read size is not requested size %d vs %d?\n",stbuf.cbSize.u.LowPart, xread);
213 ILockBytes_AddRef(iface);
240 if (
This->deleteOnRelease)
243 This->supportHandle = 0;
269 ULONG bytesReadBuffer = 0;
270 ULONG bytesToReadFromBuffer;
277 pcbRead = &bytesReadBuffer;
282 if (ulOffset.
u.LowPart >
This->byteArraySize.u.LowPart)
289 bytesToReadFromBuffer =
min(
This->byteArraySize.u.LowPart -
290 ulOffset.
u.LowPart,
cb);
298 (
char *) supportBuffer + ulOffset.
u.LowPart,
299 bytesToReadFromBuffer);
304 *pcbRead = bytesToReadFromBuffer;
357 newSize.
u.HighPart = 0;
358 newSize.
u.LowPart = ulOffset.
u.LowPart +
cb;
364 if (newSize.
u.LowPart >
This->byteArraySize.u.LowPart)
376 memcpy((
char *) supportBuffer + ulOffset.
u.LowPart, pv,
cb);
418 if (libNewSize.
u.HighPart != 0)
421 if (
This->byteArraySize.u.LowPart == libNewSize.
u.LowPart)
433 This->byteArraySize.u.LowPart = libNewSize.
u.LowPart;
485 memset(pstatstg, 0,
sizeof(STATSTG));
487 pstatstg->pwcsName =
NULL;
488 pstatstg->type = STGTY_LOCKBYTES;
489 pstatstg->cbSize =
This->byteArraySize;
#define InterlockedIncrement
#define InterlockedDecrement
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
static __inline const char * wine_dbgstr_longlong(ULONGLONG ll)
#define HeapFree(x, y, z)
GLenum GLsizei GLuint GLint * bytesWritten
LPVOID NTAPI GlobalLock(HGLOBAL hMem)
HGLOBAL NTAPI GlobalFree(HGLOBAL hMem)
HGLOBAL NTAPI GlobalReAlloc(HGLOBAL hMem, SIZE_T dwBytes, UINT uFlags)
BOOL NTAPI GlobalUnlock(HGLOBAL hMem)
HGLOBAL NTAPI GlobalAlloc(UINT uFlags, SIZE_T dwBytes)
SIZE_T NTAPI GlobalSize(HGLOBAL hMem)
static ULONG WINAPI HGLOBALLockBytesImpl_AddRef(ILockBytes *iface)
static HGLOBALLockBytesImpl * impl_from_ILockBytes(ILockBytes *iface)
static ULONG WINAPI HGLOBALLockBytesImpl_Release(ILockBytes *iface)
HRESULT WINAPI GetHGlobalFromILockBytes(ILockBytes *iface, HGLOBAL *phglobal)
static HRESULT WINAPI HGLOBALLockBytesImpl_WriteAt(ILockBytes *iface, ULARGE_INTEGER ulOffset, const void *pv, ULONG cb, ULONG *pcbWritten)
static HRESULT WINAPI HGLOBALLockBytesImpl_Stat(ILockBytes *iface, STATSTG *pstatstg, DWORD grfStatFlag)
static HRESULT WINAPI HGLOBALLockBytesImpl_ReadAt(ILockBytes *iface, ULARGE_INTEGER ulOffset, void *pv, ULONG cb, ULONG *pcbRead)
static HRESULT WINAPI HGLOBALLockBytesImpl_LockRegion(ILockBytes *iface, ULARGE_INTEGER libOffset, ULARGE_INTEGER cb, DWORD dwLockType)
static HRESULT WINAPI HGLOBALLockBytesImpl_UnlockRegion(ILockBytes *iface, ULARGE_INTEGER libOffset, ULARGE_INTEGER cb, DWORD dwLockType)
static HRESULT WINAPI HGLOBALLockBytesImpl_QueryInterface(ILockBytes *iface, REFIID riid, void **ppvObject)
static HRESULT WINAPI HGLOBALLockBytesImpl_Flush(ILockBytes *iface)
HRESULT WINAPI CreateILockBytesOnHGlobal(HGLOBAL global, BOOL delete_on_release, ILockBytes **ret)
static const ILockBytesVtbl HGLOBALLockBytesImpl_Vtbl
static HRESULT WINAPI HGLOBALLockBytesImpl_SetSize(ILockBytes *iface, ULARGE_INTEGER libNewSize)
#define memcpy(s1, s2, n)
static HMODULE MODULEINFO DWORD cb
#define IsEqualIID(riid1, riid2)
ILockBytes ILockBytes_iface
ULARGE_INTEGER byteArraySize
struct _ULARGE_INTEGER::@4186 u
#define CONTAINING_RECORD(address, type, field)
_In_ void _In_ PCCERT_CONTEXT _In_opt_ LPFILETIME _In_ DWORD _In_ DWORD _Outptr_opt_ void ** ppvObject
#define STG_E_INVALIDFUNCTION