Sweden-Number/include/qedit.idl

82 lines
1.9 KiB
Plaintext

/*
* Copyright (C) 2008 Google (Lei Zhang)
*
* 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 "oaidl.idl";
import "ocidl.idl";
/* import "dxtrans.idl"; */
import "amstream.idl";
import "msxml.idl";
[
object,
uuid(0579154A-2B53-4994-B0D0-E773148EFF85),
local,
pointer_default(unique)
]
interface ISampleGrabberCB : IUnknown
{
HRESULT SampleCB(
double SampleTime,
IMediaSample * pSample
);
HRESULT BufferCB(
double SampleTime,
BYTE * pBuffer,
long BufferLen
);
}
[
object,
uuid(6B652FFF-11FE-4fce-92AD-0266B5D7C78F),
local,
pointer_default(unique)
]
interface ISampleGrabber: IUnknown
{
HRESULT SetOneShot(
BOOL OneShot
);
HRESULT SetMediaType(
const AM_MEDIA_TYPE * pType
);
HRESULT GetConnectedMediaType(
AM_MEDIA_TYPE * pType
);
HRESULT SetBufferSamples(
BOOL BufferThem
);
HRESULT GetCurrentBuffer(
[in,out] long * pBufferSize,
[out] long * pBuffer
);
HRESULT GetCurrentSample(
[out] IMediaSample ** ppSample
);
HRESULT SetCallback(
ISampleGrabberCB * pCallback,
long WhichMethodToCallback
);
};