⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rmosd9xatlsrv.idl

📁 神龙卡 SDK_84xx_DShow_145_02.zip 这个是 windows 上二个是linux
💻 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 + -