亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? axextend.idl

?? 墨香最新私服
?? IDL
?? 第 1 頁 / 共 5 頁
字號:
                ULONG cPins;
                [size_is(cPins)] const REGFILTERPINS *rgPins;
            };

        [case(2)]

            struct
            {
                ULONG cPins2;
                [size_is(cPins2)] const REGFILTERPINS2 *rgPins2;
            };

        [default]
            ;
    } ;

} REGFILTER2;



[
object,
uuid(b79bb0b0-33c1-11d1-abe1-00a0c905f375),
pointer_default(unique)
]
interface IFilterMapper2 : IUnknown {
    import "unknwn.idl";

    // create or rename ActiveMovie category
    HRESULT CreateCategory
        ( [in] REFCLSID clsidCategory,
          [in] DWORD dwCategoryMerit,
          [in] LPCWSTR Description
          );

    HRESULT UnregisterFilter
        ( [in] const CLSID *pclsidCategory,
          [in] const OLECHAR *szInstance,
          [in] REFCLSID Filter // GUID of filter
        );

    // Register a filter, pins, and media types under a category.
    HRESULT RegisterFilter
        ( [in] REFCLSID clsidFilter,     // GUID of the filter
          [in] LPCWSTR Name,             // Descriptive name for the filter

          // ppMoniker can be null. or *ppMoniker can contain the
          // moniker where this filter data will be written;
          // *ppMoniker will be set to null on return. or *ppMoniker
          // can be null in which case the moniker will be returned
          // with refcount.
          [in, out] IMoniker **ppMoniker,

          // can be null
          [in] const CLSID *pclsidCategory,

          // cannot be null
          [in] const OLECHAR *szInstance,

          // rest of filter and pin registration
          [in] const REGFILTER2 *prf2
        );

    // Set *ppEnum to be an enumerator for filters matching the
    // requirements.
    HRESULT EnumMatchingFilters
       ( [out] IEnumMoniker **ppEnum           // enumerator returned
       , [in]  DWORD dwFlags                   // 0
       , [in]  BOOL bExactMatch                // don't match wildcards
       , [in]  DWORD dwMerit                   // at least this merit needed
       , [in]  BOOL  bInputNeeded              // need at least one input pin
       , [in]  DWORD cInputTypes               // Number of input types to match
                                               // Any match is OK
       , [size_is(cInputTypes*2)]  const GUID *pInputTypes // input major+subtype pair array
       , [in]  const REGPINMEDIUM *pMedIn      // input medium
       , [in]  const CLSID *pPinCategoryIn     // input pin category
       , [in]  BOOL  bRender                   // must the input be rendered?
       , [in]  BOOL  bOutputNeeded             // need at least one output pin
       , [in]  DWORD cOutputTypes              // Number of output types to match
                                               // Any match is OK
       , [size_is(cOutputTypes*2)]  const GUID *pOutputTypes // output major+subtype pair array
       , [in]  const REGPINMEDIUM *pMedOut     // output medium
       , [in]  const CLSID *pPinCategoryOut    // output pin category
       );
}

[
object,
uuid(b79bb0b1-33c1-11d1-abe1-00a0c905f375),
pointer_default(unique)
]
interface IFilterMapper3 : IFilterMapper2 {
    // new interface to allow creating filters using the mapper's devenum instance
    // primarily needed for out-of-proc access to a graph
    HRESULT GetICreateDevEnum( [out] ICreateDevEnum **ppEnum );
}

//========================================================================
//========================================================================
// Defines IQualityControl interface
//
// Defines quality messages and allows a quality manager to install itself
// as the sink for quality messages.
//========================================================================
//========================================================================

typedef enum tagQualityMessageType {
    Famine,
    Flood
} QualityMessageType;

typedef struct tagQuality {
    QualityMessageType Type;
    long                Proportion;   // milli-units.  1000 = no change
                            // for Flood:
                            // What proportion of the media samples currently
                            // coming through are required in the future.
                            // 800 means please drop another 20%
                            // For Famine:
                            // How much to "keep in" e.g. 800 means send me
                            // 20% less e.g. by dropping 20% of the samples.
                            // 1100 would mean "I'm coping, send me more".
    REFERENCE_TIME       Late;
                            // How much you need to catch up by
    REFERENCE_TIME       TimeStamp;
                            // The stream time when this was generated (probably
                            // corresponds to the start time on some sample).
} Quality;

typedef IQualityControl *PQUALITYCONTROL;


[
object,
uuid(56a868a5-0ad4-11ce-b03a-0020af0ba770),
pointer_default(unique)
]
interface IQualityControl : IUnknown {

    // Notify the recipient that a quality change is requested.
    // pSelf is the IBaseFilter* of the sender.
    // this is sent from a filter
    // to (the quality manager or) an upstream peer.
    HRESULT Notify
        ( [in] IBaseFilter * pSelf,
          [in] Quality q
        );

    // Notify the recipient that future quality messages are to be sent
    // to iqc.  If piqc is NULL then quality messages are to default back to
    // the upstream peer.
    // This is sent from the quality manager to a filter.
    // The recipient should hold piqc as a WEAK reference,
    // i.e. do not AddRef it, do not Release it.
    HRESULT SetSink
        ( [in] IQualityControl * piqc
        );
}

//=====================================================================
//=====================================================================
// Definitions required for overlay transport
//=====================================================================
//=====================================================================


// Used to communicate the colour that the IOverlay client wants the window
// painted in so that it can draw directly to the correct clipping region
// A colour key can be described in two alternate ways, the first is by a
// range of one or more (system) palette indices. The second is by defining
// a colour cube with two RGB values, any of which would be acceptable.
//
// The CK values are consistent with GDI PALETTEINDEX and PALETTERGB macros


enum { CK_NOCOLORKEY = 0x0,     // No color key is required
       CK_INDEX       = 0x1,    // Index into the current system palette
       CK_RGB         = 0x2 };  // Color key is an RGB value (or range)

typedef struct tagCOLORKEY {

    DWORD    KeyType;           // Explains meaning of the structure
    DWORD    PaletteIndex;      // Palette index if available
    COLORREF LowColorValue;     // Low colour space RGB value
    COLORREF HighColorValue;    // Defines the high RGB value

} COLORKEY;

// When a filter sets up an advise link it can ask that only certain types
// of notifications be sent, for example just palette changes. While this
// doesn't mean that the other notification call backs won't ever be called
// the IOverlay implementation may use this as an efficiency optimisation

enum { ADVISE_NONE = 0x0,               // No notifications required
       ADVISE_CLIPPING = 0x1,           // Synchronous clip information
       ADVISE_PALETTE = 0x2,            // Palette change notifications
       ADVISE_COLORKEY = 0x4,           // Called when colour key changes
       ADVISE_POSITION = 0x8,           // Likewise when window moves etc
       ADVISE_DISPLAY_CHANGE = 0x10     // Called on WM_DISPLAYCHANGE
     };

const DWORD ADVISE_ALL = ADVISE_CLIPPING |
                         ADVISE_PALETTE |
                         ADVISE_COLORKEY |
                         ADVISE_POSITION;

const DWORD ADVISE_ALL2 = ADVISE_ALL |
                          ADVISE_DISPLAY_CHANGE;

// This isn't defined when you run IDL

cpp_quote("#ifndef _WINGDI_")

typedef struct _RGNDATAHEADER {
    DWORD dwSize;
    DWORD iType;
    DWORD nCount;
    DWORD nRgnSize;
    RECT  rcBound;
} RGNDATAHEADER;

typedef struct _RGNDATA {
    RGNDATAHEADER rdh;
    char Buffer[1];
} RGNDATA;

cpp_quote("#endif")


//=====================================================================
//=====================================================================
// Defines IOverlayNotify interface
//
// This interface gives asynchronous notifications of changes to the
// rendering window - such as changes to the exposed window area
//=====================================================================
//=====================================================================

[
object,
local,
uuid(56a868a0-0ad4-11ce-b03a-0020af0ba770),
pointer_default(unique)
]
interface IOverlayNotify : IUnknown {

    // IOverlayNotify methods

    // This notifies the filter of palette changes, the filter should copy
    // the array of RGBQUADs if it needs to use them after returning. This
    // is not called when the palette is actually changed in the display
    // but at a short time after (in sync with WM_PALETTECHANGED messages)

    HRESULT OnPaletteChange(
        [in] DWORD dwColors,                // Number of colours present
        [in] const PALETTEENTRY *pPalette); // Array of palette colours

    // This provides synchronous clip changes so that the client is called
    // before the window is moved to freeze the video, and then when the
    // window has stabilised it is called again to start playback again.
    // If the window rect is all zero then the window is invisible, the
    // filter must take a copy of the information if it wants to keep it

    HRESULT OnClipChange(
        [in] const RECT *pSourceRect,       // Region of video to use
        [in] const RECT *pDestinationRect,  // Where video goes
        [in] const RGNDATA *pRgnData);      // Defines clipping information

    HRESULT OnColorKeyChange([in] const COLORKEY *pColorKey);

    // The calls to OnClipChange happen in sync with the window. So it is
    // called with an empty clip list before the window moves to freeze
    // the video, and then when the window has stabilised it is called
    // again with the new clip list. The OnPositionChange callback is for
    // overlay cards that don't want the expense of synchronous clipping
    // updates and just want to know when the source or destination video
    // positions change. They will NOT be called in sync with the window
    // but at some point after the window has changed (basicly in time
    // with WM_SIZE etc messages received). This is therefore suitable
    // for overlay cards that don't inlay their data to the frame buffer
    // NOTE the destination is NOT clipped to the visible display area

    HRESULT OnPositionChange([in] const RECT *pSourceRect,
                             [in] const RECT *pDestinationRect);
}

typedef IOverlayNotify *POVERLAYNOTIFY;


//=====================================================================
//=====================================================================
// Defines IOverlayNotify2 interface
//
// This interface gives asynchronous notifications of changes to the
// rendering window - such as changes to the exposed window area
// This is optionally supported by the advise sink for the purposes
// of accepting OnDisplayChange notification.
//=====================================================================
//=====================================================================

cpp_quote("#if !defined(HMONITOR_DECLARED) && !defined(HMONITOR) && (WINVER < 0x0500)")
cpp_quote("#define HMONITOR_DECLARED")
cpp_quote("#if 0")
typedef HANDLE HMONITOR;
cpp_quote("#endif")
cpp_quote("DECLARE_HANDLE(HMONITOR);")
cpp_quote("#endif")

[
object,
local,
uuid(680EFA10-D535-11D1-87C8-00A0C9223196),
pointer_default(unique)
]
interface IOverlayNotify2 : IOverlayNotify {

    // IOverlayNotify2 methods

    HRESULT OnDisplayChange(    // ADVISE_DISPLAY_CHANGE
        HMONITOR hMonitor);
}

typedef IOverlayNotify2 *POVERLAYNOTIFY2;


//=====================================================================
//=====================================================================
// Defines IOverlay interface
//
// This interface provides information so that a filter can write direct to
// the frame buffer while placing the video in the correct window position
//=====================================================================
//=====================================================================

[
object,
local,
uuid(56a868a1-0ad4-11ce-b03a-0020af0ba770),
pointer_default(unique)
]
interface IOverlay : IUnknown {

    // IOverlay methods

    HRESULT GetPalette(
        [out] DWORD *pdwColors,              // Number of colours present

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜精品视频在线观看| 国产精品免费人成网站| 中文在线资源观看网站视频免费不卡| 88在线观看91蜜桃国自产| 国产无遮挡一区二区三区毛片日本| 一二三区精品视频| 国产成人精品三级| 日韩欧美美女一区二区三区| 亚洲激情在线播放| av在线播放不卡| 欧美激情在线看| 久久狠狠亚洲综合| 在线精品视频小说1| 国产精品理论在线观看| 国产一区二区h| 日韩欧美综合一区| 天天色天天操综合| 欧美午夜寂寞影院| 亚洲色大成网站www久久九九| 国产精品123区| 精品国产伦一区二区三区观看体验| 亚洲成av人片| 欧美日高清视频| 亚洲va天堂va国产va久| 欧美亚洲动漫精品| 亚洲一区二区三区四区在线观看 | 经典三级一区二区| 欧美电影影音先锋| 日韩激情在线观看| 日韩欧美国产一区二区三区| 日韩精品1区2区3区| 91精品国产入口在线| 日韩国产欧美一区二区三区| 欧美人体做爰大胆视频| 亚洲在线视频网站| 国产成人精品免费一区二区| 国产亚洲综合在线| 激情综合色综合久久| 欧美日韩国产高清一区二区 | 国产精品77777| 久久久久国产精品麻豆ai换脸| 黑人精品欧美一区二区蜜桃| 2023国产精品自拍| 粉嫩13p一区二区三区| 中文字幕欧美一| 欧美在线免费视屏| 免费看欧美美女黄的网站| 欧美电视剧免费全集观看| 九一九一国产精品| 国产精品久久久久久亚洲伦| 色激情天天射综合网| 天天综合色天天综合色h| 精品国产一区二区三区忘忧草| 国产麻豆视频一区二区| 国产精品国产三级国产a| 欧美三级韩国三级日本一级| 毛片av一区二区| 国产亚洲一区二区三区在线观看| 丁香啪啪综合成人亚洲小说| 亚洲黄色尤物视频| 欧美成va人片在线观看| 粉嫩av一区二区三区在线播放| 亚洲综合成人网| 精品国产乱码久久久久久影片| 不卡区在线中文字幕| 午夜精品一区二区三区免费视频| 2021久久国产精品不只是精品| av在线这里只有精品| 日本va欧美va精品| 国产精品久久久久久久久久免费看 | 国产东北露脸精品视频| 亚洲品质自拍视频网站| 日韩欧美一区中文| 成人精品视频.| 免费欧美日韩国产三级电影| 欧美国产在线观看| 91麻豆精品国产自产在线| 懂色一区二区三区免费观看 | 成人黄页在线观看| 日本不卡高清视频| 《视频一区视频二区| 欧美videos中文字幕| 色婷婷av一区二区三区软件| 国产专区欧美精品| 日韩国产高清影视| 亚洲国产欧美日韩另类综合| 国产丝袜欧美中文另类| 日韩欧美一区二区三区在线| 日本韩国欧美在线| 不卡区在线中文字幕| 国产久卡久卡久卡久卡视频精品| 五月天激情小说综合| 亚洲人成7777| 亚洲欧美韩国综合色| 中文在线资源观看网站视频免费不卡 | 国产欧美日韩在线视频| 91精品国产高清一区二区三区| 99re这里只有精品首页| 不卡区在线中文字幕| 成人午夜在线免费| 国产精品一线二线三线精华| 久草精品在线观看| 久久国产成人午夜av影院| 日本欧美一区二区| 日韩**一区毛片| 丝袜亚洲另类丝袜在线| 亚洲成av人片一区二区三区| 亚洲高清久久久| 亚洲国产精品视频| 丝袜亚洲另类欧美| 天天av天天翘天天综合网| 亚洲高清一区二区三区| 亚洲成人福利片| 亚洲高清免费一级二级三级| 亚洲成人在线免费| 亚洲一区二区视频| 日韩av一级片| 久久99在线观看| 国产一区二区按摩在线观看| 国产成人亚洲综合色影视| 高清国产一区二区三区| av色综合久久天堂av综合| 99riav久久精品riav| 欧美综合久久久| 欧美日本视频在线| 日韩欧美国产午夜精品| 久久久久久久电影| 中文字幕不卡在线播放| 亚洲精品五月天| 天天操天天干天天综合网| 捆绑调教美女网站视频一区| 国产福利一区在线| 成人app网站| 欧美老肥妇做.爰bbww| 日韩免费一区二区三区在线播放| 久久久久久日产精品| 国产精品久久久久久久久搜平片 | 亚洲欧美乱综合| 日韩成人免费电影| 粉嫩在线一区二区三区视频| 91蜜桃婷婷狠狠久久综合9色| 欧美少妇bbb| 精品国产乱码久久久久久牛牛 | 韩国av一区二区三区四区| 国产精品乡下勾搭老头1| 91麻豆成人久久精品二区三区| 欧美视频一区二区在线观看| 26uuuu精品一区二区| 亚洲品质自拍视频| 极品美女销魂一区二区三区 | 高清国产午夜精品久久久久久| 欧美伊人精品成人久久综合97 | 欧美一区二区国产| 国产精品久久久久久久久晋中| 亚洲电影你懂得| 国产成人综合在线播放| 欧美久久一二区| 国产精品久久久久久久久快鸭 | 国产欧美精品一区二区色综合朱莉| 亚洲免费观看视频| 国产一区啦啦啦在线观看| 91美女片黄在线| 精品国产乱码久久| 亚洲韩国精品一区| jlzzjlzz欧美大全| 欧美大白屁股肥臀xxxxxx| 亚洲精品乱码久久久久久久久 | 久久精品夜夜夜夜久久| 亚洲电影你懂得| 色婷婷久久综合| 中文字幕精品—区二区四季| 美女看a上一区| 欧美另类一区二区三区| 最新国产成人在线观看| 国产九色sp调教91| 欧美成人精品3d动漫h| 午夜久久久久久久久| 91网站视频在线观看| 国产女同互慰高潮91漫画| 美女精品一区二区| 欧美精选在线播放| 亚洲在线视频网站| 91无套直看片红桃| 成人免费视频在线观看| 国产精品一区二区你懂的| 日韩欧美一区二区不卡| 日韩高清不卡一区二区三区| 欧美日本在线看| 亚洲一区在线视频| 日本精品视频一区二区三区| 亚洲视频在线观看三级| 色先锋资源久久综合| 中文字幕一区二区三区在线播放| 国产精品亚洲第一| 久久久久久久综合| 成人美女视频在线看| 欧美国产1区2区| 99国产精品久| 亚洲一区二区在线免费看| 欧美无乱码久久久免费午夜一区|