mirror of
https://github.com/Xevion/easy7zip.git
synced 2025-12-15 00:11:40 -06:00
3.13
This commit is contained in:
64
7zip/IStream.h
Executable file
64
7zip/IStream.h
Executable file
@@ -0,0 +1,64 @@
|
||||
// IStream.h
|
||||
|
||||
// #pragma once
|
||||
|
||||
#ifndef __ISTREAMS_H
|
||||
#define __ISTREAMS_H
|
||||
|
||||
#include "IMyUnknown.h"
|
||||
|
||||
// {23170F69-40C1-278A-0000-000000010000}
|
||||
DEFINE_GUID(IID_ISequentialInStream,
|
||||
0x23170F69, 0x40C1, 0x278A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00);
|
||||
MIDL_INTERFACE("23170F69-40C1-278A-0000-000000010000")
|
||||
ISequentialInStream : public IUnknown
|
||||
{
|
||||
public:
|
||||
// out: if (processedSize == 0) then there are no more bytes
|
||||
STDMETHOD(Read)(void *data, UINT32 size, UINT32 *processedSize) = 0;
|
||||
STDMETHOD(ReadPart)(void *data, UINT32 size, UINT32 *processedSize) = 0;
|
||||
};
|
||||
|
||||
// {23170F69-40C1-278A-0000-000000020000}
|
||||
DEFINE_GUID(IID_ISequentialOutStream,
|
||||
0x23170F69, 0x40C1, 0x278A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00);
|
||||
MIDL_INTERFACE("23170F69-40C1-278A-0000-000000020000")
|
||||
ISequentialOutStream : public IUnknown
|
||||
{
|
||||
public:
|
||||
STDMETHOD(Write)(const void *data, UINT32 size, UINT32 *processedSize) = 0;
|
||||
STDMETHOD(WritePart)(const void *data, UINT32 size, UINT32 *processedSize) = 0;
|
||||
};
|
||||
|
||||
// {23170F69-40C1-278A-0000-000000030000}
|
||||
DEFINE_GUID(IID_IInStream,
|
||||
0x23170F69, 0x40C1, 0x278A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00);
|
||||
MIDL_INTERFACE("23170F69-40C1-278A-0000-000000030000")
|
||||
IInStream : public ISequentialInStream
|
||||
{
|
||||
public:
|
||||
STDMETHOD(Seek)(INT64 offset, UINT32 seekOrigin, UINT64 *newPosition) = 0;
|
||||
};
|
||||
|
||||
// {23170F69-40C1-278A-0000-000000040000}
|
||||
DEFINE_GUID(IID_IOutStream,
|
||||
0x23170F69, 0x40C1, 0x278A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00);
|
||||
MIDL_INTERFACE("23170F69-40C1-278A-0000-000000040000")
|
||||
IOutStream : public ISequentialOutStream
|
||||
{
|
||||
public:
|
||||
STDMETHOD(Seek)(INT64 offset, UINT32 seekOrigin, UINT64 *newPosition) = 0;
|
||||
STDMETHOD(SetSize)(INT64 aNewSize) = 0;
|
||||
};
|
||||
|
||||
// {23170F69-40C1-278A-0000-000000060000}
|
||||
DEFINE_GUID(IID_IStreamGetSize,
|
||||
0x23170F69, 0x40C1, 0x278A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00);
|
||||
MIDL_INTERFACE("23170F69-40C1-278A-0000-000000060000")
|
||||
IStreamGetSize : public IUnknown
|
||||
{
|
||||
public:
|
||||
STDMETHOD(GetSize)(UINT64 *size) = 0;
|
||||
};
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user