You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
71 lines
1.8 KiB
71 lines
1.8 KiB
#pragma once
|
|
|
|
//==========================================================================;
|
|
//
|
|
// CDecoderVideoPort - Video Port interface definitions
|
|
//
|
|
// $Date: 14 Oct 1998 15:11:14 $
|
|
// $Revision: 1.1 $
|
|
// $Author: Tashjian $
|
|
//
|
|
// $Copyright: (c) 1997 - 1998 ATI Technologies Inc. All Rights Reserved. $
|
|
//
|
|
//==========================================================================;
|
|
|
|
|
|
#include "i2script.h"
|
|
#include "aticonfg.h"
|
|
|
|
|
|
#define DD_OK 0
|
|
|
|
|
|
class CWDMVideoPortStream;
|
|
|
|
class CDecoderVideoPort
|
|
{
|
|
public:
|
|
CDecoderVideoPort(PDEVICE_OBJECT pDeviceObject);
|
|
|
|
// Attributes
|
|
private:
|
|
PDEVICE_OBJECT m_pDeviceObject;
|
|
|
|
CATIHwConfiguration * m_pCATIConfig;
|
|
|
|
ULONG m_ring3VideoPortHandle;
|
|
ULONG_PTR m_ring3DirectDrawHandle;
|
|
|
|
HANDLE m_ring0VideoPortHandle;
|
|
HANDLE m_ring0DirectDrawHandle;
|
|
|
|
BOOL GetRing0VideoPortHandle();
|
|
BOOL GetRing0DirectDrawHandle();
|
|
|
|
// Implementation
|
|
public:
|
|
void Open();
|
|
void Close();
|
|
|
|
BOOL RegisterForDirectDrawEvents( CWDMVideoPortStream* pStream);
|
|
BOOL UnregisterForDirectDrawEvents( CWDMVideoPortStream* pStream);
|
|
|
|
BOOL ReleaseRing0VideoPortHandle();
|
|
BOOL ReleaseRing0DirectDrawHandle();
|
|
|
|
BOOL ConfigVideoPortHandle(ULONG info);
|
|
BOOL ConfigDirectDrawHandle(ULONG_PTR info);
|
|
|
|
HANDLE GetVideoPortHandle() { return m_ring0VideoPortHandle; }
|
|
HANDLE GetDirectDrawHandle() { return m_ring0DirectDrawHandle; }
|
|
|
|
void CloseDirectDraw() {
|
|
m_ring0DirectDrawHandle = 0;
|
|
m_ring3DirectDrawHandle = 0;
|
|
}
|
|
|
|
void CloseVideoPort() {
|
|
m_ring0VideoPortHandle = 0;
|
|
m_ring3VideoPortHandle = -1;
|
|
}
|
|
};
|