Windows2003-3790/enduser/netmeeting/av/h/videocap.idl
2020-09-30 16:53:55 +02:00

53 lines
1.6 KiB
Plaintext

// VIDEOCAP.IDL
// Multi media stream based video capture IDL
import "mmstream.idl";
#define MAX_PATH 260
#define MAX_CAPDEV_NAME MAX_PATH
#define MAX_CAPDEV_DESCRIPTION MAX_PATH
#define MAX_CAPDEV_VERSION 80
cpp_quote("#ifndef _DCAP_H")
cpp_quote("#ifndef _FINDCAPTUREDEVICE_struct")
cpp_quote("#define _FINDCAPTUREDEVICE_struct")
typedef struct _FINDCAPTUREDEVICE
{
DWORD dwSize;
int nDeviceIndex;
char szDeviceName[MAX_CAPDEV_NAME];
char szDeviceDescription[MAX_CAPDEV_DESCRIPTION];
char szDeviceVersion[MAX_CAPDEV_VERSION];
} FINDCAPTUREDEVICE;
cpp_quote("#endif //#ifndef _FINDCAPTUREDEVICE_struct")
cpp_quote("#endif //#ifndef _DCAP_H")
[
object,
local,
uuid(09D9467A-1366-11D1-BC3A-00AA00A13C86),
pointer_default(unique)
]
interface IVideoCapture : IMediaStream
{
[propget, helpstring("property FrameRate (frames/100 seconds)")] HRESULT FrameRate([out, retval] long *pVal);
[propput, helpstring("property FrameRate (frames/100 seconds)")] HRESULT FrameRate([in] long newVal);
};
[
object,
local,
uuid(244C959E-1370-11d1-BC3A-00AA00A13C86),
pointer_default(unique)
]
interface IVideoCaptureEnum : IUnknown
{
HRESULT GetNumCaptureDevices([out] int *pDevices);
HRESULT FindFirstCaptureDevice([in, out] FINDCAPTUREDEVICE* lpfcd, LPCSTR szDeviceDescription);
HRESULT FindFirstCaptureDeviceByIndex([in, out] FINDCAPTUREDEVICE* lpfcd, int nDeviceIndex);
HRESULT FindNextCaptureDevice([in, out] FINDCAPTUREDEVICE* lpfcd);
HRESULT OpenCaptureDevice([in] int nDeviceNumber, [out] IVideoCapture** ppCapture);
};