|
namespace dshow.Core
{
using System;
using System.Runtime.InteropServices;
// IMediaEvent interface
//
// The IMediaEvent interface contains methods for retrieving event
// notifications and for overriding the filter graph's default
// handling of events.
//
[ComImport,
Guid("56A868B6-0AD4-11CE-B03A-0020AF0BA770"),
InterfaceType(ComInterfaceType.InterfaceIsDual)]
internal interface IMediaEvent
{
// Retrieves a handle to a manual-reset event that remains
// signaled while the queue contains event notifications
[PreserveSig]
int GetEventHandle(
out IntPtr hEvent);
// Retrieves the next event notification from the event queue
[PreserveSig]
int GetEvent(
out int lEventCode,
out int lParam1,
out int lParam2,
int msTimeout);
// Waits for the filter graph to render all available data
[PreserveSig]
int GetEvent(
int msTimeout,
out int pEvCode);
// Cancels the filter graph manager's default handling of
// a specified event
[PreserveSig]
int CancelDefaultHandling(
int lEvCode);
// Restores the filter graph manager's default handling of
// a specified event
[PreserveSig]
int RestoreDefaultHandling(
int lEvCode);
// Frees resources associated with the parameters of an event
[PreserveSig]
int FreeEventParams(
int lEventCode,
int lParam1,
int lParam2);
}
// IMediaEventEx interface
//
// IMediaEventEx adds methods that enable an application window
// to receive messages when events occur
//
[ComImport,
Guid("56A868C0-0AD4-11CE-B03A-0020AF0BA770"),
InterfaceType(ComInterfaceType.InterfaceIsDual)]
internal interface IMediaEventEx
{
// Retrieves a handle to a manual-reset event that remains
// signaled while the queue contains event notifications
[PreserveSig]
int GetEventHandle(
out IntPtr hEvent);
// Retrieves the next event notification from the event queue
[PreserveSig]
int GetEvent(
out int lEventCode,
out int lParam1,
out int lParam2,
int msTimeout);
// Waits for the filter graph to render all available data
[PreserveSig]
int WaitForCompletion(
int msTimeout,
out int pEvCode);
// Cancels the filter graph manager's default handling of
// a specified event
[PreserveSig]
int CancelDefaultHandling(
int lEvCode);
// Restores the filter graph manager's default handling of
// a specified event
[PreserveSig]
int RestoreDefaultHandling(
int lEvCode);
// Frees resources associated with the parameters of an event
[PreserveSig]
int FreeEventParams(
int lEventCode,
int lParam1,
int lParam2);
// Registers a window to process event notifications
[PreserveSig]
int SetNotifyWindow(
IntPtr hwnd,
int lMsg,
IntPtr lInstanceData);
// Enables or disables event notifications
// 0 - ON, 1 - OFF
[PreserveSig]
int SetNotifyWindow(
int lNoNotifyFlags);
// Determines whether event notifications are enabled
[PreserveSig]
int GetNotifyFlags(
out int lNoNotifyFlags);
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.