49 IStream_AddRef(&
This->IStream_iface);
50 *ret_iface = &
This->IStream_iface;
57 *ret_iface = &
This->IDirectMusicGetLoader_iface;
84 IStream_Release(
This->stream);
206 return IStream_QueryInterface(&
This->IStream_iface, iid,
out);
212 return IStream_AddRef(&
This->IStream_iface);
218 return IStream_Release(&
This->IStream_iface);
227 *ret_loader =
This->loader;
256 *ret_iface = &
obj->IStream_iface;
283 IStream_AddRef(&
This->IStream_iface);
284 *ret_iface = &
This->IStream_iface;
345 if (ret_offset) ret_offset->
QuadPart = position;
411 hr = IStream_Seek(*ret_iface, position, STREAM_SEEK_SET,
NULL);
469 This->llMemLength = 0;
476 if (!pbMemData || !llMemLength) {
477 WARN(
": invalid pbMemData or llMemLength\n");
481 This->pbMemData = pbMemData;
482 This->llMemLength = llMemLength;
496 *ppobj = &
This->StreamVtbl;
501 WARN(
": not found\n");
515 TRACE(
"(%p): ReleaseRef to %ld\n",
This, dwRef);
528 TRACE_(dmfileraw)(
"(%p, %p, %#lx, %p)\n",
This, pv,
cb, pcbRead);
530 WARN_(dmfileraw)(
": requested size out of range\n");
534 pByte = &
This->pbMemData[
This->llPos];
538 if (pcbRead) *pcbRead =
cb;
549 case STREAM_SEEK_CUR: {
551 WARN_(dmfileraw)(
": requested offset out of range\n");
556 case STREAM_SEEK_SET: {
558 WARN_(dmfileraw)(
": requested offset out of range\n");
565 case STREAM_SEEK_END: {
568 WARN_(dmfileraw)(
": requested offset out of range\n");
576 ERR_(dmfileraw)(
": invalid dwOrigin\n");
583 if (plibNewPosition) plibNewPosition->
QuadPart =
This->llPos;
593 TRACE(
"(%p, %p)\n", iface, ppstm);
599 TRACE(
": succeeded\n");
605 ERR(
": should not be needed\n");
610 ERR(
": should not be needed\n");
615 ERR(
": should not be needed\n");
620 ERR(
": should not be needed\n");
625 ERR(
": should not be needed\n");
630 ERR(
": should not be needed\n");
635 ERR(
": should not be needed\n");
640 ERR(
": should not be needed\n");
664 TRACE(
"(%p)\n", ppobj);
#define InterlockedIncrement
#define InterlockedDecrement
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
const char * resolve_STREAM_SEEK(DWORD flag)
#define INVALID_SET_FILE_POINTER
#define ReadFile(a, b, c, d, e)
#define INVALID_HANDLE_VALUE
static __inline const char * debugstr_an(const char *s, int n)
static __inline const char * wine_dbgstr_longlong(ULONGLONG ll)
#define WINE_DECLARE_DEBUG_CHANNEL(x)
#define FILE_ATTRIBUTE_NORMAL
#define DMUS_E_LOADER_FAILEDOPEN
#define ICOM_THIS_MULTI(impl, field, iface)
const char * debugstr_dmguid(const GUID *id)
#define IDirectMusicLoader_AddRef(p)
#define IDirectMusicLoader_Release(p)
#define IDirectMusicGetLoader_AddRef(p)
GLuint GLuint GLsizei GLenum type
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
static HRESULT WINAPI IDirectMusicLoaderResourceStream_IStream_SetSize(LPSTREAM iface, ULARGE_INTEGER libNewSize)
static struct loader_stream * impl_from_IDirectMusicGetLoader(IDirectMusicGetLoader *iface)
static HRESULT WINAPI loader_stream_Stat(IStream *iface, STATSTG *stat, DWORD flags)
static HRESULT WINAPI IDirectMusicLoaderResourceStream_IStream_Read(LPSTREAM iface, void *pv, ULONG cb, ULONG *pcbRead)
HRESULT DMUSIC_CreateDirectMusicLoaderResourceStream(void **ppobj)
static HRESULT WINAPI loader_stream_QueryInterface(IStream *iface, REFIID riid, void **ret_iface)
static HRESULT WINAPI loader_stream_getter_QueryInterface(IDirectMusicGetLoader *iface, REFIID iid, void **out)
static HRESULT WINAPI loader_stream_SetSize(IStream *iface, ULARGE_INTEGER size)
static HRESULT WINAPI loader_stream_Seek(IStream *iface, LARGE_INTEGER offset, DWORD method, ULARGE_INTEGER *ret_offset)
static ULONG WINAPI loader_stream_getter_Release(IDirectMusicGetLoader *iface)
static HRESULT WINAPI file_stream_UnlockRegion(IStream *iface, ULARGE_INTEGER offset, ULARGE_INTEGER size, DWORD type)
static HRESULT WINAPI IDirectMusicLoaderResourceStream_IStream_Write(LPSTREAM iface, const void *pv, ULONG cb, ULONG *pcbWritten)
static HRESULT WINAPI loader_stream_UnlockRegion(IStream *iface, ULARGE_INTEGER offset, ULARGE_INTEGER size, DWORD type)
static HRESULT WINAPI file_stream_Clone(IStream *iface, IStream **ret_iface)
static HRESULT WINAPI loader_stream_Commit(IStream *iface, DWORD flags)
static struct file_stream * file_stream_from_IStream(IStream *iface)
static HRESULT WINAPI IDirectMusicLoaderResourceStream_IStream_QueryInterface(LPSTREAM iface, REFIID riid, void **ppobj)
static const IDirectMusicGetLoaderVtbl loader_stream_getter_vtbl
static HRESULT WINAPI file_stream_Seek(IStream *iface, LARGE_INTEGER offset, DWORD method, ULARGE_INTEGER *ret_offset)
static HRESULT WINAPI IDirectMusicLoaderResourceStream_IStream_Revert(LPSTREAM iface)
static HRESULT WINAPI file_stream_LockRegion(IStream *iface, ULARGE_INTEGER offset, ULARGE_INTEGER size, DWORD type)
static ULONG WINAPI IDirectMusicLoaderResourceStream_IStream_Release(LPSTREAM iface)
static HRESULT WINAPI loader_stream_Clone(IStream *iface, IStream **ret_iface)
static HRESULT WINAPI IDirectMusicLoaderResourceStream_IStream_Seek(LPSTREAM iface, LARGE_INTEGER dlibMove, DWORD dwOrigin, ULARGE_INTEGER *plibNewPosition)
static HRESULT WINAPI file_stream_Commit(IStream *iface, DWORD flags)
static HRESULT WINAPI file_stream_QueryInterface(IStream *iface, REFIID riid, void **ret_iface)
HRESULT file_stream_create(const WCHAR *path, IStream **ret_iface)
static ULONG WINAPI loader_stream_AddRef(IStream *iface)
static HRESULT WINAPI loader_stream_Write(IStream *iface, const void *data, ULONG size, ULONG *ret_size)
HRESULT loader_stream_create(IDirectMusicLoader *loader, IStream *stream, IStream **ret_iface)
static HRESULT WINAPI loader_stream_Read(IStream *iface, void *data, ULONG size, ULONG *ret_size)
static struct loader_stream * impl_from_IStream(IStream *iface)
static const IStreamVtbl loader_stream_vtbl
static void IDirectMusicLoaderResourceStream_Detach(LPSTREAM iface)
static HRESULT WINAPI loader_stream_CopyTo(IStream *iface, IStream *dest, ULARGE_INTEGER size, ULARGE_INTEGER *read_size, ULARGE_INTEGER *write_size)
static const IStreamVtbl file_stream_vtbl
static ULONG WINAPI IDirectMusicLoaderResourceStream_IStream_AddRef(LPSTREAM iface)
static HRESULT WINAPI file_stream_Revert(IStream *iface)
HRESULT WINAPI IDirectMusicLoaderResourceStream_Attach(LPSTREAM iface, LPBYTE pbMemData, LONGLONG llMemLength, LONGLONG llPos)
static HRESULT WINAPI IDirectMusicLoaderResourceStream_IStream_Clone(LPSTREAM iface, IStream **ppstm)
static HRESULT WINAPI IDirectMusicLoaderResourceStream_IStream_Commit(LPSTREAM iface, DWORD grfCommitFlags)
static HRESULT WINAPI IDirectMusicLoaderResourceStream_IStream_UnlockRegion(LPSTREAM iface, ULARGE_INTEGER libOffset, ULARGE_INTEGER cb, DWORD dwLockType)
static HRESULT WINAPI IDirectMusicLoaderResourceStream_IStream_Stat(LPSTREAM iface, STATSTG *pstatstg, DWORD grfStatFlag)
static ULONG WINAPI loader_stream_getter_AddRef(IDirectMusicGetLoader *iface)
static HRESULT WINAPI file_stream_Write(IStream *iface, const void *data, ULONG size, ULONG *ret_size)
static HRESULT WINAPI file_stream_Read(IStream *iface, void *data, ULONG size, ULONG *ret_size)
static HRESULT WINAPI loader_stream_getter_GetLoader(IDirectMusicGetLoader *iface, IDirectMusicLoader **ret_loader)
static HRESULT WINAPI IDirectMusicLoaderResourceStream_IStream_LockRegion(LPSTREAM iface, ULARGE_INTEGER libOffset, ULARGE_INTEGER cb, DWORD dwLockType)
static HRESULT WINAPI file_stream_SetSize(IStream *iface, ULARGE_INTEGER size)
static ULONG WINAPI file_stream_Release(IStream *iface)
static ULONG WINAPI file_stream_AddRef(IStream *iface)
static ULONG WINAPI loader_stream_Release(IStream *iface)
static HRESULT WINAPI loader_stream_LockRegion(IStream *iface, ULARGE_INTEGER offset, ULARGE_INTEGER size, DWORD type)
static HRESULT WINAPI loader_stream_Revert(IStream *iface)
static HRESULT WINAPI file_stream_CopyTo(IStream *iface, IStream *dest, ULARGE_INTEGER size, ULARGE_INTEGER *read_size, ULARGE_INTEGER *write_size)
static HRESULT WINAPI file_stream_Stat(IStream *iface, STATSTG *stat, DWORD flags)
static const IStreamVtbl DirectMusicLoaderResourceStream_Stream_Vtbl
static HRESULT WINAPI IDirectMusicLoaderResourceStream_IStream_CopyTo(LPSTREAM iface, IStream *pstm, ULARGE_INTEGER cb, ULARGE_INTEGER *pcbRead, ULARGE_INTEGER *pcbWritten)
#define memcpy(s1, s2, n)
static const IStreamVtbl StreamVtbl
static void ULONG ULONG * ret_size
interface IStream * LPSTREAM
#define IsEqualGUID(rguid1, rguid2)
#define IsEqualIID(riid1, riid2)
IDirectMusicGetLoader IDirectMusicGetLoader_iface
IDirectMusicLoader * loader
#define CONTAINING_RECORD(address, type, field)
wchar_t tm const _CrtWcstime_Writes_and_advances_ptr_ count wchar_t ** out
DWORD WINAPI GetLastError(void)
static HRESULT HRESULT_FROM_WIN32(unsigned int x)