12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- /*
- * Copyright 2021 Jactry Zeng for CodeWeavers
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
- #ifdef __WIDL__
- #pragma winrt ns_prefix
- #endif
- import "inspectable.idl";
- import "eventtoken.idl";
- import "windows.foundation.idl";
- namespace Windows.Storage.Streams {
- interface IBuffer;
- interface IBufferFactory;
- interface IBufferStatics;
- interface IContentTypeProvider;
- interface IInputStream;
- interface IOutputStream;
- interface IRandomAccessStream;
- interface IRandomAccessStreamWithContentType;
- runtimeclass Buffer;
- [
- contract(Windows.Foundation.UniversalApiContract, 1.0),
- uuid(905a0fe0-bc53-11df-8c49-001e4fc686da)
- ]
- interface IBuffer : IInspectable
- {
- [propget] HRESULT Capacity([out, retval] UINT32 *value);
- [propget] HRESULT Length([out, retval] UINT32 *value);
- [propput] HRESULT Length([in] UINT32 value);
- }
- [
- contract(Windows.Foundation.UniversalApiContract, 1.0),
- exclusiveto(Windows.Storage.Streams.Buffer),
- uuid(71af914d-c10f-484b-bc50-14bc623b3a27)
- ]
- interface IBufferFactory : IInspectable
- {
- HRESULT Create([in, range(0x00000000, 0x7fffffff)] UINT32 capacity,
- [out, retval] Windows.Storage.Streams.Buffer **value);
- }
- [
- contract(Windows.Foundation.UniversalApiContract, 1.0),
- exclusiveto(Windows.Storage.Streams.Buffer),
- uuid(e901e65b-d716-475a-a90a-af7229b1e741)
- ]
- interface IBufferStatics : IInspectable
- {
- HRESULT CreateCopyFromMemoryBuffer([in] Windows.Foundation.IMemoryBuffer *input,
- [out, retval] Windows.Storage.Streams.Buffer **value);
- HRESULT CreateMemoryBufferOverIBuffer([in] Windows.Storage.Streams.IBuffer *input,
- [out, retval] Windows.Foundation.MemoryBuffer **value);
- }
- [
- uuid(cc254827-4b3d-438f-9232-10c76bc7e038),
- ]
- interface IRandomAccessStreamWithContentType : IInspectable
- requires
- Windows.Storage.Streams.IRandomAccessStream,
- Windows.Foundation.IClosable,
- Windows.Storage.Streams.IInputStream,
- Windows.Storage.Streams.IOutputStream,
- Windows.Storage.Streams.IContentTypeProvider
- {
- }
- [
- activatable(Windows.Storage.Streams.IBufferFactory, Windows.Foundation.UniversalApiContract, 1.0),
- contract(Windows.Foundation.UniversalApiContract, 1.0),
- marshaling_behavior(agile),
- static(Windows.Storage.Streams.IBufferStatics, Windows.Foundation.UniversalApiContract, 1.0),
- threading(both)
- ]
- runtimeclass Buffer
- {
- [default] interface Windows.Storage.Streams.IBuffer;
- }
- }
|