📄 rmosd9xatlsrv.idl
字号:
/////////////////////////////////////////////////////////////////////////////
// RmOsd9xAtlSrv.idl : IDL source for RmOsd9x.dll
// MPEG-2 Video/Subpicture DirectShow Filter
// Created by Jacques MAHE
// Copyright Sigma Designs Inc, 1994-2001.
// Sigma Designs Proprietary and confidential
// Created on 10/10/01
import "oaidl.idl";
import "ocidl.idl";
cpp_quote("#ifdef TYPEDEF_HERE")
typedef ULONGLONG MPEG_SYSTEM_TIME;
typedef ULONG MPEG_ATTRIBUTE;
typedef ULONG MPEG_OVERLAY_MODE;
typedef void CALIBRATION_PARAMETERS;
typedef DWORD *PFN_CALLBACK;
typedef void *PMPEG_EVENT;
typedef void MPEG_DEVICE_INFO;
typedef void *POVERLAY_COLOUR_REGISTERS;
typedef void *PCALIBRATION_PARAMETERS;
typedef ULONG MPEG_HLI_CMD;
typedef ULONG MPEG_OVERLAY_RECT;
typedef ULONG RMDEV_CAPABILITIES;
cpp_quote("#ifdef DEFINE_KS")
typedef struct {
LONGLONG Time;
ULONG Numerator;
ULONG Denominator;
} KSTIME, *PKSTIME;
typedef struct {
KSTIME PresentationTime;
LONGLONG Duration;
ULONG FrameExtent;
ULONG DataUsed;
DWORD *Data;
ULONG OptionsFlags;
} KSSTREAM_HEADER, *PKSSTREAM_HEADER;
typedef struct {
struct {
GUID Set;
ULONG Id;
ULONG Flags;
};
LONGLONG Alignment;
} KSIDENTIFIER, *PKSIDENTIFIER;
typedef KSIDENTIFIER KSPROPERTY, *PKSPROPERTY, KSMETHOD, *PKSMETHOD, KSEVENT, *PKSEVENT;
cpp_quote("#endif")
cpp_quote("#else")
cpp_quote("typedef VOID (CALLBACK * PFN_CALLBACK)(PVOID context);")
cpp_quote("#endif")
cpp_quote("#ifdef DEFINE_OVERLAPPED")
typedef struct _OVERLAPPED {
DWORD Internal;
DWORD InternalHigh;
DWORD Offset;
DWORD OffsetHigh;
DWORD hEvent;
} OVERLAPPED, *LPOVERLAPPED;
cpp_quote("#endif")
// IRmBaseStreaming object
[
object,
uuid(4757FEB1-883D-41d4-990B-2E7E9018B73A),
dual,
helpstring("IRmBaseStreaming Interface"),
pointer_default(unique)
]
interface IRmBaseStreaming : IUnknown
{
HRESULT Property(
[in] PKSPROPERTY KSID,
[in] ULONG KSID_size,
[in] DWORD prop,
[in] ULONG prop_size,
[out] ULONG *bret);
HRESULT Play ();
HRESULT Pause ();
HRESULT Stop ();
HRESULT Write(
KSSTREAM_HEADER *pHeaders,
ULONG HeadersCount,
OVERLAPPED *ovr);
HRESULT Read(
KSSTREAM_HEADER *pHeaders,
ULONG HeadersCount,
OVERLAPPED *ovr);
HRESULT BeginFlush (void);
HRESULT EndFlush (void);
HRESULT SetAttributes(
[in] MPEG_ATTRIBUTE eAttribute,
[in] LONG lValue);
HRESULT GetAttributes(
[in] MPEG_ATTRIBUTE eAttribute,
[out] LONG *lValue);
}
[
object,
uuid(41189722-20DF-43a8-8719-F956DD8BB970),
dual,
helpstring("IRmOSD Interface"),
pointer_default(unique)
]
interface IRmOSD : IRmBaseStreaming
{
HRESULT Reset();
};
[
uuid(C13528A6-C028-466F-AFCA-3BE97DA50251),
version(1.0),
helpstring("RmOsd9xAtlSrv 1.0 Type Library")
]
library RMOSD9XATLSRVLib
{
importlib("stdole32.tlb");
importlib("stdole2.tlb");
[
uuid(2f921938-54ab-4fc3-8adf-719b8cc8f4bb),
helpstring("rm8400 Class")
]
coclass rm8400
{
[default] interface IRmOSD;
};
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -