| /* | |
| * Copyright 2012 André Hentschel | |
| * | |
| * 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 | |
| */ | |
| import "objidl.idl"; | |
| [ | |
| object, | |
| uuid(e1cd3524-03d7-11d2-9eed-006097d2d7cf), | |
| pointer_default(unique), | |
| local | |
| ] | |
| interface INSSBuffer : IUnknown | |
| { | |
| HRESULT GetLength( | |
| [out] DWORD *pdwLength); | |
| HRESULT SetLength( | |
| [in] DWORD dwLength); | |
| HRESULT GetMaxLength( | |
| [out] DWORD *pdwLength); | |
| HRESULT GetBuffer( | |
| [out] BYTE **ppdwBuffer); | |
| HRESULT GetBufferAndLength( | |
| [out] BYTE **ppdwBuffer, | |
| [out] DWORD *pdwLength); | |
| } | |
| [ | |
| object, | |
| local, | |
| uuid(4f528693-1035-43fe-b428-757561ad3a68), | |
| ] | |
| interface INSSBuffer2 : INSSBuffer | |
| { | |
| HRESULT GetSampleProperties(DWORD size, BYTE *props); | |
| HRESULT SetSampleProperties(DWORD size, BYTE *props); | |
| } | |
| [ | |
| object, | |
| local, | |
| uuid(c87ceaaf-75be-4bc4-84eb-ac2798507672), | |
| ] | |
| interface INSSBuffer3 : INSSBuffer2 | |
| { | |
| HRESULT SetProperty(GUID id, void *value, DWORD size); | |
| HRESULT GetProperty(GUID id, void *value, DWORD *size); | |
| } |