Upgrade to DirectX 8.1.
If we're stuck on an older version of DirectX, we might as well use the latest revision ;)
This commit is contained in:
parent
a5252ec5e7
commit
e3a19a2a3d
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -23,6 +23,10 @@ Supports visualization of alpha channel as a greyscale image or via a user-
|
|||
selectable background color
|
||||
Supports easy visual comparison of image quality between formats
|
||||
|
||||
Note: DxTex does not currently support textures with surface formats that
|
||||
do not contain at least an R, G, and B texture (such as D3DFMT_G16R16 and
|
||||
D3DFMT_A8), although D3DX can load and save such textures in DDS format.
|
||||
|
||||
|
||||
User Interface
|
||||
--------------
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,9 +1,10 @@
|
|||
///////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2000 Microsoft Corporation. All Right Reserved.
|
||||
//------------------------------------------------------------------------------
|
||||
// File: DShow.h
|
||||
//
|
||||
// File: dshow.h
|
||||
// Content: DirectShow top-level include file
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// Desc: DirectShow top-level include file
|
||||
//
|
||||
// Copyright (c) 2000-2001, Microsoft Corporation. All rights reserved.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
#ifndef __DSHOW_INCLUDED__
|
||||
#define __DSHOW_INCLUDED__
|
||||
|
@ -11,8 +12,8 @@
|
|||
///////////////////////////////////////////////////////////////////////////
|
||||
// Set up constants & pragmas for the compiler
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
#ifdef _MSC_VER
|
||||
// disable some level-4 warnings, use #pragma warning(enable:###) to re-enable
|
||||
#ifdef _MSC_VER
|
||||
// disable some level-4 warnings, use #pragma warning(default:###) to re-enable
|
||||
#pragma warning(disable:4100) // warning C4100: unreferenced formal parameter
|
||||
#pragma warning(disable:4201) // warning C4201: nonstandard extension used : nameless struct/union
|
||||
#pragma warning(disable:4511) // warning C4511: copy constructor could not be generated
|
||||
|
@ -24,7 +25,7 @@
|
|||
#else
|
||||
#define AM_NOVTABLE
|
||||
#endif
|
||||
#endif // MSC_VER
|
||||
#endif // MSC_VER
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// Include standard Windows files
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
//
|
||||
// Desc:
|
||||
//
|
||||
// Copyright (c) 1998 - 2000, Microsoft Corporation. All rights reserved.
|
||||
// Copyright (c) 1998-2001, Microsoft Corporation. All rights reserved.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
@ -93,34 +93,34 @@ pointer_default(unique)
|
|||
]
|
||||
interface IAMMultiMediaStream : IMultiMediaStream
|
||||
{
|
||||
HRESULT Initialize(
|
||||
[in] STREAM_TYPE StreamType,
|
||||
[in] DWORD dwFlags,
|
||||
[in] IGraphBuilder *pFilterGraph);
|
||||
HRESULT Initialize(
|
||||
[in] STREAM_TYPE StreamType,
|
||||
[in] DWORD dwFlags,
|
||||
[in] IGraphBuilder *pFilterGraph);
|
||||
|
||||
HRESULT GetFilterGraph(
|
||||
[out] IGraphBuilder **ppGraphBuilder);
|
||||
HRESULT GetFilterGraph(
|
||||
[out] IGraphBuilder **ppGraphBuilder);
|
||||
|
||||
HRESULT GetFilter(
|
||||
[out] IMediaStreamFilter **ppFilter);
|
||||
HRESULT GetFilter(
|
||||
[out] IMediaStreamFilter **ppFilter);
|
||||
|
||||
HRESULT AddMediaStream(
|
||||
[in] IUnknown *pStreamObject,
|
||||
[in] const MSPID *PurposeId,
|
||||
[in] DWORD dwFlags,
|
||||
[out] IMediaStream **ppNewStream);
|
||||
HRESULT AddMediaStream(
|
||||
[in] IUnknown *pStreamObject,
|
||||
[in] const MSPID *PurposeId,
|
||||
[in] DWORD dwFlags,
|
||||
[out] IMediaStream **ppNewStream);
|
||||
|
||||
HRESULT OpenFile(
|
||||
[in] LPCWSTR pszFileName,
|
||||
[in] DWORD dwFlags);
|
||||
HRESULT OpenFile(
|
||||
[in] LPCWSTR pszFileName,
|
||||
[in] DWORD dwFlags);
|
||||
|
||||
HRESULT OpenMoniker(
|
||||
[in] IBindCtx *pCtx,
|
||||
[in] IMoniker *pMoniker,
|
||||
[in] DWORD dwFlags);
|
||||
HRESULT OpenMoniker(
|
||||
[in] IBindCtx *pCtx,
|
||||
[in] IMoniker *pMoniker,
|
||||
[in] DWORD dwFlags);
|
||||
|
||||
HRESULT Render(
|
||||
[in] DWORD dwFlags);
|
||||
HRESULT Render(
|
||||
[in] DWORD dwFlags);
|
||||
}
|
||||
|
||||
|
||||
|
@ -132,23 +132,23 @@ pointer_default(unique)
|
|||
]
|
||||
interface IAMMediaStream : IMediaStream
|
||||
{
|
||||
HRESULT Initialize(
|
||||
[in] IUnknown *pSourceObject,
|
||||
[in] DWORD dwFlags,
|
||||
[in] REFMSPID PurposeId,
|
||||
[in] const STREAM_TYPE StreamType);
|
||||
HRESULT Initialize(
|
||||
[in] IUnknown *pSourceObject,
|
||||
[in] DWORD dwFlags,
|
||||
[in] REFMSPID PurposeId,
|
||||
[in] const STREAM_TYPE StreamType);
|
||||
|
||||
HRESULT SetState(
|
||||
[in] FILTER_STATE State);
|
||||
HRESULT SetState(
|
||||
[in] FILTER_STATE State);
|
||||
|
||||
HRESULT JoinAMMultiMediaStream(
|
||||
[in] IAMMultiMediaStream *pAMMultiMediaStream);
|
||||
HRESULT JoinAMMultiMediaStream(
|
||||
[in] IAMMultiMediaStream *pAMMultiMediaStream);
|
||||
|
||||
HRESULT JoinFilter(
|
||||
[in] IMediaStreamFilter *pMediaStreamFilter);
|
||||
HRESULT JoinFilter(
|
||||
[in] IMediaStreamFilter *pMediaStreamFilter);
|
||||
|
||||
HRESULT JoinFilterGraph(
|
||||
[in] IFilterGraph *pFilterGraph);
|
||||
HRESULT JoinFilterGraph(
|
||||
[in] IFilterGraph *pFilterGraph);
|
||||
};
|
||||
|
||||
|
||||
|
@ -163,33 +163,33 @@ pointer_default(unique)
|
|||
]
|
||||
interface IMediaStreamFilter : IBaseFilter
|
||||
{
|
||||
HRESULT AddMediaStream(
|
||||
[in] IAMMediaStream *pAMMediaStream);
|
||||
HRESULT AddMediaStream(
|
||||
[in] IAMMediaStream *pAMMediaStream);
|
||||
|
||||
HRESULT GetMediaStream(
|
||||
[in] REFMSPID idPurpose,
|
||||
[out] IMediaStream **ppMediaStream);
|
||||
HRESULT GetMediaStream(
|
||||
[in] REFMSPID idPurpose,
|
||||
[out] IMediaStream **ppMediaStream);
|
||||
|
||||
HRESULT EnumMediaStreams(
|
||||
[in] long Index,
|
||||
[out] IMediaStream **ppMediaStream);
|
||||
HRESULT EnumMediaStreams(
|
||||
[in] long Index,
|
||||
[out] IMediaStream **ppMediaStream);
|
||||
|
||||
HRESULT SupportSeeking(
|
||||
[in] BOOL bRenderer);
|
||||
[in] BOOL bRenderer);
|
||||
|
||||
HRESULT ReferenceTimeToStreamTime(
|
||||
[in] [out] REFERENCE_TIME *pTime);
|
||||
HRESULT ReferenceTimeToStreamTime(
|
||||
[in] [out] REFERENCE_TIME *pTime);
|
||||
|
||||
HRESULT GetCurrentStreamTime(
|
||||
[out] REFERENCE_TIME *pCurrentStreamTime);
|
||||
HRESULT GetCurrentStreamTime(
|
||||
[out] REFERENCE_TIME *pCurrentStreamTime);
|
||||
|
||||
HRESULT WaitUntil(
|
||||
[in] REFERENCE_TIME WaitStreamTime);
|
||||
HRESULT WaitUntil(
|
||||
[in] REFERENCE_TIME WaitStreamTime);
|
||||
|
||||
HRESULT Flush(
|
||||
[in] BOOL bCancelEOS);
|
||||
HRESULT Flush(
|
||||
[in] BOOL bCancelEOS);
|
||||
|
||||
HRESULT EndOfStream();
|
||||
HRESULT EndOfStream();
|
||||
};
|
||||
|
||||
|
||||
|
@ -224,8 +224,6 @@ interface IDirectDrawMediaSample : IUnknown
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
[
|
||||
object,
|
||||
local,
|
||||
|
@ -244,11 +242,11 @@ interface IAMMediaTypeStream : IMediaStream
|
|||
[in] DWORD dwFlags);
|
||||
|
||||
HRESULT CreateSample(
|
||||
[in] long lSampleSize,
|
||||
[in] long lSampleSize,
|
||||
[in] BYTE * pbBuffer,
|
||||
[in] DWORD dwFlags,
|
||||
[in] DWORD dwFlags,
|
||||
[in] IUnknown *pUnkOuter,
|
||||
[out] IAMMediaTypeSample ** ppAMMediaTypeSample);
|
||||
[out] IAMMediaTypeSample ** ppAMMediaTypeSample);
|
||||
|
||||
HRESULT GetStreamAllocatorRequirements(
|
||||
[out] ALLOCATOR_PROPERTIES *pProps);
|
||||
|
@ -294,31 +292,31 @@ interface IAMMediaTypeSample : IStreamSample
|
|||
|
||||
|
||||
[
|
||||
uuid(4E6CDE29-C0C4-11d0-8FF1-00C04FD9189D),
|
||||
version(1.0),
|
||||
helpstring("DirectShowStream 1.0 Type Library")
|
||||
uuid(4E6CDE29-C0C4-11d0-8FF1-00C04FD9189D),
|
||||
version(1.0),
|
||||
helpstring("DirectShowStream 1.0 Type Library")
|
||||
]
|
||||
|
||||
library DirectShowStreamLib
|
||||
{
|
||||
importlib("stdole32.tlb");
|
||||
importlib("stdole2.tlb");
|
||||
importlib("stdole32.tlb");
|
||||
importlib("stdole2.tlb");
|
||||
|
||||
[
|
||||
uuid(49c47ce5-9ba4-11d0-8212-00c04fc32c45),
|
||||
helpstring("DirectShow Multi Media Stream")
|
||||
]
|
||||
coclass AMMultiMediaStream
|
||||
{
|
||||
[default] dispinterface IDirectShowStream;
|
||||
};
|
||||
[
|
||||
uuid(49c47ce5-9ba4-11d0-8212-00c04fc32c45),
|
||||
helpstring("DirectShow Multi Media Stream")
|
||||
]
|
||||
coclass AMMultiMediaStream
|
||||
{
|
||||
[default] dispinterface IDirectShowStream;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
|
||||
//
|
||||
// The MIDL compiler wants to produce a CLSID for everything defined in
|
||||
// our type library, but it also wants to generate huge, fat proxy code
|
||||
// our type library, but it also wants to generate huge proxy code,
|
||||
// so we use DEFINE_GUID for all other classes. It has another interesting
|
||||
// bug in that it defines CLSID_AMMultiMediaStream within a #ifdef __cplusplus
|
||||
// block, so we need to define it outside of that scope.
|
||||
|
|
|
@ -3,12 +3,12 @@
|
|||
//
|
||||
// Desc:
|
||||
//
|
||||
// Copyright (c) 1992 - 2000, Microsoft Corporation. All rights reserved.
|
||||
// Copyright (c) 1992-2001, Microsoft Corporation. All rights reserved.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
||||
import "unknwn.idl";
|
||||
import "objidl.idl"; // for IPersist (IFilter's root)
|
||||
import "objidl.idl"; // for IPersist (IFilter's root)
|
||||
|
||||
|
||||
/*
|
||||
|
@ -16,13 +16,13 @@ import "objidl.idl"; // for IPersist (IFilter's root)
|
|||
*/
|
||||
typedef struct _VIDEOSIGNALINFO
|
||||
{
|
||||
DWORD dwSize; // Size of the structure
|
||||
DWORD dwVREFHeight; // Specifies the number of lines of data in the vref
|
||||
BOOL bDoubleClock; // videoport should enable double clocking
|
||||
BOOL bVACT; // videoport should use an external VACT signal
|
||||
BOOL bInterlaced; // Indicates that the signal is interlaced
|
||||
BOOL bHalfline; // Device will write half lines into the frame buffer
|
||||
BOOL bInvertedPolarity; // Devoce inverts the polarity by default
|
||||
DWORD dwSize; // Size of the structure
|
||||
DWORD dwVREFHeight; // Specifies the number of lines of data in the vref
|
||||
BOOL bDoubleClock; // videoport should enable double clocking
|
||||
BOOL bVACT; // videoport should use an external VACT signal
|
||||
BOOL bInterlaced; // Indicates that the signal is interlaced
|
||||
BOOL bHalfline; // Device will write half lines into the frame buffer
|
||||
BOOL bInvertedPolarity; // Devoce inverts the polarity by default
|
||||
} AMVIDEOSIGNALINFO;
|
||||
|
||||
typedef struct AMVIDEOSIGNALINFO *LPAMVIDEOSIGNALINFO;
|
||||
|
@ -37,10 +37,10 @@ interface IVPE;
|
|||
*/
|
||||
typedef struct _DDVIDEOPORTCONNECT
|
||||
{
|
||||
DWORD dwSize; // size of the DDVIDEOPORTCONNECT structure
|
||||
GUID guidTypeID; // Description of video port connection
|
||||
DWORD dwPortWidth; // Width of the video port
|
||||
DWORD dwFlags; // Connection flags
|
||||
DWORD dwSize; // size of the DDVIDEOPORTCONNECT structure
|
||||
GUID guidTypeID; // Description of video port connection
|
||||
DWORD dwPortWidth; // Width of the video port
|
||||
DWORD dwFlags; // Connection flags
|
||||
} DDVIDEOPORTCONNECT;
|
||||
|
||||
typedef DDVIDEOPORTCONNECT *LPDDVIDEOPORTCONNECT;
|
||||
|
@ -52,37 +52,37 @@ typedef DDVIDEOPORTCONNECT *LPDDVIDEOPORTCONNECT;
|
|||
*/
|
||||
typedef struct _DDPIXELFORMAT
|
||||
{
|
||||
DWORD dwSize; // size of structure
|
||||
DWORD dwFlags; // pixel format flags
|
||||
DWORD dwFourCC; // (FOURCC code)
|
||||
DWORD dwSize; // size of structure
|
||||
DWORD dwFlags; // pixel format flags
|
||||
DWORD dwFourCC; // (FOURCC code)
|
||||
union
|
||||
{
|
||||
DWORD dwRGBBitCount; // how many bits per pixel (BD_1,2,4,8,16,24,32)
|
||||
DWORD dwYUVBitCount; // how many bits per pixel (BD_4,8,16,24,32)
|
||||
DWORD dwZBufferBitDepth; // how many bits for z buffers (BD_8,16,24,32)
|
||||
DWORD dwAlphaBitDepth; // how many bits for alpha channels (BD_1,2,4,8)
|
||||
DWORD dwRGBBitCount; // how many bits per pixel (BD_1,2,4,8,16,24,32)
|
||||
DWORD dwYUVBitCount; // how many bits per pixel (BD_4,8,16,24,32)
|
||||
DWORD dwZBufferBitDepth; // how many bits for z buffers (BD_8,16,24,32)
|
||||
DWORD dwAlphaBitDepth; // how many bits for alpha channels (BD_1,2,4,8)
|
||||
};
|
||||
union
|
||||
{
|
||||
DWORD dwRBitMask; // mask for red bit
|
||||
DWORD dwYBitMask; // mask for Y bits
|
||||
DWORD dwRBitMask; // mask for red bit
|
||||
DWORD dwYBitMask; // mask for Y bits
|
||||
};
|
||||
union
|
||||
{
|
||||
DWORD dwGBitMask; // mask for green bits
|
||||
DWORD dwUBitMask; // mask for U bits
|
||||
DWORD dwGBitMask; // mask for green bits
|
||||
DWORD dwUBitMask; // mask for U bits
|
||||
};
|
||||
union
|
||||
{
|
||||
DWORD dwBBitMask; // mask for blue bits
|
||||
DWORD dwVBitMask; // mask for V bits
|
||||
DWORD dwBBitMask; // mask for blue bits
|
||||
DWORD dwVBitMask; // mask for V bits
|
||||
};
|
||||
union
|
||||
{
|
||||
DWORD dwRGBAlphaBitMask; // mask for alpha channel
|
||||
DWORD dwYUVAlphaBitMask; // mask for alpha channel
|
||||
DWORD dwRGBZBitMask; // mask for Z channel
|
||||
DWORD dwYUVZBitMask; // mask for Z channel
|
||||
DWORD dwRGBAlphaBitMask; // mask for alpha channel
|
||||
DWORD dwYUVAlphaBitMask; // mask for alpha channel
|
||||
DWORD dwRGBZBitMask; // mask for Z channel
|
||||
DWORD dwYUVZBitMask; // mask for Z channel
|
||||
};
|
||||
} DDPIXELFORMAT;
|
||||
|
||||
|
@ -97,59 +97,59 @@ pointer_default(unique)
|
|||
|
||||
interface IVPEConfig : IUnknown {
|
||||
|
||||
// gets the various connection information structures (guid, portwidth)
|
||||
// in an array of structures. If the pointer to the array is NULL, first
|
||||
// parameter returns the total number of formats supported.
|
||||
HRESULT GetConnectInfo(
|
||||
[in,out] LPDWORD lpNumConnectInfo,
|
||||
[out] LPDDVIDEOPORTCONNECT lpddvpConnectInfo
|
||||
);
|
||||
// gets the various connection information structures (guid, portwidth)
|
||||
// in an array of structures. If the pointer to the array is NULL, first
|
||||
// parameter returns the total number of formats supported.
|
||||
HRESULT GetConnectInfo(
|
||||
[in,out] LPDWORD lpNumConnectInfo,
|
||||
[out] LPDDVIDEOPORTCONNECT lpddvpConnectInfo
|
||||
);
|
||||
|
||||
HRESULT SetConnectInfo(
|
||||
[in] DDVIDEOPORTCONNECT ddvpConnectInfo
|
||||
);
|
||||
HRESULT SetConnectInfo(
|
||||
[in] DDVIDEOPORTCONNECT ddvpConnectInfo
|
||||
);
|
||||
|
||||
// gets the various formats supported by the decoder in an array
|
||||
// of structures. If the pointer to the array is NULL, first parameter
|
||||
// returns the total number of formats supported.
|
||||
HRESULT GetVideoFormats(
|
||||
[in,out] LPDWORD lpNumFormats,
|
||||
[out] LPDDPIXELFORMAT lpddpfFormats
|
||||
);
|
||||
// gets the various formats supported by the decoder in an array
|
||||
// of structures. If the pointer to the array is NULL, first parameter
|
||||
// returns the total number of formats supported.
|
||||
HRESULT GetVideoFormats(
|
||||
[in,out] LPDWORD lpNumFormats,
|
||||
[out] LPDDPIXELFORMAT lpddpfFormats
|
||||
);
|
||||
|
||||
// retrives maximum pixels per second rate expected for a given
|
||||
// format and a given scaling factor. If decoder does not support
|
||||
// those scaling factors, then it gives the rate and the nearest
|
||||
// scaling factors.
|
||||
HRESULT GetMaxPixelRate(
|
||||
[in] DDPIXELFORMAT ddpfFormat,
|
||||
[in,out] LPDWORD lpdwZoomHeight,
|
||||
[in,out] LPDWORD lpdwZoomWidth,
|
||||
[out] LPDWORD lpdwMaxPixelsPerSecond
|
||||
);
|
||||
// retrives maximum pixels per second rate expected for a given
|
||||
// format and a given scaling factor. If decoder does not support
|
||||
// those scaling factors, then it gives the rate and the nearest
|
||||
// scaling factors.
|
||||
HRESULT GetMaxPixelRate(
|
||||
[in] DDPIXELFORMAT ddpfFormat,
|
||||
[in,out] LPDWORD lpdwZoomHeight,
|
||||
[in,out] LPDWORD lpdwZoomWidth,
|
||||
[out] LPDWORD lpdwMaxPixelsPerSecond
|
||||
);
|
||||
|
||||
// retrives various properties of the decoder for a given format
|
||||
HRESULT GetVideoSignalInfo(
|
||||
[in] DDPIXELFORMAT ddpfFormat,
|
||||
[out] LPAMVIDEOSIGNALINFO lpAMVideoSignalInfo
|
||||
);
|
||||
|
||||
// asks the decoder to ouput in this format. Return value should give
|
||||
// appropriate error code
|
||||
HRESULT SetVideoFormat(
|
||||
[in] DDPIXELFORMAT ddpfFormat
|
||||
);
|
||||
// retrives various properties of the decoder for a given format
|
||||
HRESULT GetVideoSignalInfo(
|
||||
[in] DDPIXELFORMAT ddpfFormat,
|
||||
[out] LPAMVIDEOSIGNALINFO lpAMVideoSignalInfo
|
||||
);
|
||||
|
||||
// asks the decoder to ouput in this format. Return value should give
|
||||
// appropriate error code
|
||||
HRESULT SetVideoFormat(
|
||||
[in] DDPIXELFORMAT ddpfFormat
|
||||
);
|
||||
|
||||
// asks the decoder to treat even fields like odd fields and visa versa
|
||||
HRESULT SetInvertPolarity(
|
||||
);
|
||||
// asks the decoder to treat even fields like odd fields and visa versa
|
||||
HRESULT SetInvertPolarity(
|
||||
);
|
||||
|
||||
// sets the scaling factors. If decoder does not support these,
|
||||
// then it sets the values to the nearest factors it can support
|
||||
HRESULT SetScalingFactors(
|
||||
[in,out] LPDWORD lpdwZoomHeight,
|
||||
[in,out] LPDWORD lpdwZoomWidth
|
||||
);
|
||||
// sets the scaling factors. If decoder does not support these,
|
||||
// then it sets the values to the nearest factors it can support
|
||||
HRESULT SetScalingFactors(
|
||||
[in,out] LPDWORD lpdwZoomHeight,
|
||||
[in,out] LPDWORD lpdwZoomWidth
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
|
@ -162,10 +162,9 @@ pointer_default(unique)
|
|||
]
|
||||
|
||||
interface IVPE : IUnknown {
|
||||
HRESULT SetOverlaySurface(
|
||||
// [in] LPDIRECTDRAWSURFACE lpOverlaySurface,
|
||||
HRESULT SetOverlaySurface(
|
||||
[in] LPUNKNOWN lpOverlaySurface,
|
||||
[in] INT iNumBackBuffers
|
||||
);
|
||||
[in] INT iNumBackBuffers
|
||||
);
|
||||
|
||||
}
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// File: AuStream.idl
|
||||
//
|
||||
// Desc:
|
||||
// Desc: Used by MIDL tool to generate austream.h
|
||||
//
|
||||
// Copyright (c) 1998 - 2000, Microsoft Corporation. All rights reserved.
|
||||
// Copyright (c) 1998-2001, Microsoft Corporation. All rights reserved.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
@ -11,8 +11,8 @@ import "unknwn.idl";
|
|||
import "mmstream.idl";
|
||||
|
||||
cpp_quote("//")
|
||||
cpp_quote("// The following declarations within the 'if 0' block are dummy typedefs used to make")
|
||||
cpp_quote("// the ddstream.idl file build. The actual definitions are contained in DDRAW.H")
|
||||
cpp_quote("// The following declarations within the 'if 0' block are dummy typedefs used to make")
|
||||
cpp_quote("// the ddstream.idl file build. The actual definitions are contained in DDRAW.H")
|
||||
cpp_quote("//")
|
||||
cpp_quote("#if 0")
|
||||
typedef struct tWAVEFORMATEX WAVEFORMATEX;
|
||||
|
@ -35,18 +35,18 @@ pointer_default(unique)
|
|||
interface IAudioMediaStream : IMediaStream
|
||||
{
|
||||
|
||||
HRESULT GetFormat(
|
||||
[out] WAVEFORMATEX *pWaveFormatCurrent
|
||||
);
|
||||
HRESULT GetFormat(
|
||||
[out] WAVEFORMATEX *pWaveFormatCurrent
|
||||
);
|
||||
|
||||
HRESULT SetFormat(
|
||||
[in] const WAVEFORMATEX *lpWaveFormat);
|
||||
HRESULT SetFormat(
|
||||
[in] const WAVEFORMATEX *lpWaveFormat);
|
||||
|
||||
HRESULT CreateSample(
|
||||
[in] IAudioData *pAudioData,
|
||||
[in] DWORD dwFlags,
|
||||
[out] IAudioStreamSample **ppSample
|
||||
);
|
||||
HRESULT CreateSample(
|
||||
[in] IAudioData *pAudioData,
|
||||
[in] DWORD dwFlags,
|
||||
[out] IAudioStreamSample **ppSample
|
||||
);
|
||||
}
|
||||
|
||||
[
|
||||
|
@ -57,9 +57,9 @@ pointer_default(unique)
|
|||
]
|
||||
interface IAudioStreamSample : IStreamSample
|
||||
{
|
||||
HRESULT GetAudioData(
|
||||
[out] IAudioData **ppAudio
|
||||
);
|
||||
HRESULT GetAudioData(
|
||||
[out] IAudioData **ppAudio
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
|
@ -71,20 +71,20 @@ pointer_default(unique)
|
|||
]
|
||||
interface IMemoryData : IUnknown
|
||||
{
|
||||
HRESULT SetBuffer(
|
||||
[in] DWORD cbSize,
|
||||
[in] BYTE *pbData,
|
||||
[in] DWORD dwFlags
|
||||
);
|
||||
HRESULT SetBuffer(
|
||||
[in] DWORD cbSize,
|
||||
[in] BYTE *pbData,
|
||||
[in] DWORD dwFlags
|
||||
);
|
||||
|
||||
HRESULT GetInfo(
|
||||
[out] DWORD *pdwLength,
|
||||
[out] BYTE **ppbData,
|
||||
[out] DWORD *pcbActualData
|
||||
);
|
||||
HRESULT SetActual(
|
||||
[in] DWORD cbDataValid
|
||||
);
|
||||
HRESULT GetInfo(
|
||||
[out] DWORD *pdwLength,
|
||||
[out] BYTE **ppbData,
|
||||
[out] DWORD *pcbActualData
|
||||
);
|
||||
HRESULT SetActual(
|
||||
[in] DWORD cbDataValid
|
||||
);
|
||||
}
|
||||
|
||||
[
|
||||
|
@ -95,12 +95,12 @@ pointer_default(unique)
|
|||
]
|
||||
interface IAudioData : IMemoryData
|
||||
{
|
||||
HRESULT GetFormat(
|
||||
[out] WAVEFORMATEX *pWaveFormatCurrent
|
||||
);
|
||||
HRESULT GetFormat(
|
||||
[out] WAVEFORMATEX *pWaveFormatCurrent
|
||||
);
|
||||
|
||||
HRESULT SetFormat(
|
||||
[in] const WAVEFORMATEX *lpWaveFormat
|
||||
);
|
||||
HRESULT SetFormat(
|
||||
[in] const WAVEFORMATEX *lpWaveFormat
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
@ -4,16 +4,16 @@
|
|||
// Desc: Core streaming interfaces. Other ActiveMovie-only interfaces
|
||||
// are in AXExtend.idl.
|
||||
//
|
||||
// Copyright (c) 1992 - 2000, Microsoft Corporation. All rights reserved.
|
||||
// Copyright (c) 1992-2001, Microsoft Corporation. All rights reserved.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
||||
// include unknwn.idl and objidl.idl first
|
||||
|
||||
|
||||
#define CHARS_IN_GUID 39 // 128 bits, plus { - } punctuation and terminal null
|
||||
// chars NOT BYTES in the standard representation
|
||||
// e.g. {D3588AB0-0781-11ce-B03A-0020AF0BA770} + null
|
||||
|
||||
cpp_quote("#define CHARS_IN_GUID 39")
|
||||
|
||||
|
||||
|
@ -23,17 +23,17 @@ cpp_quote("#define CHARS_IN_GUID 39")
|
|||
//=====================================================================
|
||||
//=====================================================================
|
||||
|
||||
// there is a high-level media type (audio, compressed video,
|
||||
// There is a high-level media type (audio, compressed video,
|
||||
// mpeg video, midi). Within each type, there is a subtype (cinepak, pcm)
|
||||
// and a length+untyped data block defining the format in a
|
||||
// type-specific manner. EG for video/cinepak, the data block would be
|
||||
// a bitmapinfo.
|
||||
// the contents of the format block is defined by the formattype GUID
|
||||
// for example FORMAT_VideoInfo, FORMAT_WaveFormatEx. In the future this
|
||||
// The contents of the format block are defined by the formattype GUID.
|
||||
// For example, FORMAT_VideoInfo, FORMAT_WaveFormatEx. In the future, this
|
||||
// may be a pointer to an object supporting property style interfaces
|
||||
// in which case the GUID may be something like FORMAT_IUnknown. When
|
||||
// you are passed a media type you should check the format type, if
|
||||
// it isn't a type you recognise then don't touch the format block
|
||||
// it isn't a type you recognize, then don't touch the format block
|
||||
|
||||
typedef struct _AMMediaType {
|
||||
GUID majortype;
|
||||
|
@ -70,7 +70,7 @@ cpp_quote("#define MAX_FILTER_NAME 128")
|
|||
//=====================================================================
|
||||
// time information
|
||||
//
|
||||
// This represents a time (either reference or stream) in 100ns units
|
||||
// This represents a time (either reference or stream) in 100ns units.
|
||||
// The class library contains a CRefTime helper class
|
||||
// that supports simple comparison and arithmetic operations
|
||||
//=====================================================================
|
||||
|
@ -98,17 +98,17 @@ typedef DWORD_PTR HEVENT;
|
|||
//=====================================================================
|
||||
//=====================================================================
|
||||
typedef struct _AllocatorProperties {
|
||||
long cBuffers; // count of buffers at this allocator
|
||||
long cbBuffer; // size of each buffer, excluding any prefix
|
||||
long cBuffers; // count of buffers at this allocator
|
||||
long cbBuffer; // size of each buffer, excluding any prefix
|
||||
|
||||
// alignment of the buffer - buffer start will be aligned on a multiple of
|
||||
// alignment of the buffer - buffer start will be aligned on a multiple of
|
||||
// this amount
|
||||
long cbAlign;
|
||||
long cbAlign;
|
||||
|
||||
// prefix amount. Each buffer is immediately preceeded by cbPrefix bytes.
|
||||
// note that GetPointer points to the beginning of the buffer proper.
|
||||
// note that GetPointer points to the beginning of the buffer proper.
|
||||
// the prefix is aligned, i.e. (GetPointer() - cbPrefix) is aligned on cbAlign.
|
||||
long cbPrefix;
|
||||
long cbPrefix;
|
||||
} ALLOCATOR_PROPERTIES;
|
||||
|
||||
|
||||
|
@ -197,9 +197,9 @@ interface IPin : IUnknown {
|
|||
|
||||
// get information about the pin itself
|
||||
typedef struct _PinInfo {
|
||||
IBaseFilter *pFilter; // the filter this pin is on
|
||||
PIN_DIRECTION dir; // am I an input or output pin?
|
||||
WCHAR achName[MAX_PIN_NAME]; // the name of this pin within this filter
|
||||
IBaseFilter *pFilter; // the filter this pin is on
|
||||
PIN_DIRECTION dir; // am I an input or output pin?
|
||||
WCHAR achName[MAX_PIN_NAME]; // the name of this pin within this filter
|
||||
} PIN_INFO;
|
||||
|
||||
HRESULT QueryPinInfo(
|
||||
|
@ -561,7 +561,7 @@ interface IMediaFilter : IPersist {
|
|||
typedef enum _FilterState {
|
||||
State_Stopped, // not in use
|
||||
State_Paused, // holding resources, ready to go
|
||||
State_Running // actively processing media stream
|
||||
State_Running // actively processing media stream
|
||||
} FILTER_STATE;
|
||||
|
||||
// find out what state the filter is in.
|
||||
|
@ -650,8 +650,8 @@ interface IBaseFilter : IMediaFilter {
|
|||
|
||||
// find out information about this filter
|
||||
typedef struct _FilterInfo {
|
||||
WCHAR achName[MAX_FILTER_NAME]; // maybe null if not part of graph
|
||||
IFilterGraph * pGraph; // null if not part of graph
|
||||
WCHAR achName[MAX_FILTER_NAME]; // maybe null if not part of graph
|
||||
IFilterGraph * pGraph; // null if not part of graph
|
||||
} FILTER_INFO;
|
||||
|
||||
HRESULT QueryFilterInfo(
|
||||
|
@ -699,23 +699,23 @@ interface IReferenceClock : IUnknown {
|
|||
|
||||
// get the time now
|
||||
HRESULT GetTime(
|
||||
[out] REFERENCE_TIME *pTime
|
||||
[out] REFERENCE_TIME *pTime
|
||||
);
|
||||
|
||||
// ask for an async notification that a time has elapsed
|
||||
HRESULT AdviseTime(
|
||||
[in] REFERENCE_TIME baseTime, // base reference time
|
||||
[in] REFERENCE_TIME streamTime, // stream offset time
|
||||
[in] HEVENT hEvent, // advise via this event
|
||||
[out] DWORD_PTR * pdwAdviseCookie // where your cookie goes
|
||||
[in] REFERENCE_TIME baseTime, // base reference time
|
||||
[in] REFERENCE_TIME streamTime, // stream offset time
|
||||
[in] HEVENT hEvent, // advise via this event
|
||||
[out] DWORD_PTR * pdwAdviseCookie // where your cookie goes
|
||||
);
|
||||
|
||||
// ask for an async periodic notification that a time has elapsed
|
||||
HRESULT AdvisePeriodic(
|
||||
[in] REFERENCE_TIME startTime, // starting at this time
|
||||
[in] REFERENCE_TIME periodTime, // time between notifications
|
||||
[in] REFERENCE_TIME startTime, // starting at this time
|
||||
[in] REFERENCE_TIME periodTime, // time between notifications
|
||||
[in] HSEMAPHORE hSemaphore, // advise via a semaphore
|
||||
[out] DWORD_PTR * pdwAdviseCookie // where your cookie goes
|
||||
[out] DWORD_PTR * pdwAdviseCookie // where your cookie goes
|
||||
);
|
||||
|
||||
// cancel a request for notification
|
||||
|
@ -772,16 +772,16 @@ interface IMediaSample : IUnknown {
|
|||
|
||||
// get the stream time at which this sample should start and finish.
|
||||
HRESULT GetTime(
|
||||
[out] REFERENCE_TIME * pTimeStart, // put time here
|
||||
[out] REFERENCE_TIME * pTimeEnd
|
||||
[out] REFERENCE_TIME * pTimeStart, // put time here
|
||||
[out] REFERENCE_TIME * pTimeEnd
|
||||
);
|
||||
|
||||
// Set the stream time at which this sample should start and finish.
|
||||
// pTimeStart==pTimeEnd==NULL will invalidate the time stamps in
|
||||
// this sample
|
||||
HRESULT SetTime(
|
||||
[in] REFERENCE_TIME * pTimeStart, // put time here
|
||||
[in] REFERENCE_TIME * pTimeEnd
|
||||
[in] REFERENCE_TIME * pTimeStart, // put time here
|
||||
[in] REFERENCE_TIME * pTimeEnd
|
||||
);
|
||||
|
||||
// sync-point property. If true, then the beginning of this
|
||||
|
@ -816,16 +816,16 @@ interface IMediaSample : IUnknown {
|
|||
|
||||
// get the media times for this sample
|
||||
HRESULT GetMediaTime(
|
||||
[out] LONGLONG * pTimeStart,
|
||||
[out] LONGLONG * pTimeEnd
|
||||
[out] LONGLONG * pTimeStart,
|
||||
[out] LONGLONG * pTimeEnd
|
||||
);
|
||||
|
||||
// Set the media times for this sample
|
||||
// pTimeStart==pTimeEnd==NULL will invalidate the media time stamps in
|
||||
// this sample
|
||||
HRESULT SetMediaTime(
|
||||
[in] LONGLONG * pTimeStart,
|
||||
[in] LONGLONG * pTimeEnd
|
||||
[in] LONGLONG * pTimeStart,
|
||||
[in] LONGLONG * pTimeEnd
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -956,14 +956,21 @@ typedef IMediaSample2 *PMEDIASAMPLE2;
|
|||
// (keyframe) so now would be a bad time to return a buffer with a dynamic
|
||||
// format change, because you will be unable to switch to the new format without
|
||||
// waiting for the next sync point, causing some frames to be dropped.
|
||||
#define AM_GBF_PREVFRAMESKIPPED 1
|
||||
#define AM_GBF_NOTASYNCPOINT 2
|
||||
#define AM_GBF_PREVFRAMESKIPPED 1
|
||||
#define AM_GBF_NOTASYNCPOINT 2
|
||||
cpp_quote("#define AM_GBF_PREVFRAMESKIPPED 1")
|
||||
cpp_quote("#define AM_GBF_NOTASYNCPOINT 2")
|
||||
|
||||
// This may not be supported by allocators
|
||||
cpp_quote("#define AM_GBF_NOWAIT 4")
|
||||
|
||||
// This flag is supported by the VMR's surface allocator
|
||||
// When set the DDraw surface used for the media sample
|
||||
// is returned is an un-locked state. Calls the GetPointer on
|
||||
// the returned media sample will fail and return a NULL pointer
|
||||
//
|
||||
cpp_quote("#define AM_GBF_NODDSURFACELOCK 8")
|
||||
|
||||
//=====================================================================
|
||||
//=====================================================================
|
||||
// Defines IMemAllocator interface
|
||||
|
@ -988,12 +995,12 @@ interface IMemAllocator : IUnknown {
|
|||
// Cannot be called unless the allocator is decommitted.
|
||||
// Calls to GetBuffer need not succeed until Commit is called.
|
||||
HRESULT SetProperties(
|
||||
[in] ALLOCATOR_PROPERTIES* pRequest,
|
||||
[out] ALLOCATOR_PROPERTIES* pActual);
|
||||
[in] ALLOCATOR_PROPERTIES* pRequest,
|
||||
[out] ALLOCATOR_PROPERTIES* pActual);
|
||||
|
||||
// return the properties actually being used on this allocator
|
||||
HRESULT GetProperties(
|
||||
[out] ALLOCATOR_PROPERTIES* pProps);
|
||||
[out] ALLOCATOR_PROPERTIES* pProps);
|
||||
|
||||
|
||||
// commit the memory for the agreed buffers
|
||||
|
@ -1035,7 +1042,7 @@ typedef IMemAllocator *PMEMALLOCATOR;
|
|||
//
|
||||
// If the allocator supports IMemAllocator2 then callbacks are
|
||||
// available
|
||||
//
|
||||
//
|
||||
//=====================================================================
|
||||
//=====================================================================
|
||||
[
|
||||
|
@ -1121,6 +1128,7 @@ interface IMemInputPin : IUnknown {
|
|||
// it may use the caller's thread to wait until it can.
|
||||
HRESULT Receive(
|
||||
[in] IMediaSample * pSample);
|
||||
|
||||
// Same as Receive but with multiple samples. Useful for
|
||||
// fragmented streams
|
||||
HRESULT ReceiveMultiple(
|
||||
|
@ -1152,8 +1160,7 @@ pointer_default(unique)
|
|||
]
|
||||
interface IAMovieSetup : IUnknown {
|
||||
|
||||
// methods to register and unregister
|
||||
// filter, etc.
|
||||
// methods to register and unregister filter, etc.
|
||||
|
||||
HRESULT Register( );
|
||||
HRESULT Unregister( );
|
||||
|
@ -1172,18 +1179,18 @@ typedef IAMovieSetup *PAMOVIESETUP;
|
|||
|
||||
typedef enum AM_SEEKING_SeekingFlags
|
||||
{
|
||||
AM_SEEKING_NoPositioning = 0x00, // No change
|
||||
AM_SEEKING_AbsolutePositioning = 0x01, // Position is supplied and is absolute
|
||||
AM_SEEKING_RelativePositioning = 0x02, // Position is supplied and is relative
|
||||
AM_SEEKING_IncrementalPositioning = 0x03, // (Stop) position relative to current
|
||||
// Useful for seeking when paused (use +1)
|
||||
AM_SEEKING_PositioningBitsMask = 0x03, // Useful mask
|
||||
AM_SEEKING_SeekToKeyFrame = 0x04, // Just seek to key frame (performance gain)
|
||||
AM_SEEKING_ReturnTime = 0x08, // Plug the media time equivalents back into the supplied LONGLONGs
|
||||
AM_SEEKING_NoPositioning = 0x00, // No change
|
||||
AM_SEEKING_AbsolutePositioning = 0x01, // Position is supplied and is absolute
|
||||
AM_SEEKING_RelativePositioning = 0x02, // Position is supplied and is relative
|
||||
AM_SEEKING_IncrementalPositioning = 0x03, // (Stop) position relative to current
|
||||
// Useful for seeking when paused (use +1)
|
||||
AM_SEEKING_PositioningBitsMask = 0x03, // Useful mask
|
||||
AM_SEEKING_SeekToKeyFrame = 0x04, // Just seek to key frame (performance gain)
|
||||
AM_SEEKING_ReturnTime = 0x08, // Plug the media time equivalents back into the supplied LONGLONGs
|
||||
|
||||
AM_SEEKING_Segment = 0x10, // At end just do EC_ENDOFSEGMENT,
|
||||
// don't do EndOfStream
|
||||
AM_SEEKING_NoFlush = 0x20 // Don't flush
|
||||
AM_SEEKING_Segment = 0x10, // At end just do EC_ENDOFSEGMENT,
|
||||
// don't do EndOfStream
|
||||
AM_SEEKING_NoFlush = 0x20 // Don't flush
|
||||
} AM_SEEKING_SEEKING_FLAGS;
|
||||
|
||||
typedef enum AM_SEEKING_SeekingCapabilities
|
||||
|
@ -1244,7 +1251,7 @@ interface IMediaSeeking : IUnknown {
|
|||
// Set current and end positions in one operation
|
||||
// Either pointer may be null, implying no change
|
||||
HRESULT SetPositions( [in,out] LONGLONG * pCurrent, [in] DWORD dwCurrentFlags
|
||||
, [in,out] LONGLONG * pStop, [in] DWORD dwStopFlags );
|
||||
, [in,out] LONGLONG * pStop, [in] DWORD dwStopFlags );
|
||||
|
||||
// Get CurrentPosition & StopTime
|
||||
// Either pointer may be null, implying not interested
|
||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -1,13 +1,10 @@
|
|||
//==========================================================================;
|
||||
//------------------------------------------------------------------------------
|
||||
// File: Control.odl
|
||||
//
|
||||
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
|
||||
// KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
|
||||
// IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
|
||||
// PURPOSE.
|
||||
// Desc:
|
||||
//
|
||||
// Copyright (c) 1992 - 1999 Microsoft Corporation. All Rights Reserved.
|
||||
//
|
||||
//--------------------------------------------------------------------------;
|
||||
// Copyright (c) 1999-2001, Microsoft Corporation. All rights reserved.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
// Neutral/English language type library for basic Quartz control interfaces
|
||||
|
||||
|
@ -186,13 +183,13 @@ library QuartzTypeLib
|
|||
// cancelled by CancelDefaultHandling().
|
||||
HRESULT RestoreDefaultHandling( [in] long lEvCode);
|
||||
|
||||
// Free any resources associated with the parameters to an event.
|
||||
// Free any resources associated with the parameters to an event.
|
||||
// Event parameters may be LONGs, IUnknown* or BSTR. No action
|
||||
// is taken with LONGs. IUnknown are passed addrefed and need a
|
||||
// Release call. BSTR are allocated by the task allocator and will be
|
||||
// freed by calling the task allocator.
|
||||
HRESULT FreeEventParams(
|
||||
[in] long lEvCode,
|
||||
[in] long lEvCode,
|
||||
[in] LONG_PTR lParam1,
|
||||
[in] LONG_PTR lParam2
|
||||
);
|
||||
|
@ -212,7 +209,7 @@ library QuartzTypeLib
|
|||
// hwnd - handle of window to notify -
|
||||
// pass NULL to stop notification
|
||||
// lMsg - Message id to pass messages with
|
||||
// lInstanceData - will come back in lParam
|
||||
// lInstanceData - will come back in lParam
|
||||
//
|
||||
// The event information must still be retrived by a call
|
||||
// to GetEvent when the window message is received.
|
||||
|
@ -222,7 +219,7 @@ library QuartzTypeLib
|
|||
HRESULT SetNotifyWindow(
|
||||
[in] OAHWND hwnd,
|
||||
[in] long lMsg,
|
||||
[in] LONG_PTR lInstanceData
|
||||
[in] LONG_PTR lInstanceData
|
||||
);
|
||||
|
||||
// Turn events notification on or off
|
||||
|
@ -464,8 +461,8 @@ library QuartzTypeLib
|
|||
[out] long *pWidth,
|
||||
[out] long *pHeight);
|
||||
|
||||
// show and hide cursors useful when fullscreen
|
||||
HRESULT HideCursor([in] long HideCursor);
|
||||
// show and hide cursors useful when fullscreen
|
||||
HRESULT HideCursor([in] long HideCursor);
|
||||
HRESULT IsCursorHidden([out] long *CursorHidden);
|
||||
}
|
||||
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// File: DDStream.idl
|
||||
//
|
||||
// Desc:
|
||||
// Desc: Used by MIDL tool to generate ddstream.h
|
||||
//
|
||||
// Copyright (c) 1998 - 2000, Microsoft Corporation. All rights reserved.
|
||||
// Copyright (c) 1998-2001, Microsoft Corporation. All rights reserved.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
@ -11,8 +11,8 @@ import "unknwn.idl";
|
|||
import "mmstream.idl";
|
||||
|
||||
cpp_quote("//")
|
||||
cpp_quote("// The following declarations within the 'if 0' block are dummy typedefs used to make")
|
||||
cpp_quote("// the ddstream.idl file build. The actual definitions are contained in DDRAW.H")
|
||||
cpp_quote("// The following declarations within the 'if 0' block are dummy typedefs used to make")
|
||||
cpp_quote("// the ddstream.idl file build. The actual definitions are contained in DDRAW.H")
|
||||
cpp_quote("//")
|
||||
cpp_quote("#if 0")
|
||||
typedef void * LPDDSURFACEDESC;
|
||||
|
@ -21,7 +21,7 @@ cpp_quote("#endif")
|
|||
cpp_quote("#include <ddraw.h>")
|
||||
|
||||
enum {
|
||||
DDSFF_PROGRESSIVERENDER = 0x00000001
|
||||
DDSFF_PROGRESSIVERENDER = 0x00000001
|
||||
};
|
||||
|
||||
interface IDirectDraw;
|
||||
|
@ -40,30 +40,30 @@ pointer_default(unique)
|
|||
]
|
||||
interface IDirectDrawMediaStream : IMediaStream
|
||||
{
|
||||
HRESULT GetFormat(
|
||||
[out] DDSURFACEDESC *pDDSDCurrent,
|
||||
[out] IDirectDrawPalette **ppDirectDrawPalette,
|
||||
[out] DDSURFACEDESC *pDDSDDesired,
|
||||
[out] DWORD *pdwFlags);
|
||||
HRESULT GetFormat(
|
||||
[out] DDSURFACEDESC *pDDSDCurrent,
|
||||
[out] IDirectDrawPalette **ppDirectDrawPalette,
|
||||
[out] DDSURFACEDESC *pDDSDDesired,
|
||||
[out] DWORD *pdwFlags);
|
||||
|
||||
HRESULT SetFormat(
|
||||
[in] const DDSURFACEDESC *pDDSurfaceDesc,
|
||||
[in] IDirectDrawPalette *pDirectDrawPalette);
|
||||
HRESULT SetFormat(
|
||||
[in] const DDSURFACEDESC *pDDSurfaceDesc,
|
||||
[in] IDirectDrawPalette *pDirectDrawPalette);
|
||||
|
||||
HRESULT GetDirectDraw(
|
||||
[out] IDirectDraw **ppDirectDraw);
|
||||
HRESULT GetDirectDraw(
|
||||
[out] IDirectDraw **ppDirectDraw);
|
||||
|
||||
HRESULT SetDirectDraw(
|
||||
[in] IDirectDraw *pDirectDraw);
|
||||
HRESULT SetDirectDraw(
|
||||
[in] IDirectDraw *pDirectDraw);
|
||||
|
||||
HRESULT CreateSample(
|
||||
[in] IDirectDrawSurface *pSurface,
|
||||
[in] const RECT *pRect,
|
||||
[in] DWORD dwFlags,
|
||||
[out]IDirectDrawStreamSample **ppSample);
|
||||
HRESULT CreateSample(
|
||||
[in] IDirectDrawSurface *pSurface,
|
||||
[in] const RECT *pRect,
|
||||
[in] DWORD dwFlags,
|
||||
[out]IDirectDrawStreamSample **ppSample);
|
||||
|
||||
HRESULT GetTimePerFrame(
|
||||
[out] STREAM_TIME *pFrameTime);
|
||||
HRESULT GetTimePerFrame(
|
||||
[out] STREAM_TIME *pFrameTime);
|
||||
};
|
||||
|
||||
|
||||
|
@ -76,11 +76,11 @@ pointer_default(unique)
|
|||
]
|
||||
interface IDirectDrawStreamSample : IStreamSample
|
||||
{
|
||||
HRESULT GetSurface(
|
||||
[out] IDirectDrawSurface ** ppDirectDrawSurface,
|
||||
[out] RECT * pRect);
|
||||
HRESULT GetSurface(
|
||||
[out] IDirectDrawSurface ** ppDirectDrawSurface,
|
||||
[out] RECT * pRect);
|
||||
|
||||
HRESULT SetRect(
|
||||
[in] const RECT * pRect);
|
||||
HRESULT SetRect(
|
||||
[in] const RECT * pRect);
|
||||
|
||||
};
|
||||
|
|
|
@ -5,15 +5,23 @@
|
|||
// MIDL tool to produce the type library (devenum.tlb) and marshalling
|
||||
// code.
|
||||
//
|
||||
// Copyright (c) 1998 - 2000, Microsoft Corporation. All rights reserved.
|
||||
// Copyright (c) 1998-2001, Microsoft Corporation. All rights reserved.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
||||
cpp_quote("#define CDEF_CLASS_DEFAULT 0x0001")
|
||||
cpp_quote("#define CDEF_BYPASS_CLASS_MANAGER 0x0002")
|
||||
//cpp_quote("#define CDEF_CLASS_LEGACY 0x0004")
|
||||
cpp_quote("#define CDEF_CLASS_DEFAULT 0x0001")
|
||||
cpp_quote("#define CDEF_BYPASS_CLASS_MANAGER 0x0002")
|
||||
//cpp_quote("#define CDEF_CLASS_LEGACY 0x0004")
|
||||
cpp_quote("#define CDEF_MERIT_ABOVE_DO_NOT_USE 0x0008")
|
||||
|
||||
// If any of these flags are set, then only the types specified
|
||||
// by the flags are enumerated
|
||||
cpp_quote("#define CDEF_DEVMON_CMGR_DEVICE 0x0010")
|
||||
cpp_quote("#define CDEF_DEVMON_DMO 0x0020")
|
||||
cpp_quote("#define CDEF_DEVMON_PNP_DEVICE 0x0040")
|
||||
cpp_quote("#define CDEF_DEVMON_FILTER 0x0080")
|
||||
cpp_quote("#define CDEF_DEVMON_SELECTIVE_MASK 0x00f0")
|
||||
|
||||
[
|
||||
object,
|
||||
uuid(29840822-5B84-11D0-BD3B-00A0C911CE86),
|
||||
|
@ -24,7 +32,7 @@ interface ICreateDevEnum : IUnknown
|
|||
import "oaidl.idl";
|
||||
|
||||
HRESULT CreateClassEnumerator(
|
||||
[in] REFCLSID clsidDeviceClass,
|
||||
[out] IEnumMoniker ** ppEnumMoniker,
|
||||
[in] DWORD dwFlags);
|
||||
[in] REFCLSID clsidDeviceClass,
|
||||
[out] IEnumMoniker ** ppEnumMoniker,
|
||||
[in] DWORD dwFlags);
|
||||
}
|
||||
|
|
|
@ -1,9 +1,10 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// File: DMODShow.idl
|
||||
//
|
||||
// Desc:
|
||||
// Desc: This file will be processed by the MIDL tool to
|
||||
// produce dmodshow.h and proxy-stub code.
|
||||
//
|
||||
// Copyright (c) 1999 - 2000, Microsoft Corporation. All rights reserved.
|
||||
// Copyright (c) 1999-2001, Microsoft Corporation. All rights reserved.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
@ -13,6 +14,7 @@ import "mediaobj.idl";
|
|||
|
||||
// 94297043-bd82-4dfd-b0de-8177739c6d20
|
||||
cpp_quote("DEFINE_GUID(CLSID_DMOWrapperFilter, 0x94297043,0xbd82,0x4dfd,0xb0,0xde,0x81,0x77,0x73,0x9c,0x6d,0x20);")
|
||||
|
||||
// bcd5796c-bd52-4d30-ab76-70f975b89199
|
||||
cpp_quote("DEFINE_GUID(CLSID_DMOFilterCategory,0xbcd5796c,0xbd52,0x4d30,0xab,0x76,0x70,0xf9,0x75,0xb8,0x91,0x99);")
|
||||
|
||||
|
@ -24,9 +26,9 @@ cpp_quote("DEFINE_GUID(CLSID_DMOFilterCategory,0xbcd5796c,0xbd52,0x4d30,0xab,0x7
|
|||
interface IDMOWrapperFilter : IUnknown
|
||||
{
|
||||
// Init is passed in the clsid (so it can call CoCreateInstance)
|
||||
// and the catgory under which the DMO lives
|
||||
// Note that catDMO can be CLSID_NULL in which case no special
|
||||
// category-specific processing will be invoked in the wrapper filter
|
||||
// and the catgory under which the DMO lives.
|
||||
// Note that catDMO can be CLSID_NULL, in which case no special
|
||||
// category-specific processing will be invoked in the wrapper filter.
|
||||
HRESULT Init(REFCLSID clsidDMO, REFCLSID catDMO);
|
||||
}
|
||||
|
||||
|
|
|
@ -3,13 +3,13 @@
|
|||
//
|
||||
// Desc:
|
||||
//
|
||||
// Copyright (c) 1992-2000, Microsoft Corporation. All rights reserved.
|
||||
// Copyright (c) 1992-2001, Microsoft Corporation. All rights reserved.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
||||
import "unknwn.idl";
|
||||
import "objidl.idl";
|
||||
import "strmif.idl"; // for media type and time definitions
|
||||
import "unknwn.idl";
|
||||
import "objidl.idl";
|
||||
import "strmif.idl"; // for media type and time definitions
|
||||
import "wmsdkidl.idl";
|
||||
|
||||
cpp_quote( "EXTERN_GUID( IID_IConfigAsfWriter,0x45086030,0xF7E4,0x486a,0xB5,0x04,0x82,0x6B,0xB5,0x79,0x2A,0x3B );" )
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
//
|
||||
// Desc: DirectShow interfaces to control playback of a DVD filter graph.
|
||||
//
|
||||
// Copyright (c) 1992-2000, Microsoft Corporation. All rights reserved.
|
||||
// Copyright (c) 1992-2001, Microsoft Corporation. All rights reserved.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
@ -1493,8 +1493,8 @@ interface IDvdControl2 : IUnknown {
|
|||
// DVD_HMSF_TimeCodeEvents
|
||||
//
|
||||
// Lets the application specify to the Navigator if it wants to get the new time
|
||||
// event EC_DVD_CURRENT_HMSF_TIME with the HMSF format rather than the older
|
||||
// EC_DVD_CURRENT_TIME events.
|
||||
// event EC_DVD_CURRENT_HMSF_TIME with the HMSF format rather than the older
|
||||
// EC_DVD_CURRENT_TIME events.
|
||||
//
|
||||
// FALSE - disable (default). Older EC_DVD_CURRENT_TIME events are returned.
|
||||
// TRUE - enable. Navigator will send the app EC_DVD_CURRENT_HMSF_TIME events.
|
||||
|
@ -1660,11 +1660,11 @@ enum DVD_TextCharSet {
|
|||
DVD_CharSet_ShiftJIS_Kanji_Roman_Katakana = 4
|
||||
};
|
||||
|
||||
cpp_quote ("#define DVD_TITLE_MENU 0x000")
|
||||
cpp_quote ("#define DVD_TITLE_MENU 0x000")
|
||||
cpp_quote ("#define DVD_STREAM_DATA_CURRENT 0x800")
|
||||
cpp_quote ("#define DVD_STREAM_DATA_VMGM 0x400")
|
||||
cpp_quote ("#define DVD_STREAM_DATA_VTSM 0x401")
|
||||
cpp_quote ("#define DVD_DEFAULT_AUDIO_STREAM 0x0f")
|
||||
cpp_quote ("#define DVD_DEFAULT_AUDIO_STREAM 0x0f")
|
||||
|
||||
// DVD Decoder Caps data
|
||||
typedef struct tagDVD_DECODER_CAPS
|
||||
|
@ -1684,11 +1684,11 @@ typedef struct tagDVD_DECODER_CAPS
|
|||
} DVD_DECODER_CAPS ;
|
||||
|
||||
// Bits for decoder's audio format support
|
||||
cpp_quote ("#define DVD_AUDIO_CAPS_AC3 0x00000001")
|
||||
cpp_quote ("#define DVD_AUDIO_CAPS_MPEG2 0x00000002")
|
||||
cpp_quote ("#define DVD_AUDIO_CAPS_LPCM 0x00000004")
|
||||
cpp_quote ("#define DVD_AUDIO_CAPS_DTS 0x00000008")
|
||||
cpp_quote ("#define DVD_AUDIO_CAPS_SDDS 0x00000010")
|
||||
cpp_quote ("#define DVD_AUDIO_CAPS_AC3 0x00000001")
|
||||
cpp_quote ("#define DVD_AUDIO_CAPS_MPEG2 0x00000002")
|
||||
cpp_quote ("#define DVD_AUDIO_CAPS_LPCM 0x00000004")
|
||||
cpp_quote ("#define DVD_AUDIO_CAPS_DTS 0x00000008")
|
||||
cpp_quote ("#define DVD_AUDIO_CAPS_SDDS 0x00000010")
|
||||
|
||||
|
||||
[
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,9 +1,9 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// File: DynGraph.idl
|
||||
//
|
||||
// Desc: Dynamic graph interfaces.
|
||||
// Desc: Dynamic graph interfaces
|
||||
//
|
||||
// Copyright (c) 1999 - 2000, Microsoft Corporation. All rights reserved.
|
||||
// Copyright (c) 1999-2001, Microsoft Corporation. All rights reserved.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
@ -98,9 +98,9 @@ interface IGraphConfig : IUnknown {
|
|||
[in] DWORD dwFlags);
|
||||
|
||||
HRESULT Reconfigure([in] IGraphConfigCallback *pCallback,
|
||||
[in] PVOID pvContext,
|
||||
[in] DWORD dwFlags,
|
||||
[in] HANDLE hAbortEvent);
|
||||
[in] PVOID pvContext,
|
||||
[in] DWORD dwFlags,
|
||||
[in] HANDLE hAbortEvent);
|
||||
|
||||
|
||||
HRESULT AddFilterToCache([in] IBaseFilter *pFilter);
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
//
|
||||
// Desc:
|
||||
//
|
||||
// Copyright (c) 1992 - 2000, Microsoft Corporation. All rights reserved.
|
||||
// Copyright (c) 1992-2001, Microsoft Corporation. All rights reserved.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
@ -120,25 +120,25 @@ interface IAMovie : IFilterGraph
|
|||
HRESULT get_Rate(
|
||||
[out] double * pdRate);
|
||||
|
||||
/* New methods */
|
||||
HRESULT RemoveAllFilters();
|
||||
HRESULT Play();
|
||||
HRESULT PlayFile([in] LPCWSTR strFilename);
|
||||
HRESULT EnumFiltersByInterface( [in] REFIID riid, [out] IEnumFilters ** ppEnum );
|
||||
HRESULT EnumPins( [out] IEnumPins ** ppEnum );
|
||||
HRESULT EnumPinsIn( [out] IEnumPins ** ppEnum );
|
||||
HRESULT EnumPinsOut( [out] IEnumPins ** ppEnum );
|
||||
HRESULT RenderAll();
|
||||
HRESULT RenderNewFile( [in] LPCWSTR strFilename);
|
||||
/* New methods */
|
||||
HRESULT RemoveAllFilters();
|
||||
HRESULT Play();
|
||||
HRESULT PlayFile([in] LPCWSTR strFilename);
|
||||
HRESULT EnumFiltersByInterface( [in] REFIID riid, [out] IEnumFilters ** ppEnum );
|
||||
HRESULT EnumPins( [out] IEnumPins ** ppEnum );
|
||||
HRESULT EnumPinsIn( [out] IEnumPins ** ppEnum );
|
||||
HRESULT EnumPinsOut( [out] IEnumPins ** ppEnum );
|
||||
HRESULT RenderAll();
|
||||
HRESULT RenderNewFile( [in] LPCWSTR strFilename);
|
||||
|
||||
// Free any resources associated with the parameters to an event.
|
||||
// Free any resources associated with the parameters to an event.
|
||||
// Event parameters may be LONGs, IUnknown* or BSTR. No action
|
||||
// is taken with LONGs. IUnknown are passed addrefed and need a
|
||||
// Release call. BSTR are allocated by the task allocator and will be
|
||||
// freed by calling the task allocator.
|
||||
HRESULT FreeEventParams(
|
||||
[in] long lEvCode,
|
||||
[in] long lParam1,
|
||||
[in] long lParam2);
|
||||
[in] long lEvCode,
|
||||
[in] long lParam1,
|
||||
[in] long lParam2);
|
||||
}
|
||||
|
||||
|
|
|
@ -1,11 +1,10 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// File: MediaObj.idl
|
||||
//
|
||||
// Desc: Define the interfaces for DirectX Media Objects. This file will
|
||||
// be processed by the MIDL tool to produce mediaobj.h and proxy-stub
|
||||
// code.
|
||||
// Desc: Define the interfaces for DirectX Media Objects. This file will be
|
||||
// processed by the MIDL tool to produce mediaobj.h and proxy-stub code.
|
||||
//
|
||||
// Copyright (c) 1999 - 2000, Microsoft Corporation. All rights reserved.
|
||||
// Copyright (c) 1999-2001, Microsoft Corporation. All rights reserved.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
@ -290,10 +289,10 @@ interface IMediaObject : IUnknown
|
|||
HRESULT ProcessOutput(
|
||||
DWORD dwFlags, // DMO_PROCESS_OUTPUT_FLAGS
|
||||
DWORD cOutputBufferCount, // # returned by GetStreamCount()
|
||||
[in,out,size_is(cOutputBufferCount)]
|
||||
DMO_OUTPUT_DATA_BUFFER *pOutputBuffers, // one per stream
|
||||
[out] DWORD *pdwStatus // TBD, must be set to 0
|
||||
);
|
||||
[in,out,size_is(cOutputBufferCount)]
|
||||
DMO_OUTPUT_DATA_BUFFER *pOutputBuffers, // one per stream
|
||||
[out] DWORD *pdwStatus // TBD, must be set to 0
|
||||
);
|
||||
|
||||
// Locking - lock if bLock is TRUE, otherwise unlock
|
||||
HRESULT Lock(LONG bLock);
|
||||
|
@ -349,7 +348,7 @@ interface IMediaObjectInPlace : IUnknown {
|
|||
// for very fast initialization of a number of In-Place objects
|
||||
// in a known state.
|
||||
HRESULT Clone(
|
||||
[out] IMediaObjectInPlace **ppMediaObject
|
||||
[out] IMediaObjectInPlace **ppMediaObject
|
||||
);
|
||||
|
||||
// GetLatency - Returns a REFERENCE_TIME value
|
||||
|
@ -357,7 +356,7 @@ interface IMediaObjectInPlace : IUnknown {
|
|||
// processing this effect will add to the graph. This assumes
|
||||
// the effect cost per buffer is a constant.
|
||||
HRESULT GetLatency(
|
||||
[out] REFERENCE_TIME *pLatencyTime
|
||||
[out] REFERENCE_TIME *pLatencyTime
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -393,20 +392,20 @@ uuid(be8f4f4e-5b16-4d29-b350-7f6b5d9298ac)
|
|||
]
|
||||
interface IDMOVideoOutputOptimizations : IUnknown {
|
||||
HRESULT QueryOperationModePreferences (
|
||||
ULONG ulOutputStreamIndex,
|
||||
DWORD *pdwRequestedCapabilities
|
||||
ULONG ulOutputStreamIndex,
|
||||
DWORD *pdwRequestedCapabilities
|
||||
);
|
||||
HRESULT SetOperationMode (
|
||||
ULONG ulOutputStreamIndex,
|
||||
DWORD dwEnabledFeatures
|
||||
ULONG ulOutputStreamIndex,
|
||||
DWORD dwEnabledFeatures
|
||||
);
|
||||
HRESULT GetCurrentOperationMode (
|
||||
ULONG ulOutputStreamIndex,
|
||||
DWORD *pdwEnabledFeatures
|
||||
ULONG ulOutputStreamIndex,
|
||||
DWORD *pdwEnabledFeatures
|
||||
);
|
||||
HRESULT GetCurrentSampleRequirements (
|
||||
ULONG ulOutputStreamIndex,
|
||||
DWORD *pdwRequestedFeatures
|
||||
ULONG ulOutputStreamIndex,
|
||||
DWORD *pdwRequestedFeatures
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
@ -4,12 +4,12 @@
|
|||
// Desc: Definition of the IMediaParams and associated interfaces. These
|
||||
// interfaces are designed to allow communication of curve-following
|
||||
// behaviors for parameters of objects which require dynamic changes
|
||||
// to their parameters at run time. All changes are specified by
|
||||
// to their parameters at run time. All changes are specified by
|
||||
// timestamp and curve type to ensure the parameters can be set
|
||||
// at sufficient accuracy with predictable behavior on subsequent
|
||||
// playback of the same curves.
|
||||
//
|
||||
// Copyright (c) 1999 - 2000, Microsoft Corporation. All rights reserved.
|
||||
// Copyright (c) 1999-2001, Microsoft Corporation. All rights reserved.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
@ -19,9 +19,9 @@ import "strmif.idl";
|
|||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// Define the semantic type to be used for each parameter. All values passed
|
||||
// Define the semantic type to be used for each parameter. All values passed
|
||||
// into this interface are 32-bit floats, but the interface can specify that
|
||||
// the values must be integer, or booleans or enumerated types
|
||||
// the values must be integer, booleans, or enumerated types
|
||||
//------------------------------------------------------------------------------
|
||||
typedef float MP_DATA; // All data is 32-bit floats
|
||||
|
||||
|
@ -136,10 +136,10 @@ const MP_FLAGS MPF_PUNCHIN_STOPPED = 0x0002; // Return change notifications duri
|
|||
|
||||
//------------------------------------------------------------------------------
|
||||
// IMediaParamInfo - Interface used to determine the names, data types and
|
||||
// units of the parameters which are exposed by the object. This interface
|
||||
// units of the parameters which are exposed by the object. This interface
|
||||
// is used at discovery time, and is not required during run-time since the
|
||||
// objects parameters are a fixed set and this data can be cached by the
|
||||
// calling applicaiton
|
||||
// calling applicaiton.
|
||||
//------------------------------------------------------------------------------
|
||||
[
|
||||
object,
|
||||
|
|
|
@ -1,9 +1,10 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// File: MMStream.idl
|
||||
//
|
||||
// Desc: MultiMedia streaming interface IDL file.
|
||||
// Desc: MultiMedia streaming interface IDL file. Used by MIDL tool
|
||||
// to generate mmstream.h.
|
||||
//
|
||||
// Copyright (c) 1998 - 2000, Microsoft Corporation. All rights reserved.
|
||||
// Copyright (c) 1998-2001, Microsoft Corporation. All rights reserved.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
@ -11,20 +12,20 @@ import "unknwn.idl";
|
|||
|
||||
cpp_quote("#define MS_ERROR_CODE(x) MAKE_HRESULT(1, FACILITY_ITF, (x) + 0x400)")
|
||||
cpp_quote("#define MS_SUCCESS_CODE(x) MAKE_HRESULT(0, FACILITY_ITF, x)")
|
||||
cpp_quote("#define MS_S_PENDING MS_SUCCESS_CODE(1)")
|
||||
cpp_quote("#define MS_S_NOUPDATE MS_SUCCESS_CODE(2)")
|
||||
cpp_quote("#define MS_S_ENDOFSTREAM MS_SUCCESS_CODE(3)")
|
||||
cpp_quote("#define MS_S_PENDING MS_SUCCESS_CODE(1)")
|
||||
cpp_quote("#define MS_S_NOUPDATE MS_SUCCESS_CODE(2)")
|
||||
cpp_quote("#define MS_S_ENDOFSTREAM MS_SUCCESS_CODE(3)")
|
||||
|
||||
cpp_quote("#define MS_E_SAMPLEALLOC MS_ERROR_CODE(1)")
|
||||
cpp_quote("#define MS_E_PURPOSEID MS_ERROR_CODE(2)")
|
||||
cpp_quote("#define MS_E_NOSTREAM MS_ERROR_CODE(3)")
|
||||
cpp_quote("#define MS_E_NOSEEKING MS_ERROR_CODE(4)")
|
||||
cpp_quote("#define MS_E_INCOMPATIBLE MS_ERROR_CODE(5)")
|
||||
cpp_quote("#define MS_E_BUSY MS_ERROR_CODE(6)")
|
||||
cpp_quote("#define MS_E_NOTINIT MS_ERROR_CODE(7)")
|
||||
cpp_quote("#define MS_E_SOURCEALREADYDEFINED MS_ERROR_CODE(8)")
|
||||
cpp_quote("#define MS_E_INVALIDSTREAMTYPE MS_ERROR_CODE(9)")
|
||||
cpp_quote("#define MS_E_NOTRUNNING MS_ERROR_CODE(10)")
|
||||
cpp_quote("#define MS_E_SAMPLEALLOC MS_ERROR_CODE(1)")
|
||||
cpp_quote("#define MS_E_PURPOSEID MS_ERROR_CODE(2)")
|
||||
cpp_quote("#define MS_E_NOSTREAM MS_ERROR_CODE(3)")
|
||||
cpp_quote("#define MS_E_NOSEEKING MS_ERROR_CODE(4)")
|
||||
cpp_quote("#define MS_E_INCOMPATIBLE MS_ERROR_CODE(5)")
|
||||
cpp_quote("#define MS_E_BUSY MS_ERROR_CODE(6)")
|
||||
cpp_quote("#define MS_E_NOTINIT MS_ERROR_CODE(7)")
|
||||
cpp_quote("#define MS_E_SOURCEALREADYDEFINED MS_ERROR_CODE(8)")
|
||||
cpp_quote("#define MS_E_INVALIDSTREAMTYPE MS_ERROR_CODE(9)")
|
||||
cpp_quote("#define MS_E_NOTRUNNING MS_ERROR_CODE(10)")
|
||||
|
||||
cpp_quote("// {A35FF56A-9FDA-11d0-8FDF-00C04FD9189D}")
|
||||
cpp_quote("DEFINE_GUID(MSPID_PrimaryVideo, ")
|
||||
|
@ -44,34 +45,34 @@ typedef GUID MSPID;
|
|||
typedef REFGUID REFMSPID;
|
||||
|
||||
typedef enum {
|
||||
STREAMTYPE_READ = 0,
|
||||
STREAMTYPE_WRITE = 1,
|
||||
STREAMTYPE_TRANSFORM= 2
|
||||
STREAMTYPE_READ = 0,
|
||||
STREAMTYPE_WRITE = 1,
|
||||
STREAMTYPE_TRANSFORM= 2
|
||||
} STREAM_TYPE;
|
||||
|
||||
typedef enum {
|
||||
STREAMSTATE_STOP = 0,
|
||||
STREAMSTATE_RUN = 1
|
||||
STREAMSTATE_STOP = 0,
|
||||
STREAMSTATE_RUN = 1
|
||||
} STREAM_STATE;
|
||||
|
||||
|
||||
typedef enum {
|
||||
COMPSTAT_NOUPDATEOK = 0x00000001,
|
||||
COMPSTAT_WAIT = 0x00000002,
|
||||
COMPSTAT_ABORT = 0x00000004
|
||||
COMPSTAT_NOUPDATEOK = 0x00000001,
|
||||
COMPSTAT_WAIT = 0x00000002,
|
||||
COMPSTAT_ABORT = 0x00000004
|
||||
} COMPLETION_STATUS_FLAGS;
|
||||
|
||||
// Flags for GetInformation
|
||||
enum {
|
||||
MMSSF_HASCLOCK = 0x00000001,
|
||||
MMSSF_SUPPORTSEEK = 0x00000002,
|
||||
MMSSF_ASYNCHRONOUS = 0x00000004
|
||||
MMSSF_HASCLOCK = 0x00000001,
|
||||
MMSSF_SUPPORTSEEK = 0x00000002,
|
||||
MMSSF_ASYNCHRONOUS = 0x00000004
|
||||
};
|
||||
|
||||
// Flags for StreamSample::Update
|
||||
enum {
|
||||
SSUPDATE_ASYNC = 0x00000001,
|
||||
SSUPDATE_CONTINUOUS = 0x00000002
|
||||
SSUPDATE_ASYNC = 0x00000001,
|
||||
SSUPDATE_CONTINUOUS = 0x00000002
|
||||
};
|
||||
|
||||
interface IMultiMediaStream;
|
||||
|
@ -87,35 +88,35 @@ pointer_default(unique)
|
|||
]
|
||||
interface IMultiMediaStream : IUnknown {
|
||||
|
||||
HRESULT GetInformation(
|
||||
[out] DWORD *pdwFlags,
|
||||
[out] STREAM_TYPE *pStreamType);
|
||||
HRESULT GetInformation(
|
||||
[out] DWORD *pdwFlags,
|
||||
[out] STREAM_TYPE *pStreamType);
|
||||
|
||||
HRESULT GetMediaStream(
|
||||
[in] REFMSPID idPurpose,
|
||||
[out] IMediaStream **ppMediaStream);
|
||||
HRESULT GetMediaStream(
|
||||
[in] REFMSPID idPurpose,
|
||||
[out] IMediaStream **ppMediaStream);
|
||||
|
||||
HRESULT EnumMediaStreams(
|
||||
[in] long Index,
|
||||
[out] IMediaStream **ppMediaStream);
|
||||
HRESULT EnumMediaStreams(
|
||||
[in] long Index,
|
||||
[out] IMediaStream **ppMediaStream);
|
||||
|
||||
HRESULT GetState(
|
||||
[out] STREAM_STATE *pCurrentState);
|
||||
HRESULT GetState(
|
||||
[out] STREAM_STATE *pCurrentState);
|
||||
|
||||
HRESULT SetState(
|
||||
[in] STREAM_STATE NewState);
|
||||
HRESULT SetState(
|
||||
[in] STREAM_STATE NewState);
|
||||
|
||||
HRESULT GetTime(
|
||||
[out] STREAM_TIME *pCurrentTime);
|
||||
HRESULT GetTime(
|
||||
[out] STREAM_TIME *pCurrentTime);
|
||||
|
||||
HRESULT GetDuration(
|
||||
[out] STREAM_TIME *pDuration);
|
||||
HRESULT GetDuration(
|
||||
[out] STREAM_TIME *pDuration);
|
||||
|
||||
HRESULT Seek(
|
||||
[in] STREAM_TIME SeekTime);
|
||||
HRESULT Seek(
|
||||
[in] STREAM_TIME SeekTime);
|
||||
|
||||
HRESULT GetEndOfStreamEventHandle(
|
||||
[out] HANDLE *phEOS);
|
||||
HRESULT GetEndOfStreamEventHandle(
|
||||
[out] HANDLE *phEOS);
|
||||
};
|
||||
|
||||
|
||||
|
@ -126,29 +127,29 @@ uuid(B502D1BD-9A57-11d0-8FDE-00C04FD9189D),
|
|||
pointer_default(unique)
|
||||
]
|
||||
interface IMediaStream : IUnknown {
|
||||
|
||||
HRESULT GetMultiMediaStream(
|
||||
[out] IMultiMediaStream **ppMultiMediaStream);
|
||||
|
||||
HRESULT GetMultiMediaStream(
|
||||
[out] IMultiMediaStream **ppMultiMediaStream);
|
||||
|
||||
HRESULT GetInformation(
|
||||
[out] MSPID *pPurposeId,
|
||||
[out] STREAM_TYPE *pType);
|
||||
HRESULT GetInformation(
|
||||
[out] MSPID *pPurposeId,
|
||||
[out] STREAM_TYPE *pType);
|
||||
|
||||
HRESULT SetSameFormat(
|
||||
[in] IMediaStream *pStreamThatHasDesiredFormat,
|
||||
[in] DWORD dwFlags);
|
||||
HRESULT SetSameFormat(
|
||||
[in] IMediaStream *pStreamThatHasDesiredFormat,
|
||||
[in] DWORD dwFlags);
|
||||
|
||||
HRESULT AllocateSample(
|
||||
[in] DWORD dwFlags,
|
||||
[out] IStreamSample **ppSample);
|
||||
|
||||
HRESULT AllocateSample(
|
||||
[in] DWORD dwFlags,
|
||||
[out] IStreamSample **ppSample);
|
||||
|
||||
|
||||
HRESULT CreateSharedSample(
|
||||
[in] IStreamSample *pExistingSample,
|
||||
[in] DWORD dwFlags,
|
||||
[out] IStreamSample **ppNewSample);
|
||||
HRESULT CreateSharedSample(
|
||||
[in] IStreamSample *pExistingSample,
|
||||
[in] DWORD dwFlags,
|
||||
[out] IStreamSample **ppNewSample);
|
||||
|
||||
HRESULT SendEndOfStream(DWORD dwFlags);
|
||||
HRESULT SendEndOfStream(DWORD dwFlags);
|
||||
};
|
||||
|
||||
|
||||
|
@ -160,28 +161,28 @@ uuid(B502D1BE-9A57-11d0-8FDE-00C04FD9189D),
|
|||
pointer_default(unique)
|
||||
]
|
||||
interface IStreamSample : IUnknown {
|
||||
|
||||
HRESULT GetMediaStream(
|
||||
[in] IMediaStream **ppMediaStream);
|
||||
|
||||
HRESULT GetMediaStream(
|
||||
[in] IMediaStream **ppMediaStream);
|
||||
|
||||
HRESULT GetSampleTimes(
|
||||
[out] STREAM_TIME * pStartTime,
|
||||
[out] STREAM_TIME * pEndTime,
|
||||
[out] STREAM_TIME * pCurrentTime);
|
||||
HRESULT GetSampleTimes(
|
||||
[out] STREAM_TIME * pStartTime,
|
||||
[out] STREAM_TIME * pEndTime,
|
||||
[out] STREAM_TIME * pCurrentTime);
|
||||
|
||||
HRESULT SetSampleTimes(
|
||||
[in] const STREAM_TIME *pStartTime,
|
||||
[in] const STREAM_TIME *pEndTime);
|
||||
HRESULT SetSampleTimes(
|
||||
[in] const STREAM_TIME *pStartTime,
|
||||
[in] const STREAM_TIME *pEndTime);
|
||||
|
||||
HRESULT Update(
|
||||
[in] DWORD dwFlags,
|
||||
[in] HANDLE hEvent,
|
||||
[in] PAPCFUNC pfnAPC,
|
||||
[in] DWORD_PTR dwAPCData);
|
||||
HRESULT Update(
|
||||
[in] DWORD dwFlags,
|
||||
[in] HANDLE hEvent,
|
||||
[in] PAPCFUNC pfnAPC,
|
||||
[in] DWORD_PTR dwAPCData);
|
||||
|
||||
HRESULT CompletionStatus(
|
||||
[in] DWORD dwFlags,
|
||||
[in] DWORD dwMilliseconds);
|
||||
HRESULT CompletionStatus(
|
||||
[in] DWORD dwFlags,
|
||||
[in] DWORD dwMilliseconds);
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
//
|
||||
// Desc:
|
||||
//
|
||||
// Copyright (c) 1992 - 2000, Microsoft Corporation. All rights reserved.
|
||||
// Copyright (c) 1992-2001, Microsoft Corporation. All rights reserved.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
@ -59,9 +59,9 @@ enum
|
|||
// used to set volumes on the mixer and mixer pins
|
||||
typedef struct
|
||||
{
|
||||
REFERENCE_TIME rtEnd; //end Time
|
||||
double dLevel; //end Volume Level
|
||||
BOOL bMethod; //jump or interpolate
|
||||
REFERENCE_TIME rtEnd; //end Time
|
||||
double dLevel; //end Volume Level
|
||||
BOOL bMethod; //jump or interpolate
|
||||
} DEXTER_AUDIO_VOLUMEENVELOPE ;
|
||||
|
||||
// used in IAMTimeline::Get(Set)InsertMode
|
||||
|
@ -1596,40 +1596,40 @@ enum
|
|||
|
||||
// Filename doesn't exist, or DShow doesn't recognize the filetype
|
||||
// EXTRA - filename
|
||||
cpp_quote("#define DEX_IDS_BAD_SOURCE_NAME 1400")
|
||||
cpp_quote("#define DEX_IDS_BAD_SOURCE_NAME 1400")
|
||||
|
||||
// Filename doesn't exist or contains unknown data
|
||||
// EXTRA - filename (maybe no codec?)
|
||||
cpp_quote("#define DEX_IDS_BAD_SOURCE_NAME2 1401")
|
||||
|
||||
// filename was required, but wasn't given
|
||||
cpp_quote("#define DEX_IDS_MISSING_SOURCE_NAME 1402")
|
||||
cpp_quote("#define DEX_IDS_MISSING_SOURCE_NAME 1402")
|
||||
|
||||
// cannot parse data provided by this source
|
||||
// !!! what source?
|
||||
cpp_quote("#define DEX_IDS_UNKNOWN_SOURCE 1403")
|
||||
cpp_quote("#define DEX_IDS_UNKNOWN_SOURCE 1403")
|
||||
|
||||
// unexpected error - some DShow component not installed correctly
|
||||
cpp_quote("#define DEX_IDS_INSTALL_PROBLEM 1404")
|
||||
cpp_quote("#define DEX_IDS_INSTALL_PROBLEM 1404")
|
||||
|
||||
// Source filter does not accept filenames
|
||||
// !!! What source?
|
||||
cpp_quote("#define DEX_IDS_NO_SOURCE_NAMES 1405")
|
||||
cpp_quote("#define DEX_IDS_NO_SOURCE_NAMES 1405")
|
||||
|
||||
// The group's mediatype is not supported
|
||||
// EXTRA - gives you an integer group number
|
||||
cpp_quote("#define DEX_IDS_BAD_MEDIATYPE 1406")
|
||||
cpp_quote("#define DEX_IDS_BAD_MEDIATYPE 1406")
|
||||
|
||||
// Invalid stream number for a source
|
||||
// EXTRA - gives the stream number !!! should identify which source!
|
||||
cpp_quote("#define DEX_IDS_STREAM_NUMBER 1407")
|
||||
cpp_quote("#define DEX_IDS_STREAM_NUMBER 1407")
|
||||
|
||||
// You ran out of memory
|
||||
cpp_quote("#define DEX_IDS_OUTOFMEMORY 1408")
|
||||
cpp_quote("#define DEX_IDS_OUTOFMEMORY 1408")
|
||||
|
||||
// One bitmap in a sequence was not the same type as the others
|
||||
// EXTRA - gives the bitmap name
|
||||
cpp_quote("#define DEX_IDS_DIBSEQ_NOTALLSAME 1409")
|
||||
cpp_quote("#define DEX_IDS_DIBSEQ_NOTALLSAME 1409")
|
||||
|
||||
// Clip's mediatimes are invalid, or DibSeq too short, or a previous error caused this
|
||||
// !!! Needs to give the clip name
|
||||
|
@ -1637,19 +1637,19 @@ cpp_quote("#define DEX_IDS_CLIPTOOSHORT 1410")
|
|||
|
||||
// Clsid of FX/Transition is not a DirectX Transform
|
||||
// EXTRA - gives the CLSID
|
||||
cpp_quote("#define DEX_IDS_INVALID_DXT 1411")
|
||||
cpp_quote("#define DEX_IDS_INVALID_DXT 1411")
|
||||
|
||||
// Default FX/Transition Clsid is not a DirectX Transform"
|
||||
// EXTRA - gives the CLSID
|
||||
cpp_quote("#define DEX_IDS_INVALID_DEFAULT_DXT 1412")
|
||||
cpp_quote("#define DEX_IDS_INVALID_DEFAULT_DXT 1412")
|
||||
|
||||
// Your version of DX doesn't support 3D transforms"
|
||||
// EXTRA - gives the CLSID of the 3D transform you tried to use
|
||||
cpp_quote("#define DEX_IDS_NO_3D 1413")
|
||||
cpp_quote("#define DEX_IDS_NO_3D 1413")
|
||||
|
||||
// This DirectX Transform is not the right kind, or is broken
|
||||
// EXTRA - gives the CLSID of the broken transform
|
||||
cpp_quote("#define DEX_IDS_BROKEN_DXT 1414")
|
||||
cpp_quote("#define DEX_IDS_BROKEN_DXT 1414")
|
||||
|
||||
// No such property exists on an object
|
||||
// EXTRA - gives the name of the property (if given as a string)
|
||||
|
@ -1657,11 +1657,11 @@ cpp_quote("#define DEX_IDS_NO_SUCH_PROPERTY 1415")
|
|||
|
||||
// Illegal value for a property
|
||||
// EXTRA - gives the VARIANT value that was illegal
|
||||
cpp_quote("#define DEX_IDS_ILLEGAL_PROPERTY_VAL 1416")
|
||||
cpp_quote("#define DEX_IDS_ILLEGAL_PROPERTY_VAL 1416")
|
||||
|
||||
// Syntax error in XML file at line:
|
||||
// EXTRA - gives I4 line number, if available
|
||||
cpp_quote("#define DEX_IDS_INVALID_XML 1417")
|
||||
cpp_quote("#define DEX_IDS_INVALID_XML 1417")
|
||||
|
||||
// Can't find filter specified in XML by Category and Instance
|
||||
// EXTRA - gives friendly name (instance)
|
||||
|
@ -1682,14 +1682,14 @@ cpp_quote("#define DEX_IDS_CANT_FIND_COMPRESSOR 1421")
|
|||
// !!! Here go problems hooking up sources or finding codecs
|
||||
|
||||
|
||||
// THE FOLLOWING SHOULD NEVER HAPPEN - please call me if they do
|
||||
// THE FOLLOWING SHOULD NEVER HAPPEN - please email directx@microsoft.com if they do
|
||||
|
||||
// Unexpected error in parsing the timeline
|
||||
cpp_quote("#define DEX_IDS_TIMELINE_PARSE 1426")
|
||||
cpp_quote("#define DEX_IDS_TIMELINE_PARSE 1426")
|
||||
// Unexpected error building the filtergraph
|
||||
cpp_quote("#define DEX_IDS_GRAPH_ERROR 1427")
|
||||
// Unexpected error with the internal grid
|
||||
cpp_quote("#define DEX_IDS_GRID_ERROR 1428")
|
||||
cpp_quote("#define DEX_IDS_GRID_ERROR 1428")
|
||||
// Unexpected error getting an interface
|
||||
cpp_quote("#define DEX_IDS_INTERFACE_ERROR 1429")
|
||||
|
||||
|
|
|
@ -3,14 +3,23 @@
|
|||
//
|
||||
// Desc: IDL source for RegBag.dll.
|
||||
//
|
||||
// Copyright (c) 1999 - 2000, Microsoft Corporation. All rights reserved.
|
||||
// Copyright (c) 1999-2001, Microsoft Corporation. All rights reserved.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
||||
cpp_quote("//+-------------------------------------------------------------------------")
|
||||
cpp_quote("//")
|
||||
cpp_quote("// Microsoft Windows")
|
||||
cpp_quote("// Copyright (C) Microsoft Corporation, 1999-2001.")
|
||||
cpp_quote("//")
|
||||
cpp_quote("//--------------------------------------------------------------------------")
|
||||
cpp_quote("#pragma once")
|
||||
|
||||
#ifndef DO_NO_IMPORTS
|
||||
import "objidl.idl";
|
||||
import "oaidl.idl";
|
||||
import "ocidl.idl";
|
||||
|
||||
#endif
|
||||
|
||||
//*****************************************************************************
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -23,21 +32,21 @@ import "ocidl.idl";
|
|||
//*****************************************************************************
|
||||
///////////////////////////////////////////////////////////////////////////////////////
|
||||
[object,
|
||||
hidden, restricted,
|
||||
uuid(8A674B48-1F63-11d3-B64C-00C04F79498E),
|
||||
helpstring("Create property bag backed by registry"),
|
||||
pointer_default(unique),
|
||||
local
|
||||
hidden, restricted,
|
||||
uuid(8A674B48-1F63-11d3-B64C-00C04F79498E),
|
||||
helpstring("Create property bag backed by registry"),
|
||||
pointer_default(unique),
|
||||
local
|
||||
]
|
||||
interface ICreatePropBagOnRegKey : IUnknown {
|
||||
// NOTE: it is up to the caller to set the correct registry access based on the interface
|
||||
// and methods the caller intends to use
|
||||
// IPropertyBag2::GetPropertyInfo and CountProperties require both KEY_QUERY_VALUE and KEY_ENUMERATE_SUBKEYS
|
||||
// IPropertyBagXXX::Read requires KEY_READ
|
||||
// IPropertyBagXXX::Write requires KEY_WRITE
|
||||
// also, you must CoTaskMemFree the name string from GetPropertyInfo
|
||||
// if you write a value of VT_EMPTY or VT_NULL the property will be removed from the bag and the corresponding
|
||||
// registry info will be deleted.
|
||||
HRESULT Create([in] HKEY hkey, [in] LPCOLESTR subkey, [in] DWORD ulOptions, [in] DWORD samDesired, REFIID iid, [out] LPVOID *ppBag);
|
||||
// NOTE: it is up to the caller to set the correct registry access based on the interface
|
||||
// and methods the caller intends to use
|
||||
// IPropertyBag2::GetPropertyInfo and CountProperties require both KEY_QUERY_VALUE and KEY_ENUMERATE_SUBKEYS
|
||||
// IPropertyBagXXX::Read requires KEY_READ
|
||||
// IPropertyBagXXX::Write requires KEY_WRITE
|
||||
// also, you must CoTaskMemFree the name string from GetPropertyInfo
|
||||
// if you write a value of VT_EMPTY or VT_NULL the property will be removed from the bag and the corresponding
|
||||
// registry info will be deleted.
|
||||
HRESULT Create([in] HKEY hkey, [in] LPCOLESTR subkey, [in] DWORD ulOptions, [in] DWORD samDesired, REFIID iid, [out] LPVOID *ppBag);
|
||||
};
|
||||
|
||||
|
|
|
@ -3,26 +3,54 @@
|
|||
//
|
||||
// Desc: ActiveMovie interface definitions.
|
||||
//
|
||||
// Copyright (c) 1992 - 2000, Microsoft Corporation. All rights reserved.
|
||||
// Copyright (c) 1992-2001, Microsoft Corporation. All rights reserved.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
//
|
||||
// Temporarily disable the /W4 compiler warning C4201, which will be
|
||||
// reported by all apps which include streams.h or dshow.h, which both
|
||||
// include the strmif.h generated by this IDL file.
|
||||
//
|
||||
cpp_quote("//+-------------------------------------------------------------------------")
|
||||
cpp_quote("//")
|
||||
cpp_quote("// Copyright (C) Microsoft Corporation, 1999-2001.")
|
||||
cpp_quote("//")
|
||||
cpp_quote("//--------------------------------------------------------------------------")
|
||||
cpp_quote("// Disable /W4 compiler warning C4201: nameless struct/union")
|
||||
cpp_quote("#pragma warning(disable:4201) // Disable C4201: nameless struct/union")
|
||||
cpp_quote(" ") // Blank space
|
||||
|
||||
import "unknwn.idl";
|
||||
import "objidl.idl"; // for IPersist (IFilter's root)
|
||||
import "objidl.idl"; // for IPersist (IFilter's root)
|
||||
|
||||
#include "devenum.idl"
|
||||
|
||||
// core interfaces
|
||||
// Core interfaces
|
||||
#include "axcore.idl"
|
||||
|
||||
// extended, ActiveMovie-only interfaces
|
||||
// Extended, ActiveMovie-only interfaces
|
||||
#include "axextend.idl"
|
||||
|
||||
// ActiveMovie-only sample plug-in distributor interface
|
||||
#include "IAMovie.idl"
|
||||
#if (WINVER < 0x501)
|
||||
#include "IAMovie.idl"
|
||||
#endif
|
||||
|
||||
// application interfaces for DVD
|
||||
// Application interfaces for DVD
|
||||
#include "dvdif.idl"
|
||||
|
||||
// Dynamic graph stuff
|
||||
#include "dyngraph.idl"
|
||||
|
||||
// This include is only valid when building for Windows XP
|
||||
#if (WINVER >= 0x501)
|
||||
|
||||
// Video Mixing Renderer
|
||||
#include "VMRender.idl"
|
||||
|
||||
#endif
|
||||
|
||||
//
|
||||
// Restore the previous setting for C4201 compiler warning
|
||||
//
|
||||
cpp_quote("// Restore the previous setting for C4201 compiler warning")
|
||||
cpp_quote("#pragma warning(default:4201)")
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -4,7 +4,7 @@
|
|||
// Desc: An interface exposed by the overlay mixer to help decode samples
|
||||
// using hardware video acceleration.
|
||||
//
|
||||
// Copyright (c) 1992 - 2000, Microsoft Corporation. All rights reserved.
|
||||
// Copyright (c) 1992-2001, Microsoft Corporation. All rights reserved.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
// Desc: Contains the data formats for the transfer of VfW4 filters via the
|
||||
// clipboard.
|
||||
//
|
||||
// Copyright (c) 1992 - 2000, Microsoft Corporation. All rights reserved.
|
||||
// Copyright (c) 1992-2001, Microsoft Corporation. All rights reserved.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
@ -13,6 +13,7 @@
|
|||
typedef struct tagVFW_FILTERLIST{
|
||||
UINT cFilters; // number of CLSIDs in aClsId
|
||||
CLSID aClsId[1]; // ClsId of each filter
|
||||
|
||||
} VFW_FILTERLIST;
|
||||
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
//
|
||||
// Desc: Audio related definitions and interfaces for ActiveMovie.
|
||||
//
|
||||
// Copyright (c) 1992 - 2000, Microsoft Corporation. All rights reserved.
|
||||
// Copyright (c) 1992-2001, Microsoft Corporation. All rights reserved.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
@ -18,9 +18,9 @@ extern "C" {
|
|||
#include <dsound.h>
|
||||
|
||||
// This is the interface the audio renderer supports to give the application
|
||||
// access to the direct sound object and buffers it is using, to allow the
|
||||
// access to the direct sound object and the buffers it is using, to allow the
|
||||
// application to use things like the 3D features of Direct Sound for the
|
||||
// soundtrack of a movie being played with Active Movie
|
||||
// soundtrack of a movie being played with Active Movie.
|
||||
|
||||
// be nice to our friends in C
|
||||
#undef INTERFACE
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
// Desc: Interface to the parser to get current time. This is useful for
|
||||
// multifile playback.
|
||||
//
|
||||
// Copyright (c) 1996 - 2000, Microsoft Corporation. All rights reserved.
|
||||
// Copyright (c) 1996-2001, Microsoft Corporation. All rights reserved.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
|
|
@ -4,10 +4,10 @@
|
|||
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
|
||||
|
||||
|
||||
/* File created by MIDL compiler version 6.00.0338 */
|
||||
/* File created by MIDL compiler version 6.00.0347 */
|
||||
/* Compiler settings for amstream.idl:
|
||||
Oicf, W1, Zp8, env=Win32 (32b run)
|
||||
protocol : dce , ms_ext, c_ext
|
||||
protocol : dce , ms_ext, c_ext, robust
|
||||
error checks: allocation ref bounds_check enum stub_data
|
||||
VC __declspec() decoration level:
|
||||
__declspec(uuid()), __declspec(selectany), __declspec(novtable)
|
||||
|
@ -18,7 +18,7 @@
|
|||
|
||||
/* verify that the <rpcndr.h> version is high enough to compile this file*/
|
||||
#ifndef __REQUIRED_RPCNDR_H_VERSION__
|
||||
#define __REQUIRED_RPCNDR_H_VERSION__ 440
|
||||
#define __REQUIRED_RPCNDR_H_VERSION__ 475
|
||||
#endif
|
||||
|
||||
#include "rpc.h"
|
||||
|
@ -2258,7 +2258,7 @@ AMMultiMediaStream;
|
|||
#endif
|
||||
#endif /* __DirectShowStreamLib_LIBRARY_DEFINED__ */
|
||||
|
||||
/* interface __MIDL_itf_amstream_0387 */
|
||||
/* interface __MIDL_itf_amstream_0410 */
|
||||
/* [local] */
|
||||
|
||||
#ifndef __cplusplus
|
||||
|
@ -2274,8 +2274,8 @@ DEFINE_GUID(CLSID_AMMediaTypeStream, /* CF0F2F7C-F7BF-11d0-900D-00C04FD9189D */
|
|||
0xcf0f2f7c, 0xf7bf, 0x11d0, 0x90, 0xd, 0x0, 0xc0, 0x4f, 0xd9, 0x18, 0x9d);
|
||||
|
||||
|
||||
extern RPC_IF_HANDLE __MIDL_itf_amstream_0387_v0_0_c_ifspec;
|
||||
extern RPC_IF_HANDLE __MIDL_itf_amstream_0387_v0_0_s_ifspec;
|
||||
extern RPC_IF_HANDLE __MIDL_itf_amstream_0410_v0_0_c_ifspec;
|
||||
extern RPC_IF_HANDLE __MIDL_itf_amstream_0410_v0_0_s_ifspec;
|
||||
|
||||
/* Additional Prototypes for ALL interfaces */
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
//
|
||||
// Desc: DirectShowMotionComp include file.
|
||||
//
|
||||
// Copyright (c) 1997 - 2000, Microsoft Corporation. All rights reserved.
|
||||
// Copyright (c) 1997-2001, Microsoft Corporation. All rights reserved.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
@ -24,32 +24,32 @@ extern "C" {
|
|||
|
||||
typedef struct _tag_AMVAUncompBufferInfo
|
||||
{
|
||||
DWORD dwMinNumSurfaces; // IN min number of surfaces to be allocated
|
||||
DWORD dwMaxNumSurfaces; // IN max number of surfaces to be allocated
|
||||
DDPIXELFORMAT ddUncompPixelFormat; // IN pixel format of surfaces to be allocated
|
||||
DWORD dwMinNumSurfaces; // IN min number of surfaces to be allocated
|
||||
DWORD dwMaxNumSurfaces; // IN max number of surfaces to be allocated
|
||||
DDPIXELFORMAT ddUncompPixelFormat; // IN pixel format of surfaces to be allocated
|
||||
} AMVAUncompBufferInfo, *LPAMVAUncompBufferInfo;
|
||||
|
||||
typedef struct _tag_AMVAUncompDataInfo
|
||||
{
|
||||
DWORD dwUncompWidth; // [in] width of uncompressed data
|
||||
DWORD dwUncompHeight; // [in] height of uncompressed data
|
||||
DDPIXELFORMAT ddUncompPixelFormat; // [in] pixel-format of uncompressed data
|
||||
DWORD dwUncompWidth; // [in] width of uncompressed data
|
||||
DWORD dwUncompHeight; // [in] height of uncompressed data
|
||||
DDPIXELFORMAT ddUncompPixelFormat; // [in] pixel-format of uncompressed data
|
||||
} AMVAUncompDataInfo, *LPAMVAUncompDataInfo;
|
||||
|
||||
typedef struct _tag_AMVAInternalMemInfo
|
||||
{
|
||||
DWORD dwScratchMemAlloc; // [out] amount of scratch memory will the hal allocate for its private use
|
||||
DWORD dwScratchMemAlloc; // [out] amount of scratch memory will the hal allocate for its private use
|
||||
} AMVAInternalMemInfo, *LPAMVAInternalMemInfo;
|
||||
|
||||
|
||||
typedef struct _tag_AMVACompBufferInfo
|
||||
{
|
||||
DWORD dwNumCompBuffers; // [out] number of buffers reqd for compressed data
|
||||
DWORD dwWidthToCreate; // [out] Width of surface to create
|
||||
DWORD dwHeightToCreate; // [out] Height of surface to create
|
||||
DWORD dwBytesToAllocate; // [out] Total number of bytes used by each surface
|
||||
DDSCAPS2 ddCompCaps; // [out] caps to create surfaces to store compressed data
|
||||
DDPIXELFORMAT ddPixelFormat; // [out] fourcc to create surfaces to store compressed data
|
||||
DWORD dwNumCompBuffers; // [out] number of buffers reqd for compressed data
|
||||
DWORD dwWidthToCreate; // [out] Width of surface to create
|
||||
DWORD dwHeightToCreate; // [out] Height of surface to create
|
||||
DWORD dwBytesToAllocate; // [out] Total number of bytes used by each surface
|
||||
DDSCAPS2 ddCompCaps; // [out] caps to create surfaces to store compressed data
|
||||
DDPIXELFORMAT ddPixelFormat; // [out] fourcc to create surfaces to store compressed data
|
||||
} AMVACompBufferInfo, *LPAMVACompBufferInfo;
|
||||
|
||||
|
||||
|
@ -66,16 +66,16 @@ typedef struct _tag_AMVABeginFrameInfo
|
|||
// Note that you are NOT allowed to store any pointer in pMiscData
|
||||
typedef struct _tag_AMVAEndFrameInfo
|
||||
{
|
||||
DWORD dwSizeMiscData; // [in] size of other misc data to begin frame
|
||||
LPVOID pMiscData; // [in] pointer to misc data
|
||||
DWORD dwSizeMiscData; // [in] size of other misc data to begin frame
|
||||
LPVOID pMiscData; // [in] pointer to misc data
|
||||
} AMVAEndFrameInfo, *LPAMVAEndFrameInfo;
|
||||
|
||||
typedef struct _tag_AMVABUFFERINFO
|
||||
{
|
||||
DWORD dwTypeIndex; // [in] Type of buffer
|
||||
DWORD dwBufferIndex; // [in] Buffer index
|
||||
DWORD dwDataOffset; // [in] offset of relevant data from the beginning of buffer
|
||||
DWORD dwDataSize; // [in] size of relevant data
|
||||
DWORD dwTypeIndex; // [in] Type of buffer
|
||||
DWORD dwBufferIndex; // [in] Buffer index
|
||||
DWORD dwDataOffset; // [in] offset of relevant data from the beginning of buffer
|
||||
DWORD dwDataSize; // [in] size of relevant data
|
||||
} AMVABUFFERINFO, *LPAMVABUFFERINFO;
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
//
|
||||
// Desc: Video related definitions and interfaces for ActiveMovie.
|
||||
//
|
||||
// Copyright (c) 1992 - 2000, Microsoft Corporation. All rights reserved.
|
||||
// Copyright (c) 1992-2001, Microsoft Corporation. All rights reserved.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
//
|
||||
// Desc: Broadcast Driver Architecture Media Definitions for ATSC
|
||||
//
|
||||
// Copyright (c) 1996 - 2000, Microsoft Corporation. All rights reserved.
|
||||
// Copyright (c) 1996-2001, Microsoft Corporation. All rights reserved.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
//
|
||||
// Desc: List of Audio device error event codes and the expected params.
|
||||
//
|
||||
// Copyright (c) 1999 - 2000, Microsoft Corporation. All rights reserved.
|
||||
// Copyright (c) 1999-2001, Microsoft Corporation. All rights reserved.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
|
|
@ -4,10 +4,10 @@
|
|||
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
|
||||
|
||||
|
||||
/* File created by MIDL compiler version 6.00.0338 */
|
||||
/* File created by MIDL compiler version 6.00.0347 */
|
||||
/* Compiler settings for austream.idl:
|
||||
Oicf, W1, Zp8, env=Win32 (32b run)
|
||||
protocol : dce , ms_ext, c_ext
|
||||
protocol : dce , ms_ext, c_ext, robust
|
||||
error checks: allocation ref bounds_check enum stub_data
|
||||
VC __declspec() decoration level:
|
||||
__declspec(uuid()), __declspec(selectany), __declspec(novtable)
|
||||
|
@ -18,7 +18,7 @@
|
|||
|
||||
/* verify that the <rpcndr.h> version is high enough to compile this file*/
|
||||
#ifndef __REQUIRED_RPCNDR_H_VERSION__
|
||||
#define __REQUIRED_RPCNDR_H_VERSION__ 440
|
||||
#define __REQUIRED_RPCNDR_H_VERSION__ 475
|
||||
#endif
|
||||
|
||||
#include "rpc.h"
|
||||
|
|
|
@ -4,10 +4,10 @@
|
|||
// Desc: Structures and defines for the RIFF AVI file format extended to
|
||||
// handle very large/long files.
|
||||
//
|
||||
// Copyright (c) 1996 - 2000, Microsoft Corporation. All rights reserved.
|
||||
// Copyright (c) 1996-2001, Microsoft Corporation. All rights reserved.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
||||
// Disable some compiler warnings
|
||||
#pragma warning(disable: 4097 4511 4512 4514 4705)
|
||||
|
||||
|
||||
|
@ -252,11 +252,11 @@ typedef struct _timecodedata {
|
|||
|
||||
// index subtype codes
|
||||
//
|
||||
#define AVI_INDEX_SUB_DEFAULT 0x00
|
||||
#define AVI_INDEX_SUB_DEFAULT 0x00
|
||||
|
||||
// INDEX_OF_CHUNKS subtype codes
|
||||
//
|
||||
#define AVI_INDEX_SUB_2FIELD 0x01
|
||||
#define AVI_INDEX_SUB_2FIELD 0x01
|
||||
|
||||
// meta structure of all avi indexes
|
||||
//
|
||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -4,7 +4,7 @@
|
|||
// Desc: Typedefs and enums needed by both the WDM drivers and the user mode
|
||||
// COM interfaces.
|
||||
//
|
||||
// Copyright (c) 1999 - 2000, Microsoft Corporation. All rights reserved.
|
||||
// Copyright (c) 1999-2001, Microsoft Corporation. All rights reserved.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
@ -12,14 +12,32 @@
|
|||
|
||||
#define _BDATYPES_ 1
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Windows XP vs. DirectX 8.0 header merge
|
||||
//
|
||||
// Separate the updated Windows XP version of this header from the downlevel
|
||||
// version that shipped with the DirectX 8.0 SDK. Since development
|
||||
// on BDA technology continued for Windows XP, some changes were made to
|
||||
// this file in order to improve the interface and functionality.
|
||||
//
|
||||
// To maintain compatibility with older applications which rely on the
|
||||
// DirectX 8.0 versions of these files, the DirectX 8.1 version includes
|
||||
// both the Windows XP content and the DirectX 8.0 content, which are
|
||||
// separated by the #if (WINVER >= 0x501) preprocessor directive.
|
||||
//
|
||||
// Therefore, if you define WINVER to be 0x501 to specify Windows XP,
|
||||
// the revised content will be compiled. Otherwise, the original
|
||||
// DirectX 8.0 content will be used.
|
||||
//
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#if (WINVER >= 0x501) // Windows XP content
|
||||
|
||||
|
||||
/* Utility Macros */
|
||||
|
||||
#define MIN_DIMENSION 1
|
||||
#define NATURAL 4
|
||||
#define CACHE_LINE 128
|
||||
#define PAGE 4096
|
||||
#define ALIGN( pointer, size) (((ULONG)(pointer) + (ULONG)(size) - 1) & ~((ULONG)(size) - 1))
|
||||
#define BDA_STRING_CONST(x) {sizeof(L##x)-2, sizeof(L##x), L##x}
|
||||
|
||||
|
||||
#ifdef __midl
|
||||
|
@ -253,74 +271,18 @@ typedef struct _BDANODE_DESCRIPTOR
|
|||
//------------------------------------------------------------
|
||||
//
|
||||
//
|
||||
// BDA PmtProcessor Property Set
|
||||
// BDA Table Section Property Set
|
||||
//
|
||||
// {516B99C5-971C-4aaf-B3F3-D9FDA8A15E16}
|
||||
//
|
||||
|
||||
typedef struct _BDA_PMT
|
||||
typedef struct _BDA_TABLE_SECTION
|
||||
{
|
||||
ULONG ulTableID;
|
||||
ULONG ulPrimarySectionId;
|
||||
ULONG ulSecondarySectionId;
|
||||
ULONG ulcbSectionLength;
|
||||
ULONG argbSectionData[MIN_DIMENSION];
|
||||
} BDA_PMT, *PBDA_PMT;
|
||||
|
||||
//------------------------------------------------------------
|
||||
//
|
||||
//
|
||||
// BDA Descriptor Property Set
|
||||
//
|
||||
// {DE6A1C9E-87DF-48aa-95AA-289B7AA4F49F}
|
||||
//
|
||||
|
||||
typedef struct _BDA_CAT_DESCRIPTOR
|
||||
{
|
||||
ULONG ulTag;
|
||||
ULONG ulcbLength;
|
||||
ULONG argbData[MIN_DIMENSION];
|
||||
} BDA_CAT_DESCRIPTOR, *PBDA_CAT_DESCRIPTOR;
|
||||
|
||||
typedef struct _BDA_ES_DESCRIPTOR
|
||||
{
|
||||
ULONG ulProgramNum;
|
||||
ULONG ulContentPID;
|
||||
ULONG ulTag;
|
||||
ULONG ulcbLength;
|
||||
ULONG argbData[MIN_DIMENSION];
|
||||
} BDA_ES_DESCRIPTOR, *PBDA_ES_DESCRIPTOR;
|
||||
|
||||
typedef struct _BDA_PROGRAM_DESCRIPTOR
|
||||
{
|
||||
ULONG ulProgramNum;
|
||||
ULONG ulTag;
|
||||
ULONG ulcbLength;
|
||||
ULONG argbData[MIN_DIMENSION];
|
||||
} BDA_PROGRAM_DESCRIPTOR, *PBDA_PROGRAM_DESCRIPTOR;
|
||||
|
||||
|
||||
//------------------------------------------------------------
|
||||
//
|
||||
//
|
||||
// BDA EsMap Property Set
|
||||
//
|
||||
// {FA14A8B3-6068-48ef-96DD-53010B985A7D}
|
||||
//
|
||||
|
||||
typedef enum
|
||||
{
|
||||
ES_MAP_STATE_GOOD_FLOW = 0,
|
||||
ES_MAP_STATE_NO_CONTENT,
|
||||
ES_MAP_STATE_NO_ECM,
|
||||
ES_MAP_STATE_BAD_MAP
|
||||
} BDA_ES_MAP_STATE, *PBDA_ES_MAP_STATE;
|
||||
|
||||
typedef struct _BDA_ES_MAP
|
||||
{
|
||||
ULONG ulContentPID;
|
||||
ULONG ulProgramNum;
|
||||
ULONG ulStreamType;
|
||||
BDA_ES_MAP_STATE mapState;
|
||||
} BDA_ES_MAP, *PBDA_ES_MAP;
|
||||
} BDA_TABLE_SECTION, *PBDA_TABLE_SECTION;
|
||||
|
||||
|
||||
//------------------------------------------------------------
|
||||
|
@ -375,6 +337,13 @@ typedef struct _BDA_CA_MODULE_UI
|
|||
ULONG ulDesc[MIN_DIMENSION];
|
||||
} BDA_CA_MODULE_UI, *PBDA_CA_MODULE_UI;
|
||||
|
||||
typedef struct _BDA_PROGRAM_PID_LIST
|
||||
{
|
||||
ULONG ulProgramNumber;
|
||||
ULONG ulcPIDs;
|
||||
ULONG ulPID[MIN_DIMENSION];
|
||||
} BDA_PROGRAM_PID_LIST, *PBDA_PROGRAM_PID_LIST;
|
||||
|
||||
|
||||
//------------------------------------------------------------
|
||||
//
|
||||
|
@ -460,6 +429,19 @@ typedef V1_ENUM enum MPEG2StreamType {
|
|||
USER_PRIVATE = ISO_IEC_13818_1_RESERVED + 1
|
||||
} MPEG2StreamType;
|
||||
|
||||
//------------------------------------------------------------
|
||||
//
|
||||
// mpeg-2 transport stride format block; associated with media
|
||||
// types MEDIATYPE_Stream/MEDIASUBTYPE_MPEG2_TRANSPORT_STRIDE;
|
||||
// *all* format blocks associated with above media type *must*
|
||||
// start with the MPEG2_TRANSPORT_STRIDE structure
|
||||
//
|
||||
|
||||
typedef struct _MPEG2_TRANSPORT_STRIDE {
|
||||
DWORD dwOffset ;
|
||||
DWORD dwPacketLength ;
|
||||
DWORD dwStride ;
|
||||
} MPEG2_TRANSPORT_STRIDE, *PMPEG2_TRANSPORT_STRIDE ;
|
||||
|
||||
//------------------------------------------------------------
|
||||
//
|
||||
|
@ -580,6 +562,615 @@ typedef V1_ENUM enum TransmissionMode {
|
|||
BDA_XMIT_MODE_MAX,
|
||||
} TransmissionMode;
|
||||
|
||||
// Settings for Tuner Frequency
|
||||
//
|
||||
#define BDA_FREQUENCY_NOT_SET -1
|
||||
#define BDA_FREQUENCY_NOT_DEFINED 0
|
||||
|
||||
// Settings for Tuner Range
|
||||
//
|
||||
// Tuner range refers to the setting of LNB High/Low as well as the
|
||||
// selection of a satellite on a multiple satellite switch.
|
||||
//
|
||||
#define BDA_RANGE_NOT_SET -1
|
||||
#define BDA_RANGE_NOT_DEFINED 0
|
||||
|
||||
// Settings for Tuner Channel Bandwidth
|
||||
//
|
||||
#define BDA_CHAN_BANDWITH_NOT_SET -1
|
||||
#define BDA_CHAN_BANDWITH_NOT_DEFINED 0
|
||||
|
||||
// Settings for Tuner Frequency Multiplier
|
||||
//
|
||||
#define BDA_FREQUENCY_MULTIPLIER_NOT_SET -1
|
||||
#define BDA_FREQUENCY_MULTIPLIER_NOT_DEFINED 0
|
||||
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Windows XP vs. DirectX 8.0 header merge
|
||||
//
|
||||
// The following is the original contents of this header from
|
||||
// the DirectX 8.0 SDK.
|
||||
//
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#else // DirectX 8.0 content
|
||||
|
||||
/* Utility Macros */
|
||||
|
||||
#define MIN_DIMENSION 1
|
||||
#define NATURAL 4
|
||||
#define CACHE_LINE 128
|
||||
#define PAGE 4096
|
||||
#define ALIGN( pointer, size) (((ULONG)(pointer) + (ULONG)(size) - 1) & ~((ULONG)(size) - 1))
|
||||
#define BDA_STRING_CONST(x) {sizeof(L##x)-2, sizeof(L##x), L##x}
|
||||
|
||||
|
||||
#ifdef __midl
|
||||
#define V1_ENUM [v1_enum]
|
||||
#else
|
||||
#define V1_ENUM
|
||||
#endif
|
||||
|
||||
//===========================================================================
|
||||
//
|
||||
// BDA Topology Structures
|
||||
//
|
||||
//===========================================================================
|
||||
|
||||
typedef struct _BDA_TEMPLATE_CONNECTION
|
||||
{
|
||||
ULONG FromNodeType;
|
||||
ULONG FromNodePinType;
|
||||
ULONG ToNodeType;
|
||||
ULONG ToNodePinType;
|
||||
}BDA_TEMPLATE_CONNECTION, *PBDA_TEMPLATE_CONNECTION;
|
||||
|
||||
|
||||
typedef struct _BDA_TEMPLATE_PIN_JOINT
|
||||
{
|
||||
ULONG uliTemplateConnection;
|
||||
ULONG ulcInstancesMax;
|
||||
}BDA_TEMPLATE_PIN_JOINT, *PBDA_TEMPLATE_PIN_JOINT;
|
||||
|
||||
|
||||
|
||||
//===========================================================================
|
||||
//
|
||||
// BDA Events
|
||||
//
|
||||
//===========================================================================
|
||||
|
||||
// In-band Event IDs
|
||||
//
|
||||
typedef enum {
|
||||
BDA_EVENT_SIGNAL_LOSS = 0,
|
||||
BDA_EVENT_SIGNAL_LOCK,
|
||||
BDA_EVENT_DATA_START,
|
||||
BDA_EVENT_DATA_STOP,
|
||||
BDA_EVENT_CHANNEL_ACQUIRED,
|
||||
BDA_EVENT_CHANNEL_LOST,
|
||||
BDA_EVENT_CHANNEL_SOURCE_CHANGED,
|
||||
BDA_EVENT_CHANNEL_ACTIVATED,
|
||||
BDA_EVENT_CHANNEL_DEACTIVATED,
|
||||
BDA_EVENT_SUBCHANNEL_ACQUIRED,
|
||||
BDA_EVENT_SUBCHANNEL_LOST,
|
||||
BDA_EVENT_SUBCHANNEL_SOURCE_CHANGED,
|
||||
BDA_EVENT_SUBCHANNEL_ACTIVATED,
|
||||
BDA_EVENT_SUBCHANNEL_DEACTIVATED,
|
||||
BDA_EVENT_ACCESS_GRANTED,
|
||||
BDA_EVENT_ACCESS_DENIED,
|
||||
BDA_EVENT_OFFER_EXTENDED,
|
||||
BDA_EVENT_PURCHASE_COMPLETED,
|
||||
BDA_EVENT_SMART_CARD_INSERTED,
|
||||
BDA_EVENT_SMART_CARD_REMOVED
|
||||
} BDA_EVENT_ID, *PBDA_EVENT_ID;
|
||||
|
||||
|
||||
|
||||
//===========================================================================
|
||||
//
|
||||
// KSSTREAM_HEADER extensions for BDA
|
||||
//
|
||||
//===========================================================================
|
||||
|
||||
typedef struct tagKS_BDA_FRAME_INFO {
|
||||
ULONG ExtendedHeaderSize; // Size of this extended header
|
||||
DWORD dwFrameFlags; //
|
||||
ULONG ulEvent; //
|
||||
ULONG ulChannelNumber; //
|
||||
ULONG ulSubchannelNumber; //
|
||||
ULONG ulReason; //
|
||||
} KS_BDA_FRAME_INFO, *PKS_BDA_FRAME_INFO;
|
||||
|
||||
|
||||
//------------------------------------------------------------
|
||||
//
|
||||
// BDA Network Ethernet Filter Property Set
|
||||
//
|
||||
// {71985F43-1CA1-11d3-9CC8-00C04F7971E0}
|
||||
//
|
||||
typedef struct _BDA_ETHERNET_ADDRESS {
|
||||
BYTE rgbAddress[6];
|
||||
} BDA_ETHERNET_ADDRESS, *PBDA_ETHERNET_ADDRESS;
|
||||
|
||||
typedef struct _BDA_ETHERNET_ADDRESS_LIST {
|
||||
ULONG ulcAddresses;
|
||||
BDA_ETHERNET_ADDRESS rgAddressl[MIN_DIMENSION];
|
||||
} BDA_ETHERNET_ADDRESS_LIST, * PBDA_ETHERNET_ADDRESS_LIST;
|
||||
|
||||
typedef enum {
|
||||
BDA_PROMISCUOUS_MULTICAST = 0,
|
||||
BDA_FILTERED_MULTICAST,
|
||||
BDA_NO_MULTICAST
|
||||
} BDA_MULTICAST_MODE, *PBDA_MULTICAST_MODE;
|
||||
|
||||
|
||||
//------------------------------------------------------------
|
||||
//
|
||||
// BDA Network IPv4 Filter Property Set
|
||||
//
|
||||
// {71985F44-1CA1-11d3-9CC8-00C04F7971E0}
|
||||
//
|
||||
typedef struct _BDA_IPv4_ADDRESS {
|
||||
BYTE rgbAddress[4];
|
||||
} BDA_IPv4_ADDRESS, *PBDA_IPv4_ADDRESS;
|
||||
|
||||
typedef struct _BDA_IPv4_ADDRESS_LIST {
|
||||
ULONG ulcAddresses;
|
||||
BDA_IPv4_ADDRESS rgAddressl[MIN_DIMENSION];
|
||||
} BDA_IPv4_ADDRESS_LIST, * PBDA_IPv4_ADDRESS_LIST;
|
||||
|
||||
|
||||
//------------------------------------------------------------
|
||||
//
|
||||
// BDA Network IPv4 Filter Property Set
|
||||
//
|
||||
// {E1785A74-2A23-4fb3-9245-A8F88017EF33}
|
||||
//
|
||||
typedef struct _BDA_IPv6_ADDRESS {
|
||||
BYTE rgbAddress[6];
|
||||
} BDA_IPv6_ADDRESS, *PBDA_IPv6_ADDRESS;
|
||||
|
||||
typedef struct _BDA_IPv6_ADDRESS_LIST {
|
||||
ULONG ulcAddresses;
|
||||
BDA_IPv6_ADDRESS rgAddressl[MIN_DIMENSION];
|
||||
} BDA_IPv6_ADDRESS_LIST, * PBDA_IPv6_ADDRESS_LIST;
|
||||
|
||||
|
||||
//------------------------------------------------------------
|
||||
//
|
||||
//
|
||||
// BDA Signal Property Set
|
||||
//
|
||||
// {D2F1644B-B409-11d2-BC69-00A0C9EE9E16}
|
||||
//
|
||||
typedef enum {
|
||||
BDA_SIGNAL_UNAVAILABLE = 0,
|
||||
BDA_SIGNAL_INACTIVE,
|
||||
BDA_SIGNAL_ACTIVE
|
||||
} BDA_SIGNAL_STATE, * PBDA_SIGNAL_STATE;
|
||||
|
||||
|
||||
//------------------------------------------------------------
|
||||
//
|
||||
//
|
||||
// BDA Change Sync Method Set
|
||||
//
|
||||
// {FD0A5AF3-B41D-11d2-9C95-00C04F7971E0}
|
||||
//
|
||||
typedef enum
|
||||
{
|
||||
BDA_CHANGES_COMPLETE = 0,
|
||||
BDA_CHANGES_PENDING
|
||||
|
||||
} BDA_CHANGE_STATE, * PBDA_CHANGE_STATE;
|
||||
|
||||
|
||||
//------------------------------------------------------------
|
||||
//
|
||||
//
|
||||
// BDA Device Configuration Method Set
|
||||
//
|
||||
// {71985F45-1CA1-11d3-9CC8-00C04F7971E0}
|
||||
//
|
||||
|
||||
|
||||
//------------------------------------------------------------
|
||||
//
|
||||
//
|
||||
// BDA Topology Property Set
|
||||
//
|
||||
// {A14EE835-0A23-11d3-9CC7-00C04F7971E0}
|
||||
//
|
||||
|
||||
typedef struct _BDANODE_DESCRIPTOR
|
||||
{
|
||||
ULONG ulBdaNodeType; // The node type as it is used
|
||||
// in the BDA template topology
|
||||
|
||||
GUID guidFunction; // GUID from BdaMedia.h describing
|
||||
// the node's function (e.g.
|
||||
// KSNODE_BDA_RF_TUNER)
|
||||
|
||||
GUID guidName; // GUID that can be use to look up
|
||||
// a displayable name for the node.
|
||||
} BDANODE_DESCRIPTOR, *PBDANODE_DESCRIPTOR;
|
||||
|
||||
|
||||
//------------------------------------------------------------
|
||||
//
|
||||
//
|
||||
// BDA Void Transform Property Set
|
||||
//
|
||||
// {71985F46-1CA1-11d3-9CC8-00C04F7971E0}
|
||||
//
|
||||
|
||||
|
||||
//------------------------------------------------------------
|
||||
//
|
||||
//
|
||||
// BDA Null Transform Property Set
|
||||
//
|
||||
// {DDF15B0D-BD25-11d2-9CA0-00C04F7971E0}
|
||||
//
|
||||
|
||||
|
||||
//------------------------------------------------------------
|
||||
//
|
||||
//
|
||||
// BDA Frequency Filter Property Set
|
||||
//
|
||||
// {71985F47-1CA1-11d3-9CC8-00C04F7971E0}
|
||||
//
|
||||
|
||||
|
||||
//------------------------------------------------------------
|
||||
//
|
||||
//
|
||||
// BDA Autodemodulate Property Set
|
||||
//
|
||||
// {DDF15B12-BD25-11d2-9CA0-00C04F7971E0}
|
||||
//
|
||||
|
||||
|
||||
//------------------------------------------------------------
|
||||
//
|
||||
//
|
||||
// BDA PmtProcessor Property Set
|
||||
//
|
||||
// {516B99C5-971C-4aaf-B3F3-D9FDA8A15E16}
|
||||
//
|
||||
|
||||
typedef struct _BDA_PMT
|
||||
{
|
||||
ULONG ulTableID;
|
||||
ULONG ulcbSectionLength;
|
||||
ULONG argbSectionData[MIN_DIMENSION];
|
||||
} BDA_PMT, *PBDA_PMT;
|
||||
|
||||
//------------------------------------------------------------
|
||||
//
|
||||
//
|
||||
// BDA Descriptor Property Set
|
||||
//
|
||||
// {DE6A1C9E-87DF-48aa-95AA-289B7AA4F49F}
|
||||
//
|
||||
|
||||
typedef struct _BDA_CAT_DESCRIPTOR
|
||||
{
|
||||
ULONG ulTag;
|
||||
ULONG ulcbLength;
|
||||
ULONG argbData[MIN_DIMENSION];
|
||||
} BDA_CAT_DESCRIPTOR, *PBDA_CAT_DESCRIPTOR;
|
||||
|
||||
typedef struct _BDA_ES_DESCRIPTOR
|
||||
{
|
||||
ULONG ulProgramNum;
|
||||
ULONG ulContentPID;
|
||||
ULONG ulTag;
|
||||
ULONG ulcbLength;
|
||||
ULONG argbData[MIN_DIMENSION];
|
||||
} BDA_ES_DESCRIPTOR, *PBDA_ES_DESCRIPTOR;
|
||||
|
||||
typedef struct _BDA_PROGRAM_DESCRIPTOR
|
||||
{
|
||||
ULONG ulProgramNum;
|
||||
ULONG ulTag;
|
||||
ULONG ulcbLength;
|
||||
ULONG argbData[MIN_DIMENSION];
|
||||
} BDA_PROGRAM_DESCRIPTOR, *PBDA_PROGRAM_DESCRIPTOR;
|
||||
|
||||
|
||||
//------------------------------------------------------------
|
||||
//
|
||||
//
|
||||
// BDA EsMap Property Set
|
||||
//
|
||||
// {FA14A8B3-6068-48ef-96DD-53010B985A7D}
|
||||
//
|
||||
|
||||
typedef enum
|
||||
{
|
||||
ES_MAP_STATE_GOOD_FLOW = 0,
|
||||
ES_MAP_STATE_NO_CONTENT,
|
||||
ES_MAP_STATE_NO_ECM,
|
||||
ES_MAP_STATE_BAD_MAP
|
||||
} BDA_ES_MAP_STATE, *PBDA_ES_MAP_STATE;
|
||||
|
||||
typedef struct _BDA_ES_MAP
|
||||
{
|
||||
ULONG ulContentPID;
|
||||
ULONG ulProgramNum;
|
||||
ULONG ulStreamType;
|
||||
BDA_ES_MAP_STATE mapState;
|
||||
} BDA_ES_MAP, *PBDA_ES_MAP;
|
||||
|
||||
|
||||
//------------------------------------------------------------
|
||||
//
|
||||
//
|
||||
// BDA PID Filter Property Set
|
||||
//
|
||||
// {D0A67D65-08DF-4fec-8533-E5B550410B85}
|
||||
//
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
// From IEnumPIDMap interface
|
||||
//---------------------------------------------------------------------
|
||||
|
||||
typedef enum {
|
||||
MEDIA_TRANSPORT_PACKET, // complete TS packet e.g. pass-through mode
|
||||
MEDIA_ELEMENTARY_STREAM, // PES payloads; audio/video only
|
||||
MEDIA_MPEG2_PSI, // PAT, PMT, CAT, Private
|
||||
MEDIA_TRANSPORT_PAYLOAD // gathered TS packet payloads (PES packets, etc...)
|
||||
} MEDIA_SAMPLE_CONTENT ;
|
||||
|
||||
typedef struct {
|
||||
ULONG ulPID ;
|
||||
MEDIA_SAMPLE_CONTENT MediaSampleContent ;
|
||||
} PID_MAP ;
|
||||
|
||||
typedef struct _BDA_PID_MAP
|
||||
{
|
||||
MEDIA_SAMPLE_CONTENT MediaSampleContent;
|
||||
ULONG ulcPIDs;
|
||||
ULONG aulPIDs[MIN_DIMENSION];
|
||||
} BDA_PID_MAP, *PBDA_PID_MAP;
|
||||
|
||||
typedef struct _BDA_PID_UNMAP
|
||||
{
|
||||
ULONG ulcPIDs;
|
||||
ULONG aulPIDs[MIN_DIMENSION];
|
||||
} BDA_PID_UNMAP, *PBDA_PID_UNMAP;
|
||||
|
||||
|
||||
//------------------------------------------------------------
|
||||
//
|
||||
//
|
||||
// BDA CA Property Set
|
||||
//
|
||||
// {B0693766-5278-4ec6-B9E1-3CE40560EF5A}
|
||||
//
|
||||
typedef struct _BDA_CA_MODULE_UI
|
||||
{
|
||||
ULONG ulFormat;
|
||||
ULONG ulbcDesc;
|
||||
ULONG ulDesc[MIN_DIMENSION];
|
||||
} BDA_CA_MODULE_UI, *PBDA_CA_MODULE_UI;
|
||||
|
||||
|
||||
//------------------------------------------------------------
|
||||
//
|
||||
//
|
||||
// BDA CA Event Set
|
||||
//
|
||||
// {488C4CCC-B768-4129-8EB1-B00A071F9068}
|
||||
//
|
||||
|
||||
|
||||
|
||||
//=============================================================
|
||||
//
|
||||
//
|
||||
// BDA Tuning Model enumerations
|
||||
//
|
||||
//
|
||||
//=============================================================
|
||||
|
||||
// system type for particular DVB Tuning Space instance
|
||||
typedef enum DVBSystemType {
|
||||
DVB_Cable,
|
||||
DVB_Terrestrial,
|
||||
DVB_Satellite,
|
||||
} DVBSystemType;
|
||||
|
||||
//------------------------------------------------------------
|
||||
//
|
||||
// BDA Channel Tune Request
|
||||
|
||||
V1_ENUM enum {
|
||||
BDA_UNDEFINED_CHANNEL = -1,
|
||||
};
|
||||
|
||||
|
||||
//------------------------------------------------------------
|
||||
//
|
||||
// BDA Component(substream)
|
||||
//
|
||||
|
||||
typedef V1_ENUM enum ComponentCategory
|
||||
{
|
||||
CategoryNotSet = -1,
|
||||
CategoryOther = 0,
|
||||
CategoryVideo,
|
||||
CategoryAudio,
|
||||
CategoryText,
|
||||
CategoryData,
|
||||
} ComponentCategory;
|
||||
|
||||
// Component Status
|
||||
typedef enum ComponentStatus
|
||||
{
|
||||
StatusActive,
|
||||
StatusInactive,
|
||||
StatusUnavailable,
|
||||
} ComponentStatus;
|
||||
|
||||
|
||||
//------------------------------------------------------------
|
||||
//
|
||||
// BDA MPEG2 Component Type
|
||||
//
|
||||
// from the MPEG2 specification
|
||||
typedef V1_ENUM enum MPEG2StreamType {
|
||||
BDA_UNITIALIZED_MPEG2STREAMTYPE = -1,
|
||||
Reserved1 = 0x0,
|
||||
ISO_IEC_11172_2_VIDEO = Reserved1 + 1,
|
||||
ISO_IEC_13818_2_VIDEO = ISO_IEC_11172_2_VIDEO + 1,
|
||||
ISO_IEC_11172_3_AUDIO = ISO_IEC_13818_2_VIDEO + 1,
|
||||
ISO_IEC_13818_3_AUDIO = ISO_IEC_11172_3_AUDIO + 1,
|
||||
ISO_IEC_13818_1_PRIVATE_SECTION = ISO_IEC_13818_3_AUDIO + 1,
|
||||
ISO_IEC_13818_1_PES = ISO_IEC_13818_1_PRIVATE_SECTION + 1,
|
||||
ISO_IEC_13522_MHEG = ISO_IEC_13818_1_PES + 1,
|
||||
ANNEX_A_DSM_CC = ISO_IEC_13522_MHEG + 1,
|
||||
ITU_T_REC_H_222_1 = ANNEX_A_DSM_CC + 1,
|
||||
ISO_IEC_13818_6_TYPE_A = ITU_T_REC_H_222_1 + 1,
|
||||
ISO_IEC_13818_6_TYPE_B = ISO_IEC_13818_6_TYPE_A + 1,
|
||||
ISO_IEC_13818_6_TYPE_C = ISO_IEC_13818_6_TYPE_B + 1,
|
||||
ISO_IEC_13818_6_TYPE_D = ISO_IEC_13818_6_TYPE_C + 1,
|
||||
ISO_IEC_13818_1_AUXILIARY = ISO_IEC_13818_6_TYPE_D + 1,
|
||||
ISO_IEC_13818_1_RESERVED = ISO_IEC_13818_1_AUXILIARY + 1,
|
||||
USER_PRIVATE = ISO_IEC_13818_1_RESERVED + 1
|
||||
} MPEG2StreamType;
|
||||
|
||||
|
||||
//------------------------------------------------------------
|
||||
//
|
||||
// BDA ATSC Component Type
|
||||
//
|
||||
//
|
||||
// ATSC made AC3 Audio a descriptor instead of
|
||||
// defining a user private stream type.
|
||||
typedef enum ATSCComponentTypeFlags {
|
||||
// bit flags for various component type properties
|
||||
ATSCCT_AC3 = 0x00000001,
|
||||
} ATSCComponentTypeFlags;
|
||||
|
||||
|
||||
//------------------------------------------------------------
|
||||
//
|
||||
// BDA Locators
|
||||
//
|
||||
|
||||
|
||||
typedef V1_ENUM enum BinaryConvolutionCodeRate {
|
||||
BDA_BCC_RATE_NOT_SET = -1,
|
||||
BDA_BCC_RATE_NOT_DEFINED = 0,
|
||||
BDA_BCC_RATE_1_2 = 1, // 1/2
|
||||
BDA_BCC_RATE_2_3, // 2/3
|
||||
BDA_BCC_RATE_3_4, // 3/4
|
||||
BDA_BCC_RATE_3_5,
|
||||
BDA_BCC_RATE_4_5,
|
||||
BDA_BCC_RATE_5_6, // 5/6
|
||||
BDA_BCC_RATE_5_11,
|
||||
BDA_BCC_RATE_7_8, // 7/8
|
||||
BDA_BCC_RATE_MAX,
|
||||
} BinaryConvolutionCodeRate;
|
||||
|
||||
typedef V1_ENUM enum FECMethod {
|
||||
BDA_FEC_METHOD_NOT_SET = -1,
|
||||
BDA_FEC_METHOD_NOT_DEFINED = 0,
|
||||
BDA_FEC_VITERBI = 1, // FEC is a Viterbi Binary Convolution.
|
||||
BDA_FEC_RS_204_188, // The FEC is Reed-Solomon 204/188 (outer FEC)
|
||||
BDA_FEC_MAX,
|
||||
} FECMethod;
|
||||
|
||||
typedef V1_ENUM enum ModulationType {
|
||||
BDA_MOD_NOT_SET = -1,
|
||||
BDA_MOD_NOT_DEFINED = 0,
|
||||
BDA_MOD_16QAM = 1,
|
||||
BDA_MOD_32QAM,
|
||||
BDA_MOD_64QAM,
|
||||
BDA_MOD_80QAM,
|
||||
BDA_MOD_96QAM,
|
||||
BDA_MOD_112QAM,
|
||||
BDA_MOD_128QAM,
|
||||
BDA_MOD_160QAM,
|
||||
BDA_MOD_192QAM,
|
||||
BDA_MOD_224QAM,
|
||||
BDA_MOD_256QAM,
|
||||
BDA_MOD_320QAM,
|
||||
BDA_MOD_384QAM,
|
||||
BDA_MOD_448QAM,
|
||||
BDA_MOD_512QAM,
|
||||
BDA_MOD_640QAM,
|
||||
BDA_MOD_768QAM,
|
||||
BDA_MOD_896QAM,
|
||||
BDA_MOD_1024QAM,
|
||||
BDA_MOD_QPSK,
|
||||
BDA_MOD_BPSK,
|
||||
BDA_MOD_OQPSK,
|
||||
BDA_MOD_8VSB,
|
||||
BDA_MOD_16VSB,
|
||||
BDA_MOD_ANALOG_AMPLITUDE, // std am
|
||||
BDA_MOD_ANALOG_FREQUENCY, // std fm
|
||||
BDA_MOD_MAX,
|
||||
} ModulationType;
|
||||
|
||||
typedef V1_ENUM enum SpectralInversion {
|
||||
BDA_SPECTRAL_INVERSION_NOT_SET = -1,
|
||||
BDA_SPECTRAL_INVERSION_NOT_DEFINED = 0,
|
||||
BDA_SPECTRAL_INVERSION_AUTOMATIC = 1,
|
||||
BDA_SPECTRAL_INVERSION_NORMAL,
|
||||
BDA_SPECTRAL_INVERSION_INVERTED,
|
||||
BDA_SPECTRAL_INVERSION_MAX
|
||||
} SpectralInversion;
|
||||
|
||||
typedef V1_ENUM enum Polarisation {
|
||||
BDA_POLARISATION_NOT_SET = -1,
|
||||
BDA_POLARISATION_NOT_DEFINED = 0,
|
||||
BDA_POLARISATION_LINEAR_H = 1, // Linear horizontal polarisation
|
||||
BDA_POLARISATION_LINEAR_V, // Linear vertical polarisation
|
||||
BDA_POLARISATION_CIRCULAR_L, // Circular left polarisation
|
||||
BDA_POLARISATION_CIRCULAR_R, // Circular right polarisation
|
||||
BDA_POLARISATION_MAX,
|
||||
} Polarisation;
|
||||
|
||||
typedef V1_ENUM enum GuardInterval {
|
||||
BDA_GUARD_NOT_SET = -1,
|
||||
BDA_GUARD_NOT_DEFINED = 0,
|
||||
BDA_GUARD_1_32 = 1, // Guard interval is 1/32
|
||||
BDA_GUARD_1_16, // Guard interval is 1/16
|
||||
BDA_GUARD_1_8, // Guard interval is 1/8
|
||||
BDA_GUARD_1_4, // Guard interval is 1/4
|
||||
BDA_GUARD_MAX,
|
||||
} GuardInterval;
|
||||
|
||||
typedef V1_ENUM enum HierarchyAlpha {
|
||||
BDA_HALPHA_NOT_SET = -1,
|
||||
BDA_HALPHA_NOT_DEFINED = 0,
|
||||
BDA_HALPHA_1 = 1, // Hierarchy alpha is 1.
|
||||
BDA_HALPHA_2, // Hierarchy alpha is 2.
|
||||
BDA_HALPHA_4, // Hierarchy alpha is 4.
|
||||
BDA_HALPHA_MAX,
|
||||
} HierarchyAlpha;
|
||||
|
||||
typedef V1_ENUM enum TransmissionMode {
|
||||
BDA_XMIT_MODE_NOT_SET = -1,
|
||||
BDA_XMIT_MODE_NOT_DEFINED = 0,
|
||||
BDA_XMIT_MODE_2K = 1, // Transmission uses 1705 carriers (use a 2K FFT)
|
||||
BDA_XMIT_MODE_8K, // Transmission uses 6817 carriers (use an 8K FFT)
|
||||
BDA_XMIT_MODE_MAX,
|
||||
} TransmissionMode;
|
||||
|
||||
|
||||
|
||||
#endif // DirectX 8.0 content
|
||||
|
||||
|
||||
#endif // not defined _BDATYPES_
|
||||
|
||||
// end of file -- bdatypes.h
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
// Desc: This header file is to provide a migration path for users of
|
||||
// ActiveMovie betas 1 and 2.
|
||||
//
|
||||
// Copyright (c) 1992 - 2000, Microsoft Corporation. All rights reserved.
|
||||
// Copyright (c) 1992-2001, Microsoft Corporation. All rights reserved.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
|
|
@ -4,10 +4,10 @@
|
|||
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
|
||||
|
||||
|
||||
/* File created by MIDL compiler version 6.00.0338 */
|
||||
/* File created by MIDL compiler version 6.00.0347 */
|
||||
/* Compiler settings for control.odl:
|
||||
Oicf, W0, Zp8, env=Win32 (32b run)
|
||||
protocol : dce , ms_ext, c_ext
|
||||
protocol : dce , ms_ext, c_ext, robust
|
||||
error checks: allocation ref bounds_check enum stub_data
|
||||
VC __declspec() decoration level:
|
||||
__declspec(uuid()), __declspec(selectany), __declspec(novtable)
|
||||
|
@ -18,12 +18,17 @@
|
|||
|
||||
/* verify that the <rpcndr.h> version is high enough to compile this file*/
|
||||
#ifndef __REQUIRED_RPCNDR_H_VERSION__
|
||||
#define __REQUIRED_RPCNDR_H_VERSION__ 440
|
||||
#define __REQUIRED_RPCNDR_H_VERSION__ 475
|
||||
#endif
|
||||
|
||||
#include "rpc.h"
|
||||
#include "rpcndr.h"
|
||||
|
||||
#ifndef __RPCNDR_H_VERSION__
|
||||
#error this stub requires an updated version of <rpcndr.h>
|
||||
#endif // __RPCNDR_H_VERSION__
|
||||
|
||||
|
||||
#ifndef __control_h__
|
||||
#define __control_h__
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
/*==========================================================================;
|
||||
*
|
||||
* Copyright (C) Microsoft Corporation. All Rights Reserved.
|
||||
*
|
||||
* File: d3d.h
|
||||
* Content: Direct3D include file
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
/*==========================================================================;
|
||||
*
|
||||
* Copyright (C) Microsoft Corporation. All Rights Reserved.
|
||||
*
|
||||
* File: d3d8.h
|
||||
* Content: Direct3D include file
|
||||
|
@ -23,7 +24,7 @@
|
|||
* to be rebuilt. If the version doesn't match, Direct3DCreate8 will fail.
|
||||
* (The number itself has no meaning.)*/
|
||||
|
||||
#define D3D_SDK_VERSION 120
|
||||
#define D3D_SDK_VERSION 220
|
||||
|
||||
|
||||
#include <stdlib.h>
|
||||
|
@ -1183,6 +1184,8 @@ typedef struct IDirect3DVolume8 *LPDIRECT3DVOLUME8, *PDIRECT3DVOLUME8;
|
|||
#define D3DCREATE_HARDWARE_VERTEXPROCESSING 0x00000040L
|
||||
#define D3DCREATE_MIXED_VERTEXPROCESSING 0x00000080L
|
||||
|
||||
#define D3DCREATE_DISABLE_DRIVER_MANAGEMENT 0x00000100L
|
||||
|
||||
|
||||
/****************************************************************************
|
||||
*
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*==========================================================================;
|
||||
*
|
||||
* Copyright (C) 1995-2000 Microsoft Corporation. All Rights Reserved.
|
||||
* Copyright (C) Microsoft Corporation. All Rights Reserved.
|
||||
*
|
||||
* File: d3d8caps.h
|
||||
* Content: Direct3D capabilities include file
|
||||
|
@ -112,12 +112,19 @@ typedef struct _D3DCAPS8
|
|||
#define D3DCAPS2_CANRENDERWINDOWED 0x00080000L
|
||||
#define D3DCAPS2_CANCALIBRATEGAMMA 0x00100000L
|
||||
#define D3DCAPS2_RESERVED 0x02000000L
|
||||
#define D3DCAPS2_CANMANAGERESOURCE 0x10000000L
|
||||
#define D3DCAPS2_DYNAMICTEXTURES 0x20000000L
|
||||
|
||||
//
|
||||
// Caps3
|
||||
//
|
||||
#define D3DCAPS3_RESERVED 0x8000001fL
|
||||
|
||||
// Indicates that the device can respect the ALPHABLENDENABLE render state
|
||||
// when fullscreen while using the FLIP or DISCARD swap effect.
|
||||
// COPY and COPYVSYNC swap effects work whether or not this flag is set.
|
||||
#define D3DCAPS3_ALPHA_FULLSCREEN_FLIP_OR_DISCARD 0x00000020L
|
||||
|
||||
//
|
||||
// PresentationIntervals
|
||||
//
|
||||
|
@ -173,6 +180,7 @@ typedef struct _D3DCAPS8
|
|||
#define D3DPMISCCAPS_CLIPTLVERTS 0x00000200L /* device will clip post-transformed vertex primitives */
|
||||
#define D3DPMISCCAPS_TSSARGTEMP 0x00000400L /* device supports D3DTA_TEMP for temporary register */
|
||||
#define D3DPMISCCAPS_BLENDOP 0x00000800L /* device supports D3DRS_BLENDOP */
|
||||
#define D3DPMISCCAPS_NULLREFERENCE 0x00001000L /* Reference Device that doesnt render */
|
||||
|
||||
//
|
||||
// LineCaps
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*==========================================================================;
|
||||
*
|
||||
* Copyright (C) 1995-2000 Microsoft Corporation. All Rights Reserved.
|
||||
* Copyright (C) Microsoft Corporation. All Rights Reserved.
|
||||
*
|
||||
* File: d3d8types.h
|
||||
* Content: Direct3D capabilities include file
|
||||
|
@ -126,18 +126,18 @@ typedef struct _D3DVIEWPORT8 {
|
|||
#define D3DCS_PLANE4 0x00000400L
|
||||
#define D3DCS_PLANE5 0x00000800L
|
||||
|
||||
#define D3DCS_ALL D3DCS_LEFT | \
|
||||
D3DCS_RIGHT | \
|
||||
D3DCS_TOP | \
|
||||
D3DCS_BOTTOM | \
|
||||
D3DCS_FRONT | \
|
||||
D3DCS_BACK | \
|
||||
D3DCS_PLANE0 | \
|
||||
D3DCS_PLANE1 | \
|
||||
D3DCS_PLANE2 | \
|
||||
D3DCS_PLANE3 | \
|
||||
D3DCS_PLANE4 | \
|
||||
D3DCS_PLANE5;
|
||||
#define D3DCS_ALL (D3DCS_LEFT | \
|
||||
D3DCS_RIGHT | \
|
||||
D3DCS_TOP | \
|
||||
D3DCS_BOTTOM | \
|
||||
D3DCS_FRONT | \
|
||||
D3DCS_BACK | \
|
||||
D3DCS_PLANE0 | \
|
||||
D3DCS_PLANE1 | \
|
||||
D3DCS_PLANE2 | \
|
||||
D3DCS_PLANE3 | \
|
||||
D3DCS_PLANE4 | \
|
||||
D3DCS_PLANE5)
|
||||
|
||||
typedef struct _D3DCLIPSTATUS8 {
|
||||
DWORD ClipUnion;
|
||||
|
@ -319,7 +319,7 @@ typedef enum _D3DTRANSFORMSTATETYPE {
|
|||
|
||||
typedef enum _D3DRENDERSTATETYPE {
|
||||
D3DRS_ZENABLE = 7, /* D3DZBUFFERTYPE (or TRUE/FALSE for legacy) */
|
||||
D3DRS_FILLMODE = 8, /* D3DFILL_MODE */
|
||||
D3DRS_FILLMODE = 8, /* D3DFILLMODE */
|
||||
D3DRS_SHADEMODE = 9, /* D3DSHADEMODE */
|
||||
D3DRS_LINEPATTERN = 10, /* D3DLINEPATTERN */
|
||||
D3DRS_ZWRITEENABLE = 14, /* TRUE to enable z writes */
|
||||
|
@ -392,6 +392,8 @@ typedef enum _D3DRENDERSTATETYPE {
|
|||
D3DRS_COLORWRITEENABLE = 168, // per-channel write enable
|
||||
D3DRS_TWEENFACTOR = 170, // float tween factor
|
||||
D3DRS_BLENDOP = 171, // D3DBLENDOP setting
|
||||
D3DRS_POSITIONORDER = 172, // NPatch position interpolation order. D3DORDER_LINEAR or D3DORDER_CUBIC (default)
|
||||
D3DRS_NORMALORDER = 173, // NPatch normal interpolation order. D3DORDER_LINEAR (default) or D3DORDER_QUADRATIC
|
||||
|
||||
D3DRS_FORCE_DWORD = 0x7fffffff, /* force 32-bit size enum */
|
||||
} D3DRENDERSTATETYPE;
|
||||
|
@ -471,7 +473,7 @@ typedef enum _D3DTEXTURESTAGESTATETYPE
|
|||
|
||||
/*
|
||||
* Enumerations for COLOROP and ALPHAOP texture blending operations set in
|
||||
* texture processing stage controls in D3DRENDERSTATE.
|
||||
* texture processing stage controls in D3DTSS.
|
||||
*/
|
||||
typedef enum _D3DTEXTUREOP
|
||||
{
|
||||
|
@ -497,7 +499,7 @@ typedef enum _D3DTEXTUREOP
|
|||
// Linear alpha blend: Arg1*(Alpha) + Arg2*(1-Alpha)
|
||||
D3DTOP_BLENDDIFFUSEALPHA = 12, // iterated alpha
|
||||
D3DTOP_BLENDTEXTUREALPHA = 13, // texture alpha
|
||||
D3DTOP_BLENDFACTORALPHA = 14, // alpha from D3DRENDERSTATE_TEXTUREFACTOR
|
||||
D3DTOP_BLENDFACTORALPHA = 14, // alpha from D3DRS_TEXTUREFACTOR
|
||||
|
||||
// Linear alpha blend with pre-multiplied arg1 input: Arg1 + Arg2*(1-Alpha)
|
||||
D3DTOP_BLENDTEXTUREALPHAPM = 15, // texture alpha
|
||||
|
@ -540,7 +542,7 @@ typedef enum _D3DTEXTUREOP
|
|||
#define D3DTA_DIFFUSE 0x00000000 // select diffuse color (read only)
|
||||
#define D3DTA_CURRENT 0x00000001 // select stage destination register (read/write)
|
||||
#define D3DTA_TEXTURE 0x00000002 // select texture color (read only)
|
||||
#define D3DTA_TFACTOR 0x00000003 // select RENDERSTATE_TEXTUREFACTOR (read only)
|
||||
#define D3DTA_TFACTOR 0x00000003 // select D3DRS_TEXTUREFACTOR (read only)
|
||||
#define D3DTA_SPECULAR 0x00000004 // select specular color (read only)
|
||||
#define D3DTA_TEMP 0x00000005 // select temporary register color (read/write)
|
||||
#define D3DTA_COMPLEMENT 0x00000010 // take 1.0 - x (read modifier)
|
||||
|
@ -914,6 +916,16 @@ typedef enum _D3DSHADER_INSTRUCTION_OPCODE_TYPE
|
|||
D3DSIO_LOGP , // VS
|
||||
D3DSIO_CND , // PS
|
||||
D3DSIO_DEF , // PS
|
||||
D3DSIO_TEXREG2RGB , // PS
|
||||
D3DSIO_TEXDP3TEX , // PS
|
||||
D3DSIO_TEXM3x2DEPTH , // PS
|
||||
D3DSIO_TEXDP3 , // PS
|
||||
D3DSIO_TEXM3x3 , // PS
|
||||
D3DSIO_TEXDEPTH , // PS
|
||||
D3DSIO_CMP , // PS
|
||||
D3DSIO_BEM , // PS
|
||||
|
||||
D3DSIO_PHASE = 0xFFFD,
|
||||
D3DSIO_COMMENT = 0xFFFE,
|
||||
D3DSIO_END = 0xFFFF,
|
||||
|
||||
|
@ -930,7 +942,7 @@ typedef enum _D3DSHADER_INSTRUCTION_OPCODE_TYPE
|
|||
//
|
||||
// Parameter Token Bit Definitions
|
||||
//
|
||||
#define D3DSP_REGNUM_MASK 0x00000FFF
|
||||
#define D3DSP_REGNUM_MASK 0x00001FFF
|
||||
|
||||
// destination parameter write mask
|
||||
#define D3DSP_WRITEMASK_0 0x00010000 // Component 0 (X;Red)
|
||||
|
@ -998,28 +1010,28 @@ typedef enum _D3DVS_ADDRESSMODE_TYPE
|
|||
#define D3DVS_SWIZZLE_SHIFT 16
|
||||
#define D3DVS_SWIZZLE_MASK 0x00FF0000
|
||||
|
||||
// The following bits define where to take component X:
|
||||
// The following bits define where to take component X from:
|
||||
|
||||
#define D3DVS_X_X (0 << D3DVS_SWIZZLE_SHIFT)
|
||||
#define D3DVS_X_Y (1 << D3DVS_SWIZZLE_SHIFT)
|
||||
#define D3DVS_X_Z (2 << D3DVS_SWIZZLE_SHIFT)
|
||||
#define D3DVS_X_W (3 << D3DVS_SWIZZLE_SHIFT)
|
||||
|
||||
// The following bits define where to take component Y:
|
||||
// The following bits define where to take component Y from:
|
||||
|
||||
#define D3DVS_Y_X (0 << (D3DVS_SWIZZLE_SHIFT + 2))
|
||||
#define D3DVS_Y_Y (1 << (D3DVS_SWIZZLE_SHIFT + 2))
|
||||
#define D3DVS_Y_Z (2 << (D3DVS_SWIZZLE_SHIFT + 2))
|
||||
#define D3DVS_Y_W (3 << (D3DVS_SWIZZLE_SHIFT + 2))
|
||||
|
||||
// The following bits define where to take component Z:
|
||||
// The following bits define where to take component Z from:
|
||||
|
||||
#define D3DVS_Z_X (0 << (D3DVS_SWIZZLE_SHIFT + 4))
|
||||
#define D3DVS_Z_Y (1 << (D3DVS_SWIZZLE_SHIFT + 4))
|
||||
#define D3DVS_Z_Z (2 << (D3DVS_SWIZZLE_SHIFT + 4))
|
||||
#define D3DVS_Z_W (3 << (D3DVS_SWIZZLE_SHIFT + 4))
|
||||
|
||||
// The following bits define where to take component W:
|
||||
// The following bits define where to take component W from:
|
||||
|
||||
#define D3DVS_W_X (0 << (D3DVS_SWIZZLE_SHIFT + 6))
|
||||
#define D3DVS_W_Y (1 << (D3DVS_SWIZZLE_SHIFT + 6))
|
||||
|
@ -1042,6 +1054,24 @@ typedef enum _D3DVS_ADDRESSMODE_TYPE
|
|||
(3 << (D3DSP_SWIZZLE_SHIFT + 6)) )
|
||||
|
||||
// pixel-shader swizzle ops
|
||||
#define D3DSP_REPLICATERED \
|
||||
( (0 << (D3DSP_SWIZZLE_SHIFT + 0)) | \
|
||||
(0 << (D3DSP_SWIZZLE_SHIFT + 2)) | \
|
||||
(0 << (D3DSP_SWIZZLE_SHIFT + 4)) | \
|
||||
(0 << (D3DSP_SWIZZLE_SHIFT + 6)) )
|
||||
|
||||
#define D3DSP_REPLICATEGREEN \
|
||||
( (1 << (D3DSP_SWIZZLE_SHIFT + 0)) | \
|
||||
(1 << (D3DSP_SWIZZLE_SHIFT + 2)) | \
|
||||
(1 << (D3DSP_SWIZZLE_SHIFT + 4)) | \
|
||||
(1 << (D3DSP_SWIZZLE_SHIFT + 6)) )
|
||||
|
||||
#define D3DSP_REPLICATEBLUE \
|
||||
( (2 << (D3DSP_SWIZZLE_SHIFT + 0)) | \
|
||||
(2 << (D3DSP_SWIZZLE_SHIFT + 2)) | \
|
||||
(2 << (D3DSP_SWIZZLE_SHIFT + 4)) | \
|
||||
(2 << (D3DSP_SWIZZLE_SHIFT + 6)) )
|
||||
|
||||
#define D3DSP_REPLICATEALPHA \
|
||||
( (3 << (D3DSP_SWIZZLE_SHIFT + 0)) | \
|
||||
(3 << (D3DSP_SWIZZLE_SHIFT + 2)) | \
|
||||
|
@ -1061,6 +1091,10 @@ typedef enum _D3DSHADER_PARAM_SRCMOD_TYPE
|
|||
D3DSPSM_SIGN = 4<<D3DSP_SRCMOD_SHIFT, // sign
|
||||
D3DSPSM_SIGNNEG = 5<<D3DSP_SRCMOD_SHIFT, // sign and negate
|
||||
D3DSPSM_COMP = 6<<D3DSP_SRCMOD_SHIFT, // complement
|
||||
D3DSPSM_X2 = 7<<D3DSP_SRCMOD_SHIFT, // *2
|
||||
D3DSPSM_X2NEG = 8<<D3DSP_SRCMOD_SHIFT, // *2 and negate
|
||||
D3DSPSM_DZ = 9<<D3DSP_SRCMOD_SHIFT, // divide through by z component
|
||||
D3DSPSM_DW = 10<<D3DSP_SRCMOD_SHIFT, // divide through by w component
|
||||
D3DSPSM_FORCE_DWORD = 0x7fffffff, // force 32-bit size enum
|
||||
} D3DSHADER_PARAM_SRCMOD_TYPE;
|
||||
|
||||
|
@ -1099,6 +1133,7 @@ typedef enum _D3DBASISTYPE
|
|||
typedef enum _D3DORDERTYPE
|
||||
{
|
||||
D3DORDER_LINEAR = 1,
|
||||
D3DORDER_QUADRATIC = 2,
|
||||
D3DORDER_CUBIC = 3,
|
||||
D3DORDER_QUINTIC = 5,
|
||||
D3DORDER_FORCE_DWORD = 0x7fffffff,
|
||||
|
@ -1240,6 +1275,8 @@ typedef enum _D3DFORMAT
|
|||
D3DFMT_A8 = 28,
|
||||
D3DFMT_A8R3G3B2 = 29,
|
||||
D3DFMT_X4R4G4B4 = 30,
|
||||
D3DFMT_A2B10G10R10 = 31,
|
||||
D3DFMT_G16R16 = 34,
|
||||
|
||||
D3DFMT_A8P8 = 40,
|
||||
D3DFMT_P8 = 41,
|
||||
|
@ -1254,6 +1291,7 @@ typedef enum _D3DFORMAT
|
|||
D3DFMT_Q8W8V8U8 = 63,
|
||||
D3DFMT_V16U16 = 64,
|
||||
D3DFMT_W11V11U10 = 65,
|
||||
D3DFMT_A2W10V10U10 = 67,
|
||||
|
||||
D3DFMT_UYVY = MAKEFOURCC('U', 'Y', 'V', 'Y'),
|
||||
D3DFMT_YUY2 = MAKEFOURCC('Y', 'U', 'Y', '2'),
|
||||
|
@ -1314,6 +1352,7 @@ typedef enum _D3DPOOL {
|
|||
D3DPOOL_DEFAULT = 0,
|
||||
D3DPOOL_MANAGED = 1,
|
||||
D3DPOOL_SYSTEMMEM = 2,
|
||||
D3DPOOL_SCRATCH = 3,
|
||||
|
||||
D3DPOOL_FORCE_DWORD = 0x7fffffff
|
||||
} D3DPOOL;
|
||||
|
@ -1592,6 +1631,42 @@ typedef enum _D3DDEBUGMONITORTOKENS {
|
|||
D3DDMT_FORCE_DWORD = 0x7fffffff,
|
||||
} D3DDEBUGMONITORTOKENS;
|
||||
|
||||
// GetInfo IDs
|
||||
|
||||
#define D3DDEVINFOID_RESOURCEMANAGER 5 /* Used with D3DDEVINFO_RESOURCEMANAGER */
|
||||
#define D3DDEVINFOID_VERTEXSTATS 6 /* Used with D3DDEVINFO_D3DVERTEXSTATS */
|
||||
|
||||
typedef struct _D3DRESOURCESTATS
|
||||
{
|
||||
// Data collected since last Present()
|
||||
BOOL bThrashing; /* indicates if thrashing */
|
||||
DWORD ApproxBytesDownloaded; /* Approximate number of bytes downloaded by resource manager */
|
||||
DWORD NumEvicts; /* number of objects evicted */
|
||||
DWORD NumVidCreates; /* number of objects created in video memory */
|
||||
DWORD LastPri; /* priority of last object evicted */
|
||||
DWORD NumUsed; /* number of objects set to the device */
|
||||
DWORD NumUsedInVidMem; /* number of objects set to the device, which are already in video memory */
|
||||
// Persistent data
|
||||
DWORD WorkingSet; /* number of objects in video memory */
|
||||
DWORD WorkingSetBytes; /* number of bytes in video memory */
|
||||
DWORD TotalManaged; /* total number of managed objects */
|
||||
DWORD TotalBytes; /* total number of bytes of managed objects */
|
||||
} D3DRESOURCESTATS;
|
||||
|
||||
#define D3DRTYPECOUNT (D3DRTYPE_INDEXBUFFER+1)
|
||||
|
||||
typedef struct _D3DDEVINFO_RESOURCEMANAGER
|
||||
{
|
||||
D3DRESOURCESTATS stats[D3DRTYPECOUNT];
|
||||
} D3DDEVINFO_RESOURCEMANAGER, *LPD3DDEVINFO_RESOURCEMANAGER;
|
||||
|
||||
typedef struct _D3DDEVINFO_D3DVERTEXSTATS
|
||||
{
|
||||
DWORD NumRenderedTriangles; /* total number of triangles that are not clipped in this frame */
|
||||
DWORD NumExtraClippingTriangles; /* Number of new triangles generated by clipping */
|
||||
} D3DDEVINFO_D3DVERTEXSTATS, *LPD3DDEVINFO_D3DVERTEXSTATS;
|
||||
|
||||
|
||||
#pragma pack()
|
||||
#pragma warning(default:4201)
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
/*==========================================================================;
|
||||
*
|
||||
* Copyright (C) Microsoft Corporation. All Rights Reserved.
|
||||
*
|
||||
* File: d3dcaps.h
|
||||
* Content: Direct3D capabilities include file
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*==========================================================================;
|
||||
*
|
||||
* Copyright (C) 1995-1998 Microsoft Corporation. All Rights Reserved.
|
||||
* Copyright (C) Microsoft Corporation. All Rights Reserved.
|
||||
*
|
||||
* File: d3dtypes.h
|
||||
* Content: Direct3D types include file
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
* *
|
||||
* Float-valued 3D vector class for Direct3D. *
|
||||
* *
|
||||
* Copyright (c) 1996-1998 Microsoft Corp. All rights reserved. *
|
||||
* Copyright (c) Microsoft Corp. All rights reserved. *
|
||||
* *
|
||||
******************************************************************/
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
///////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 1999 Microsoft Corporation. All Rights Reserved.
|
||||
// Copyright (C) Microsoft Corporation. All Rights Reserved.
|
||||
//
|
||||
// File: d3dx.h
|
||||
// Content: D3DX utility library
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
///////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 1999 Microsoft Corporation. All Rights Reserved.
|
||||
// Copyright (C) Microsoft Corporation. All Rights Reserved.
|
||||
//
|
||||
// File: d3dx8.h
|
||||
// Content: D3DX utility library
|
||||
|
@ -10,17 +10,26 @@
|
|||
#ifndef __D3DX8_H__
|
||||
#define __D3DX8_H__
|
||||
|
||||
#include <d3d8.h>
|
||||
#include "d3d8.h"
|
||||
#include <limits.h>
|
||||
|
||||
#ifndef D3DXINLINE
|
||||
#ifdef __cplusplus
|
||||
#define D3DXINLINE inline
|
||||
#ifdef _MSC_VER
|
||||
#if (_MSC_VER >= 1200)
|
||||
#define D3DXINLINE __forceinline
|
||||
#else
|
||||
#define D3DXINLINE __inline
|
||||
#endif
|
||||
#else
|
||||
#define D3DXINLINE _inline
|
||||
#ifdef __cplusplus
|
||||
#define D3DXINLINE inline
|
||||
#else
|
||||
#define D3DXINLINE
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
#define D3DX_DEFAULT ULONG_MAX
|
||||
#define D3DX_DEFAULT_FLOAT FLT_MAX
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
///////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 1999 Microsoft Corporation. All Rights Reserved.
|
||||
// Copyright (C) Microsoft Corporation. All Rights Reserved.
|
||||
//
|
||||
// File: d3dx8core.h
|
||||
// Content: D3DX core types and functions
|
||||
|
@ -13,10 +13,17 @@
|
|||
#define __D3DX8CORE_H__
|
||||
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// ID3DXBuffer:
|
||||
// ------------
|
||||
// The buffer object is used to return arbitrary lenght data.
|
||||
// The buffer object is used by D3DX to return arbitrary size data.
|
||||
//
|
||||
// GetBufferPointer -
|
||||
// Returns a pointer to the beginning of the buffer.
|
||||
//
|
||||
// GetBufferSize -
|
||||
// Returns the size of the buffer, in bytes.
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
typedef interface ID3DXBuffer ID3DXBuffer;
|
||||
|
@ -26,6 +33,9 @@ typedef interface ID3DXBuffer *LPD3DXBUFFER;
|
|||
DEFINE_GUID(IID_ID3DXBuffer,
|
||||
0x932e6a7e, 0xc68e, 0x45dd, 0xa7, 0xbf, 0x53, 0xd1, 0x9c, 0x86, 0xdb, 0x1f);
|
||||
|
||||
#undef INTERFACE
|
||||
#define INTERFACE ID3DXBuffer
|
||||
|
||||
DECLARE_INTERFACE_(ID3DXBuffer, IUnknown)
|
||||
{
|
||||
// IUnknown
|
||||
|
@ -40,8 +50,6 @@ DECLARE_INTERFACE_(ID3DXBuffer, IUnknown)
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// ID3DXFont:
|
||||
// ----------
|
||||
|
@ -59,17 +67,26 @@ DECLARE_INTERFACE_(ID3DXBuffer, IUnknown)
|
|||
//
|
||||
// End -
|
||||
// Restores device state to how it was when Begin was called.
|
||||
//
|
||||
// OnLostDevice, OnResetDevice -
|
||||
// Call OnLostDevice() on this object before calling Reset() on the
|
||||
// device, so that this object can release any stateblocks and video
|
||||
// memory resources. After Reset(), the call OnResetDevice().
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
typedef interface ID3DXFont ID3DXFont;
|
||||
typedef interface ID3DXFont *LPD3DXFONT;
|
||||
|
||||
|
||||
// {2D501DF7-D253-4414-865F-A6D54A753138}
|
||||
DEFINE_GUID( IID_ID3DXFont,
|
||||
0x2d501df7, 0xd253, 0x4414, 0x86, 0x5f, 0xa6, 0xd5, 0x4a, 0x75, 0x31, 0x38);
|
||||
// {89FAD6A5-024D-49af-8FE7-F51123B85E25}
|
||||
DEFINE_GUID( IID_ID3DXFont,
|
||||
0x89fad6a5, 0x24d, 0x49af, 0x8f, 0xe7, 0xf5, 0x11, 0x23, 0xb8, 0x5e, 0x25);
|
||||
|
||||
|
||||
#undef INTERFACE
|
||||
#define INTERFACE ID3DXFont
|
||||
|
||||
DECLARE_INTERFACE_(ID3DXFont, IUnknown)
|
||||
{
|
||||
// IUnknown
|
||||
|
@ -82,11 +99,12 @@ DECLARE_INTERFACE_(ID3DXFont, IUnknown)
|
|||
STDMETHOD(GetLogFont)(THIS_ LOGFONT* pLogFont) PURE;
|
||||
|
||||
STDMETHOD(Begin)(THIS) PURE;
|
||||
|
||||
STDMETHOD_(INT, DrawTextA)(THIS_ LPCSTR pString, INT Count, LPRECT pRect, DWORD Format, D3DCOLOR Color) PURE;
|
||||
STDMETHOD_(INT, DrawTextW)(THIS_ LPCWSTR pString, INT Count, LPRECT pRect, DWORD Format, D3DCOLOR Color) PURE;
|
||||
|
||||
STDMETHOD(End)(THIS) PURE;
|
||||
|
||||
STDMETHOD(OnLostDevice)(THIS) PURE;
|
||||
STDMETHOD(OnResetDevice)(THIS) PURE;
|
||||
};
|
||||
|
||||
#ifndef DrawText
|
||||
|
@ -122,9 +140,6 @@ HRESULT WINAPI
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// ID3DXSprite:
|
||||
// ------------
|
||||
|
@ -133,24 +148,32 @@ HRESULT WINAPI
|
|||
// Begin -
|
||||
// Prepares device for drawing sprites
|
||||
//
|
||||
// Draw, DrawAffine, DrawTransform
|
||||
// Draw, DrawAffine, DrawTransform -
|
||||
// Draws a sprite in screen-space. Before transformation, the sprite is
|
||||
// the size of SrcRect, with its top-left corner at the origin (0,0).
|
||||
// The color and alpha channels are modulated by Color.
|
||||
//
|
||||
// End -
|
||||
// Restores device state to how it was when Begin was called.
|
||||
//
|
||||
// OnLostDevice, OnResetDevice -
|
||||
// Call OnLostDevice() on this object before calling Reset() on the
|
||||
// device, so that this object can release any stateblocks and video
|
||||
// memory resources. After Reset(), the call OnResetDevice().
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
typedef interface ID3DXSprite ID3DXSprite;
|
||||
typedef interface ID3DXSprite *LPD3DXSPRITE;
|
||||
|
||||
|
||||
// {E8691849-87B8-4929-9050-1B0542D5538C}
|
||||
// {13D69D15-F9B0-4e0f-B39E-C91EB33F6CE7}
|
||||
DEFINE_GUID( IID_ID3DXSprite,
|
||||
0xe8691849, 0x87b8, 0x4929, 0x90, 0x50, 0x1b, 0x5, 0x42, 0xd5, 0x53, 0x8c);
|
||||
0x13d69d15, 0xf9b0, 0x4e0f, 0xb3, 0x9e, 0xc9, 0x1e, 0xb3, 0x3f, 0x6c, 0xe7);
|
||||
|
||||
|
||||
#undef INTERFACE
|
||||
#define INTERFACE ID3DXSprite
|
||||
|
||||
DECLARE_INTERFACE_(ID3DXSprite, IUnknown)
|
||||
{
|
||||
// IUnknown
|
||||
|
@ -173,6 +196,9 @@ DECLARE_INTERFACE_(ID3DXSprite, IUnknown)
|
|||
D3DCOLOR Color) PURE;
|
||||
|
||||
STDMETHOD(End)(THIS) PURE;
|
||||
|
||||
STDMETHOD(OnLostDevice)(THIS) PURE;
|
||||
STDMETHOD(OnResetDevice)(THIS) PURE;
|
||||
};
|
||||
|
||||
|
||||
|
@ -193,13 +219,22 @@ HRESULT WINAPI
|
|||
|
||||
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// ID3DXRenderToSurface:
|
||||
// ---------------------
|
||||
// This object abstracts rendering to surfaces. These surfaces do not
|
||||
// necessarily need to be render targets. If they are not, a compatible
|
||||
// render target is used, and the result copied into surface at end scene.
|
||||
//
|
||||
// BeginScene, EndScene -
|
||||
// Call BeginScene() and EndScene() at the beginning and ending of your
|
||||
// scene. These calls will setup and restore render targets, viewports,
|
||||
// etc..
|
||||
//
|
||||
// OnLostDevice, OnResetDevice -
|
||||
// Call OnLostDevice() on this object before calling Reset() on the
|
||||
// device, so that this object can release any stateblocks and video
|
||||
// memory resources. After Reset(), the call OnResetDevice().
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
typedef struct _D3DXRTS_DESC
|
||||
|
@ -217,11 +252,14 @@ typedef interface ID3DXRenderToSurface ID3DXRenderToSurface;
|
|||
typedef interface ID3DXRenderToSurface *LPD3DXRENDERTOSURFACE;
|
||||
|
||||
|
||||
// {69CC587C-E40C-458d-B5D3-B029E18EB60A}
|
||||
// {82DF5B90-E34E-496e-AC1C-62117A6A5913}
|
||||
DEFINE_GUID( IID_ID3DXRenderToSurface,
|
||||
0x69cc587c, 0xe40c, 0x458d, 0xb5, 0xd3, 0xb0, 0x29, 0xe1, 0x8e, 0xb6, 0xa);
|
||||
0x82df5b90, 0xe34e, 0x496e, 0xac, 0x1c, 0x62, 0x11, 0x7a, 0x6a, 0x59, 0x13);
|
||||
|
||||
|
||||
#undef INTERFACE
|
||||
#define INTERFACE ID3DXRenderToSurface
|
||||
|
||||
DECLARE_INTERFACE_(ID3DXRenderToSurface, IUnknown)
|
||||
{
|
||||
// IUnknown
|
||||
|
@ -235,6 +273,9 @@ DECLARE_INTERFACE_(ID3DXRenderToSurface, IUnknown)
|
|||
|
||||
STDMETHOD(BeginScene)(THIS_ LPDIRECT3DSURFACE8 pSurface, CONST D3DVIEWPORT8* pViewport) PURE;
|
||||
STDMETHOD(EndScene)(THIS) PURE;
|
||||
|
||||
STDMETHOD(OnLostDevice)(THIS) PURE;
|
||||
STDMETHOD(OnResetDevice)(THIS) PURE;
|
||||
};
|
||||
|
||||
|
||||
|
@ -261,6 +302,29 @@ HRESULT WINAPI
|
|||
///////////////////////////////////////////////////////////////////////////
|
||||
// ID3DXRenderToEnvMap:
|
||||
// --------------------
|
||||
// This object abstracts rendering to environment maps. These surfaces
|
||||
// do not necessarily need to be render targets. If they are not, a
|
||||
// compatible render target is used, and the result copied into the
|
||||
// environment map at end scene.
|
||||
//
|
||||
// BeginCube, BeginSphere, BeginHemisphere, BeginParabolic -
|
||||
// This function initiates the rendering of the environment map. As
|
||||
// parameters, you pass the textures in which will get filled in with
|
||||
// the resulting environment map.
|
||||
//
|
||||
// Face -
|
||||
// Call this function to initiate the drawing of each face. For each
|
||||
// environment map, you will call this six times.. once for each face
|
||||
// in D3DCUBEMAP_FACES.
|
||||
//
|
||||
// End -
|
||||
// This will restore all render targets, and if needed compose all the
|
||||
// rendered faces into the environment map surfaces.
|
||||
//
|
||||
// OnLostDevice, OnResetDevice -
|
||||
// Call OnLostDevice() on this object before calling Reset() on the
|
||||
// device, so that this object can release any stateblocks and video
|
||||
// memory resources. After Reset(), the call OnResetDevice().
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
typedef struct _D3DXRTE_DESC
|
||||
|
@ -275,11 +339,14 @@ typedef struct _D3DXRTE_DESC
|
|||
typedef interface ID3DXRenderToEnvMap ID3DXRenderToEnvMap;
|
||||
typedef interface ID3DXRenderToEnvMap *LPD3DXRenderToEnvMap;
|
||||
|
||||
// {9F6779E5-60A9-4d8b-AEE4-32770F405DBA}
|
||||
// {4E42C623-9451-44b7-8C86-ABCCDE5D52C8}
|
||||
DEFINE_GUID( IID_ID3DXRenderToEnvMap,
|
||||
0x9f6779e5, 0x60a9, 0x4d8b, 0xae, 0xe4, 0x32, 0x77, 0xf, 0x40, 0x5d, 0xba);
|
||||
0x4e42c623, 0x9451, 0x44b7, 0x8c, 0x86, 0xab, 0xcc, 0xde, 0x5d, 0x52, 0xc8);
|
||||
|
||||
|
||||
#undef INTERFACE
|
||||
#define INTERFACE ID3DXRenderToEnvMap
|
||||
|
||||
DECLARE_INTERFACE_(ID3DXRenderToEnvMap, IUnknown)
|
||||
{
|
||||
// IUnknown
|
||||
|
@ -307,6 +374,9 @@ DECLARE_INTERFACE_(ID3DXRenderToEnvMap, IUnknown)
|
|||
|
||||
STDMETHOD(Face)(THIS_ D3DCUBEMAP_FACES Face) PURE;
|
||||
STDMETHOD(End)(THIS) PURE;
|
||||
|
||||
STDMETHOD(OnLostDevice)(THIS) PURE;
|
||||
STDMETHOD(OnResetDevice)(THIS) PURE;
|
||||
};
|
||||
|
||||
|
||||
|
@ -356,13 +426,17 @@ extern "C" {
|
|||
|
||||
//-------------------------------------------------------------------------
|
||||
// D3DXAssembleShader:
|
||||
// ------------------------
|
||||
// -------------------
|
||||
// Assembles an ascii description of a vertex or pixel shader into
|
||||
// binary form.
|
||||
//
|
||||
// Parameters:
|
||||
// pSrcFile
|
||||
// Source file name
|
||||
// hSrcModule
|
||||
// Module handle. if NULL, current module will be used.
|
||||
// pSrcResource
|
||||
// Resource name in module
|
||||
// pSrcData
|
||||
// Pointer to source code
|
||||
// SrcDataLen
|
||||
|
@ -399,6 +473,30 @@ HRESULT WINAPI
|
|||
#define D3DXAssembleShaderFromFile D3DXAssembleShaderFromFileA
|
||||
#endif
|
||||
|
||||
HRESULT WINAPI
|
||||
D3DXAssembleShaderFromResourceA(
|
||||
HMODULE hSrcModule,
|
||||
LPCSTR pSrcResource,
|
||||
DWORD Flags,
|
||||
LPD3DXBUFFER* ppConstants,
|
||||
LPD3DXBUFFER* ppCompiledShader,
|
||||
LPD3DXBUFFER* ppCompilationErrors);
|
||||
|
||||
HRESULT WINAPI
|
||||
D3DXAssembleShaderFromResourceW(
|
||||
HMODULE hSrcModule,
|
||||
LPCWSTR pSrcResource,
|
||||
DWORD Flags,
|
||||
LPD3DXBUFFER* ppConstants,
|
||||
LPD3DXBUFFER* ppCompiledShader,
|
||||
LPD3DXBUFFER* ppCompilationErrors);
|
||||
|
||||
#ifdef UNICODE
|
||||
#define D3DXAssembleShaderFromResource D3DXAssembleShaderFromResourceW
|
||||
#else
|
||||
#define D3DXAssembleShaderFromResource D3DXAssembleShaderFromResourceA
|
||||
#endif
|
||||
|
||||
HRESULT WINAPI
|
||||
D3DXAssembleShader(
|
||||
LPCVOID pSrcData,
|
||||
|
@ -414,6 +512,7 @@ HRESULT WINAPI
|
|||
#endif //__cplusplus
|
||||
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// Misc APIs:
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
@ -422,17 +521,6 @@ HRESULT WINAPI
|
|||
extern "C" {
|
||||
#endif //__cplusplus
|
||||
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
// D3DXGetFVFVertexSize:
|
||||
// ---------------------
|
||||
// Returns the size (in bytes) of a vertex for a given FVF.
|
||||
//-------------------------------------------------------------------------
|
||||
|
||||
UINT WINAPI
|
||||
D3DXGetFVFVertexSize(DWORD FVF);
|
||||
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
// D3DXGetErrorString:
|
||||
// ------------------
|
||||
|
@ -472,5 +560,4 @@ HRESULT WINAPI
|
|||
}
|
||||
#endif //__cplusplus
|
||||
|
||||
|
||||
#endif //__D3DX8CORE_H__
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
///////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 1999 Microsoft Corporation. All Rights Reserved.
|
||||
// Copyright (C) Microsoft Corporation. All Rights Reserved.
|
||||
//
|
||||
// File: d3dx8effect.h
|
||||
// Content: D3DX effect types and functions
|
||||
|
@ -13,6 +13,9 @@
|
|||
#define __D3DX8EFFECT_H__
|
||||
|
||||
|
||||
#define D3DXFX_DONOTSAVESTATE (1 << 0)
|
||||
|
||||
|
||||
typedef enum _D3DXPARAMETERTYPE
|
||||
{
|
||||
D3DXPT_DWORD = 0,
|
||||
|
@ -23,6 +26,7 @@ typedef enum _D3DXPARAMETERTYPE
|
|||
D3DXPT_VERTEXSHADER = 5,
|
||||
D3DXPT_PIXELSHADER = 6,
|
||||
D3DXPT_CONSTANT = 7,
|
||||
D3DXPT_STRING = 8,
|
||||
D3DXPT_FORCE_DWORD = 0x7fffffff /* force 32-bit size enum */
|
||||
|
||||
} D3DXPARAMETERTYPE;
|
||||
|
@ -32,14 +36,14 @@ typedef struct _D3DXEFFECT_DESC
|
|||
{
|
||||
UINT Parameters;
|
||||
UINT Techniques;
|
||||
DWORD Usage;
|
||||
|
||||
} D3DXEFFECT_DESC;
|
||||
|
||||
|
||||
typedef struct _D3DXPARAMETER_DESC
|
||||
{
|
||||
DWORD Name;
|
||||
LPCSTR Name;
|
||||
LPCSTR Index;
|
||||
D3DXPARAMETERTYPE Type;
|
||||
|
||||
} D3DXPARAMETER_DESC;
|
||||
|
@ -47,65 +51,37 @@ typedef struct _D3DXPARAMETER_DESC
|
|||
|
||||
typedef struct _D3DXTECHNIQUE_DESC
|
||||
{
|
||||
DWORD Name;
|
||||
UINT Passes;
|
||||
LPCSTR Name;
|
||||
LPCSTR Index;
|
||||
UINT Passes;
|
||||
|
||||
} D3DXTECHNIQUE_DESC;
|
||||
|
||||
|
||||
typedef struct _D3DXPASS_DESC
|
||||
{
|
||||
DWORD Name;
|
||||
LPCSTR Name;
|
||||
LPCSTR Index;
|
||||
|
||||
} D3DXPASS_DESC;
|
||||
|
||||
|
||||
typedef struct ID3DXEffect *LPD3DXEFFECT;
|
||||
typedef struct ID3DXTechnique *LPD3DXTECHNIQUE;
|
||||
|
||||
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
// ID3DXTechnique ////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// {A00F378D-AF79-4917-907E-4D635EE63844}
|
||||
DEFINE_GUID( IID_ID3DXTechnique,
|
||||
0xa00f378d, 0xaf79, 0x4917, 0x90, 0x7e, 0x4d, 0x63, 0x5e, 0xe6, 0x38, 0x44);
|
||||
|
||||
|
||||
DECLARE_INTERFACE_(ID3DXTechnique, IUnknown)
|
||||
{
|
||||
// IUnknown
|
||||
STDMETHOD(QueryInterface)(THIS_ REFIID iid, LPVOID *ppv) PURE;
|
||||
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
|
||||
STDMETHOD_(ULONG, Release)(THIS) PURE;
|
||||
|
||||
// ID3DXTechnique
|
||||
STDMETHOD(GetDevice)(THIS_ LPDIRECT3DDEVICE8* ppDevice) PURE;
|
||||
STDMETHOD(GetDesc)(THIS_ D3DXTECHNIQUE_DESC* pDesc) PURE;
|
||||
STDMETHOD(GetPassDesc)(THIS_ UINT Index, D3DXPASS_DESC* pDesc) PURE;
|
||||
|
||||
STDMETHOD_(BOOL, IsParameterUsed)(THIS_ DWORD dwName) PURE;
|
||||
|
||||
STDMETHOD(Validate)(THIS) PURE;
|
||||
STDMETHOD(Begin)(THIS_ UINT *pPasses) PURE;
|
||||
STDMETHOD(Pass)(THIS_ UINT Index) PURE;
|
||||
STDMETHOD(End)(THIS) PURE;
|
||||
};
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
// ID3DXEffect ///////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
typedef interface ID3DXEffect ID3DXEffect;
|
||||
typedef interface ID3DXEffect *LPD3DXEFFECT;
|
||||
|
||||
// {281BBDD4-AEDF-4907-8650-E79CDFD45165}
|
||||
// {648B1CEB-8D4E-4d66-B6FA-E44969E82E89}
|
||||
DEFINE_GUID( IID_ID3DXEffect,
|
||||
0x281bbdd4, 0xaedf, 0x4907, 0x86, 0x50, 0xe7, 0x9c, 0xdf, 0xd4, 0x51, 0x65);
|
||||
0x648b1ceb, 0x8d4e, 0x4d66, 0xb6, 0xfa, 0xe4, 0x49, 0x69, 0xe8, 0x2e, 0x89);
|
||||
|
||||
|
||||
#undef INTERFACE
|
||||
#define INTERFACE ID3DXEffect
|
||||
|
||||
DECLARE_INTERFACE_(ID3DXEffect, IUnknown)
|
||||
{
|
||||
// IUnknown
|
||||
|
@ -116,27 +92,40 @@ DECLARE_INTERFACE_(ID3DXEffect, IUnknown)
|
|||
// ID3DXEffect
|
||||
STDMETHOD(GetDevice)(THIS_ LPDIRECT3DDEVICE8* ppDevice) PURE;
|
||||
STDMETHOD(GetDesc)(THIS_ D3DXEFFECT_DESC* pDesc) PURE;
|
||||
STDMETHOD(GetParameterDesc)(THIS_ LPCSTR pParameter, D3DXPARAMETER_DESC* pDesc) PURE;
|
||||
STDMETHOD(GetTechniqueDesc)(THIS_ LPCSTR pTechnique, D3DXTECHNIQUE_DESC* pDesc) PURE;
|
||||
STDMETHOD(GetPassDesc)(THIS_ LPCSTR pTechnique, LPCSTR pPass, D3DXPASS_DESC* pDesc) PURE;
|
||||
STDMETHOD(FindNextValidTechnique)(THIS_ LPCSTR pTechnique, D3DXTECHNIQUE_DESC* pDesc) PURE;
|
||||
STDMETHOD(CloneEffect)(THIS_ LPDIRECT3DDEVICE8 pDevice, LPD3DXEFFECT* ppEffect) PURE;
|
||||
STDMETHOD(GetCompiledEffect)(THIS_ LPD3DXBUFFER* ppCompiledEffect) PURE;
|
||||
|
||||
STDMETHOD(GetParameterDesc)(THIS_ UINT Index, D3DXPARAMETER_DESC* pDesc) PURE;
|
||||
STDMETHOD(GetTechniqueDesc)(THIS_ UINT Index, D3DXTECHNIQUE_DESC* pDesc) PURE;
|
||||
STDMETHOD(SetTechnique)(THIS_ LPCSTR pTechnique) PURE;
|
||||
STDMETHOD(GetTechnique)(THIS_ LPCSTR* ppTechnique) PURE;
|
||||
|
||||
STDMETHOD(SetDword)(THIS_ DWORD Name, DWORD dw) PURE;
|
||||
STDMETHOD(GetDword)(THIS_ DWORD Name, DWORD* pdw) PURE;
|
||||
STDMETHOD(SetFloat)(THIS_ DWORD Name, FLOAT f) PURE;
|
||||
STDMETHOD(GetFloat)(THIS_ DWORD Name, FLOAT* pf) PURE;
|
||||
STDMETHOD(SetVector)(THIS_ DWORD Name, D3DXVECTOR4* pVector) PURE;
|
||||
STDMETHOD(GetVector)(THIS_ DWORD Name, D3DXVECTOR4* pVector) PURE;
|
||||
STDMETHOD(SetMatrix)(THIS_ DWORD Name, D3DXMATRIX* pMatrix) PURE;
|
||||
STDMETHOD(GetMatrix)(THIS_ DWORD Name, D3DXMATRIX* pMatrix) PURE;
|
||||
STDMETHOD(SetTexture)(THIS_ DWORD Name, LPDIRECT3DBASETEXTURE8 pTexture) PURE;
|
||||
STDMETHOD(GetTexture)(THIS_ DWORD Name, LPDIRECT3DBASETEXTURE8 *ppTexture) PURE;
|
||||
STDMETHOD(SetVertexShader)(THIS_ DWORD Name, DWORD Handle) PURE;
|
||||
STDMETHOD(GetVertexShader)(THIS_ DWORD Name, DWORD* pHandle) PURE;
|
||||
STDMETHOD(SetPixelShader)(THIS_ DWORD Name, DWORD Handle) PURE;
|
||||
STDMETHOD(GetPixelShader)(THIS_ DWORD Name, DWORD* pHandle) PURE;
|
||||
STDMETHOD(SetDword)(THIS_ LPCSTR pParameter, DWORD dw) PURE;
|
||||
STDMETHOD(GetDword)(THIS_ LPCSTR pParameter, DWORD* pdw) PURE;
|
||||
STDMETHOD(SetFloat)(THIS_ LPCSTR pParameter, FLOAT f) PURE;
|
||||
STDMETHOD(GetFloat)(THIS_ LPCSTR pParameter, FLOAT* pf) PURE;
|
||||
STDMETHOD(SetVector)(THIS_ LPCSTR pParameter, CONST D3DXVECTOR4* pVector) PURE;
|
||||
STDMETHOD(GetVector)(THIS_ LPCSTR pParameter, D3DXVECTOR4* pVector) PURE;
|
||||
STDMETHOD(SetMatrix)(THIS_ LPCSTR pParameter, CONST D3DXMATRIX* pMatrix) PURE;
|
||||
STDMETHOD(GetMatrix)(THIS_ LPCSTR pParameter, D3DXMATRIX* pMatrix) PURE;
|
||||
STDMETHOD(SetTexture)(THIS_ LPCSTR pParameter, LPDIRECT3DBASETEXTURE8 pTexture) PURE;
|
||||
STDMETHOD(GetTexture)(THIS_ LPCSTR pParameter, LPDIRECT3DBASETEXTURE8 *ppTexture) PURE;
|
||||
STDMETHOD(SetVertexShader)(THIS_ LPCSTR pParameter, DWORD Handle) PURE;
|
||||
STDMETHOD(GetVertexShader)(THIS_ LPCSTR pParameter, DWORD* pHandle) PURE;
|
||||
STDMETHOD(SetPixelShader)(THIS_ LPCSTR pParameter, DWORD Handle) PURE;
|
||||
STDMETHOD(GetPixelShader)(THIS_ LPCSTR pParameter, DWORD* pHandle) PURE;
|
||||
STDMETHOD(SetString)(THIS_ LPCSTR pParameter, LPCSTR pString) PURE;
|
||||
STDMETHOD(GetString)(THIS_ LPCSTR pParameter, LPCSTR* ppString) PURE;
|
||||
STDMETHOD_(BOOL, IsParameterUsed)(THIS_ LPCSTR pParameter) PURE;
|
||||
|
||||
STDMETHOD(GetTechnique)(THIS_ UINT Index, LPD3DXTECHNIQUE* ppTechnique) PURE;
|
||||
STDMETHOD(CloneEffect)(THIS_ LPDIRECT3DDEVICE8 pDevice, DWORD Usage, LPD3DXEFFECT* ppEffect) PURE;
|
||||
STDMETHOD(Validate)(THIS) PURE;
|
||||
STDMETHOD(Begin)(THIS_ UINT *pPasses, DWORD Flags) PURE;
|
||||
STDMETHOD(Pass)(THIS_ UINT Pass) PURE;
|
||||
STDMETHOD(End)(THIS) PURE;
|
||||
STDMETHOD(OnLostDevice)(THIS) PURE;
|
||||
STDMETHOD(OnResetDevice)(THIS) PURE;
|
||||
};
|
||||
|
||||
|
||||
|
@ -152,20 +141,25 @@ extern "C" {
|
|||
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
// D3DXCompileEffect:
|
||||
// ------------------
|
||||
// Compiles an ascii effect description into a binary form usable by
|
||||
// D3DXCreateEffect.
|
||||
// D3DXCreateEffect:
|
||||
// -----------------
|
||||
// Creates an effect from an ascii or binaray effect description.
|
||||
//
|
||||
// Parameters:
|
||||
// pDevice
|
||||
// Pointer of the device on which to create the effect
|
||||
// pSrcFile
|
||||
// Name of the file containing the ascii effect description
|
||||
// Name of the file containing the effect description
|
||||
// hSrcModule
|
||||
// Module handle. if NULL, current module will be used.
|
||||
// pSrcResource
|
||||
// Resource name in module
|
||||
// pSrcData
|
||||
// Pointer to ascii effect description
|
||||
// Pointer to effect description
|
||||
// SrcDataSize
|
||||
// Size of the effect description in bytes
|
||||
// ppCompiledEffect
|
||||
// Returns a buffer containing compiled effect.
|
||||
// ppEffect
|
||||
// Returns a buffer containing created effect.
|
||||
// ppCompilationErrors
|
||||
// Returns a buffer containing any error messages which occurred during
|
||||
// compile. Or NULL if you do not care about the error messages.
|
||||
|
@ -173,60 +167,56 @@ extern "C" {
|
|||
//----------------------------------------------------------------------------
|
||||
|
||||
HRESULT WINAPI
|
||||
D3DXCompileEffectFromFileA(
|
||||
D3DXCreateEffectFromFileA(
|
||||
LPDIRECT3DDEVICE8 pDevice,
|
||||
LPCSTR pSrcFile,
|
||||
LPD3DXBUFFER* ppCompiledEffect,
|
||||
LPD3DXEFFECT* ppEffect,
|
||||
LPD3DXBUFFER* ppCompilationErrors);
|
||||
|
||||
HRESULT WINAPI
|
||||
D3DXCompileEffectFromFileW(
|
||||
D3DXCreateEffectFromFileW(
|
||||
LPDIRECT3DDEVICE8 pDevice,
|
||||
LPCWSTR pSrcFile,
|
||||
LPD3DXBUFFER* ppCompiledEffect,
|
||||
LPD3DXEFFECT* ppEffect,
|
||||
LPD3DXBUFFER* ppCompilationErrors);
|
||||
|
||||
#ifdef UNICODE
|
||||
#define D3DXCompileEffectFromFile D3DXCompileEffectFromFileW
|
||||
#define D3DXCreateEffectFromFile D3DXCreateEffectFromFileW
|
||||
#else
|
||||
#define D3DXCompileEffectFromFile D3DXCompileEffectFromFileA
|
||||
#define D3DXCreateEffectFromFile D3DXCreateEffectFromFileA
|
||||
#endif
|
||||
|
||||
|
||||
HRESULT WINAPI
|
||||
D3DXCompileEffect(
|
||||
LPCVOID pSrcData,
|
||||
UINT SrcDataSize,
|
||||
LPD3DXBUFFER* ppCompiledEffect,
|
||||
D3DXCreateEffectFromResourceA(
|
||||
LPDIRECT3DDEVICE8 pDevice,
|
||||
HMODULE hSrcModule,
|
||||
LPCSTR pSrcResource,
|
||||
LPD3DXEFFECT* ppEffect,
|
||||
LPD3DXBUFFER* ppCompilationErrors);
|
||||
|
||||
HRESULT WINAPI
|
||||
D3DXCreateEffectFromResourceW(
|
||||
LPDIRECT3DDEVICE8 pDevice,
|
||||
HMODULE hSrcModule,
|
||||
LPCWSTR pSrcResource,
|
||||
LPD3DXEFFECT* ppEffect,
|
||||
LPD3DXBUFFER* ppCompilationErrors);
|
||||
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
// D3DXCreateEffect:
|
||||
// -----------------
|
||||
// Creates an effect object, given compiled binary effect data
|
||||
//
|
||||
// Parameters:
|
||||
// pDevice
|
||||
// Pointer to the device to be used.
|
||||
// pCompiledEffect
|
||||
// Pointer to compiled effect data
|
||||
// CompiledEffectSize
|
||||
// Size of compiled effect data in bytes
|
||||
// Usage
|
||||
// Allows the specification of D3DUSAGE_SOFTWAREPROCESSING
|
||||
// ppEffect
|
||||
// Returns the created effect object
|
||||
//----------------------------------------------------------------------------
|
||||
#ifdef UNICODE
|
||||
#define D3DXCreateEffectFromResource D3DXCreateEffectFromResourceW
|
||||
#else
|
||||
#define D3DXCreateEffectFromResource D3DXCreateEffectFromResourceA
|
||||
#endif
|
||||
|
||||
|
||||
HRESULT WINAPI
|
||||
D3DXCreateEffect(
|
||||
LPDIRECT3DDEVICE8 pDevice,
|
||||
LPCVOID pCompiledEffect,
|
||||
UINT CompiledEffectSize,
|
||||
DWORD Usage,
|
||||
LPD3DXEFFECT* ppEffect);
|
||||
|
||||
LPCVOID pSrcData,
|
||||
UINT SrcDataSize,
|
||||
LPD3DXEFFECT* ppEffect,
|
||||
LPD3DXBUFFER* ppCompilationErrors);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
//////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 1998 Microsoft Corporation. All Rights Reserved.
|
||||
// Copyright (C) Microsoft Corporation. All Rights Reserved.
|
||||
//
|
||||
// File: d3dx8math.h
|
||||
// Content: D3DX math types and functions
|
||||
|
@ -17,13 +17,6 @@
|
|||
|
||||
|
||||
|
||||
typedef struct ID3DXMatrixStack *LPD3DXMATRIXSTACK;
|
||||
|
||||
// {E3357330-CC5E-11d2-A434-00A0C90629A8}
|
||||
DEFINE_GUID( IID_ID3DXMatrixStack,
|
||||
0xe3357330, 0xcc5e, 0x11d2, 0xa4, 0x34, 0x0, 0xa0, 0xc9, 0x6, 0x29, 0xa8);
|
||||
|
||||
|
||||
//===========================================================================
|
||||
//
|
||||
// General purpose utilities
|
||||
|
@ -227,6 +220,105 @@ public:
|
|||
typedef struct _D3DMATRIX D3DXMATRIX, *LPD3DXMATRIX;
|
||||
#endif //!__cplusplus
|
||||
|
||||
//===========================================================================
|
||||
//
|
||||
// Aligned Matrices
|
||||
//
|
||||
// This class helps keep matrices 16-byte aligned as preferred by P4 cpus.
|
||||
// It aligns matrices on the stack and on the heap or in global scope.
|
||||
// It does this using __declspec(align(16)) which works on VC7 and on VC 6
|
||||
// with the processor pack. Unfortunately there is no way to detect the
|
||||
// latter so this is turned on only on VC7. On other compilers this is the
|
||||
// the same as D3DXMATRIX.
|
||||
// Using this class on a compiler that does not actually do the alignment
|
||||
// can be dangerous since it will not expose bugs that ignore alignment.
|
||||
// E.g if an object of this class in inside a struct or class, and some code
|
||||
// memcopys data in it assuming tight packing. This could break on a compiler
|
||||
// that eventually start aligning the matrix.
|
||||
//
|
||||
//===========================================================================
|
||||
#ifdef __cplusplus
|
||||
typedef struct _D3DXMATRIXA16 : public D3DXMATRIX
|
||||
{
|
||||
_D3DXMATRIXA16() {}
|
||||
_D3DXMATRIXA16( CONST FLOAT * f): D3DXMATRIX(f) {}
|
||||
_D3DXMATRIXA16( CONST D3DMATRIX& m): D3DXMATRIX(m) {}
|
||||
_D3DXMATRIXA16( FLOAT _11, FLOAT _12, FLOAT _13, FLOAT _14,
|
||||
FLOAT _21, FLOAT _22, FLOAT _23, FLOAT _24,
|
||||
FLOAT _31, FLOAT _32, FLOAT _33, FLOAT _34,
|
||||
FLOAT _41, FLOAT _42, FLOAT _43, FLOAT _44 ) :
|
||||
D3DXMATRIX(_11, _12, _13, _14,
|
||||
_21, _22, _23, _24,
|
||||
_31, _32, _33, _34,
|
||||
_41, _42, _43, _44) {}
|
||||
void* operator new(size_t s)
|
||||
{
|
||||
LPBYTE p = ::new BYTE[s + 16];
|
||||
if (p)
|
||||
{
|
||||
BYTE offset = (BYTE)(16 - ((UINT_PTR)p & 15));
|
||||
p += offset;
|
||||
p[-1] = offset;
|
||||
}
|
||||
return p;
|
||||
};
|
||||
|
||||
void* operator new[](size_t s)
|
||||
{
|
||||
LPBYTE p = ::new BYTE[s + 16];
|
||||
if (p)
|
||||
{
|
||||
BYTE offset = (BYTE)(16 - ((UINT_PTR)p & 15));
|
||||
p += offset;
|
||||
p[-1] = offset;
|
||||
}
|
||||
return p;
|
||||
};
|
||||
|
||||
// This is NOT a virtual operator. If you cast
|
||||
// to D3DXMATRIX, do not delete using that
|
||||
void operator delete(void* p)
|
||||
{
|
||||
if(p)
|
||||
{
|
||||
BYTE* pb = static_cast<BYTE*>(p);
|
||||
pb -= pb[-1];
|
||||
::delete [] pb;
|
||||
}
|
||||
};
|
||||
|
||||
// This is NOT a virtual operator. If you cast
|
||||
// to D3DXMATRIX, do not delete using that
|
||||
void operator delete[](void* p)
|
||||
{
|
||||
if(p)
|
||||
{
|
||||
BYTE* pb = static_cast<BYTE*>(p);
|
||||
pb -= pb[-1];
|
||||
::delete [] pb;
|
||||
}
|
||||
};
|
||||
|
||||
struct _D3DXMATRIXA16& operator=(CONST D3DXMATRIX& rhs)
|
||||
{
|
||||
memcpy(&_11, &rhs, sizeof(D3DXMATRIX));
|
||||
return *this;
|
||||
};
|
||||
} _D3DXMATRIXA16;
|
||||
|
||||
#else //!__cplusplus
|
||||
typedef D3DXMATRIX _D3DXMATRIXA16;
|
||||
#endif //!__cplusplus
|
||||
|
||||
#if _MSC_VER >= 1300 // VC7
|
||||
#define _ALIGN_16 __declspec(align(16))
|
||||
#else
|
||||
#define _ALIGN_16 // Earlier compiler may not understand this, do nothing.
|
||||
#endif
|
||||
|
||||
#define D3DXMATRIXA16 _ALIGN_16 _D3DXMATRIXA16
|
||||
|
||||
typedef D3DXMATRIXA16 *LPD3DXMATRIXA16;
|
||||
|
||||
//===========================================================================
|
||||
//
|
||||
|
@ -433,7 +525,7 @@ D3DXVECTOR2* WINAPI D3DXVec2CatmullRom
|
|||
// Barycentric coordinates. V1 + f(V2-V1) + g(V3-V1)
|
||||
D3DXVECTOR2* WINAPI D3DXVec2BaryCentric
|
||||
( D3DXVECTOR2 *pOut, CONST D3DXVECTOR2 *pV1, CONST D3DXVECTOR2 *pV2,
|
||||
D3DXVECTOR2 *pV3, FLOAT f, FLOAT g);
|
||||
CONST D3DXVECTOR2 *pV3, FLOAT f, FLOAT g);
|
||||
|
||||
// Transform (x, y, 0, 1) by matrix.
|
||||
D3DXVECTOR4* WINAPI D3DXVec2Transform
|
||||
|
@ -642,13 +734,17 @@ extern "C" {
|
|||
FLOAT WINAPI D3DXMatrixfDeterminant
|
||||
( CONST D3DXMATRIX *pM );
|
||||
|
||||
D3DXMATRIX* WINAPI D3DXMatrixTranspose
|
||||
( D3DXMATRIX *pOut, CONST D3DXMATRIX *pM );
|
||||
|
||||
// Matrix multiplication. The result represents the transformation M2
|
||||
// followed by the transformation M1. (Out = M1 * M2)
|
||||
D3DXMATRIX* WINAPI D3DXMatrixMultiply
|
||||
( D3DXMATRIX *pOut, CONST D3DXMATRIX *pM1, CONST D3DXMATRIX *pM2 );
|
||||
|
||||
D3DXMATRIX* WINAPI D3DXMatrixTranspose
|
||||
( D3DXMATRIX *pOut, CONST D3DXMATRIX *pM );
|
||||
// Matrix multiplication, followed by a transpose. (Out = T(M1 * M2))
|
||||
D3DXMATRIX* WINAPI D3DXMatrixMultiplyTranspose
|
||||
( D3DXMATRIX *pOut, CONST D3DXMATRIX *pM1, CONST D3DXMATRIX *pM2 );
|
||||
|
||||
// Calculate inverse of matrix. Inversion my fail, in which case NULL will
|
||||
// be returned. The determinant of pM is also returned it pfDeterminant
|
||||
|
@ -845,20 +941,29 @@ D3DXQUATERNION* WINAPI D3DXQuaternionLn
|
|||
// if q = (0, theta * v); exp(q) = (cos(theta), sin(theta) * v)
|
||||
D3DXQUATERNION* WINAPI D3DXQuaternionExp
|
||||
( D3DXQUATERNION *pOut, CONST D3DXQUATERNION *pQ );
|
||||
|
||||
// Spherical linear interpolation between Q1 (s == 0) and Q2 (s == 1).
|
||||
|
||||
// Spherical linear interpolation between Q1 (t == 0) and Q2 (t == 1).
|
||||
// Expects unit quaternions.
|
||||
D3DXQUATERNION* WINAPI D3DXQuaternionSlerp
|
||||
( D3DXQUATERNION *pOut, CONST D3DXQUATERNION *pQ1,
|
||||
CONST D3DXQUATERNION *pQ2, FLOAT t );
|
||||
|
||||
// Spherical quadrangle interpolation.
|
||||
// Slerp(Slerp(Q1, Q4, t), Slerp(Q2, Q3, t), 2t(1-t))
|
||||
// Slerp(Slerp(Q1, C, t), Slerp(A, B, t), 2t(1-t))
|
||||
D3DXQUATERNION* WINAPI D3DXQuaternionSquad
|
||||
( D3DXQUATERNION *pOut, CONST D3DXQUATERNION *pQ1,
|
||||
CONST D3DXQUATERNION *pQ2, CONST D3DXQUATERNION *pQ3,
|
||||
CONST D3DXQUATERNION *pQ4, FLOAT t );
|
||||
CONST D3DXQUATERNION *pA, CONST D3DXQUATERNION *pB,
|
||||
CONST D3DXQUATERNION *pC, FLOAT t );
|
||||
|
||||
// Setup control points for spherical quadrangle interpolation
|
||||
// from Q1 to Q2. The control points are chosen in such a way
|
||||
// to ensure the continuity of tangents with adjacent segments.
|
||||
void WINAPI D3DXQuaternionSquadSetup
|
||||
( D3DXQUATERNION *pAOut, D3DXQUATERNION *pBOut, D3DXQUATERNION *pCOut,
|
||||
CONST D3DXQUATERNION *pQ0, CONST D3DXQUATERNION *pQ1,
|
||||
CONST D3DXQUATERNION *pQ2, CONST D3DXQUATERNION *pQ3 );
|
||||
|
||||
// Barycentric interpolation.
|
||||
// Slerp(Slerp(Q1, Q2, f+g), Slerp(Q1, Q3, f+g), g/(f+g))
|
||||
D3DXQUATERNION* WINAPI D3DXQuaternionBaryCentric
|
||||
( D3DXQUATERNION *pOut, CONST D3DXQUATERNION *pQ1,
|
||||
|
@ -913,7 +1018,7 @@ D3DXPLANE* WINAPI D3DXPlaneFromPoints
|
|||
CONST D3DXVECTOR3 *pV3);
|
||||
|
||||
// Transform a plane by a matrix. The vector (a,b,c) must be normal.
|
||||
// M must be an affine transform.
|
||||
// M should be the inverse transpose of the transformation desired.
|
||||
D3DXPLANE* WINAPI D3DXPlaneTransform
|
||||
( D3DXPLANE *pOut, CONST D3DXPLANE *pP, CONST D3DXMATRIX *pM );
|
||||
|
||||
|
@ -970,6 +1075,23 @@ D3DXCOLOR* WINAPI D3DXColorAdjustContrast
|
|||
|
||||
|
||||
|
||||
//--------------------------
|
||||
// Misc
|
||||
//--------------------------
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
// Calculate Fresnel term given the cosine of theta (likely obtained by
|
||||
// taking the dot of two normals), and the refraction index of the material.
|
||||
FLOAT WINAPI D3DXFresnelTerm
|
||||
(FLOAT CosTheta, FLOAT RefractionIndex);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
//===========================================================================
|
||||
|
@ -978,6 +1100,17 @@ D3DXCOLOR* WINAPI D3DXColorAdjustContrast
|
|||
//
|
||||
//===========================================================================
|
||||
|
||||
typedef interface ID3DXMatrixStack ID3DXMatrixStack;
|
||||
typedef interface ID3DXMatrixStack *LPD3DXMATRIXSTACK;
|
||||
|
||||
// {E3357330-CC5E-11d2-A434-00A0C90629A8}
|
||||
DEFINE_GUID( IID_ID3DXMatrixStack,
|
||||
0xe3357330, 0xcc5e, 0x11d2, 0xa4, 0x34, 0x0, 0xa0, 0xc9, 0x6, 0x29, 0xa8);
|
||||
|
||||
|
||||
#undef INTERFACE
|
||||
#define INTERFACE ID3DXMatrixStack
|
||||
|
||||
DECLARE_INTERFACE_(ID3DXMatrixStack, IUnknown)
|
||||
{
|
||||
//
|
||||
|
@ -1066,7 +1199,10 @@ DECLARE_INTERFACE_(ID3DXMatrixStack, IUnknown)
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
HRESULT WINAPI D3DXCreateMatrixStack( DWORD Flags, LPD3DXMATRIXSTACK *ppStack );
|
||||
HRESULT WINAPI
|
||||
D3DXCreateMatrixStack(
|
||||
DWORD Flags,
|
||||
LPD3DXMATRIXSTACK* ppStack);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
//////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 1998 Microsoft Corporation. All Rights Reserved.
|
||||
// Copyright (C) Microsoft Corporation. All Rights Reserved.
|
||||
//
|
||||
// File: d3dx8math.inl
|
||||
// Content: D3DX math inline functions
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
//////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 1998 Microsoft Corporation. All Rights Reserved.
|
||||
// Copyright (C) Microsoft Corporation. All Rights Reserved.
|
||||
//
|
||||
// File: d3dx8mesh.h
|
||||
// Content: D3DX mesh types and functions
|
||||
|
@ -14,51 +14,54 @@
|
|||
|
||||
#include "dxfile.h" // defines LPDIRECTXFILEDATA
|
||||
|
||||
// {A69BA991-1F7D-11d3-B929-00C04F68DC23}
|
||||
DEFINE_GUID(IID_ID3DXBaseMesh,
|
||||
0xa69ba991, 0x1f7d, 0x11d3, 0xb9, 0x29, 0x0, 0xc0, 0x4f, 0x68, 0xdc, 0x23);
|
||||
// {2A835771-BF4D-43f4-8E14-82A809F17D8A}
|
||||
DEFINE_GUID(IID_ID3DXBaseMesh,
|
||||
0x2a835771, 0xbf4d, 0x43f4, 0x8e, 0x14, 0x82, 0xa8, 0x9, 0xf1, 0x7d, 0x8a);
|
||||
|
||||
// {9D84AC46-6B90-49a9-A721-085C7A3E3DAE}
|
||||
// {CCAE5C3B-4DD1-4d0f-997E-4684CA64557F}
|
||||
DEFINE_GUID(IID_ID3DXMesh,
|
||||
0x9d84ac46, 0x6b90, 0x49a9, 0xa7, 0x21, 0x8, 0x5c, 0x7a, 0x3e, 0x3d, 0xae);
|
||||
0xccae5c3b, 0x4dd1, 0x4d0f, 0x99, 0x7e, 0x46, 0x84, 0xca, 0x64, 0x55, 0x7f);
|
||||
|
||||
// {15981AA8-1A05-48e3-BBE7-FF5D49654E3F}
|
||||
// {19FBE386-C282-4659-97BD-CB869B084A6C}
|
||||
DEFINE_GUID(IID_ID3DXPMesh,
|
||||
0x15981aa8, 0x1a05, 0x48e3, 0xbb, 0xe7, 0xff, 0x5d, 0x49, 0x65, 0x4e, 0x3f);
|
||||
0x19fbe386, 0xc282, 0x4659, 0x97, 0xbd, 0xcb, 0x86, 0x9b, 0x8, 0x4a, 0x6c);
|
||||
|
||||
// {BC3BBDE2-1F7D-11d3-B929-00C04F68DC23}
|
||||
// {4E3CA05C-D4FF-4d11-8A02-16459E08F6F4}
|
||||
DEFINE_GUID(IID_ID3DXSPMesh,
|
||||
0xbc3bbde2, 0x1f7d, 0x11d3, 0xb9, 0x29, 0x0, 0xc0, 0x4f, 0x68, 0xdc, 0x23);
|
||||
0x4e3ca05c, 0xd4ff, 0x4d11, 0x8a, 0x2, 0x16, 0x45, 0x9e, 0x8, 0xf6, 0xf4);
|
||||
|
||||
// {82A53844-F322-409e-A2E9-992E1104069D}
|
||||
// {8DB06ECC-EBFC-408a-9404-3074B4773515}
|
||||
DEFINE_GUID(IID_ID3DXSkinMesh,
|
||||
0x82a53844, 0xf322, 0x409e, 0xa2, 0xe9, 0x99, 0x2e, 0x11, 0x4, 0x6, 0x9d);
|
||||
|
||||
0x8db06ecc, 0xebfc, 0x408a, 0x94, 0x4, 0x30, 0x74, 0xb4, 0x77, 0x35, 0x15);
|
||||
|
||||
// Mesh options - lower 3 bytes only, upper byte used by _D3DXMESHOPT option flags
|
||||
enum _D3DXMESH {
|
||||
D3DXMESH_32BIT = 0x001, // If set, then use 32 bit indices, if not set use 16 bit indices. 32BIT meshes currently not supported on ID3DXSkinMesh object
|
||||
D3DXMESH_32BIT = 0x001, // If set, then use 32 bit indices, if not set use 16 bit indices.
|
||||
D3DXMESH_DONOTCLIP = 0x002, // Use D3DUSAGE_DONOTCLIP for VB & IB.
|
||||
D3DXMESH_POINTS = 0x004, // Use D3DUSAGE_POINTS for VB & IB.
|
||||
D3DXMESH_RTPATCHES = 0x008, // Use D3DUSAGE_RTPATCHES for VB & IB.
|
||||
D3DXMESH_NPATCHES = 0x4000,// Use D3DUSAGE_NPATCHES for VB & IB.
|
||||
D3DXMESH_VB_SYSTEMMEM = 0x010, // Use D3DPOOL_SYSTEMMEM for VB. Overrides D3DXMESH_MANAGEDVERTEXBUFFER
|
||||
D3DXMESH_NPATCHES = 0x4000,// Use D3DUSAGE_NPATCHES for VB & IB.
|
||||
D3DXMESH_VB_SYSTEMMEM = 0x010, // Use D3DPOOL_SYSTEMMEM for VB. Overrides D3DXMESH_MANAGEDVERTEXBUFFER
|
||||
D3DXMESH_VB_MANAGED = 0x020, // Use D3DPOOL_MANAGED for VB.
|
||||
D3DXMESH_VB_WRITEONLY = 0x040, // Use D3DUSAGE_WRITEONLY for VB.
|
||||
D3DXMESH_VB_DYNAMIC = 0x080, // Use D3DUSAGE_DYNAMIC for VB.
|
||||
D3DXMESH_IB_SYSTEMMEM = 0x100, // Use D3DPOOL_SYSTEMMEM for IB. Overrides D3DXMESH_MANAGEDINDEXBUFFER
|
||||
D3DXMESH_VB_SOFTWAREPROCESSING = 0x8000, // Use D3DUSAGE_SOFTWAREPROCESSING for VB.
|
||||
D3DXMESH_IB_SYSTEMMEM = 0x100, // Use D3DPOOL_SYSTEMMEM for IB. Overrides D3DXMESH_MANAGEDINDEXBUFFER
|
||||
D3DXMESH_IB_MANAGED = 0x200, // Use D3DPOOL_MANAGED for IB.
|
||||
D3DXMESH_IB_WRITEONLY = 0x400, // Use D3DUSAGE_WRITEONLY for IB.
|
||||
D3DXMESH_IB_DYNAMIC = 0x800, // Use D3DUSAGE_DYNAMIC for IB.
|
||||
D3DXMESH_IB_SOFTWAREPROCESSING= 0x10000, // Use D3DUSAGE_SOFTWAREPROCESSING for IB.
|
||||
|
||||
D3DXMESH_VB_SHARE = 0x1000, // Valid for Clone* calls only, forces cloned mesh/pmesh to share vertex buffer
|
||||
|
||||
D3DXMESH_USEHWONLY = 0x2000, // Valid for ID3DXSkinMesh::ConvertToBlendedMesh
|
||||
|
||||
// Helper options
|
||||
D3DXMESH_SYSTEMMEM = 0x110, // D3DXMESH_VB_SYSTEMMEM | D3DXMESH_IB_SYSTEMMEM
|
||||
D3DXMESH_SYSTEMMEM = 0x110, // D3DXMESH_VB_SYSTEMMEM | D3DXMESH_IB_SYSTEMMEM
|
||||
D3DXMESH_MANAGED = 0x220, // D3DXMESH_VB_MANAGED | D3DXMESH_IB_MANAGED
|
||||
D3DXMESH_WRITEONLY = 0x440, // D3DXMESH_VB_WRITEONLY | D3DXMESH_IB_WRITEONLY
|
||||
D3DXMESH_DYNAMIC = 0x880, // D3DXMESH_VB_DYNAMIC | D3DXMESH_IB_DYNAMIC
|
||||
D3DXMESH_SOFTWAREPROCESSING = 0x18000, // D3DXMESH_VB_SOFTWAREPROCESSING | D3DXMESH_IB_SOFTWAREPROCESSING
|
||||
|
||||
};
|
||||
|
||||
|
@ -72,7 +75,7 @@ enum _D3DXMESHSIMP
|
|||
|
||||
enum _MAX_FVF_DECL_SIZE
|
||||
{
|
||||
MAX_FVF_DECL_SIZE = 20
|
||||
MAX_FVF_DECL_SIZE = 20
|
||||
};
|
||||
|
||||
typedef struct ID3DXBaseMesh *LPD3DXBASEMESH;
|
||||
|
@ -117,6 +120,32 @@ typedef struct _D3DXATTRIBUTEWEIGHTS
|
|||
|
||||
typedef D3DXATTRIBUTEWEIGHTS* LPD3DXATTRIBUTEWEIGHTS;
|
||||
|
||||
enum _D3DXWELDEPSILONSFLAGS
|
||||
{
|
||||
D3DXWELDEPSILONS_WELDALL = 0x1, // weld all vertices marked by adjacency as being overlapping
|
||||
|
||||
D3DXWELDEPSILONS_WELDPARTIALMATCHES = 0x2, // if a given vertex component is within epsilon, modify partial matched
|
||||
// vertices so that both components identical AND if all components "equal"
|
||||
// remove one of the vertices
|
||||
D3DXWELDEPSILONS_DONOTREMOVEVERTICES = 0x4, // instructs weld to only allow modifications to vertices and not removal
|
||||
// ONLY valid if D3DXWELDEPSILONS_WELDPARTIALMATCHES is set
|
||||
// useful to modify vertices to be equal, but not allow vertices to be removed
|
||||
};
|
||||
|
||||
typedef struct _D3DXWELDEPSILONS
|
||||
{
|
||||
FLOAT SkinWeights;
|
||||
FLOAT Normal;
|
||||
FLOAT Tex[8];
|
||||
DWORD Flags;
|
||||
} D3DXWELDEPSILONS;
|
||||
|
||||
typedef D3DXWELDEPSILONS* LPD3DXWELDEPSILONS;
|
||||
|
||||
|
||||
#undef INTERFACE
|
||||
#define INTERFACE ID3DXBaseMesh
|
||||
|
||||
DECLARE_INTERFACE_(ID3DXBaseMesh, IUnknown)
|
||||
{
|
||||
// IUnknown
|
||||
|
@ -138,14 +167,22 @@ DECLARE_INTERFACE_(ID3DXBaseMesh, IUnknown)
|
|||
CONST DWORD *pDeclaration, LPDIRECT3DDEVICE8 pD3DDevice, LPD3DXMESH* ppCloneMesh) PURE;
|
||||
STDMETHOD(GetVertexBuffer)(THIS_ LPDIRECT3DVERTEXBUFFER8* ppVB) PURE;
|
||||
STDMETHOD(GetIndexBuffer)(THIS_ LPDIRECT3DINDEXBUFFER8* ppIB) PURE;
|
||||
STDMETHOD(LockVertexBuffer)(THIS_ DWORD Flags, BYTE** ppData) PURE;
|
||||
STDMETHOD(UnlockVertexBuffer)(THIS) PURE;
|
||||
STDMETHOD(LockIndexBuffer)(THIS_ DWORD Flags, BYTE** ppData) PURE;
|
||||
STDMETHOD(UnlockIndexBuffer)(THIS) PURE;
|
||||
STDMETHOD(LockVertexBuffer)(THIS_ DWORD Flags, BYTE** ppData) PURE;
|
||||
STDMETHOD(UnlockVertexBuffer)(THIS) PURE;
|
||||
STDMETHOD(LockIndexBuffer)(THIS_ DWORD Flags, BYTE** ppData) PURE;
|
||||
STDMETHOD(UnlockIndexBuffer)(THIS) PURE;
|
||||
STDMETHOD(GetAttributeTable)(
|
||||
THIS_ D3DXATTRIBUTERANGE *pAttribTable, DWORD* pAttribTableSize) PURE;
|
||||
|
||||
STDMETHOD(ConvertPointRepsToAdjacency)(THIS_ CONST DWORD* pPRep, DWORD* pAdjacency) PURE;
|
||||
STDMETHOD(ConvertAdjacencyToPointReps)(THIS_ CONST DWORD* pAdjacency, DWORD* pPRep) PURE;
|
||||
STDMETHOD(GenerateAdjacency)(THIS_ FLOAT Epsilon, DWORD* pAdjacency) PURE;
|
||||
};
|
||||
|
||||
|
||||
#undef INTERFACE
|
||||
#define INTERFACE ID3DXMesh
|
||||
|
||||
DECLARE_INTERFACE_(ID3DXMesh, ID3DXBaseMesh)
|
||||
{
|
||||
// IUnknown
|
||||
|
@ -167,26 +204,32 @@ DECLARE_INTERFACE_(ID3DXMesh, ID3DXBaseMesh)
|
|||
CONST DWORD *pDeclaration, LPDIRECT3DDEVICE8 pD3DDevice, LPD3DXMESH* ppCloneMesh) PURE;
|
||||
STDMETHOD(GetVertexBuffer)(THIS_ LPDIRECT3DVERTEXBUFFER8* ppVB) PURE;
|
||||
STDMETHOD(GetIndexBuffer)(THIS_ LPDIRECT3DINDEXBUFFER8* ppIB) PURE;
|
||||
STDMETHOD(LockVertexBuffer)(THIS_ DWORD Flags, BYTE** ppData) PURE;
|
||||
STDMETHOD(UnlockVertexBuffer)(THIS) PURE;
|
||||
STDMETHOD(LockIndexBuffer)(THIS_ DWORD Flags, BYTE** ppData) PURE;
|
||||
STDMETHOD(UnlockIndexBuffer)(THIS) PURE;
|
||||
STDMETHOD(LockVertexBuffer)(THIS_ DWORD Flags, BYTE** ppData) PURE;
|
||||
STDMETHOD(UnlockVertexBuffer)(THIS) PURE;
|
||||
STDMETHOD(LockIndexBuffer)(THIS_ DWORD Flags, BYTE** ppData) PURE;
|
||||
STDMETHOD(UnlockIndexBuffer)(THIS) PURE;
|
||||
STDMETHOD(GetAttributeTable)(
|
||||
THIS_ D3DXATTRIBUTERANGE *pAttribTable, DWORD* pAttribTableSize) PURE;
|
||||
|
||||
// ID3DXMesh
|
||||
STDMETHOD(LockAttributeBuffer)(THIS_ DWORD Flags, DWORD** ppData) PURE;
|
||||
STDMETHOD(UnlockAttributeBuffer)(THIS) PURE;
|
||||
STDMETHOD(ConvertPointRepsToAdjacency)(THIS_ CONST DWORD* pPRep, DWORD* pAdjacency) PURE;
|
||||
STDMETHOD(ConvertAdjacencyToPointReps)(THIS_ CONST DWORD* pAdjacency, DWORD* pPRep) PURE;
|
||||
STDMETHOD(GenerateAdjacency)(THIS_ FLOAT fEpsilon, DWORD* pAdjacency) PURE;
|
||||
STDMETHOD(GenerateAdjacency)(THIS_ FLOAT Epsilon, DWORD* pAdjacency) PURE;
|
||||
|
||||
// ID3DXMesh
|
||||
STDMETHOD(LockAttributeBuffer)(THIS_ DWORD Flags, DWORD** ppData) PURE;
|
||||
STDMETHOD(UnlockAttributeBuffer)(THIS) PURE;
|
||||
STDMETHOD(Optimize)(THIS_ DWORD Flags, CONST DWORD* pAdjacencyIn, DWORD* pAdjacencyOut,
|
||||
DWORD* pFaceRemap, LPD3DXBUFFER *ppVertexRemap,
|
||||
LPD3DXMESH* ppOptMesh) PURE;
|
||||
STDMETHOD(OptimizeInplace)(THIS_ DWORD Flags, CONST DWORD* pAdjacencyIn, DWORD* pAdjacencyOut,
|
||||
DWORD* pFaceRemap, LPD3DXBUFFER *ppVertexRemap) PURE;
|
||||
|
||||
};
|
||||
|
||||
|
||||
#undef INTERFACE
|
||||
#define INTERFACE ID3DXPMesh
|
||||
|
||||
DECLARE_INTERFACE_(ID3DXPMesh, ID3DXBaseMesh)
|
||||
{
|
||||
// IUnknown
|
||||
|
@ -208,13 +251,17 @@ DECLARE_INTERFACE_(ID3DXPMesh, ID3DXBaseMesh)
|
|||
CONST DWORD *pDeclaration, LPDIRECT3DDEVICE8 pD3DDevice, LPD3DXMESH* ppCloneMesh) PURE;
|
||||
STDMETHOD(GetVertexBuffer)(THIS_ LPDIRECT3DVERTEXBUFFER8* ppVB) PURE;
|
||||
STDMETHOD(GetIndexBuffer)(THIS_ LPDIRECT3DINDEXBUFFER8* ppIB) PURE;
|
||||
STDMETHOD(LockVertexBuffer)(THIS_ DWORD Flags, BYTE** ppData) PURE;
|
||||
STDMETHOD(UnlockVertexBuffer)(THIS) PURE;
|
||||
STDMETHOD(LockIndexBuffer)(THIS_ DWORD Flags, BYTE** ppData) PURE;
|
||||
STDMETHOD(UnlockIndexBuffer)(THIS) PURE;
|
||||
STDMETHOD(LockVertexBuffer)(THIS_ DWORD Flags, BYTE** ppData) PURE;
|
||||
STDMETHOD(UnlockVertexBuffer)(THIS) PURE;
|
||||
STDMETHOD(LockIndexBuffer)(THIS_ DWORD Flags, BYTE** ppData) PURE;
|
||||
STDMETHOD(UnlockIndexBuffer)(THIS) PURE;
|
||||
STDMETHOD(GetAttributeTable)(
|
||||
THIS_ D3DXATTRIBUTERANGE *pAttribTable, DWORD* pAttribTableSize) PURE;
|
||||
|
||||
STDMETHOD(ConvertPointRepsToAdjacency)(THIS_ CONST DWORD* pPRep, DWORD* pAdjacency) PURE;
|
||||
STDMETHOD(ConvertAdjacencyToPointReps)(THIS_ CONST DWORD* pAdjacency, DWORD* pPRep) PURE;
|
||||
STDMETHOD(GenerateAdjacency)(THIS_ FLOAT Epsilon, DWORD* pAdjacency) PURE;
|
||||
|
||||
// ID3DXPMesh
|
||||
STDMETHOD(ClonePMeshFVF)(THIS_ DWORD Options,
|
||||
DWORD FVF, LPDIRECT3DDEVICE8 pD3D, LPD3DXPMESH* ppCloneMesh) PURE;
|
||||
|
@ -231,9 +278,18 @@ DECLARE_INTERFACE_(ID3DXPMesh, ID3DXBaseMesh)
|
|||
STDMETHOD(Optimize)(THIS_ DWORD Flags, DWORD* pAdjacencyOut,
|
||||
DWORD* pFaceRemap, LPD3DXBUFFER *ppVertexRemap,
|
||||
LPD3DXMESH* ppOptMesh) PURE;
|
||||
|
||||
STDMETHOD(OptimizeBaseLOD)(THIS_ DWORD Flags, DWORD* pFaceRemap) PURE;
|
||||
STDMETHOD(TrimByFaces)(THIS_ DWORD NewFacesMin, DWORD NewFacesMax, DWORD *rgiFaceRemap, DWORD *rgiVertRemap) PURE;
|
||||
STDMETHOD(TrimByVertices)(THIS_ DWORD NewVerticesMin, DWORD NewVerticesMax, DWORD *rgiFaceRemap, DWORD *rgiVertRemap) PURE;
|
||||
|
||||
STDMETHOD(GetAdjacency)(THIS_ DWORD* pAdjacency) PURE;
|
||||
};
|
||||
|
||||
|
||||
#undef INTERFACE
|
||||
#define INTERFACE ID3DXSPMesh
|
||||
|
||||
DECLARE_INTERFACE_(ID3DXSPMesh, IUnknown)
|
||||
{
|
||||
// IUnknown
|
||||
|
@ -260,19 +316,21 @@ DECLARE_INTERFACE_(ID3DXSPMesh, IUnknown)
|
|||
STDMETHOD(ReduceVertices)(THIS_ DWORD Vertices) PURE;
|
||||
STDMETHOD_(DWORD, GetMaxFaces)(THIS) PURE;
|
||||
STDMETHOD_(DWORD, GetMaxVertices)(THIS) PURE;
|
||||
STDMETHOD(GetVertexAttributeWeights)(THIS_ LPD3DXATTRIBUTEWEIGHTS pVertexAttributeWeights) PURE;
|
||||
STDMETHOD(GetVertexWeights)(THIS_ FLOAT *pVertexWeights) PURE;
|
||||
};
|
||||
|
||||
#define UNUSED16 (0xffff)
|
||||
#define UNUSED32 (0xffffffff)
|
||||
|
||||
// ID3DXMesh::Optimize options
|
||||
// ID3DXMesh::Optimize options - upper byte only, lower 3 bytes used from _D3DXMESH option flags
|
||||
enum _D3DXMESHOPT {
|
||||
D3DXMESHOPT_COMPACT = 0x001,
|
||||
D3DXMESHOPT_ATTRSORT = 0x002,
|
||||
D3DXMESHOPT_VERTEXCACHE = 0x004,
|
||||
D3DXMESHOPT_STRIPREORDER = 0x008,
|
||||
D3DXMESHOPT_IGNOREVERTS = 0x010, // optimize faces only, don't touch vertices
|
||||
D3DXMESHOPT_SHAREVB = 0x020,
|
||||
D3DXMESHOPT_COMPACT = 0x01000000,
|
||||
D3DXMESHOPT_ATTRSORT = 0x02000000,
|
||||
D3DXMESHOPT_VERTEXCACHE = 0x04000000,
|
||||
D3DXMESHOPT_STRIPREORDER = 0x08000000,
|
||||
D3DXMESHOPT_IGNOREVERTS = 0x10000000, // optimize faces only, don't touch vertices
|
||||
D3DXMESHOPT_SHAREVB = 0x1000, // same as D3DXMESH_VB_SHARE
|
||||
};
|
||||
|
||||
// Subset of the mesh that has the same attribute and bone combination.
|
||||
|
@ -284,9 +342,13 @@ typedef struct _D3DXBONECOMBINATION
|
|||
DWORD FaceCount;
|
||||
DWORD VertexStart;
|
||||
DWORD VertexCount;
|
||||
DWORD* BoneId;
|
||||
DWORD* BoneId;
|
||||
} D3DXBONECOMBINATION, *LPD3DXBONECOMBINATION;
|
||||
|
||||
|
||||
#undef INTERFACE
|
||||
#define INTERFACE ID3DXSkinMesh
|
||||
|
||||
DECLARE_INTERFACE_(ID3DXSkinMesh, IUnknown)
|
||||
{
|
||||
// IUnknown
|
||||
|
@ -294,7 +356,7 @@ DECLARE_INTERFACE_(ID3DXSkinMesh, IUnknown)
|
|||
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
|
||||
STDMETHOD_(ULONG, Release)(THIS) PURE;
|
||||
|
||||
// ID3DXMesh
|
||||
// ID3DXMesh
|
||||
STDMETHOD_(DWORD, GetNumFaces)(THIS) PURE;
|
||||
STDMETHOD_(DWORD, GetNumVertices)(THIS) PURE;
|
||||
STDMETHOD_(DWORD, GetFVF)(THIS) PURE;
|
||||
|
@ -303,31 +365,48 @@ DECLARE_INTERFACE_(ID3DXSkinMesh, IUnknown)
|
|||
STDMETHOD(GetDevice)(THIS_ LPDIRECT3DDEVICE8* ppDevice) PURE;
|
||||
STDMETHOD(GetVertexBuffer)(THIS_ LPDIRECT3DVERTEXBUFFER8* ppVB) PURE;
|
||||
STDMETHOD(GetIndexBuffer)(THIS_ LPDIRECT3DINDEXBUFFER8* ppIB) PURE;
|
||||
STDMETHOD(LockVertexBuffer)(THIS_ DWORD flags, BYTE** ppData) PURE;
|
||||
STDMETHOD(UnlockVertexBuffer)(THIS) PURE;
|
||||
STDMETHOD(LockIndexBuffer)(THIS_ DWORD flags, BYTE** ppData) PURE;
|
||||
STDMETHOD(UnlockIndexBuffer)(THIS) PURE;
|
||||
STDMETHOD(LockAttributeBuffer)(THIS_ DWORD flags, DWORD** ppData) PURE;
|
||||
STDMETHOD(UnlockAttributeBuffer)(THIS) PURE;
|
||||
STDMETHOD(LockVertexBuffer)(THIS_ DWORD flags, BYTE** ppData) PURE;
|
||||
STDMETHOD(UnlockVertexBuffer)(THIS) PURE;
|
||||
STDMETHOD(LockIndexBuffer)(THIS_ DWORD flags, BYTE** ppData) PURE;
|
||||
STDMETHOD(UnlockIndexBuffer)(THIS) PURE;
|
||||
STDMETHOD(LockAttributeBuffer)(THIS_ DWORD flags, DWORD** ppData) PURE;
|
||||
STDMETHOD(UnlockAttributeBuffer)(THIS) PURE;
|
||||
// ID3DXSkinMesh
|
||||
STDMETHOD_(DWORD, GetNumBones)(THIS) PURE;
|
||||
STDMETHOD(GetOriginalMesh)(THIS_ LPD3DXMESH* ppMesh) PURE;
|
||||
STDMETHOD(SetBoneInfluence)(THIS_ DWORD bone, DWORD numInfluences, CONST DWORD* vertices, CONST FLOAT* weights) PURE;
|
||||
STDMETHOD_(DWORD, GetNumBoneInfluences)(THIS_ DWORD bone) PURE;
|
||||
STDMETHOD(GetBoneInfluence)(THIS_ DWORD bone, DWORD* vertices, FLOAT* weights) PURE;
|
||||
STDMETHOD(GetMaxVertexInfluences)(THIS_ DWORD* maxVertexInfluences) PURE;
|
||||
STDMETHOD(GetMaxFaceInfluences)(THIS_ DWORD* maxFaceInfluences) PURE;
|
||||
STDMETHOD(ConvertToBlendedMesh)(THIS_ DWORD options, CONST LPDWORD pAdjacencyIn, LPDWORD pAdjacencyOut,
|
||||
DWORD* pNumBoneCombinations, LPD3DXBUFFER* ppBoneCombinationTable, LPD3DXMESH* ppMesh) PURE;
|
||||
STDMETHOD(ConvertToIndexedBlendedMesh)(THIS_ DWORD options,
|
||||
STDMETHOD(SetBoneInfluence)(THIS_ DWORD bone, DWORD numInfluences, CONST DWORD* vertices, CONST FLOAT* weights) PURE;
|
||||
STDMETHOD_(DWORD, GetNumBoneInfluences)(THIS_ DWORD bone) PURE;
|
||||
STDMETHOD(GetBoneInfluence)(THIS_ DWORD bone, DWORD* vertices, FLOAT* weights) PURE;
|
||||
STDMETHOD(GetMaxVertexInfluences)(THIS_ DWORD* maxVertexInfluences) PURE;
|
||||
STDMETHOD(GetMaxFaceInfluences)(THIS_ DWORD* maxFaceInfluences) PURE;
|
||||
|
||||
STDMETHOD(ConvertToBlendedMesh)(THIS_ DWORD Options,
|
||||
CONST LPDWORD pAdjacencyIn,
|
||||
LPDWORD pAdjacencyOut,
|
||||
DWORD* pNumBoneCombinations,
|
||||
LPD3DXBUFFER* ppBoneCombinationTable,
|
||||
DWORD* pFaceRemap,
|
||||
LPD3DXBUFFER *ppVertexRemap,
|
||||
LPD3DXMESH* ppMesh) PURE;
|
||||
|
||||
STDMETHOD(ConvertToIndexedBlendedMesh)(THIS_ DWORD Options,
|
||||
CONST LPDWORD pAdjacencyIn,
|
||||
DWORD paletteSize,
|
||||
LPDWORD pAdjacencyOut,
|
||||
DWORD* pNumBoneCombinations,
|
||||
DWORD* pNumBoneCombinations,
|
||||
LPD3DXBUFFER* ppBoneCombinationTable,
|
||||
DWORD* pFaceRemap,
|
||||
LPD3DXBUFFER *ppVertexRemap,
|
||||
LPD3DXMESH* ppMesh) PURE;
|
||||
STDMETHOD(GenerateSkinnedMesh)(THIS_ DWORD options, FLOAT minWeight, CONST LPDWORD pAdjacencyIn, LPDWORD pAdjacencyOut, LPD3DXMESH* ppMesh) PURE;
|
||||
STDMETHOD(UpdateSkinnedMesh)(THIS_ CONST D3DXMATRIX* pBoneTransforms, LPD3DXMESH pMesh) PURE;
|
||||
|
||||
STDMETHOD(GenerateSkinnedMesh)(THIS_ DWORD Options,
|
||||
FLOAT minWeight,
|
||||
CONST LPDWORD pAdjacencyIn,
|
||||
LPDWORD pAdjacencyOut,
|
||||
DWORD* pFaceRemap,
|
||||
LPD3DXBUFFER *ppVertexRemap,
|
||||
LPD3DXMESH* ppMesh) PURE;
|
||||
STDMETHOD(UpdateSkinnedMesh)(THIS_ CONST D3DXMATRIX* pBoneTransforms, CONST D3DXMATRIX* pBoneInvTransforms, LPD3DXMESH pMesh) PURE;
|
||||
};
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
@ -364,13 +443,16 @@ HRESULT WINAPI
|
|||
HRESULT WINAPI
|
||||
D3DXCleanMesh(
|
||||
LPD3DXMESH pMeshIn,
|
||||
CONST DWORD* pAdjacency,
|
||||
LPD3DXMESH* ppMeshOut);
|
||||
CONST DWORD* pAdjacencyIn,
|
||||
LPD3DXMESH* ppMeshOut,
|
||||
DWORD* pAdjacencyOut,
|
||||
LPD3DXBUFFER* ppErrorsAndWarnings);
|
||||
|
||||
HRESULT WINAPI
|
||||
D3DXValidMesh(
|
||||
LPD3DXMESH pMeshIn,
|
||||
CONST DWORD* pAdjacency);
|
||||
CONST DWORD* pAdjacency,
|
||||
LPD3DXBUFFER* ppErrorsAndWarnings);
|
||||
|
||||
HRESULT WINAPI
|
||||
D3DXGeneratePMesh(
|
||||
|
@ -410,7 +492,8 @@ HRESULT WINAPI
|
|||
|
||||
HRESULT WINAPI
|
||||
D3DXComputeNormals(
|
||||
LPD3DXBASEMESH pMesh);
|
||||
LPD3DXBASEMESH pMesh,
|
||||
CONST DWORD *pAdjacency);
|
||||
|
||||
HRESULT WINAPI
|
||||
D3DXCreateBuffer(
|
||||
|
@ -425,7 +508,30 @@ HRESULT WINAPI
|
|||
LPDIRECT3DDEVICE8 pD3D,
|
||||
LPD3DXBUFFER *ppAdjacency,
|
||||
LPD3DXBUFFER *ppMaterials,
|
||||
PDWORD pNumMaterials,
|
||||
DWORD *pNumMaterials,
|
||||
LPD3DXMESH *ppMesh);
|
||||
|
||||
HRESULT WINAPI
|
||||
D3DXLoadMeshFromXInMemory(
|
||||
PBYTE Memory,
|
||||
DWORD SizeOfMemory,
|
||||
DWORD Options,
|
||||
LPDIRECT3DDEVICE8 pD3D,
|
||||
LPD3DXBUFFER *ppAdjacency,
|
||||
LPD3DXBUFFER *ppMaterials,
|
||||
DWORD *pNumMaterials,
|
||||
LPD3DXMESH *ppMesh);
|
||||
|
||||
HRESULT WINAPI
|
||||
D3DXLoadMeshFromXResource(
|
||||
HMODULE Module,
|
||||
LPCTSTR Name,
|
||||
LPCTSTR Type,
|
||||
DWORD Options,
|
||||
LPDIRECT3DDEVICE8 pD3D,
|
||||
LPD3DXBUFFER *ppAdjacency,
|
||||
LPD3DXBUFFER *ppMaterials,
|
||||
DWORD *pNumMaterials,
|
||||
LPD3DXMESH *ppMesh);
|
||||
|
||||
HRESULT WINAPI
|
||||
|
@ -441,7 +547,7 @@ HRESULT WINAPI
|
|||
HRESULT WINAPI
|
||||
D3DXCreatePMeshFromStream(
|
||||
IStream *pStream,
|
||||
DWORD Options,
|
||||
DWORD Options,
|
||||
LPDIRECT3DDEVICE8 pD3DDevice,
|
||||
LPD3DXBUFFER *ppMaterials,
|
||||
DWORD* pNumMaterials,
|
||||
|
@ -449,21 +555,21 @@ HRESULT WINAPI
|
|||
|
||||
HRESULT WINAPI
|
||||
D3DXCreateSkinMesh(
|
||||
DWORD numFaces,
|
||||
DWORD numVertices,
|
||||
DWORD numBones,
|
||||
DWORD options,
|
||||
DWORD NumFaces,
|
||||
DWORD NumVertices,
|
||||
DWORD NumBones,
|
||||
DWORD Options,
|
||||
CONST DWORD *pDeclaration,
|
||||
LPDIRECT3DDEVICE8 pD3D,
|
||||
LPD3DXSKINMESH* ppSkinMesh);
|
||||
|
||||
HRESULT WINAPI
|
||||
D3DXCreateSkinMeshFVF(
|
||||
DWORD numFaces,
|
||||
DWORD numVertices,
|
||||
DWORD numBones,
|
||||
DWORD options,
|
||||
DWORD fvf,
|
||||
DWORD NumFaces,
|
||||
DWORD NumVertices,
|
||||
DWORD NumBones,
|
||||
DWORD Options,
|
||||
DWORD FVF,
|
||||
LPDIRECT3DDEVICE8 pD3D,
|
||||
LPD3DXSKINMESH* ppSkinMesh);
|
||||
|
||||
|
@ -480,33 +586,37 @@ HRESULT WINAPI
|
|||
LPDIRECT3DDEVICE8 pD3DDevice,
|
||||
LPD3DXBUFFER *ppAdjacency,
|
||||
LPD3DXBUFFER *ppMaterials,
|
||||
PDWORD pNumMaterials,
|
||||
DWORD *pNumMaterials,
|
||||
LPD3DXMESH *ppMesh);
|
||||
|
||||
HRESULT WINAPI
|
||||
D3DXLoadSkinMeshFromXof(
|
||||
LPDIRECTXFILEDATA pxofobjMesh,
|
||||
DWORD options,
|
||||
DWORD Options,
|
||||
LPDIRECT3DDEVICE8 pD3D,
|
||||
LPD3DXBUFFER* ppAdjacency,
|
||||
LPD3DXBUFFER* ppMaterials,
|
||||
PDWORD pMatOut,
|
||||
DWORD *pMatOut,
|
||||
LPD3DXBUFFER* ppBoneNames,
|
||||
LPD3DXBUFFER* ppBoneTransforms,
|
||||
LPD3DXSKINMESH* ppMesh);
|
||||
|
||||
HRESULT WINAPI
|
||||
D3DXTesselateMesh(
|
||||
D3DXTessellateNPatches(
|
||||
LPD3DXMESH pMeshIn,
|
||||
CONST DWORD* pAdjacency,
|
||||
CONST DWORD* pAdjacencyIn,
|
||||
FLOAT NumSegs,
|
||||
BOOL QuadraticInterpNormals, // if false use linear intrep for normals, if true use quadratic
|
||||
LPD3DXMESH *ppMeshOut);
|
||||
LPD3DXMESH *ppMeshOut,
|
||||
LPD3DXBUFFER *ppAdjacencyOut);
|
||||
|
||||
UINT WINAPI
|
||||
D3DXGetFVFVertexSize(DWORD FVF);
|
||||
|
||||
HRESULT WINAPI
|
||||
D3DXDeclaratorFromFVF(
|
||||
DWORD FVF,
|
||||
DWORD Declaration[MAX_FVF_DECL_SIZE]);
|
||||
DWORD Declaration[MAX_FVF_DECL_SIZE]);
|
||||
|
||||
HRESULT WINAPI
|
||||
D3DXFVFFromDeclarator(
|
||||
|
@ -516,46 +626,131 @@ HRESULT WINAPI
|
|||
HRESULT WINAPI
|
||||
D3DXWeldVertices(
|
||||
CONST LPD3DXMESH pMesh,
|
||||
float fEpsilon,
|
||||
CONST DWORD *rgdwAdjacencyIn,
|
||||
DWORD *rgdwAdjacencyOut,
|
||||
LPD3DXWELDEPSILONS pEpsilons,
|
||||
CONST DWORD *pAdjacencyIn,
|
||||
DWORD *pAdjacencyOut,
|
||||
DWORD* pFaceRemap,
|
||||
LPD3DXBUFFER *ppbufVertexRemap);
|
||||
LPD3DXBUFFER *ppVertexRemap);
|
||||
|
||||
typedef struct _D3DXINTERSECTINFO
|
||||
{
|
||||
DWORD FaceIndex; // index of face intersected
|
||||
FLOAT U; // Barycentric Hit Coordinates
|
||||
FLOAT V; // Barycentric Hit Coordinates
|
||||
FLOAT Dist; // Ray-Intersection Parameter Distance
|
||||
} D3DXINTERSECTINFO, *LPD3DXINTERSECTINFO;
|
||||
|
||||
|
||||
HRESULT WINAPI
|
||||
D3DXIntersect(
|
||||
LPD3DXBASEMESH pMesh,
|
||||
CONST D3DXVECTOR3 *pRayPos,
|
||||
CONST D3DXVECTOR3 *pRayDir,
|
||||
BOOL *pHit,
|
||||
DWORD *pFaceIndex,
|
||||
FLOAT *pU,
|
||||
FLOAT *pV,
|
||||
FLOAT *pDist);
|
||||
CONST D3DXVECTOR3 *pRayDir,
|
||||
BOOL *pHit, // True if any faces were intersected
|
||||
DWORD *pFaceIndex, // index of closest face intersected
|
||||
FLOAT *pU, // Barycentric Hit Coordinates
|
||||
FLOAT *pV, // Barycentric Hit Coordinates
|
||||
FLOAT *pDist, // Ray-Intersection Parameter Distance
|
||||
LPD3DXBUFFER *ppAllHits, // Array of D3DXINTERSECTINFOs for all hits (not just closest)
|
||||
DWORD *pCountOfHits); // Number of entries in AllHits array
|
||||
|
||||
HRESULT WINAPI
|
||||
D3DXIntersectSubset(
|
||||
LPD3DXBASEMESH pMesh,
|
||||
DWORD AttribId,
|
||||
CONST D3DXVECTOR3 *pRayPos,
|
||||
CONST D3DXVECTOR3 *pRayDir,
|
||||
BOOL *pHit, // True if any faces were intersected
|
||||
DWORD *pFaceIndex, // index of closest face intersected
|
||||
FLOAT *pU, // Barycentric Hit Coordinates
|
||||
FLOAT *pV, // Barycentric Hit Coordinates
|
||||
FLOAT *pDist, // Ray-Intersection Parameter Distance
|
||||
LPD3DXBUFFER *ppAllHits, // Array of D3DXINTERSECTINFOs for all hits (not just closest)
|
||||
DWORD *pCountOfHits); // Number of entries in AllHits array
|
||||
|
||||
|
||||
HRESULT WINAPI D3DXSplitMesh
|
||||
(
|
||||
CONST LPD3DXMESH pMeshIn,
|
||||
CONST DWORD *pAdjacencyIn,
|
||||
CONST DWORD MaxSize,
|
||||
CONST DWORD Options,
|
||||
DWORD *pMeshesOut,
|
||||
LPD3DXBUFFER *ppMeshArrayOut,
|
||||
LPD3DXBUFFER *ppAdjacencyArrayOut,
|
||||
LPD3DXBUFFER *ppFaceRemapArrayOut,
|
||||
LPD3DXBUFFER *ppVertRemapArrayOut
|
||||
);
|
||||
|
||||
BOOL D3DXIntersectTri
|
||||
(
|
||||
CONST D3DXVECTOR3 *p0, // Triangle vertex 0 position
|
||||
CONST D3DXVECTOR3 *p1, // Triangle vertex 1 position
|
||||
CONST D3DXVECTOR3 *p2, // Triangle vertex 2 position
|
||||
CONST D3DXVECTOR3 *pRayPos, // Ray origin
|
||||
CONST D3DXVECTOR3 *pRayDir, // Ray direction
|
||||
FLOAT *pU, // Barycentric Hit Coordinates
|
||||
FLOAT *pV, // Barycentric Hit Coordinates
|
||||
FLOAT *pDist); // Ray-Intersection Parameter Distance
|
||||
|
||||
BOOL WINAPI
|
||||
D3DXSphereBoundProbe(
|
||||
CONST D3DXVECTOR3 *pvCenter,
|
||||
FLOAT fRadius,
|
||||
D3DXVECTOR3 *pvRayPosition,
|
||||
D3DXVECTOR3 *pvRayDirection);
|
||||
CONST D3DXVECTOR3 *pCenter,
|
||||
FLOAT Radius,
|
||||
CONST D3DXVECTOR3 *pRayPosition,
|
||||
CONST D3DXVECTOR3 *pRayDirection);
|
||||
|
||||
BOOL WINAPI
|
||||
D3DXBoxBoundProbe(
|
||||
CONST D3DXVECTOR3 *pvMin,
|
||||
CONST D3DXVECTOR3 *pvMax,
|
||||
D3DXVECTOR3 *pvRayPosition,
|
||||
D3DXVECTOR3 *pvRayDirection);
|
||||
CONST D3DXVECTOR3 *pMin,
|
||||
CONST D3DXVECTOR3 *pMax,
|
||||
CONST D3DXVECTOR3 *pRayPosition,
|
||||
CONST D3DXVECTOR3 *pRayDirection);
|
||||
|
||||
enum _D3DXERR {
|
||||
D3DXERR_CANNOTMODIFYINDEXBUFFER = MAKE_DDHRESULT(2900),
|
||||
D3DXERR_INVALIDMESH = MAKE_DDHRESULT(2901),
|
||||
D3DXERR_CANNOTATTRSORT = MAKE_DDHRESULT(2902),
|
||||
D3DXERR_SKINNINGNOTSUPPORTED = MAKE_DDHRESULT(2903),
|
||||
D3DXERR_TOOMANYINFLUENCES = MAKE_DDHRESULT(2904),
|
||||
D3DXERR_CANNOTMODIFYINDEXBUFFER = MAKE_DDHRESULT(2900),
|
||||
D3DXERR_INVALIDMESH = MAKE_DDHRESULT(2901),
|
||||
D3DXERR_CANNOTATTRSORT = MAKE_DDHRESULT(2902),
|
||||
D3DXERR_SKINNINGNOTSUPPORTED = MAKE_DDHRESULT(2903),
|
||||
D3DXERR_TOOMANYINFLUENCES = MAKE_DDHRESULT(2904),
|
||||
D3DXERR_INVALIDDATA = MAKE_DDHRESULT(2905),
|
||||
D3DXERR_LOADEDMESHASNODATA = MAKE_DDHRESULT(2906),
|
||||
};
|
||||
|
||||
|
||||
#define D3DX_COMP_TANGENT_NONE 0xFFFFFFFF
|
||||
|
||||
HRESULT WINAPI D3DXComputeTangent(LPD3DXMESH InMesh,
|
||||
DWORD TexStage,
|
||||
LPD3DXMESH OutMesh,
|
||||
DWORD TexStageUVec,
|
||||
DWORD TexStageVVec,
|
||||
DWORD Wrap,
|
||||
DWORD *Adjacency);
|
||||
|
||||
HRESULT WINAPI
|
||||
D3DXConvertMeshSubsetToSingleStrip
|
||||
(
|
||||
LPD3DXBASEMESH MeshIn,
|
||||
DWORD AttribId,
|
||||
DWORD IBOptions,
|
||||
LPDIRECT3DINDEXBUFFER8 *ppIndexBuffer,
|
||||
DWORD *pNumIndices
|
||||
);
|
||||
|
||||
HRESULT WINAPI
|
||||
D3DXConvertMeshSubsetToStrips
|
||||
(
|
||||
LPD3DXBASEMESH MeshIn,
|
||||
DWORD AttribId,
|
||||
DWORD IBOptions,
|
||||
LPDIRECT3DINDEXBUFFER8 *ppIndexBuffer,
|
||||
DWORD *pNumIndices,
|
||||
LPD3DXBUFFER *ppStripLengths,
|
||||
DWORD *pNumStrips
|
||||
);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif //__cplusplus
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
///////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 1999 Microsoft Corporation. All Rights Reserved.
|
||||
// Copyright (C) Microsoft Corporation. All Rights Reserved.
|
||||
//
|
||||
// File: d3dx8shapes.h
|
||||
// Content: D3DX simple shapes
|
||||
|
@ -192,6 +192,7 @@ HRESULT WINAPI
|
|||
FLOAT Deviation,
|
||||
FLOAT Extrusion,
|
||||
LPD3DXMESH* ppMesh,
|
||||
LPD3DXBUFFER* ppAdjacency,
|
||||
LPGLYPHMETRICSFLOAT pGlyphMetrics);
|
||||
|
||||
HRESULT WINAPI
|
||||
|
@ -202,6 +203,7 @@ HRESULT WINAPI
|
|||
FLOAT Deviation,
|
||||
FLOAT Extrusion,
|
||||
LPD3DXMESH* ppMesh,
|
||||
LPD3DXBUFFER* ppAdjacency,
|
||||
LPGLYPHMETRICSFLOAT pGlyphMetrics);
|
||||
|
||||
#ifdef UNICODE
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,6 +1,6 @@
|
|||
///////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 1999 Microsoft Corporation. All Rights Reserved.
|
||||
// Copyright (C) Microsoft Corporation. All Rights Reserved.
|
||||
//
|
||||
// File: d3dxcore.h
|
||||
// Content: D3DX core types and functions
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
//
|
||||
// d3dxerr.h -- 0xC code definitions for the D3DX API
|
||||
//
|
||||
// Copyright (c) 1991-1999, Microsoft Corp. All rights reserved.
|
||||
// Copyright (c) Microsoft Corp. All rights reserved.
|
||||
//
|
||||
//----------------------------------------------------------------------
|
||||
#ifndef __D3DXERR_H__
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
//////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 1998 Microsoft Corporation. All Rights Reserved.
|
||||
// Copyright (C) Microsoft Corporation. All Rights Reserved.
|
||||
//
|
||||
// File: d3dxmath.h
|
||||
// Content: D3DX math types and functions
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
//////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 1998 Microsoft Corporation. All Rights Reserved.
|
||||
// Copyright (C) Microsoft Corporation. All Rights Reserved.
|
||||
//
|
||||
// File: d3dxmath.inl
|
||||
// Content: D3DX math inline functions
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
///////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 1999 Microsoft Corporation. All Rights Reserved.
|
||||
// Copyright (C) Microsoft Corporation. All Rights Reserved.
|
||||
//
|
||||
// File: d3dxshapes.h
|
||||
// Content: D3DX simple shapes
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
///////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 1999 Microsoft Corporation. All Rights Reserved.
|
||||
// Copyright (C) Microsoft Corporation. All Rights Reserved.
|
||||
//
|
||||
// File: d3dxsprite.h
|
||||
// Content: D3DX sprite helper functions
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*==========================================================================;
|
||||
*
|
||||
* Copyright (C) 1994-1997 Microsoft Corporation. All Rights Reserved.
|
||||
* Copyright (C) Microsoft Corporation. All Rights Reserved.
|
||||
*
|
||||
* File: ddraw.h
|
||||
* Content: DirectDraw include file
|
||||
|
@ -2898,6 +2898,16 @@ typedef struct _DDCOLORCONTROL
|
|||
*/
|
||||
#define DDSCAPS2_DISCARDBACKBUFFER 0x10000000L
|
||||
|
||||
/*
|
||||
* Indicates that all surfaces in this creation chain should be given an alpha channel.
|
||||
* This flag will be set on primary surface chains that may have no explicit pixel format
|
||||
* (and thus take on the format of the current display mode).
|
||||
* The driver should infer that all these surfaces have a format having an alpha channel.
|
||||
* (e.g. assume D3DFMT_A8R8G8B8 if the display mode is x888.)
|
||||
*/
|
||||
#define DDSCAPS2_ENABLEALPHACHANNEL 0x20000000L
|
||||
|
||||
|
||||
/*
|
||||
* This is a mask that indicates the set of bits that may be set
|
||||
* at createsurface time to indicate number of samples per pixel
|
||||
|
@ -3248,9 +3258,26 @@ typedef struct _DDCOLORCONTROL
|
|||
#define DDCAPS2_SYSTONONLOCAL_AS_SYSTOLOCAL 0x04000000L
|
||||
|
||||
/*
|
||||
* Indicates that the driver can support PUREHAL.
|
||||
* was DDCAPS2_PUREHAL
|
||||
*/
|
||||
#define DDCAPS2_PUREHAL 0x08000000L
|
||||
#define DDCAPS2_RESERVED1 0x08000000L
|
||||
|
||||
/*
|
||||
* Driver supports management of video memory, if this flag is ON,
|
||||
* driver manages the resource if requested with DDSCAPS2_TEXTUREMANAGE on
|
||||
* DirectX manages the resource if this flag is OFF and surface has DDSCAPS2_TEXTUREMANAGE on
|
||||
*/
|
||||
#define DDCAPS2_CANMANAGERESOURCE 0x10000000L
|
||||
|
||||
/*
|
||||
* Driver supports dynamic textures. This will allow the application to set
|
||||
* D3DUSAGE_DYNAMIC (DDSCAPS2_HINTDYNAMIC for drivers) at texture create time.
|
||||
* Video memory dynamic textures WILL be lockable by applications. It is
|
||||
* expected that these locks will be very efficient (which implies that the
|
||||
* driver should always maintain a linear copy, a pointer to which can be
|
||||
* quickly handed out to the application).
|
||||
*/
|
||||
#define DDCAPS2_DYNAMICTEXTURES 0x20000000L
|
||||
|
||||
|
||||
/****************************************************************************
|
||||
|
@ -3564,7 +3591,6 @@ typedef struct _DDCOLORCONTROL
|
|||
|
||||
|
||||
|
||||
|
||||
/****************************************************************************
|
||||
*
|
||||
* DIRECTDRAWPALETTE CAPABILITIES
|
||||
|
@ -4686,6 +4712,15 @@ typedef struct _DDCOLORCONTROL
|
|||
*/
|
||||
#define DDLOCK_DONOTWAIT 0x00004000L
|
||||
|
||||
/*
|
||||
* This indicates volume texture lock with front and back specified.
|
||||
*/
|
||||
#define DDLOCK_HASVOLUMETEXTUREBOXRECT 0x00008000L
|
||||
|
||||
/*
|
||||
* This indicates that the driver should not update dirty rect information for this lock.
|
||||
*/
|
||||
#define DDLOCK_NODIRTYUPDATE 0x00010000L
|
||||
|
||||
|
||||
/****************************************************************************
|
||||
|
@ -4958,7 +4993,7 @@ typedef struct _DDCOLORCONTROL
|
|||
*
|
||||
* Issued by: DirectDraw Commands and all callbacks
|
||||
*/
|
||||
#define DD_OK 0
|
||||
#define DD_OK S_OK
|
||||
#define DD_FALSE S_FALSE
|
||||
|
||||
/****************************************************************************
|
||||
|
|
|
@ -4,10 +4,10 @@
|
|||
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
|
||||
|
||||
|
||||
/* File created by MIDL compiler version 6.00.0338 */
|
||||
/* File created by MIDL compiler version 6.00.0347 */
|
||||
/* Compiler settings for ddstream.idl:
|
||||
Oicf, W1, Zp8, env=Win32 (32b run)
|
||||
protocol : dce , ms_ext, c_ext
|
||||
protocol : dce , ms_ext, c_ext, robust
|
||||
error checks: allocation ref bounds_check enum stub_data
|
||||
VC __declspec() decoration level:
|
||||
__declspec(uuid()), __declspec(selectany), __declspec(novtable)
|
||||
|
@ -18,7 +18,7 @@
|
|||
|
||||
/* verify that the <rpcndr.h> version is high enough to compile this file*/
|
||||
#ifndef __REQUIRED_RPCNDR_H_VERSION__
|
||||
#define __REQUIRED_RPCNDR_H_VERSION__ 440
|
||||
#define __REQUIRED_RPCNDR_H_VERSION__ 475
|
||||
#endif
|
||||
|
||||
#include "rpc.h"
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
//
|
||||
// Desc: Headers needed by almost all DMOs.
|
||||
//
|
||||
// Copyright (c) 1999 - 2000, Microsoft Corporation. All rights reserved.
|
||||
// Copyright (c) 1999 - 2001, Microsoft Corporation. All rights reserved.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
@ -13,7 +13,7 @@
|
|||
|
||||
#include "mediaerr.h"
|
||||
|
||||
// When using ATL we get collisions on Lock so in this case rename
|
||||
// When using ATL we get collisions on Lock, so in this case rename
|
||||
// IMediaObject::Lock to IMediaObject::DMOLock
|
||||
|
||||
#ifdef FIX_LOCK_NAME
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
|
||||
|
||||
|
||||
/* File created by MIDL compiler version 6.00.0338 */
|
||||
/* File created by MIDL compiler version 6.00.0347 */
|
||||
/* Compiler settings for dmodshow.idl:
|
||||
Oicf, W1, Zp8, env=Win32 (32b run)
|
||||
protocol : dce , ms_ext, c_ext, robust
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
//
|
||||
// Desc: Classes to implement a DMO.
|
||||
//
|
||||
// Copyright (c) 2000, Microsoft Corporation. All rights reserved.
|
||||
// Copyright (c) 2000-2001, Microsoft Corporation. All rights reserved.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
@ -222,6 +222,7 @@ protected:
|
|||
*pulNumberOfOutputStreams = NUMBEROFOUTPUTS;
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
STDMETHODIMP GetInputStreamInfo(ULONG ulStreamIndex, DWORD *pdwFlags)
|
||||
{
|
||||
LockIt lck(static_cast<_DERIVED_ *>(this));
|
||||
|
@ -238,6 +239,7 @@ protected:
|
|||
DMO_INPUT_STREAMF_HOLDS_BUFFERS)));
|
||||
return hr;
|
||||
}
|
||||
|
||||
STDMETHODIMP GetOutputStreamInfo(ULONG ulStreamIndex, DWORD *pdwFlags)
|
||||
{
|
||||
LockIt lck(static_cast<_DERIVED_ *>(this));
|
||||
|
@ -255,6 +257,7 @@ protected:
|
|||
DMO_OUTPUT_STREAMF_OPTIONAL)));
|
||||
return hr;
|
||||
}
|
||||
|
||||
STDMETHODIMP GetInputType(ULONG ulStreamIndex, ULONG ulTypeIndex, DMO_MEDIA_TYPE *pmt) {
|
||||
if (ulStreamIndex >= NUMBEROFINPUTS) {
|
||||
return DMO_E_INVALIDSTREAMINDEX;
|
||||
|
@ -262,6 +265,7 @@ protected:
|
|||
LockIt lck(static_cast<_DERIVED_ *>(this));
|
||||
return INTERNAL_CALL(_DERIVED_, GetInputType)(ulStreamIndex, ulTypeIndex, pmt);
|
||||
}
|
||||
|
||||
STDMETHODIMP GetOutputType(ULONG ulStreamIndex, ULONG ulTypeIndex, DMO_MEDIA_TYPE *pmt) {
|
||||
if (ulStreamIndex >= NUMBEROFOUTPUTS) {
|
||||
return DMO_E_INVALIDSTREAMINDEX;
|
||||
|
@ -269,6 +273,7 @@ protected:
|
|||
LockIt lck(static_cast<_DERIVED_ *>(this));
|
||||
return INTERNAL_CALL(_DERIVED_, GetOutputType)(ulStreamIndex, ulTypeIndex, pmt);
|
||||
}
|
||||
|
||||
STDMETHODIMP GetInputCurrentType(ULONG ulStreamIndex, DMO_MEDIA_TYPE *pmt) {
|
||||
if (ulStreamIndex >= NUMBEROFINPUTS) {
|
||||
return DMO_E_INVALIDSTREAMINDEX;
|
||||
|
@ -283,6 +288,7 @@ protected:
|
|||
else
|
||||
return DMO_E_TYPE_NOT_SET;
|
||||
}
|
||||
|
||||
STDMETHODIMP GetOutputCurrentType(ULONG ulStreamIndex, DMO_MEDIA_TYPE *pmt) {
|
||||
if (ulStreamIndex >= NUMBEROFOUTPUTS) {
|
||||
return DMO_E_INVALIDSTREAMINDEX;
|
||||
|
@ -297,6 +303,7 @@ protected:
|
|||
else
|
||||
return DMO_E_TYPE_NOT_SET;
|
||||
}
|
||||
|
||||
STDMETHODIMP GetInputSizeInfo(ULONG ulStreamIndex, ULONG *pulSize, ULONG *pcbMaxLookahead, ULONG *pulAlignment) {
|
||||
if (ulStreamIndex >= NUMBEROFINPUTS) {
|
||||
return DMO_E_INVALIDSTREAMINDEX;
|
||||
|
@ -311,6 +318,7 @@ protected:
|
|||
}
|
||||
return INTERNAL_CALL(_DERIVED_, GetInputSizeInfo)(ulStreamIndex, pulSize, pcbMaxLookahead, pulAlignment);
|
||||
}
|
||||
|
||||
STDMETHODIMP GetOutputSizeInfo(ULONG ulStreamIndex, ULONG *pulSize, ULONG *pulAlignment) {
|
||||
if (ulStreamIndex >= NUMBEROFOUTPUTS) {
|
||||
return DMO_E_INVALIDSTREAMINDEX;
|
||||
|
@ -324,6 +332,7 @@ protected:
|
|||
}
|
||||
return INTERNAL_CALL(_DERIVED_, GetOutputSizeInfo)(ulStreamIndex, pulSize, pulAlignment);
|
||||
}
|
||||
|
||||
STDMETHODIMP SetInputType(ULONG ulStreamIndex, const DMO_MEDIA_TYPE *pmt, DWORD dwFlags) {
|
||||
if (ulStreamIndex >= NUMBEROFINPUTS) {
|
||||
return DMO_E_INVALIDSTREAMINDEX;
|
||||
|
@ -420,6 +429,7 @@ protected:
|
|||
|
||||
return NOERROR;
|
||||
}
|
||||
|
||||
STDMETHODIMP GetInputStatus(
|
||||
ULONG ulStreamIndex,
|
||||
DWORD *pdwStatus
|
||||
|
@ -443,6 +453,7 @@ protected:
|
|||
}
|
||||
return NOERROR;
|
||||
}
|
||||
|
||||
STDMETHODIMP GetInputMaxLatency(unsigned long ulStreamIndex, REFERENCE_TIME *prtLatency) {
|
||||
|
||||
if (prtLatency == NULL) {
|
||||
|
@ -456,6 +467,7 @@ protected:
|
|||
|
||||
return INTERNAL_CALL(_DERIVED_, GetInputMaxLatency)(ulStreamIndex, prtLatency);
|
||||
}
|
||||
|
||||
STDMETHODIMP SetInputMaxLatency(unsigned long ulStreamIndex, REFERENCE_TIME rtLatency) {
|
||||
if (ulStreamIndex >= NUMBEROFINPUTS) {
|
||||
return DMO_E_INVALIDSTREAMINDEX;
|
||||
|
@ -465,6 +477,7 @@ protected:
|
|||
|
||||
return INTERNAL_CALL(_DERIVED_, SetInputMaxLatency)(ulStreamIndex, rtLatency);
|
||||
}
|
||||
|
||||
STDMETHODIMP Discontinuity(ULONG ulStreamIndex) {
|
||||
if (ulStreamIndex >= NUMBEROFINPUTS) {
|
||||
return DMO_E_INVALIDSTREAMINDEX;
|
||||
|
@ -512,6 +525,7 @@ protected:
|
|||
}
|
||||
return hr;
|
||||
}
|
||||
|
||||
STDMETHODIMP FreeStreamingResources()
|
||||
{
|
||||
LockIt lck(static_cast<_DERIVED_ *>(this));
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
//
|
||||
// Desc:
|
||||
//
|
||||
// Copyright (c) 1999 - 2000, Microsoft Corporation. All rights reserved.
|
||||
// Copyright (c) 1999 - 2001, Microsoft Corporation. All rights reserved.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
@ -78,10 +78,10 @@ STDAPI DMOEnum(
|
|||
REFGUID guidCategory, // GUID_NULL for "all"
|
||||
DWORD dwFlags, // DMO_ENUMF_XXX
|
||||
//
|
||||
// Enumerate only objects that support at least one of the specified input types
|
||||
// and at least one of the specified output types. If no input types are specified,
|
||||
// enumerate objects regardless of what input types they support. Same for
|
||||
// output types.
|
||||
// Enumerate only objects that support at least one of the specified input types
|
||||
// and at least one of the specified output types. If no input types are specified,
|
||||
// enumerate objects regardless of what input types they support. Same for
|
||||
// output types.
|
||||
//
|
||||
DWORD cInTypes,
|
||||
const DMO_PARTIAL_MEDIATYPE *pInTypes, // can be NULL only of ulInTypes = 0
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
//
|
||||
// Desc: Miscellaneous runtime support for DirectShow Media Objects
|
||||
//
|
||||
// Copyright (c) 1999 - 2000, Microsoft Corporation. All rights reserved.
|
||||
// Copyright (c) 1999 - 2001, Microsoft Corporation. All rights reserved.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
@ -11,8 +11,8 @@
|
|||
#define __DMORT_H__
|
||||
|
||||
//
|
||||
// Mediatype helpers. MoInitMediaType() goes with MoFreeMediaType(),
|
||||
// MoCreateMediaType() goes with MoDeleteMediaType() - don't mix !
|
||||
// Mediatype helpers. MoInitMediaType() goes with MoFreeMediaType(), and
|
||||
// MoCreateMediaType() goes with MoDeleteMediaType(). Don't mix them!
|
||||
//
|
||||
|
||||
|
||||
|
|
|
@ -50,6 +50,7 @@ typedef struct _DMUS_BUFFERDESC
|
|||
#define DMUS_EFFECT_NONE 0x00000000
|
||||
#define DMUS_EFFECT_REVERB 0x00000001
|
||||
#define DMUS_EFFECT_CHORUS 0x00000002
|
||||
#define DMUS_EFFECT_DELAY 0x00000004
|
||||
|
||||
/* For DMUS_PORTCAPS dwClass
|
||||
*/
|
||||
|
|
|
@ -136,14 +136,15 @@ typedef enum enumDMUS_COMPOSEF_FLAGS
|
|||
DMUS_COMPOSEF_MARKER = 0x800, /* Play the transition at the next marker in the current segment. */
|
||||
DMUS_COMPOSEF_MODULATE = 0x1000,
|
||||
DMUS_COMPOSEF_LONG = 0x2000,
|
||||
DMUS_COMPOSEF_ENTIRE_TRANSITION = 0x4000, /* play the entire transition pattern */
|
||||
DMUS_COMPOSEF_1BAR_TRANSITION = 0x8000, /* play one bar of the transition pattern */
|
||||
DMUS_COMPOSEF_ENTIRE_ADDITION = 0x10000, /* play the additional pattern in its entirety */
|
||||
DMUS_COMPOSEF_1BAR_ADDITION = 0x20000, /* play one bar of the additional pattern */
|
||||
DMUS_COMPOSEF_ENTIRE_TRANSITION = 0x4000, /* play the entire transition pattern */
|
||||
DMUS_COMPOSEF_1BAR_TRANSITION = 0x8000, /* play one bar of the transition pattern */
|
||||
DMUS_COMPOSEF_ENTIRE_ADDITION = 0x10000, /* play the additional pattern in its entirety */
|
||||
DMUS_COMPOSEF_1BAR_ADDITION = 0x20000, /* play one bar of the additional pattern */
|
||||
DMUS_COMPOSEF_VALID_START_MEASURE = 0x40000, /* In conjunction with DMUS_COMPOSEF_ALIGN, allows the switch to occur on any bar. */
|
||||
DMUS_COMPOSEF_DEFAULT = 0x80000, /* Use segment's default boundary */
|
||||
DMUS_COMPOSEF_DEFAULT = 0x80000, /* Use segment's default boundary */
|
||||
DMUS_COMPOSEF_NOINVALIDATE = 0x100000, /* Play without invalidating the currently playing segment(s) */
|
||||
DMUS_COMPOSEF_USE_AUDIOPATH = 0x200000 /* Uses the audio paths that are embedded in the segments */
|
||||
DMUS_COMPOSEF_USE_AUDIOPATH = 0x200000, /* Uses the audio paths that are embedded in the segments */
|
||||
DMUS_COMPOSEF_INVALIDATE_PRI = 0x400000 /* Invalidate only the current primary seg state */
|
||||
} DMUS_COMPOSEF_FLAGS;
|
||||
|
||||
#define DMUS_PMSG_PART \
|
||||
|
@ -298,7 +299,8 @@ typedef enum enumDMUS_SEGF_FLAGS
|
|||
DMUS_SEGF_MARKER = 1<<24, /* 0x1000000 Play at next marker in the primary segment. If there are no markers, default to any other resolution requests. */
|
||||
DMUS_SEGF_TIMESIG_ALWAYS = 1<<25, /* 0x2000000 Even if there is no primary segment, align start time with current time signature. */
|
||||
DMUS_SEGF_USE_AUDIOPATH = 1<<26, /* 0x4000000 Uses the audio path that is embedded in the segment or song. */
|
||||
DMUS_SEGF_VALID_START_MEASURE = 1<<27 /* 0x8000000 In conjunction with DMUS_SEGF_ALIGN, allows the switch to occur on any bar. */
|
||||
DMUS_SEGF_VALID_START_MEASURE = 1<<27, /* 0x8000000 In conjunction with DMUS_SEGF_ALIGN, allows the switch to occur on any bar. */
|
||||
DMUS_SEGF_INVALIDATE_PRI = 1<<28 /* 0x10000000 invalidate only the current primary seg state */
|
||||
} DMUS_SEGF_FLAGS;
|
||||
|
||||
#define DMUS_SEG_REPEAT_INFINITE 0xFFFFFFFF /* For IDirectMusicSegment::SetRepeat*/
|
||||
|
@ -661,6 +663,7 @@ typedef struct _DMUS_WAVE_PMSG
|
|||
#define DMUS_WAVEF_OFF 1 /* If wave is playing and this is the off message. */
|
||||
#define DMUS_WAVEF_STREAMING 2 /* If wave is streaming. */
|
||||
#define DMUS_WAVEF_NOINVALIDATE 4 /* Don't invalidate this wave. */
|
||||
#define DMUS_WAVEF_NOPREROLL 8 /* Don't preroll any wave data. */
|
||||
|
||||
/* DMUS_LYRIC_PMSG */
|
||||
typedef struct _DMUS_LYRIC_PMSG
|
||||
|
|
|
@ -200,7 +200,14 @@ typedef struct sockaddr SOCKADDR;
|
|||
*
|
||||
****************************************************************************/
|
||||
|
||||
HRESULT WINAPI DirectPlay8AddressCreate( const GUID * pcIID, void **ppvInterface, IUnknown *pUnknown);
|
||||
/*
|
||||
*
|
||||
* This function is no longer supported. It is recommended that CoCreateInstance be used to create
|
||||
* DirectPlay8 address objects.
|
||||
*
|
||||
* HRESULT WINAPI DirectPlay8AddressCreate( const GUID * pcIID, void **ppvInterface, IUnknown *pUnknown);
|
||||
*
|
||||
*/
|
||||
|
||||
/****************************************************************************
|
||||
*
|
||||
|
|
|
@ -2039,8 +2039,8 @@ DECLARE_INTERFACE_( IDirectPlay, IUnknown )
|
|||
STDMETHOD(DestroyGroup) (THIS_ DPID) PURE;
|
||||
STDMETHOD(EnableNewPlayers) (THIS_ BOOL) PURE;
|
||||
STDMETHOD(EnumGroupPlayers) (THIS_ DPID, LPDPENUMPLAYERSCALLBACK,LPVOID,DWORD) PURE;
|
||||
STDMETHOD(EnumGroups) (THIS_ DWORD, LPDPENUMPLAYERSCALLBACK,LPVOID,DWORD) PURE;
|
||||
STDMETHOD(EnumPlayers) (THIS_ DWORD, LPDPENUMPLAYERSCALLBACK,LPVOID,DWORD) PURE;
|
||||
STDMETHOD(EnumGroups) (THIS_ DWORD_PTR, LPDPENUMPLAYERSCALLBACK,LPVOID,DWORD) PURE;
|
||||
STDMETHOD(EnumPlayers) (THIS_ DWORD_PTR, LPDPENUMPLAYERSCALLBACK,LPVOID,DWORD) PURE;
|
||||
STDMETHOD(EnumSessions) (THIS_ LPDPSESSIONDESC,DWORD,LPDPENUMSESSIONSCALLBACK,LPVOID,DWORD) PURE;
|
||||
STDMETHOD(GetCaps) (THIS_ LPDPCAPS) PURE;
|
||||
STDMETHOD(GetMessageCount) (THIS_ DPID, LPDWORD) PURE;
|
||||
|
|
|
@ -84,7 +84,6 @@ typedef struct IDirectPlay8Peer *PDIRECTPLAY8PEER;
|
|||
typedef struct IDirectPlay8Server *PDIRECTPLAY8SERVER;
|
||||
typedef struct IDirectPlay8Client *PDIRECTPLAY8CLIENT;
|
||||
|
||||
|
||||
/****************************************************************************
|
||||
*
|
||||
* DirectPlay8 Forward Declarations For External Types
|
||||
|
@ -355,8 +354,8 @@ typedef struct _DPN_APPLICATION_DESC
|
|||
//
|
||||
typedef struct _BUFFERDESC
|
||||
{
|
||||
DWORD dwBufferSize;
|
||||
BYTE * UNALIGNED pBufferData;
|
||||
DWORD dwBufferSize;
|
||||
BYTE * pBufferData;
|
||||
} BUFFERDESC, DPN_BUFFER_DESC, *PDPN_BUFFER_DESC;
|
||||
|
||||
typedef BUFFERDESC FAR * PBUFFERDESC;
|
||||
|
@ -407,6 +406,7 @@ typedef struct _DPN_CONNECTION_INFO
|
|||
|
||||
} DPN_CONNECTION_INFO, *PDPN_CONNECTION_INFO;
|
||||
|
||||
|
||||
//
|
||||
// Group information strucutre
|
||||
//
|
||||
|
@ -743,7 +743,13 @@ typedef struct _DPNMSG_TERMINATE_SESSION
|
|||
*
|
||||
****************************************************************************/
|
||||
|
||||
extern HRESULT WINAPI DirectPlay8Create( const GUID * pcIID, void **ppvInterface, IUnknown *pUnknown);
|
||||
/*
|
||||
* This function is no longer supported. It is recommended that CoCreateInstance be used to create
|
||||
* DirectPlay8 objects.
|
||||
*
|
||||
* extern HRESULT WINAPI DirectPlay8Create( const GUID * pcIID, void **ppvInterface, IUnknown *pUnknown);
|
||||
*
|
||||
*/
|
||||
|
||||
/****************************************************************************
|
||||
*
|
||||
|
@ -781,7 +787,7 @@ DECLARE_INTERFACE_(IDirectPlay8Client,IUnknown)
|
|||
STDMETHOD(SetSPCaps) (THIS_ const GUID * const pguidSP, const DPN_SP_CAPS *const pdpspCaps, const DWORD dwFlags ) PURE;
|
||||
STDMETHOD(GetSPCaps) (THIS_ const GUID * const pguidSP,DPN_SP_CAPS *const pdpspCaps,const DWORD dwFlags) PURE;
|
||||
STDMETHOD(GetConnectionInfo) (THIS_ DPN_CONNECTION_INFO *const pdpConnectionInfo,const DWORD dwFlags) PURE;
|
||||
STDMETHOD(RegisterLobby) (THIS_ const DPNHANDLE dpnHandle, IDirectPlay8LobbiedApplication *const pIDP8LobbiedApplication,const DWORD dwFlags) PURE;
|
||||
STDMETHOD(RegisterLobby) (THIS_ const DPNHANDLE dpnHandle, struct IDirectPlay8LobbiedApplication *const pIDP8LobbiedApplication,const DWORD dwFlags) PURE;
|
||||
};
|
||||
|
||||
//
|
||||
|
@ -826,7 +832,7 @@ DECLARE_INTERFACE_(IDirectPlay8Server,IUnknown)
|
|||
STDMETHOD(SetSPCaps) (THIS_ const GUID * const pguidSP, const DPN_SP_CAPS *const pdpspCaps, const DWORD dwFlags ) PURE;
|
||||
STDMETHOD(GetSPCaps) (THIS_ const GUID * const pguidSP, DPN_SP_CAPS *const pdpspCaps,const DWORD dwFlags) PURE;
|
||||
STDMETHOD(GetConnectionInfo) (THIS_ const DPNID dpnid, DPN_CONNECTION_INFO *const pdpConnectionInfo,const DWORD dwFlags) PURE;
|
||||
STDMETHOD(RegisterLobby) (THIS_ const DPNHANDLE dpnHandle, IDirectPlay8LobbiedApplication *const pIDP8LobbiedApplication,const DWORD dwFlags) PURE;
|
||||
STDMETHOD(RegisterLobby) (THIS_ const DPNHANDLE dpnHandle, struct IDirectPlay8LobbiedApplication *const pIDP8LobbiedApplication,const DWORD dwFlags) PURE;
|
||||
};
|
||||
|
||||
//
|
||||
|
@ -873,7 +879,7 @@ DECLARE_INTERFACE_(IDirectPlay8Peer,IUnknown)
|
|||
STDMETHOD(SetSPCaps) (THIS_ const GUID * const pguidSP, const DPN_SP_CAPS *const pdpspCaps, const DWORD dwFlags ) PURE;
|
||||
STDMETHOD(GetSPCaps) (THIS_ const GUID * const pguidSP, DPN_SP_CAPS *const pdpspCaps,const DWORD dwFlags) PURE;
|
||||
STDMETHOD(GetConnectionInfo) (THIS_ const DPNID dpnid, DPN_CONNECTION_INFO *const pdpConnectionInfo,const DWORD dwFlags) PURE;
|
||||
STDMETHOD(RegisterLobby) (THIS_ const DPNHANDLE dpnHandle, IDirectPlay8LobbiedApplication *const pIDP8LobbiedApplication,const DWORD dwFlags) PURE;
|
||||
STDMETHOD(RegisterLobby) (THIS_ const DPNHANDLE dpnHandle, struct IDirectPlay8LobbiedApplication *const pIDP8LobbiedApplication,const DWORD dwFlags) PURE;
|
||||
STDMETHOD(TerminateSession) (THIS_ void *const pvTerminateData,const DWORD dwTerminateDataSize,const DWORD dwFlags) PURE;
|
||||
};
|
||||
|
||||
|
|
|
@ -275,8 +275,14 @@ typedef struct _DPL_MESSAGE_SESSION_STATUS
|
|||
* DirectPlay8Lobby Create
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
extern HRESULT WINAPI DirectPlay8LobbyCreate( const GUID * pcIID, void **ppvInterface, IUnknown *pUnknown);
|
||||
|
||||
/*
|
||||
* This function is no longer supported. It is recommended that CoCreateInstance be used to create
|
||||
* DirectPlay8 lobby objects.
|
||||
*
|
||||
* extern HRESULT WINAPI DirectPlay8LobbyCreate( const GUID * pcIID, void **ppvInterface, IUnknown *pUnknown);
|
||||
*
|
||||
*/
|
||||
|
||||
/****************************************************************************
|
||||
*
|
||||
|
|
|
@ -51,8 +51,6 @@ extern "C" {
|
|||
#define DSETUP_DIRECTX (DSETUP_DXCORE|DSETUP_DDRAWDRV|DSETUP_DSOUNDDRV)
|
||||
#define DSETUP_TESTINSTALL 0x00020000 /* just test install, don't do anything */
|
||||
#define DSETUP_USEROLDERFLAG 0x02000000 /* enable return DSETUPERR_NEWERVERSION */
|
||||
// Bug #22730
|
||||
// #define DSETUP_NTINSTALL 0x00080000 /* install on Win2K platform */
|
||||
|
||||
// These OBSOLETE flags are here for compatibility with pre-DX5 apps only.
|
||||
// They are present to allow DX3 apps to be recompiled with DX5 and still work.
|
||||
|
|
|
@ -1,58 +1,62 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// File: DV.h
|
||||
//
|
||||
// Desc: DV typedefs and defines.
|
||||
// Desc: DV typedefs and defines
|
||||
//
|
||||
// Copyright (c) 1997 - 2000, Microsoft Corporation. All rights reserved.
|
||||
// Copyright (c) 1997-2001, Microsoft Corporation. All rights reserved.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
||||
#ifndef _DV_H_
|
||||
#define _DV_H_
|
||||
|
||||
#define DV_DVSD_NTSC_FRAMESIZE 120000L
|
||||
#define DV_DVSD_PAL_FRAMESIZE 144000L
|
||||
#define DV_DVSD_NTSC_FRAMESIZE 120000L
|
||||
#define DV_DVSD_PAL_FRAMESIZE 144000L
|
||||
|
||||
#define DV_SMCHN 0x0000e000
|
||||
#define DV_SMCHN 0x0000e000
|
||||
#define DV_AUDIOMODE 0x00000f00
|
||||
#define DV_AUDIOSMP 0x38000000
|
||||
#define DV_AUDIOSMP 0x38000000
|
||||
|
||||
#define DV_AUDIOQU 0x07000000
|
||||
#define DV_NTSCPAL 0x00200000
|
||||
#define DV_STYPE 0x001f0000
|
||||
#define DV_AUDIOQU 0x07000000
|
||||
#define DV_NTSCPAL 0x00200000
|
||||
#define DV_STYPE 0x001f0000
|
||||
|
||||
|
||||
//There are NTSC or PAL DV camcorders
|
||||
#define DV_NTSC 0
|
||||
#define DV_PAL 1
|
||||
#define DV_NTSC 0
|
||||
#define DV_PAL 1
|
||||
|
||||
//DV camcorder can output sd/hd/sl
|
||||
#define DV_SD 0x00
|
||||
#define DV_HD 0x01
|
||||
#define DV_SL 0x02
|
||||
#define DV_SD 0x00
|
||||
#define DV_HD 0x01
|
||||
#define DV_SL 0x02
|
||||
|
||||
//user can choice 12 bits or 16 bits audio from DV camcorder
|
||||
#define DV_CAP_AUD16Bits 0x00
|
||||
#define DV_CAP_AUD12Bits 0x01
|
||||
|
||||
#define SIZE_DVINFO 0x20
|
||||
#define SIZE_DVINFO 0x20
|
||||
|
||||
typedef struct Tag_DVAudInfo
|
||||
{
|
||||
BYTE bAudStyle[2];
|
||||
//LSB 6 bits for starting DIF sequence number
|
||||
//MSB 2 bits: 0 for mon. 1: stereo in one 5/6 DIF sequences, 2: stereo audio in both 5/6 DIF sequences
|
||||
//example: 0x00: mon, audio in first 5/6 DIF sequence
|
||||
// 0x05: mon, audio in 2nd 5 DIF sequence
|
||||
// 0x15: stereo, audio only in 2nd 5 DIF sequence
|
||||
// 0x10: stereo, audio only in 1st 5/6 DIF sequence
|
||||
// 0x20: stereo, left ch in 1st 5/6 DIF sequence, right ch in 2nd 5/6 DIF sequence
|
||||
// 0x26: stereo, rightch in 1st 6 DIF sequence, left ch in 2nd 6 DIF sequence
|
||||
BYTE bAudQu[2]; //qbits, only support 12, 16,
|
||||
|
||||
BYTE bNumAudPin; //how many pin(language)
|
||||
WORD wAvgSamplesPerPinPerFrm[2]; //samples size for one audio pin in one frame(which has 10 or 12 DIF sequence)
|
||||
WORD wBlkMode; //45 for NTSC, 54 for PAL
|
||||
WORD wDIFMode; //5 for NTSC, 6 for PAL
|
||||
WORD wBlkDiv; //15 for NTSC, 18 for PAL
|
||||
BYTE bAudStyle[2];
|
||||
|
||||
//LSB 6 bits for starting DIF sequence number
|
||||
//MSB 2 bits: 0 for mon. 1: stereo in one 5/6 DIF sequences, 2: stereo audio in both 5/6 DIF sequences
|
||||
//example: 0x00: mon, audio in first 5/6 DIF sequence
|
||||
// 0x05: mon, audio in 2nd 5 DIF sequence
|
||||
// 0x15: stereo, audio only in 2nd 5 DIF sequence
|
||||
// 0x10: stereo, audio only in 1st 5/6 DIF sequence
|
||||
// 0x20: stereo, left ch in 1st 5/6 DIF sequence, right ch in 2nd 5/6 DIF sequence
|
||||
// 0x26: stereo, rightch in 1st 6 DIF sequence, left ch in 2nd 6 DIF sequence
|
||||
BYTE bAudQu[2]; //qbits, only support 12, 16,
|
||||
|
||||
BYTE bNumAudPin; //how many pins
|
||||
WORD wAvgSamplesPerPinPerFrm[2]; //sample size for one audio pin in one frame(which has 10 or 12 DIF sequence)
|
||||
WORD wBlkMode; //45 for NTSC, 54 for PAL
|
||||
WORD wDIFMode; //5 for NTSC, 6 for PAL
|
||||
WORD wBlkDiv; //15 for NTSC, 18 for PAL
|
||||
|
||||
} DVAudInfo;
|
||||
|
||||
|
||||
#endif // _DV_H_
|
||||
|
|
|
@ -3,9 +3,35 @@
|
|||
//
|
||||
// Desc: List of standard DVD-Video event codes and the expected params.
|
||||
//
|
||||
// Copyright (c) 1992 - 2000, Microsoft Corporation. All rights reserved.
|
||||
// Copyright (c) 1992-2001, Microsoft Corporation. All rights reserved.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
#ifndef __DVDEVCOD__
|
||||
#define __DVDEVCOD__
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Windows XP vs. DirectX 8.0 header merge
|
||||
//
|
||||
// Separate the updated Windows XP version of this header from the downlevel
|
||||
// version that shipped with the DirectX 8.0 SDK. Since development
|
||||
// on BDA technology continued for Windows XP, some changes were made to
|
||||
// this file in order to improve the interface and functionality.
|
||||
//
|
||||
// To maintain compatibility with older applications which rely on the
|
||||
// DirectX 8.0 versions of these files, the DirectX 8.1 version includes
|
||||
// both the Windows XP content and the DirectX 8.0 content, which are
|
||||
// separated by the #if (WINVER >= 0x501) preprocessor directive.
|
||||
//
|
||||
// Therefore, if you define WINVER to be 0x501 to specify Windows XP,
|
||||
// the revised content will be compiled. Otherwise, the original
|
||||
// DirectX 8.0 content will be used.
|
||||
//
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#if (WINVER >= 0x501) // Windows XP content
|
||||
|
||||
|
||||
|
||||
#define EC_DVDBASE 0x0100
|
||||
|
||||
|
@ -39,6 +65,7 @@ typedef enum _tagDVD_WARNING {
|
|||
// can continue, but unexpected behavior may occur.
|
||||
DVD_WARNING_FormatNotSupported=2,// A decoder would not support the current format. Playback
|
||||
// of a stream (audio, video of SP) may not function.
|
||||
// lParam2 contains the stream type (see AM_DVD_STREAM_FLAGS)
|
||||
DVD_WARNING_IllegalNavCommand=3,// The internal DVD navigation command processor attempted to
|
||||
// process an illegal command.
|
||||
DVD_WARNING_Open = 4, // File Open Failed
|
||||
|
@ -46,6 +73,25 @@ typedef enum _tagDVD_WARNING {
|
|||
DVD_WARNING_Read = 6 // File Read Failed
|
||||
} DVD_WARNING;
|
||||
|
||||
typedef enum _tagDVD_PB_STOPPED {
|
||||
DVD_PB_STOPPED_Other=0, // The navigator stopped the playback (no reason available).
|
||||
DVD_PB_STOPPED_NoBranch=1, // The nav completed the current pgc and there was no more video and
|
||||
// did not find any other branching instruction for subsequent playback.
|
||||
DVD_PB_STOPPED_NoFirstPlayDomain =2, // The disc does not contain an initial startup program.
|
||||
DVD_PB_STOPPED_StopCommand = 3, // The app issued a stop() command or a stop command was authored on the disc.
|
||||
DVD_PB_STOPPED_Reset=4, // The navigator was reset to the start of the disc (using ResetOnStop).
|
||||
DVD_PB_STOPPED_DiscEjected=5, // The disc was ejected.
|
||||
DVD_PB_STOPPED_IllegalNavCommand = 6, // An illegal nav command prevented playback from continuing.
|
||||
DVD_PB_STOPPED_PlayPeriodAutoStop = 7, // PlayPeriod completed
|
||||
DVD_PB_STOPPED_PlayChapterAutoStop = 8, // PlayChapter completed
|
||||
DVD_PB_STOPPED_ParentalFailure = 9, // A parental level failure prevented playback
|
||||
DVD_PB_STOPPED_RegionFailure = 10, // A region failure prevented playback
|
||||
DVD_PB_STOPPED_MacrovisionFailure = 11, // A Macrovision failure prevented playback.
|
||||
DVD_PB_STOPPED_DiscReadError = 12, // A read error prevented playback.
|
||||
DVD_PB_STOPPED_CopyProtectFailure = 13 // Copy protection failure.
|
||||
} DVD_PB_STOPPED;
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
// DVD-Video event codes
|
||||
|
@ -100,8 +146,9 @@ typedef enum _tagDVD_WARNING {
|
|||
// indicates that no stream is selected.
|
||||
|
||||
#define EC_DVD_SUBPICTURE_STREAM_CHANGE (EC_DVDBASE + 0x05)
|
||||
// Parameters: ( DWORD, void )
|
||||
// Parameters: ( DWORD, BOOL )
|
||||
// lParam1 is the new user subpicture stream number.
|
||||
// lParam2 is the subpicture's on/off state (TRUE if on)
|
||||
//
|
||||
// Raised from following domains: all
|
||||
//
|
||||
|
@ -209,8 +256,9 @@ typedef enum _tagDVD_WARNING {
|
|||
//
|
||||
|
||||
#define EC_DVD_WARNING (EC_DVDBASE + 0x0d)
|
||||
// Parameters: ( DWORD, void)
|
||||
// Parameters: ( DWORD, DWORD)
|
||||
// lParam1 is an enum DVD_WARNING which notifies the app of some warning condition.
|
||||
// lParam2 contains more specific information about the warning (warning dependent)
|
||||
//
|
||||
// Raised from following domains: all
|
||||
//
|
||||
|
@ -262,7 +310,7 @@ typedef enum _tagDVD_WARNING {
|
|||
//
|
||||
|
||||
#define EC_DVD_PLAYBACK_STOPPED (EC_DVDBASE + 0x12)
|
||||
// Parameters : (void, void)
|
||||
// Parameters : (DWORD, void)
|
||||
//
|
||||
// Raised from the following domains : All Domains
|
||||
//
|
||||
|
@ -270,6 +318,9 @@ typedef enum _tagDVD_WARNING {
|
|||
// playback of the pgc and did not find any other branching instruction for
|
||||
// subsequent playback.
|
||||
//
|
||||
// The DWORD returns the reason for the completion of the playback. See
|
||||
// The DVD_PB_STOPPED enumeration for details.
|
||||
//
|
||||
|
||||
#define EC_DVD_ANGLES_AVAILABLE (EC_DVDBASE + 0x13)
|
||||
// Parameters : (BOOL, void)
|
||||
|
@ -332,3 +383,349 @@ typedef enum _tagDVD_WARNING {
|
|||
// Parameters: ( BOOL, reserved )
|
||||
// lParam1 is either TRUE (a karaoke track is being played) or FALSE (no karaoke data is being played).
|
||||
//
|
||||
|
||||
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Windows XP vs. DirectX 8.0 header merge
|
||||
//
|
||||
// The following is the original contents of this header from
|
||||
// the DirectX 8.0 SDK.
|
||||
//
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#else // DirectX 8.0 content
|
||||
|
||||
#define EC_DVDBASE 0x0100
|
||||
|
||||
#ifndef EXCLUDE_DVDEVCODE_ENUMS
|
||||
|
||||
typedef enum _tagDVD_ERROR {
|
||||
DVD_ERROR_Unexpected=1, // Something unexpected happened, perhaps content
|
||||
// is incorrectly authored. Playback is stopped.
|
||||
DVD_ERROR_CopyProtectFail=2, // Key exchange for DVD copy protection failed.
|
||||
// Playback is stopped.
|
||||
DVD_ERROR_InvalidDVD1_0Disc=3, // DVD-Video disc is incorrectly authored for v1.0
|
||||
// of spec. Playback is stopped.
|
||||
DVD_ERROR_InvalidDiscRegion=4, // The Disc cannot be played because the disc is not
|
||||
// authored to play in system region.
|
||||
// The region mismatch may be fixable by
|
||||
// changing the system region with dvdrgn.exe
|
||||
DVD_ERROR_LowParentalLevel=5, // Player parental level is lower than the lowest parental
|
||||
// level available in the DVD content. Playback is stopped.
|
||||
DVD_ERROR_MacrovisionFail=6, // Macrovision Distribution Failed.
|
||||
// Playback is stopped.
|
||||
DVD_ERROR_IncompatibleSystemAndDecoderRegions=7,
|
||||
// No discs can be played because the system region
|
||||
// does not match the decoder region.
|
||||
DVD_ERROR_IncompatibleDiscAndDecoderRegions=8
|
||||
// The disc cannot be played because the disc is
|
||||
// not authored to be played in the decoder's region
|
||||
} DVD_ERROR;
|
||||
|
||||
typedef enum _tagDVD_WARNING {
|
||||
DVD_WARNING_InvalidDVD1_0Disc=1,// DVD-Video disc is incorrectly authored. Playback
|
||||
// can continue, but unexpected behavior may occur.
|
||||
DVD_WARNING_FormatNotSupported=2,// A decoder would not support the current format. Playback
|
||||
// of a stream (audio, video of SP) may not function.
|
||||
DVD_WARNING_IllegalNavCommand=3,// The internal DVD navigation command processor attempted to
|
||||
// process an illegal command.
|
||||
DVD_WARNING_Open = 4, // File Open Failed
|
||||
DVD_WARNING_Seek = 5, // File Seek Failed
|
||||
DVD_WARNING_Read = 6 // File Read Failed
|
||||
} DVD_WARNING;
|
||||
|
||||
#endif
|
||||
|
||||
// DVD-Video event codes
|
||||
// ======================
|
||||
//
|
||||
// All DVD-Video event are always passed on to the application, and are
|
||||
// never processed by the filter graph
|
||||
|
||||
|
||||
#define EC_DVD_DOMAIN_CHANGE (EC_DVDBASE + 0x01)
|
||||
// Parameters: ( DWORD, void )
|
||||
// lParam1 is enum DVD_DOMAIN, and indicates the player's new domain
|
||||
//
|
||||
// Raised from following domains: all
|
||||
//
|
||||
// Signaled when ever the DVD player changes domains.
|
||||
|
||||
|
||||
#define EC_DVD_TITLE_CHANGE (EC_DVDBASE + 0x02)
|
||||
// Parameters: ( DWORD, void )
|
||||
// lParam1 is the new title number.
|
||||
//
|
||||
// Raised from following domains: DVD_DOMAIN_Title
|
||||
//
|
||||
// Indicates when the current title number changes. Title numbers
|
||||
// range 1 to 99. This indicates the TTN, which is the title number
|
||||
// with respect to the whole disc, not the VTS_TTN which is the title
|
||||
// number with respect to just a current VTS.
|
||||
|
||||
|
||||
#define EC_DVD_CHAPTER_START (EC_DVDBASE + 0x03)
|
||||
// Parameters: ( DWORD, void )
|
||||
// lParam1 is the new chapter number (which is the program number for
|
||||
// One_Sequential_PGC_Titles).
|
||||
//
|
||||
// Raised from following domains: DVD_DOMAIN_Title
|
||||
//
|
||||
// Signales that DVD player started playback of a new program in the Title
|
||||
// domain. This is only signaled for One_Sequential_PGC_Titles.
|
||||
|
||||
|
||||
#define EC_DVD_AUDIO_STREAM_CHANGE (EC_DVDBASE + 0x04)
|
||||
// Parameters: ( DWORD, void )
|
||||
// lParam1 is the new user audio stream number.
|
||||
//
|
||||
// Raised from following domains: all
|
||||
//
|
||||
// Signaled when ever the current user audio stream number changes for the main
|
||||
// title. This can be changed automatically with a navigation command on disc
|
||||
// as well as through IDVDAnnexJ.
|
||||
// Audio stream numbers range from 0 to 7. Stream 0xffffffff
|
||||
// indicates that no stream is selected.
|
||||
|
||||
#define EC_DVD_SUBPICTURE_STREAM_CHANGE (EC_DVDBASE + 0x05)
|
||||
// Parameters: ( DWORD, void )
|
||||
// lParam1 is the new user subpicture stream number.
|
||||
//
|
||||
// Raised from following domains: all
|
||||
//
|
||||
// Signaled when ever the current user subpicture stream number changes for the main
|
||||
// title. This can be changed automatically with a navigation command on disc
|
||||
// as well as through IDVDAnnexJ.
|
||||
// Subpicture stream numbers range from 0 to 31. Stream 0xffffffff
|
||||
// indicates that no stream is selected.
|
||||
|
||||
#define EC_DVD_ANGLE_CHANGE (EC_DVDBASE + 0x06)
|
||||
// Parameters: ( DWORD, DWORD )
|
||||
// lParam1 is the number of available angles.
|
||||
// lParam2 is the current user angle number.
|
||||
//
|
||||
// Raised from following domains: all
|
||||
//
|
||||
// Signaled when ever either
|
||||
// a) the number of available angles changes, or
|
||||
// b) the current user angle number changes.
|
||||
// Current angle number can be changed automatically with navigation command
|
||||
// on disc as well as through IDVDAnnexJ.
|
||||
// When the number of available angles is 1, the current video is not multiangle.
|
||||
// Angle numbers range from 1 to 9.
|
||||
|
||||
|
||||
#define EC_DVD_BUTTON_CHANGE (EC_DVDBASE + 0x07)
|
||||
// Parameters: ( DWORD, DWORD )
|
||||
// lParam1 is the number of available buttons.
|
||||
// lParam2 is the current selected button number.
|
||||
//
|
||||
// Raised from following domains: all
|
||||
//
|
||||
// Signaled when ever either
|
||||
// a) the number of available buttons changes, or
|
||||
// b) the current selected button number changes.
|
||||
// The current selected button can be changed automatically with navigation
|
||||
// commands on disc as well as through IDVDAnnexJ.
|
||||
// Button numbers range from 1 to 36. Selected button number 0 implies that
|
||||
// no button is selected. Note that these button numbers enumerate all
|
||||
// available button numbers, and do not always correspond to button numbers
|
||||
// used for IDVDAnnexJ::ButtonSelectAndActivate since only a subset of buttons
|
||||
// may be activated with ButtonSelectAndActivate.
|
||||
|
||||
|
||||
#define EC_DVD_VALID_UOPS_CHANGE (EC_DVDBASE + 0x08)
|
||||
// Parameters: ( DWORD, void )
|
||||
// lParam1 is a VALID_UOP_SOMTHING_OR_OTHER bit-field stuct which indicates
|
||||
// which IDVDAnnexJ commands are explicitly disable by the DVD disc.
|
||||
//
|
||||
// Raised from following domains: all
|
||||
//
|
||||
// Signaled when ever the available set of IDVDAnnexJ methods changes. This
|
||||
// only indicates which operations are explicited disabled by the content on
|
||||
// the DVD disc, and does not guarentee that it is valid to call methods
|
||||
// which are not disabled. For example, if no buttons are currently present,
|
||||
// IDVDAnnexJ::ButtonActivate() won't work, even though the buttons are not
|
||||
// explicitly disabled.
|
||||
|
||||
|
||||
#define EC_DVD_STILL_ON (EC_DVDBASE + 0x09)
|
||||
// Parameters: ( BOOL, DWORD )
|
||||
// lParam1 == 0 --> buttons are available, so StillOff won't work
|
||||
// lParam1 == 1 --> no buttons available, so StillOff will work
|
||||
// lParam2 indicates the number of seconds the still will last, with 0xffffffff
|
||||
// indicating an infinite still (wait till button or StillOff selected).
|
||||
//
|
||||
// Raised from following domains: all
|
||||
//
|
||||
// Signaled at the beginning of any still: PGC still, Cell Still, or VOBU Still.
|
||||
// Note that all combinations of buttons and still are possible (buttons on with
|
||||
// still on, buttons on with still off, button off with still on, button off
|
||||
// with still off).
|
||||
|
||||
#define EC_DVD_STILL_OFF (EC_DVDBASE + 0x0a)
|
||||
// Parameters: ( void, void )
|
||||
//
|
||||
// Indicating that any still that is currently active
|
||||
// has been released.
|
||||
//
|
||||
// Raised from following domains: all
|
||||
//
|
||||
// Signaled at the end of any still: PGC still, Cell Still, or VOBU Still.
|
||||
//
|
||||
|
||||
#define EC_DVD_CURRENT_TIME (EC_DVDBASE + 0x0b)
|
||||
// Parameters: ( DWORD, BOOL )
|
||||
// lParam1 is a DVD_TIMECODE which indicates the current
|
||||
// playback time code in a BCD HH:MM:SS:FF format.
|
||||
// lParam2 == 0 --> time code is 25 frames/sec
|
||||
// lParam2 == 1 --> time code is 30 frames/sec (non-drop).
|
||||
// lParam2 == 2 --> time code is invalid (current playback time
|
||||
// cannot be determined for current title)
|
||||
//
|
||||
// Raised from following domains: DVD_DOMAIN_Title
|
||||
//
|
||||
// Signaled at the beginning of every VOBU, which occurs every .4 to 1.0 sec.
|
||||
// This is only signaled for One_Sequential_PGC_Titles.
|
||||
|
||||
|
||||
#define EC_DVD_ERROR (EC_DVDBASE + 0x0c)
|
||||
// Parameters: ( DWORD, void)
|
||||
// lParam1 is an enum DVD_ERROR which notifies the app of some error condition.
|
||||
//
|
||||
// Raised from following domains: all
|
||||
//
|
||||
|
||||
#define EC_DVD_WARNING (EC_DVDBASE + 0x0d)
|
||||
// Parameters: ( DWORD, void)
|
||||
// lParam1 is an enum DVD_WARNING which notifies the app of some warning condition.
|
||||
//
|
||||
// Raised from following domains: all
|
||||
//
|
||||
|
||||
#define EC_DVD_CHAPTER_AUTOSTOP (EC_DVDBASE + 0x0e)
|
||||
// Parameters: (BOOL, void)
|
||||
// lParam1 is a BOOL which indicates the reason for the cancellation of ChapterPlayAutoStop
|
||||
// lParam1 == 0 indicates successful completion of ChapterPlayAutoStop
|
||||
// lParam1 == 1 indicates that ChapterPlayAutoStop is being cancelled as a result of another
|
||||
// IDVDControl call or the end of content has been reached & no more chapters
|
||||
// can be played.
|
||||
// Indicating that playback is stopped as a result of a call
|
||||
// to IDVDControl::ChapterPlayAutoStop()
|
||||
//
|
||||
// Raised from following domains : DVD_DOMAIN_TITLE
|
||||
//
|
||||
|
||||
#define EC_DVD_NO_FP_PGC (EC_DVDBASE + 0x0f)
|
||||
// Parameters : (void, void)
|
||||
//
|
||||
// Raised from the following domains : FP_DOM
|
||||
//
|
||||
// Indicates that the DVD disc does not have a FP_PGC (First Play Program Chain)
|
||||
// and the DVD Navigator will not automatically load any PGC and start playback.
|
||||
//
|
||||
|
||||
#define EC_DVD_PLAYBACK_RATE_CHANGE (EC_DVDBASE + 0x10)
|
||||
// Parameters : (LONG, void)
|
||||
// lParam1 is a LONG indicating the new playback rate.
|
||||
// lParam1 < 0 indicates reverse playback mode.
|
||||
// lParam1 > 0 indicates forward playback mode
|
||||
// Value of lParam1 is the actual playback rate multiplied by 10000.
|
||||
// i.e. lParam1 = rate * 10000
|
||||
//
|
||||
// Raised from the following domains : TT_DOM
|
||||
//
|
||||
// Indicates that a rate change in playback has been initiated and the parameter
|
||||
// lParam1 indicates the new playback rate that is being used.
|
||||
//
|
||||
|
||||
#define EC_DVD_PARENTAL_LEVEL_CHANGE (EC_DVDBASE + 0x11)
|
||||
// Parameters : (LONG, void)
|
||||
// lParam1 is a LONG indicating the new parental level.
|
||||
//
|
||||
// Raised from the following domains : VMGM_DOM
|
||||
//
|
||||
// Indicates that an authored Nav command has changed the parental level
|
||||
// setting in the player.
|
||||
//
|
||||
|
||||
#define EC_DVD_PLAYBACK_STOPPED (EC_DVDBASE + 0x12)
|
||||
// Parameters : (void, void)
|
||||
//
|
||||
// Raised from the following domains : All Domains
|
||||
//
|
||||
// Indicates that playback has been stopped as the Navigator has completed
|
||||
// playback of the pgc and did not find any other branching instruction for
|
||||
// subsequent playback.
|
||||
//
|
||||
|
||||
#define EC_DVD_ANGLES_AVAILABLE (EC_DVDBASE + 0x13)
|
||||
// Parameters : (BOOL, void)
|
||||
// lParam1 == 0 indicates that playback is not in an angle block and angles are
|
||||
// not available
|
||||
// lParam1 == 1 indicates that an angle block is being played back and angle changes
|
||||
// can be performed.
|
||||
//
|
||||
// Indicates whether an angle block is being played and if angle changes can be
|
||||
// performed. However, angle changes are not restricted to angle blocks and the
|
||||
// manifestation of the angle change can be seen only in an angle block.
|
||||
|
||||
#define EC_DVD_PLAYPERIOD_AUTOSTOP (EC_DVDBASE + 0x14)
|
||||
// Parameters: (void, void)
|
||||
// Sent when the PlayPeriodInTitle completes or is cancelled
|
||||
//
|
||||
// Raised from following domains : DVD_DOMAIN_TITLE
|
||||
//
|
||||
|
||||
#define EC_DVD_BUTTON_AUTO_ACTIVATED (EC_DVDBASE + 0x15)
|
||||
// Parameters: (DWORD button, void)
|
||||
// Sent when a button is automatically activated
|
||||
//
|
||||
// Raised from following domains : DVD_DOMAIN_MENU
|
||||
//
|
||||
|
||||
#define EC_DVD_CMD_START (EC_DVDBASE + 0x16)
|
||||
// Parameters: (CmdID, HRESULT)
|
||||
// Sent when a command begins
|
||||
//
|
||||
|
||||
#define EC_DVD_CMD_END (EC_DVDBASE + 0x17)
|
||||
// Parameters: (CmdID, HRESULT)
|
||||
// Sent when a command completes
|
||||
//
|
||||
|
||||
#define EC_DVD_DISC_EJECTED (EC_DVDBASE + 0x18)
|
||||
// Parameters: none
|
||||
// Sent when the nav detects that a disc was ejected and stops the playback
|
||||
// The app does not need to take any action to stop the playback.
|
||||
//
|
||||
|
||||
#define EC_DVD_DISC_INSERTED (EC_DVDBASE + 0x19)
|
||||
// Parameters: none
|
||||
// Sent when the nav detects that a disc was inserted and the nav begins playback
|
||||
// The app does not need to take any action to start the playback.
|
||||
//
|
||||
|
||||
#define EC_DVD_CURRENT_HMSF_TIME (EC_DVDBASE + 0x1a)
|
||||
// Parameters: ( ULONG, ULONG )
|
||||
// lParam2 contains a union of the DVD_TIMECODE_FLAGS
|
||||
// lParam1 contains a DVD_HMSF_TIMECODE. Assign lParam1 to a ULONG then cast the
|
||||
// ULONG as a DVD_HMSF_TIMECODE to use its values.
|
||||
//
|
||||
// Raised from following domains: DVD_DOMAIN_Title
|
||||
//
|
||||
// Signaled at the beginning of every VOBU, which occurs every .4 to 1.0 sec.
|
||||
|
||||
#define EC_DVD_KARAOKE_MODE (EC_DVDBASE + 0x1b)
|
||||
// Parameters: ( BOOL, reserved )
|
||||
// lParam1 is either TRUE (a karaoke track is being played) or FALSE (no karaoke data is being played).
|
||||
//
|
||||
|
||||
|
||||
#endif // DirectX 8.0 content
|
||||
|
||||
|
||||
#endif // __DVDEVCOD__
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
// The types defined here should be kept in synch with ksmedia.h WDM
|
||||
// DDK for kernel mode filters.
|
||||
//
|
||||
// Copyright (c) 1997 - 2000, Microsoft Corporation. All rights reserved.
|
||||
// Copyright (c) 1997 - 2001, Microsoft Corporation. All rights reserved.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
@ -269,7 +269,19 @@ enum AM_MPEG2Profile {
|
|||
// indicates that "camera mode" was used.
|
||||
#define AMMPEG2_LetterboxAnalogOut 0x00000020 //if set and this stream is sent to an analog output, it should
|
||||
// be letterboxed. Streams sent to VGA should be letterboxed only by renderers.
|
||||
#define AMMPEG2_DSS_UserData 0x00000040 //if set, the MPEG-2 decoder must process DSS style user data
|
||||
#define AMMPEG2_DVB_UserData 0x00000080 //if set, the MPEG-2 decoder must process DVB style user data
|
||||
#define AMMPEG2_27MhzTimebase 0x00000100 //if set, the PTS,DTS timestamps advance at 27MHz rather than 90KHz
|
||||
|
||||
#define AMMPEG2_WidescreenAnalogOut 0x00000200 //if set and this stream is sent to an analog output, it should
|
||||
// be in widescreen format (4x3 content should be centered on a 16x9 output).
|
||||
// Streams sent to VGA should be widescreened only by renderers.
|
||||
|
||||
// PRESENT in dwReserved1 field in VIDEOINFOHEADER2
|
||||
#define AMCONTROL_USED 0x00000001 // Used to test if these flags are supported. Set and test for AcceptMediaType.
|
||||
// If rejected, then you cannot use the AMCONTROL flags (send 0 for dwReserved1)
|
||||
#define AMCONTROL_PAD_TO_4x3 0x00000002 // if set means display the image in a 4x3 area
|
||||
#define AMCONTROL_PAD_TO_16x9 0x00000004 // if set means display the image in a 16x9 area
|
||||
|
||||
typedef struct tagVIDEOINFOHEADER2 {
|
||||
RECT rcSource;
|
||||
|
@ -281,7 +293,10 @@ typedef struct tagVIDEOINFOHEADER2 {
|
|||
DWORD dwCopyProtectFlags; // use AMCOPYPROTECT_* defines. Reject connection if undefined bits are not 0
|
||||
DWORD dwPictAspectRatioX; // X dimension of picture aspect ratio, e.g. 16 for 16x9 display
|
||||
DWORD dwPictAspectRatioY; // Y dimension of picture aspect ratio, e.g. 9 for 16x9 display
|
||||
DWORD dwReserved1; // must be 0; reject connection otherwise
|
||||
union {
|
||||
DWORD dwControlFlags; // use AMCONTROL_* defines, use this from now on
|
||||
DWORD dwReserved1; // for backward compatiblity (was "must be 0"; connection rejected otherwise)
|
||||
};
|
||||
DWORD dwReserved2; // must be 0; reject connection otherwise
|
||||
BITMAPINFOHEADER bmiHeader;
|
||||
} VIDEOINFOHEADER2;
|
||||
|
@ -313,18 +328,18 @@ typedef struct tagMPEG2VIDEOINFO {
|
|||
//===================================================================================
|
||||
|
||||
#define AM_VIDEO_FLAG_FIELD_MASK 0x0003L // use this mask to check whether the sample is field1 or field2 or frame
|
||||
#define AM_VIDEO_FLAG_INTERLEAVED_FRAME 0x0000L // the sample is a frame (remember to use AM_VIDEO_FLAG_FIELD_MASK when using this)
|
||||
#define AM_VIDEO_FLAG_INTERLEAVED_FRAME 0x0000L // the sample is a frame (remember to use AM_VIDEO_FLAG_FIELD_MASK when using this)
|
||||
#define AM_VIDEO_FLAG_FIELD1 0x0001L // the sample is field1 (remember to use AM_VIDEO_FLAG_FIELD_MASK when using this)
|
||||
#define AM_VIDEO_FLAG_FIELD2 0x0002L // the sample is the field2 (remember to use AM_VIDEO_FLAG_FIELD_MASK when using this)
|
||||
#define AM_VIDEO_FLAG_FIELD1FIRST 0x0004L // if set means display field1 first, else display field2 first.
|
||||
// this bit is irrelavant for 1FieldPerSample mode
|
||||
// this bit is irrelavant for 1FieldPerSample mode
|
||||
#define AM_VIDEO_FLAG_WEAVE 0x0008L // if set use bob display mode else weave
|
||||
#define AM_VIDEO_FLAG_IPB_MASK 0x0030L // use this mask to check whether the sample is I, P or B
|
||||
#define AM_VIDEO_FLAG_I_SAMPLE 0x0000L // I Sample (remember to use AM_VIDEO_FLAG_IPB_MASK when using this)
|
||||
#define AM_VIDEO_FLAG_I_SAMPLE 0x0000L // I Sample (remember to use AM_VIDEO_FLAG_IPB_MASK when using this)
|
||||
#define AM_VIDEO_FLAG_P_SAMPLE 0x0010L // P Sample (remember to use AM_VIDEO_FLAG_IPB_MASK when using this)
|
||||
#define AM_VIDEO_FLAG_B_SAMPLE 0x0020L // B Sample (remember to use AM_VIDEO_FLAG_IPB_MASK when using this)
|
||||
#define AM_VIDEO_FLAG_REPEAT_FIELD 0x0040L // if set means display the field which has been displayed first again after displaying
|
||||
// both fields first. This bit is irrelavant for 1FieldPerSample mode
|
||||
// both fields first. This bit is irrelavant for 1FieldPerSample mode
|
||||
|
||||
// -----------------------------------------------------------------------
|
||||
// AM_KSPROPSETID_DvdKaraoke property set definitions
|
||||
|
|
|
@ -359,7 +359,6 @@ typedef DWORD DVID, *LPDVID, *PDVID;
|
|||
//
|
||||
#define DVPLAYERCAPS_LOCAL 0x00000002
|
||||
|
||||
|
||||
/****************************************************************************
|
||||
*
|
||||
* DirectPlayVoice Structures (Non-Message)
|
||||
|
@ -620,7 +619,14 @@ typedef struct
|
|||
*
|
||||
****************************************************************************/
|
||||
|
||||
extern HRESULT WINAPI DirectPlayVoiceCreate( const GUID * pcIID, void **ppvInterface, IUnknown *pUnknown);
|
||||
/*
|
||||
*
|
||||
* This function is no longer supported. It is recommended that CoCreateInstance be used to create
|
||||
* DirectPlay voice objects.
|
||||
*
|
||||
* extern HRESULT WINAPI DirectPlayVoiceCreate( const GUID * pcIID, void **ppvInterface, IUnknown *pUnknown);
|
||||
*
|
||||
*/
|
||||
|
||||
/****************************************************************************
|
||||
*
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*==========================================================================;
|
||||
*
|
||||
* Copyright (C) 1996-1997 Microsoft Corporation. All Rights Reserved.
|
||||
* Copyright (C) Microsoft Corporation. All Rights Reserved.
|
||||
*
|
||||
* File: dvp.h
|
||||
* Content: DirectDrawVideoPort include file
|
||||
|
@ -16,6 +16,9 @@
|
|||
#if defined( _WIN32 ) && (!defined( _NO_COM ) || defined( DEFINE_GUID ))
|
||||
DEFINE_GUID( IID_IDDVideoPortContainer, 0x6C142760,0xA733,0x11CE,0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60 );
|
||||
DEFINE_GUID( IID_IDirectDrawVideoPort, 0xB36D93E0,0x2B43,0x11CF,0xA2,0xDE,0x00,0xAA,0x00,0xB9,0x33,0x56 );
|
||||
DEFINE_GUID( IID_IDirectDrawVideoPortNotify, 0xA655FB94,0x0589,0x4E57,0xB3,0x33,0x56,0x7A,0x89,0x46,0x8C,0x88);
|
||||
|
||||
|
||||
|
||||
DEFINE_GUID( DDVPTYPE_E_HREFH_VREFH, 0x54F39980L,0xDA60,0x11CF,0x9B,0x06,0x00,0xA0,0xC9,0x03,0xA3,0xB8);
|
||||
DEFINE_GUID( DDVPTYPE_E_HREFH_VREFL, 0x92783220L,0xDA60,0x11CF,0x9B,0x06,0x00,0xA0,0xC9,0x03,0xA3,0xB8);
|
||||
|
@ -62,18 +65,21 @@ struct IDirectDrawSurface;
|
|||
struct IDirectDrawPalette;
|
||||
struct IDirectDrawClipper;
|
||||
|
||||
typedef struct IDDVideoPortContainer FAR *LPDDVIDEOPORTCONTAINER;
|
||||
typedef struct IDirectDrawVideoPort FAR *LPDIRECTDRAWVIDEOPORT;
|
||||
typedef struct IDDVideoPortContainer FAR *LPDDVIDEOPORTCONTAINER;
|
||||
typedef struct IDirectDrawVideoPort FAR *LPDIRECTDRAWVIDEOPORT;
|
||||
typedef struct IDirectDrawVideoPortNotify FAR *LPDIRECTDRAWVIDEOPORTNOTIFY;
|
||||
|
||||
typedef struct _DDVIDEOPORTCONNECT FAR *LPDDVIDEOPORTCONNECT;
|
||||
typedef struct _DDVIDEOPORTCAPS FAR *LPDDVIDEOPORTCAPS;
|
||||
typedef struct _DDVIDEOPORTDESC FAR *LPDDVIDEOPORTDESC;
|
||||
typedef struct _DDVIDEOPORTINFO FAR *LPDDVIDEOPORTINFO;
|
||||
typedef struct _DDVIDEOPORTBANDWIDTH FAR *LPDDVIDEOPORTBANDWIDTH;
|
||||
typedef struct _DDVIDEOPORTSTATUS FAR *LPDDVIDEOPORTSTATUS;
|
||||
typedef struct _DDVIDEOPORTCONNECT FAR *LPDDVIDEOPORTCONNECT;
|
||||
typedef struct _DDVIDEOPORTCAPS FAR *LPDDVIDEOPORTCAPS;
|
||||
typedef struct _DDVIDEOPORTDESC FAR *LPDDVIDEOPORTDESC;
|
||||
typedef struct _DDVIDEOPORTINFO FAR *LPDDVIDEOPORTINFO;
|
||||
typedef struct _DDVIDEOPORTBANDWIDTH FAR *LPDDVIDEOPORTBANDWIDTH;
|
||||
typedef struct _DDVIDEOPORTSTATUS FAR *LPDDVIDEOPORTSTATUS;
|
||||
typedef struct _DDVIDEOPORTNOTIFY FAR *LPDDVIDEOPORTNOTIFY;
|
||||
|
||||
typedef struct IDDVideoPortContainerVtbl DDVIDEOPORTCONTAINERCALLBACKS;
|
||||
typedef struct IDirectDrawVideoPortVtbl DIRECTDRAWVIDEOPORTCALLBACKS;
|
||||
typedef struct IDDVideoPortContainerVtbl DDVIDEOPORTCONTAINERCALLBACKS;
|
||||
typedef struct IDirectDrawVideoPortVtbl DIRECTDRAWVIDEOPORTCALLBACKS;
|
||||
typedef struct IDirectDrawVideoPortNotifyVtbl DIRECTDRAWVIDEOPORTNOTIFYCALLBACKS;
|
||||
|
||||
|
||||
/*
|
||||
|
@ -197,6 +203,38 @@ DECLARE_INTERFACE_( IDirectDrawVideoPort, IUnknown )
|
|||
|
||||
#endif
|
||||
|
||||
/*
|
||||
* IDirectDrawVideoPort
|
||||
*/
|
||||
#if defined( _WIN32 ) && !defined( _NO_COM )
|
||||
#undef INTERFACE
|
||||
#define INTERFACE IDirectDrawVideoPortNotify
|
||||
DECLARE_INTERFACE_( IDirectDrawVideoPortNotify, IUnknown )
|
||||
{
|
||||
/*** IUnknown methods ***/
|
||||
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR * ppvObj) PURE;
|
||||
STDMETHOD_(ULONG,AddRef) (THIS) PURE;
|
||||
STDMETHOD_(ULONG,Release) (THIS) PURE;
|
||||
/*** IVideoPort methods ***/
|
||||
STDMETHOD(AcquireNotification)(THIS_ HANDLE *, LPDDVIDEOPORTNOTIFY) PURE;
|
||||
STDMETHOD(ReleaseNotification)(THIS_ HANDLE) PURE;
|
||||
};
|
||||
|
||||
#if !defined(__cplusplus) || defined(CINTERFACE)
|
||||
#define IVideoPortNotify_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
||||
#define IVideoPortNotify_AddRef(p) (p)->lpVtbl->AddRef(p)
|
||||
#define IVideoPortNotify_Release(p) (p)->lpVtbl->Release(p)
|
||||
#define IVideoPortNotify_AcquireNotification(p,a,b) (p)->lpVtbl->AcquireNotification(p,a,b)
|
||||
#define IVideoPortNotify_ReleaseNotification(p,a) (p)->lpVtbl->ReleaseNotification(p,a)
|
||||
#else
|
||||
#define IVideoPortNotify_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
|
||||
#define IVideoPortNotify_AddRef(p) (p)->AddRef()
|
||||
#define IVideoPortNotify_Release(p) (p)->Release()
|
||||
#define IVideoPortNotify_AcquireNotification(p,a,b) (p)->lpVtbl->AcquireNotification(a,b)
|
||||
#define IVideoPortNotify_ReleaseNotification(p,a) (p)->lpVtbl->ReleaseNotification(a)
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
/*
|
||||
* DDVIDEOPORTCONNECT
|
||||
|
@ -352,6 +390,18 @@ typedef struct _DDVIDEOPORTSTATUS
|
|||
ULONG_PTR dwReserved3; // Reserved for future use
|
||||
} DDVIDEOPORTSTATUS;
|
||||
|
||||
/*
|
||||
* DDVIDEOPORTNOTIFY
|
||||
*/
|
||||
typedef struct _DDVIDEOPORTNOTIFY
|
||||
{
|
||||
LARGE_INTEGER ApproximateTimeStamp; // Timestamp in the event notification
|
||||
LONG lField; // 0 if even, 1 if odd, -1 if unknown
|
||||
UINT dwSurfaceIndex; // Index in the surface chain of the surface that received the sample
|
||||
LONG lDone; // Call InterlockedIncrement on this when done with sample
|
||||
} DDVIDEOPORTNOTIFY;
|
||||
|
||||
|
||||
/*============================================================================
|
||||
*
|
||||
* Video Port Flags
|
||||
|
@ -910,7 +960,7 @@ typedef struct _DDVIDEOPORTSTATUS
|
|||
};
|
||||
#endif
|
||||
|
||||
#endif // GUID_DEFS_ONLY
|
||||
#endif // GUID_DEFS_ONLY
|
||||
|
||||
#endif
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*==========================================================================;
|
||||
*
|
||||
* Copyright (C) 2000 Microsoft Corporation. All Rights Reserved.
|
||||
* Copyright (C) Microsoft Corporation. All Rights Reserved.
|
||||
*
|
||||
* File: dx7todx8.h
|
||||
* Content: DX7 to DX8 Direct3D aliases to aid porting DX7 apps to DX8
|
||||
|
|
|
@ -9,24 +9,47 @@
|
|||
#ifndef _DXERR8_H_
|
||||
#define _DXERR8_H_
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif //__cplusplus
|
||||
|
||||
//
|
||||
// DXGetErrorString8
|
||||
//
|
||||
// Desc: Converts an DirectX HRESULT to a string
|
||||
// Desc: Converts a DirectX HRESULT to a string
|
||||
//
|
||||
// Args: HRESULT hr Can be any error code from
|
||||
// DPLAY D3D8 D3DX8 DMUSIC DSOUND
|
||||
// D3D8 D3DX8 DDRAW DPLAY8 DMUSIC DSOUND DINPUT DSHOW
|
||||
//
|
||||
// Return: Converted string
|
||||
//
|
||||
const char* __stdcall DXGetErrorString8A(HRESULT hr);
|
||||
const WCHAR* __stdcall DXGetErrorString8W(HRESULT hr);
|
||||
const char* WINAPI DXGetErrorString8A(HRESULT hr);
|
||||
const WCHAR* WINAPI DXGetErrorString8W(HRESULT hr);
|
||||
|
||||
#ifdef UNICODE
|
||||
#define DXGetErrorString8 DXGetErrorString8W
|
||||
#define DXGetErrorString8 DXGetErrorString8W
|
||||
#else
|
||||
#define DXGetErrorString8 DXGetErrorString8A
|
||||
#define DXGetErrorString8 DXGetErrorString8A
|
||||
#endif
|
||||
|
||||
|
||||
//
|
||||
// DXGetErrorDescription8
|
||||
//
|
||||
// Desc: Returns a string description of a DirectX HRESULT
|
||||
//
|
||||
// Args: HRESULT hr Can be any error code from
|
||||
// D3D8 D3DX8 DDRAW DPLAY8 DMUSIC DSOUND DINPUT DSHOW
|
||||
//
|
||||
// Return: String description
|
||||
//
|
||||
const char* WINAPI DXGetErrorDescription8A(HRESULT hr);
|
||||
const WCHAR* WINAPI DXGetErrorDescription8W(HRESULT hr);
|
||||
|
||||
#ifdef UNICODE
|
||||
#define DXGetErrorDescription8 DXGetErrorDescription8W
|
||||
#else
|
||||
#define DXGetErrorDescription8 DXGetErrorDescription8A
|
||||
#endif
|
||||
|
||||
|
||||
|
@ -45,13 +68,13 @@ const WCHAR* __stdcall DXGetErrorString8W(HRESULT hr);
|
|||
//
|
||||
// Return: The hr that was passed in.
|
||||
//
|
||||
HRESULT __stdcall DXTraceA( char* strFile, DWORD dwLine, HRESULT hr, char* strMsg, BOOL bPopMsgBox = FALSE );
|
||||
HRESULT __stdcall DXTraceW( char* strFile, DWORD dwLine, HRESULT hr, WCHAR* strMsg, BOOL bPopMsgBox = FALSE );
|
||||
HRESULT WINAPI DXTraceA( char* strFile, DWORD dwLine, HRESULT hr, char* strMsg, BOOL bPopMsgBox );
|
||||
HRESULT WINAPI DXTraceW( char* strFile, DWORD dwLine, HRESULT hr, WCHAR* strMsg, BOOL bPopMsgBox );
|
||||
|
||||
#ifdef UNICODE
|
||||
#define DXTrace DXTraceW
|
||||
#define DXTrace DXTraceW
|
||||
#else
|
||||
#define DXTrace DXTraceA
|
||||
#define DXTrace DXTraceA
|
||||
#endif
|
||||
|
||||
|
||||
|
@ -59,16 +82,19 @@ HRESULT __stdcall DXTraceW( char* strFile, DWORD dwLine, HRESULT hr, WCHAR* strM
|
|||
// Helper macros
|
||||
//
|
||||
#if defined(DEBUG) | defined(_DEBUG)
|
||||
#define DXTRACE_MSG(str) DXTrace( __FILE__, (DWORD)__LINE__, 0, str, FALSE )
|
||||
#define DXTRACE_ERR(str,hr) DXTrace( __FILE__, (DWORD)__LINE__, hr, str, TRUE )
|
||||
#define DXTRACE_ERR_NOMSGBOX(str,hr) DXTrace( __FILE__, (DWORD)__LINE__, hr, str, FALSE )
|
||||
#define DXTRACE_MSG(str) DXTrace( __FILE__, (DWORD)__LINE__, 0, str, FALSE )
|
||||
#define DXTRACE_ERR(str,hr) DXTrace( __FILE__, (DWORD)__LINE__, hr, str, TRUE )
|
||||
#define DXTRACE_ERR_NOMSGBOX(str,hr) DXTrace( __FILE__, (DWORD)__LINE__, hr, str, FALSE )
|
||||
#else
|
||||
#define DXTRACE_MSG(str) (0L)
|
||||
#define DXTRACE_ERR(str,hr) (hr)
|
||||
#define DXTRACE_ERR_NOMSGBOX(str,hr) (hr)
|
||||
#define DXTRACE_MSG(str) (0L)
|
||||
#define DXTRACE_ERR(str,hr) (hr)
|
||||
#define DXTRACE_ERR_NOMSGBOX(str,hr) (hr)
|
||||
#endif
|
||||
|
||||
|
||||
#endif
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif //__cplusplus
|
||||
|
||||
#endif // _DXERR8_H_
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
|
||||
|
||||
|
||||
/* File created by MIDL compiler version 6.00.0334 */
|
||||
/* File created by MIDL compiler version 6.00.0347 */
|
||||
/* Compiler settings for dxtrans.idl:
|
||||
Oicf, W1, Zp8, env=Win32 (32b run)
|
||||
protocol : dce , ms_ext, c_ext
|
||||
|
@ -168,6 +168,12 @@ typedef interface IHTMLDXTransform IHTMLDXTransform;
|
|||
#endif /* __IHTMLDXTransform_FWD_DEFINED__ */
|
||||
|
||||
|
||||
#ifndef __ICSSFilterDispatch_FWD_DEFINED__
|
||||
#define __ICSSFilterDispatch_FWD_DEFINED__
|
||||
typedef interface ICSSFilterDispatch ICSSFilterDispatch;
|
||||
#endif /* __ICSSFilterDispatch_FWD_DEFINED__ */
|
||||
|
||||
|
||||
#ifndef __DXTransformFactory_FWD_DEFINED__
|
||||
#define __DXTransformFactory_FWD_DEFINED__
|
||||
|
||||
|
@ -240,6 +246,18 @@ typedef struct DXGradient DXGradient;
|
|||
#endif /* __DXGradient_FWD_DEFINED__ */
|
||||
|
||||
|
||||
#ifndef __DXTFilter_FWD_DEFINED__
|
||||
#define __DXTFilter_FWD_DEFINED__
|
||||
|
||||
#ifdef __cplusplus
|
||||
typedef class DXTFilter DXTFilter;
|
||||
#else
|
||||
typedef struct DXTFilter DXTFilter;
|
||||
#endif /* __cplusplus */
|
||||
|
||||
#endif /* __DXTFilter_FWD_DEFINED__ */
|
||||
|
||||
|
||||
/* header files for imported files */
|
||||
#include "oaidl.h"
|
||||
#include "ocidl.h"
|
||||
|
@ -337,6 +355,11 @@ EXTERN_C const GUID SID_SDirect3DRM;
|
|||
#define SID_SDXTaskManager CLSID_DXTaskManager
|
||||
#define SID_SDXSurfaceFactory IID_IDXSurfaceFactory
|
||||
#define SID_SDXTransformFactory IID_IDXTransformFactory
|
||||
//
|
||||
// DXTransforms Core Type Library Version Info
|
||||
//
|
||||
#define DXTRANS_TLB_MAJOR_VER 1
|
||||
#define DXTRANS_TLB_MINOR_VER 1
|
||||
|
||||
|
||||
extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0000_v0_0_c_ifspec;
|
||||
|
@ -346,7 +369,7 @@ extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0000_v0_0_s_ifspec;
|
|||
#define __IDXBaseObject_INTERFACE_DEFINED__
|
||||
|
||||
/* interface IDXBaseObject */
|
||||
/* [object][unique][helpstring][uuid] */
|
||||
/* [local][unique][helpstring][uuid][object] */
|
||||
|
||||
|
||||
EXTERN_C const IID IID_IDXBaseObject;
|
||||
|
@ -476,7 +499,7 @@ void __RPC_STUB IDXBaseObject_GetObjectSize_Stub(
|
|||
#endif /* __IDXBaseObject_INTERFACE_DEFINED__ */
|
||||
|
||||
|
||||
/* interface __MIDL_itf_dxtrans_0253 */
|
||||
/* interface __MIDL_itf_dxtrans_0259 */
|
||||
/* [local] */
|
||||
|
||||
typedef
|
||||
|
@ -530,7 +553,7 @@ typedef DXCBND64 DXCBNDS64[ 4 ];
|
|||
typedef struct DXBNDS
|
||||
{
|
||||
DXBNDTYPE eType;
|
||||
/* [switch_is] */ /* [switch_type] */ union __MIDL___MIDL_itf_dxtrans_0253_0001
|
||||
/* [switch_is] */ /* [switch_type] */ union __MIDL___MIDL_itf_dxtrans_0259_0001
|
||||
{
|
||||
/* [case()] */ DXDBND D[ 4 ];
|
||||
/* [case()] */ DXDBND64 LD[ 4 ];
|
||||
|
@ -550,7 +573,7 @@ typedef double DXCVEC64[ 4 ];
|
|||
typedef struct DXVEC
|
||||
{
|
||||
DXBNDTYPE eType;
|
||||
/* [switch_is] */ /* [switch_type] */ union __MIDL___MIDL_itf_dxtrans_0253_0002
|
||||
/* [switch_is] */ /* [switch_type] */ union __MIDL___MIDL_itf_dxtrans_0259_0002
|
||||
{
|
||||
/* [case()] */ long D[ 4 ];
|
||||
/* [case()] */ LONGLONG LD[ 4 ];
|
||||
|
@ -561,14 +584,14 @@ typedef struct DXVEC
|
|||
|
||||
|
||||
|
||||
extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0253_v0_0_c_ifspec;
|
||||
extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0253_v0_0_s_ifspec;
|
||||
extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0259_v0_0_c_ifspec;
|
||||
extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0259_v0_0_s_ifspec;
|
||||
|
||||
#ifndef __IDXTransformFactory_INTERFACE_DEFINED__
|
||||
#define __IDXTransformFactory_INTERFACE_DEFINED__
|
||||
|
||||
/* interface IDXTransformFactory */
|
||||
/* [object][unique][helpstring][uuid] */
|
||||
/* [local][unique][helpstring][uuid][object] */
|
||||
|
||||
|
||||
EXTERN_C const IID IID_IDXTransformFactory;
|
||||
|
@ -756,7 +779,7 @@ void __RPC_STUB IDXTransformFactory_InitializeTransform_Stub(
|
|||
#endif /* __IDXTransformFactory_INTERFACE_DEFINED__ */
|
||||
|
||||
|
||||
/* interface __MIDL_itf_dxtrans_0254 */
|
||||
/* interface __MIDL_itf_dxtrans_0260 */
|
||||
/* [local] */
|
||||
|
||||
typedef
|
||||
|
@ -781,14 +804,14 @@ enum DXINOUTINFOFLAGS
|
|||
|
||||
|
||||
|
||||
extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0254_v0_0_c_ifspec;
|
||||
extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0254_v0_0_s_ifspec;
|
||||
extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0260_v0_0_c_ifspec;
|
||||
extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0260_v0_0_s_ifspec;
|
||||
|
||||
#ifndef __IDXTransform_INTERFACE_DEFINED__
|
||||
#define __IDXTransform_INTERFACE_DEFINED__
|
||||
|
||||
/* interface IDXTransform */
|
||||
/* [object][unique][helpstring][uuid] */
|
||||
/* [local][unique][helpstring][uuid][object] */
|
||||
|
||||
|
||||
EXTERN_C const IID IID_IDXTransform;
|
||||
|
@ -1127,7 +1150,7 @@ void __RPC_STUB IDXTransform_GetQuality_Stub(
|
|||
#define __IDXSurfacePick_INTERFACE_DEFINED__
|
||||
|
||||
/* interface IDXSurfacePick */
|
||||
/* [object][unique][helpstring][uuid] */
|
||||
/* [local][unique][helpstring][uuid][object] */
|
||||
|
||||
|
||||
EXTERN_C const IID IID_IDXSurfacePick;
|
||||
|
@ -1223,7 +1246,7 @@ void __RPC_STUB IDXSurfacePick_PointPick_Stub(
|
|||
#define __IDXTBindHost_INTERFACE_DEFINED__
|
||||
|
||||
/* interface IDXTBindHost */
|
||||
/* [object][local][unique][helpstring][uuid] */
|
||||
/* [local][unique][helpstring][uuid][object] */
|
||||
|
||||
|
||||
EXTERN_C const IID IID_IDXTBindHost;
|
||||
|
@ -1309,7 +1332,7 @@ void __RPC_STUB IDXTBindHost_SetBindHost_Stub(
|
|||
#endif /* __IDXTBindHost_INTERFACE_DEFINED__ */
|
||||
|
||||
|
||||
/* interface __MIDL_itf_dxtrans_0257 */
|
||||
/* interface __MIDL_itf_dxtrans_0263 */
|
||||
/* [local] */
|
||||
|
||||
typedef void __stdcall __stdcall DXTASKPROC(
|
||||
|
@ -1345,14 +1368,14 @@ typedef struct DXTMTASKINFO
|
|||
#endif
|
||||
|
||||
|
||||
extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0257_v0_0_c_ifspec;
|
||||
extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0257_v0_0_s_ifspec;
|
||||
extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0263_v0_0_c_ifspec;
|
||||
extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0263_v0_0_s_ifspec;
|
||||
|
||||
#ifndef __IDXTaskManager_INTERFACE_DEFINED__
|
||||
#define __IDXTaskManager_INTERFACE_DEFINED__
|
||||
|
||||
/* interface IDXTaskManager */
|
||||
/* [object][unique][helpstring][uuid][local] */
|
||||
/* [local][unique][helpstring][uuid][object] */
|
||||
|
||||
|
||||
EXTERN_C const IID IID_IDXTaskManager;
|
||||
|
@ -1613,7 +1636,7 @@ void __RPC_STUB IDXTaskManager_TerminateRequest_Stub(
|
|||
#endif /* __IDXTaskManager_INTERFACE_DEFINED__ */
|
||||
|
||||
|
||||
/* interface __MIDL_itf_dxtrans_0258 */
|
||||
/* interface __MIDL_itf_dxtrans_0264 */
|
||||
/* [local] */
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
@ -1739,14 +1762,14 @@ enum DXBLTOPTIONS
|
|||
|
||||
|
||||
|
||||
extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0258_v0_0_c_ifspec;
|
||||
extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0258_v0_0_s_ifspec;
|
||||
extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0264_v0_0_c_ifspec;
|
||||
extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0264_v0_0_s_ifspec;
|
||||
|
||||
#ifndef __IDXSurfaceFactory_INTERFACE_DEFINED__
|
||||
#define __IDXSurfaceFactory_INTERFACE_DEFINED__
|
||||
|
||||
/* interface IDXSurfaceFactory */
|
||||
/* [object][unique][helpstring][uuid] */
|
||||
/* [local][unique][helpstring][uuid][object] */
|
||||
|
||||
|
||||
EXTERN_C const IID IID_IDXSurfaceFactory;
|
||||
|
@ -1757,7 +1780,7 @@ EXTERN_C const IID IID_IDXSurfaceFactory;
|
|||
IDXSurfaceFactory : public IUnknown
|
||||
{
|
||||
public:
|
||||
virtual /* [local] */ HRESULT STDMETHODCALLTYPE CreateSurface(
|
||||
virtual HRESULT STDMETHODCALLTYPE CreateSurface(
|
||||
/* [in] */ IUnknown *pDirectDraw,
|
||||
/* [in] */ const DDSURFACEDESC *pDDSurfaceDesc,
|
||||
/* [in] */ const GUID *pFormatID,
|
||||
|
@ -1775,7 +1798,7 @@ EXTERN_C const IID IID_IDXSurfaceFactory;
|
|||
/* [in] */ REFIID riid,
|
||||
/* [iid_is][out] */ void **ppDXSurface) = 0;
|
||||
|
||||
virtual /* [local] */ HRESULT STDMETHODCALLTYPE LoadImage(
|
||||
virtual HRESULT STDMETHODCALLTYPE LoadImage(
|
||||
/* [in] */ const LPWSTR pszFileName,
|
||||
/* [in] */ IUnknown *pDirectDraw,
|
||||
/* [in] */ const DDSURFACEDESC *pDDSurfaceDesc,
|
||||
|
@ -1783,7 +1806,7 @@ EXTERN_C const IID IID_IDXSurfaceFactory;
|
|||
/* [in] */ REFIID riid,
|
||||
/* [iid_is][out] */ void **ppDXSurface) = 0;
|
||||
|
||||
virtual /* [local] */ HRESULT STDMETHODCALLTYPE LoadImageFromStream(
|
||||
virtual HRESULT STDMETHODCALLTYPE LoadImageFromStream(
|
||||
/* [in] */ IStream *pStream,
|
||||
/* [in] */ IUnknown *pDirectDraw,
|
||||
/* [in] */ const DDSURFACEDESC *pDDSurfaceDesc,
|
||||
|
@ -1791,14 +1814,14 @@ EXTERN_C const IID IID_IDXSurfaceFactory;
|
|||
/* [in] */ REFIID riid,
|
||||
/* [iid_is][out] */ void **ppDXSurface) = 0;
|
||||
|
||||
virtual /* [local] */ HRESULT STDMETHODCALLTYPE CopySurfaceToNewFormat(
|
||||
virtual HRESULT STDMETHODCALLTYPE CopySurfaceToNewFormat(
|
||||
/* [in] */ IDXSurface *pSrc,
|
||||
/* [in] */ IUnknown *pDirectDraw,
|
||||
/* [in] */ const DDSURFACEDESC *pDDSurfaceDesc,
|
||||
/* [in] */ const GUID *pDestFormatID,
|
||||
/* [out] */ IDXSurface **ppNewSurface) = 0;
|
||||
|
||||
virtual /* [local] */ HRESULT STDMETHODCALLTYPE CreateD3DRMTexture(
|
||||
virtual HRESULT STDMETHODCALLTYPE CreateD3DRMTexture(
|
||||
/* [in] */ IDXSurface *pSrc,
|
||||
/* [in] */ IUnknown *pDirectDraw,
|
||||
/* [in] */ IUnknown *pD3DRM3,
|
||||
|
@ -1831,7 +1854,7 @@ EXTERN_C const IID IID_IDXSurfaceFactory;
|
|||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
IDXSurfaceFactory * This);
|
||||
|
||||
/* [local] */ HRESULT ( STDMETHODCALLTYPE *CreateSurface )(
|
||||
HRESULT ( STDMETHODCALLTYPE *CreateSurface )(
|
||||
IDXSurfaceFactory * This,
|
||||
/* [in] */ IUnknown *pDirectDraw,
|
||||
/* [in] */ const DDSURFACEDESC *pDDSurfaceDesc,
|
||||
|
@ -1851,7 +1874,7 @@ EXTERN_C const IID IID_IDXSurfaceFactory;
|
|||
/* [in] */ REFIID riid,
|
||||
/* [iid_is][out] */ void **ppDXSurface);
|
||||
|
||||
/* [local] */ HRESULT ( STDMETHODCALLTYPE *LoadImage )(
|
||||
HRESULT ( STDMETHODCALLTYPE *LoadImage )(
|
||||
IDXSurfaceFactory * This,
|
||||
/* [in] */ const LPWSTR pszFileName,
|
||||
/* [in] */ IUnknown *pDirectDraw,
|
||||
|
@ -1860,7 +1883,7 @@ EXTERN_C const IID IID_IDXSurfaceFactory;
|
|||
/* [in] */ REFIID riid,
|
||||
/* [iid_is][out] */ void **ppDXSurface);
|
||||
|
||||
/* [local] */ HRESULT ( STDMETHODCALLTYPE *LoadImageFromStream )(
|
||||
HRESULT ( STDMETHODCALLTYPE *LoadImageFromStream )(
|
||||
IDXSurfaceFactory * This,
|
||||
/* [in] */ IStream *pStream,
|
||||
/* [in] */ IUnknown *pDirectDraw,
|
||||
|
@ -1869,7 +1892,7 @@ EXTERN_C const IID IID_IDXSurfaceFactory;
|
|||
/* [in] */ REFIID riid,
|
||||
/* [iid_is][out] */ void **ppDXSurface);
|
||||
|
||||
/* [local] */ HRESULT ( STDMETHODCALLTYPE *CopySurfaceToNewFormat )(
|
||||
HRESULT ( STDMETHODCALLTYPE *CopySurfaceToNewFormat )(
|
||||
IDXSurfaceFactory * This,
|
||||
/* [in] */ IDXSurface *pSrc,
|
||||
/* [in] */ IUnknown *pDirectDraw,
|
||||
|
@ -1877,7 +1900,7 @@ EXTERN_C const IID IID_IDXSurfaceFactory;
|
|||
/* [in] */ const GUID *pDestFormatID,
|
||||
/* [out] */ IDXSurface **ppNewSurface);
|
||||
|
||||
/* [local] */ HRESULT ( STDMETHODCALLTYPE *CreateD3DRMTexture )(
|
||||
HRESULT ( STDMETHODCALLTYPE *CreateD3DRMTexture )(
|
||||
IDXSurfaceFactory * This,
|
||||
/* [in] */ IDXSurface *pSrc,
|
||||
/* [in] */ IUnknown *pDirectDraw,
|
||||
|
@ -1944,7 +1967,7 @@ EXTERN_C const IID IID_IDXSurfaceFactory;
|
|||
|
||||
|
||||
|
||||
/* [local] */ HRESULT STDMETHODCALLTYPE IDXSurfaceFactory_CreateSurface_Proxy(
|
||||
HRESULT STDMETHODCALLTYPE IDXSurfaceFactory_CreateSurface_Proxy(
|
||||
IDXSurfaceFactory * This,
|
||||
/* [in] */ IUnknown *pDirectDraw,
|
||||
/* [in] */ const DDSURFACEDESC *pDDSurfaceDesc,
|
||||
|
@ -1980,7 +2003,7 @@ void __RPC_STUB IDXSurfaceFactory_CreateFromDDSurface_Stub(
|
|||
DWORD *_pdwStubPhase);
|
||||
|
||||
|
||||
/* [local] */ HRESULT STDMETHODCALLTYPE IDXSurfaceFactory_LoadImage_Proxy(
|
||||
HRESULT STDMETHODCALLTYPE IDXSurfaceFactory_LoadImage_Proxy(
|
||||
IDXSurfaceFactory * This,
|
||||
/* [in] */ const LPWSTR pszFileName,
|
||||
/* [in] */ IUnknown *pDirectDraw,
|
||||
|
@ -1997,7 +2020,7 @@ void __RPC_STUB IDXSurfaceFactory_LoadImage_Stub(
|
|||
DWORD *_pdwStubPhase);
|
||||
|
||||
|
||||
/* [local] */ HRESULT STDMETHODCALLTYPE IDXSurfaceFactory_LoadImageFromStream_Proxy(
|
||||
HRESULT STDMETHODCALLTYPE IDXSurfaceFactory_LoadImageFromStream_Proxy(
|
||||
IDXSurfaceFactory * This,
|
||||
/* [in] */ IStream *pStream,
|
||||
/* [in] */ IUnknown *pDirectDraw,
|
||||
|
@ -2014,7 +2037,7 @@ void __RPC_STUB IDXSurfaceFactory_LoadImageFromStream_Stub(
|
|||
DWORD *_pdwStubPhase);
|
||||
|
||||
|
||||
/* [local] */ HRESULT STDMETHODCALLTYPE IDXSurfaceFactory_CopySurfaceToNewFormat_Proxy(
|
||||
HRESULT STDMETHODCALLTYPE IDXSurfaceFactory_CopySurfaceToNewFormat_Proxy(
|
||||
IDXSurfaceFactory * This,
|
||||
/* [in] */ IDXSurface *pSrc,
|
||||
/* [in] */ IUnknown *pDirectDraw,
|
||||
|
@ -2030,7 +2053,7 @@ void __RPC_STUB IDXSurfaceFactory_CopySurfaceToNewFormat_Stub(
|
|||
DWORD *_pdwStubPhase);
|
||||
|
||||
|
||||
/* [local] */ HRESULT STDMETHODCALLTYPE IDXSurfaceFactory_CreateD3DRMTexture_Proxy(
|
||||
HRESULT STDMETHODCALLTYPE IDXSurfaceFactory_CreateD3DRMTexture_Proxy(
|
||||
IDXSurfaceFactory * This,
|
||||
/* [in] */ IDXSurface *pSrc,
|
||||
/* [in] */ IUnknown *pDirectDraw,
|
||||
|
@ -2066,7 +2089,7 @@ void __RPC_STUB IDXSurfaceFactory_BitBlt_Stub(
|
|||
#endif /* __IDXSurfaceFactory_INTERFACE_DEFINED__ */
|
||||
|
||||
|
||||
/* interface __MIDL_itf_dxtrans_0259 */
|
||||
/* interface __MIDL_itf_dxtrans_0265 */
|
||||
/* [local] */
|
||||
|
||||
typedef
|
||||
|
@ -2078,14 +2101,14 @@ enum DXSURFMODCOMPOP
|
|||
|
||||
|
||||
|
||||
extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0259_v0_0_c_ifspec;
|
||||
extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0259_v0_0_s_ifspec;
|
||||
extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0265_v0_0_c_ifspec;
|
||||
extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0265_v0_0_s_ifspec;
|
||||
|
||||
#ifndef __IDXSurfaceModifier_INTERFACE_DEFINED__
|
||||
#define __IDXSurfaceModifier_INTERFACE_DEFINED__
|
||||
|
||||
/* interface IDXSurfaceModifier */
|
||||
/* [object][unique][helpstring][uuid] */
|
||||
/* [local][unique][helpstring][uuid][object] */
|
||||
|
||||
|
||||
EXTERN_C const IID IID_IDXSurfaceModifier;
|
||||
|
@ -2447,7 +2470,7 @@ void __RPC_STUB IDXSurfaceModifier_GetLookup_Stub(
|
|||
#endif /* __IDXSurfaceModifier_INTERFACE_DEFINED__ */
|
||||
|
||||
|
||||
/* interface __MIDL_itf_dxtrans_0260 */
|
||||
/* interface __MIDL_itf_dxtrans_0266 */
|
||||
/* [local] */
|
||||
|
||||
typedef
|
||||
|
@ -2498,14 +2521,14 @@ enum DXSURFSTATUS
|
|||
|
||||
|
||||
|
||||
extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0260_v0_0_c_ifspec;
|
||||
extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0260_v0_0_s_ifspec;
|
||||
extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0266_v0_0_c_ifspec;
|
||||
extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0266_v0_0_s_ifspec;
|
||||
|
||||
#ifndef __IDXSurface_INTERFACE_DEFINED__
|
||||
#define __IDXSurface_INTERFACE_DEFINED__
|
||||
|
||||
/* interface IDXSurface */
|
||||
/* [object][unique][helpstring][uuid] */
|
||||
/* [local][unique][helpstring][uuid][object] */
|
||||
|
||||
|
||||
EXTERN_C const IID IID_IDXSurface;
|
||||
|
@ -2867,7 +2890,7 @@ void __RPC_STUB IDXSurface_GetAppData_Stub(
|
|||
#define __IDXSurfaceInit_INTERFACE_DEFINED__
|
||||
|
||||
/* interface IDXSurfaceInit */
|
||||
/* [object][local][unique][helpstring][uuid] */
|
||||
/* [local][unique][helpstring][uuid][object] */
|
||||
|
||||
|
||||
EXTERN_C const IID IID_IDXSurfaceInit;
|
||||
|
@ -2969,7 +2992,7 @@ void __RPC_STUB IDXSurfaceInit_InitSurface_Stub(
|
|||
#define __IDXARGBSurfaceInit_INTERFACE_DEFINED__
|
||||
|
||||
/* interface IDXARGBSurfaceInit */
|
||||
/* [object][local][unique][helpstring][uuid] */
|
||||
/* [local][unique][helpstring][uuid][object] */
|
||||
|
||||
|
||||
EXTERN_C const IID IID_IDXARGBSurfaceInit;
|
||||
|
@ -3095,7 +3118,7 @@ void __RPC_STUB IDXARGBSurfaceInit_InitFromRawSurface_Stub(
|
|||
#endif /* __IDXARGBSurfaceInit_INTERFACE_DEFINED__ */
|
||||
|
||||
|
||||
/* interface __MIDL_itf_dxtrans_0263 */
|
||||
/* interface __MIDL_itf_dxtrans_0269 */
|
||||
/* [local] */
|
||||
|
||||
typedef struct tagDXNATIVETYPEINFO
|
||||
|
@ -3122,14 +3145,14 @@ typedef struct tagDXOVERSAMPLEDESC
|
|||
|
||||
|
||||
|
||||
extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0263_v0_0_c_ifspec;
|
||||
extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0263_v0_0_s_ifspec;
|
||||
extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0269_v0_0_c_ifspec;
|
||||
extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0269_v0_0_s_ifspec;
|
||||
|
||||
#ifndef __IDXARGBReadPtr_INTERFACE_DEFINED__
|
||||
#define __IDXARGBReadPtr_INTERFACE_DEFINED__
|
||||
|
||||
/* interface IDXARGBReadPtr */
|
||||
/* [object][local][unique][helpstring][uuid] */
|
||||
/* [local][unique][helpstring][uuid][object] */
|
||||
|
||||
|
||||
EXTERN_C const IID IID_IDXARGBReadPtr;
|
||||
|
@ -3416,7 +3439,7 @@ void __RPC_STUB IDXARGBReadPtr_UnpackRect_Stub(
|
|||
#define __IDXARGBReadWritePtr_INTERFACE_DEFINED__
|
||||
|
||||
/* interface IDXARGBReadWritePtr */
|
||||
/* [object][local][unique][helpstring][uuid] */
|
||||
/* [local][unique][helpstring][uuid][object] */
|
||||
|
||||
|
||||
EXTERN_C const IID IID_IDXARGBReadWritePtr;
|
||||
|
@ -3801,7 +3824,7 @@ void __RPC_STUB IDXARGBReadWritePtr_OverArrayAndMove_Stub(
|
|||
#define __IDXDCLock_INTERFACE_DEFINED__
|
||||
|
||||
/* interface IDXDCLock */
|
||||
/* [object][local][unique][helpstring][uuid] */
|
||||
/* [local][unique][helpstring][uuid][object] */
|
||||
|
||||
|
||||
EXTERN_C const IID IID_IDXDCLock;
|
||||
|
@ -3888,7 +3911,7 @@ void __RPC_STUB IDXDCLock_GetDC_Stub(
|
|||
#define __IDXTScaleOutput_INTERFACE_DEFINED__
|
||||
|
||||
/* interface IDXTScaleOutput */
|
||||
/* [object][unique][helpstring][uuid] */
|
||||
/* [local][unique][helpstring][uuid][object] */
|
||||
|
||||
|
||||
EXTERN_C const IID IID_IDXTScaleOutput;
|
||||
|
@ -3981,7 +4004,7 @@ void __RPC_STUB IDXTScaleOutput_SetOutputSize_Stub(
|
|||
#define __IDXGradient_INTERFACE_DEFINED__
|
||||
|
||||
/* interface IDXGradient */
|
||||
/* [object][unique][helpstring][uuid] */
|
||||
/* [local][unique][helpstring][uuid][object] */
|
||||
|
||||
|
||||
EXTERN_C const IID IID_IDXGradient;
|
||||
|
@ -4108,7 +4131,7 @@ void __RPC_STUB IDXGradient_GetOutputSize_Stub(
|
|||
#define __IDXTScale_INTERFACE_DEFINED__
|
||||
|
||||
/* interface IDXTScale */
|
||||
/* [object][unique][helpstring][uuid] */
|
||||
/* [local][unique][helpstring][uuid][object] */
|
||||
|
||||
|
||||
EXTERN_C const IID IID_IDXTScale;
|
||||
|
@ -4244,7 +4267,7 @@ void __RPC_STUB IDXTScale_ScaleFitToSize_Stub(
|
|||
#endif /* __IDXTScale_INTERFACE_DEFINED__ */
|
||||
|
||||
|
||||
/* interface __MIDL_itf_dxtrans_0269 */
|
||||
/* interface __MIDL_itf_dxtrans_0275 */
|
||||
/* [local] */
|
||||
|
||||
typedef
|
||||
|
@ -4264,14 +4287,14 @@ enum DXEFFECTTYPE
|
|||
|
||||
|
||||
|
||||
extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0269_v0_0_c_ifspec;
|
||||
extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0269_v0_0_s_ifspec;
|
||||
extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0275_v0_0_c_ifspec;
|
||||
extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0275_v0_0_s_ifspec;
|
||||
|
||||
#ifndef __IDXEffect_INTERFACE_DEFINED__
|
||||
#define __IDXEffect_INTERFACE_DEFINED__
|
||||
|
||||
/* interface IDXEffect */
|
||||
/* [unique][helpstring][dual][uuid][object] */
|
||||
/* [dual][unique][helpstring][uuid][object] */
|
||||
|
||||
|
||||
EXTERN_C const IID IID_IDXEffect;
|
||||
|
@ -4513,7 +4536,7 @@ void __RPC_STUB IDXEffect_put_Duration_Stub(
|
|||
#define __IDXLookupTable_INTERFACE_DEFINED__
|
||||
|
||||
/* interface IDXLookupTable */
|
||||
/* [object][unique][helpstring][uuid] */
|
||||
/* [local][unique][helpstring][uuid][object] */
|
||||
|
||||
|
||||
EXTERN_C const IID IID_IDXLookupTable;
|
||||
|
@ -4702,7 +4725,7 @@ void __RPC_STUB IDXLookupTable_ApplyTables_Stub(
|
|||
#endif /* __IDXLookupTable_INTERFACE_DEFINED__ */
|
||||
|
||||
|
||||
/* interface __MIDL_itf_dxtrans_0271 */
|
||||
/* interface __MIDL_itf_dxtrans_0277 */
|
||||
/* [local] */
|
||||
|
||||
typedef struct DXRAWSURFACEINFO
|
||||
|
@ -4719,14 +4742,14 @@ typedef struct DXRAWSURFACEINFO
|
|||
|
||||
|
||||
|
||||
extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0271_v0_0_c_ifspec;
|
||||
extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0271_v0_0_s_ifspec;
|
||||
extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0277_v0_0_c_ifspec;
|
||||
extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0277_v0_0_s_ifspec;
|
||||
|
||||
#ifndef __IDXRawSurface_INTERFACE_DEFINED__
|
||||
#define __IDXRawSurface_INTERFACE_DEFINED__
|
||||
|
||||
/* interface IDXRawSurface */
|
||||
/* [object][local][unique][helpstring][uuid] */
|
||||
/* [local][unique][helpstring][uuid][object] */
|
||||
|
||||
|
||||
EXTERN_C const IID IID_IDXRawSurface;
|
||||
|
@ -4816,7 +4839,7 @@ void __RPC_STUB IDXRawSurface_GetSurfaceInfo_Stub(
|
|||
#define __IHTMLDXTransform_INTERFACE_DEFINED__
|
||||
|
||||
/* interface IHTMLDXTransform */
|
||||
/* [object][local][unique][helpstring][uuid] */
|
||||
/* [local][unique][helpstring][uuid][object] */
|
||||
|
||||
|
||||
EXTERN_C const IID IID_IHTMLDXTransform;
|
||||
|
@ -4902,6 +4925,358 @@ void __RPC_STUB IHTMLDXTransform_SetHostUrl_Stub(
|
|||
#endif /* __IHTMLDXTransform_INTERFACE_DEFINED__ */
|
||||
|
||||
|
||||
/* interface __MIDL_itf_dxtrans_0279 */
|
||||
/* [local] */
|
||||
|
||||
typedef
|
||||
enum DXTFILTER_STATUS
|
||||
{ DXTFILTER_STATUS_Stopped = 0,
|
||||
DXTFILTER_STATUS_Applied = DXTFILTER_STATUS_Stopped + 1,
|
||||
DXTFILTER_STATUS_Playing = DXTFILTER_STATUS_Applied + 1,
|
||||
DXTFILTER_STATUS_MAX = DXTFILTER_STATUS_Playing + 1
|
||||
} DXTFILTER_STATUS;
|
||||
|
||||
typedef
|
||||
enum DXTFILTER_DISPID
|
||||
{ DISPID_DXTFilter_Percent = 1,
|
||||
DISPID_DXTFilter_Duration = DISPID_DXTFilter_Percent + 1,
|
||||
DISPID_DXTFilter_Enabled = DISPID_DXTFilter_Duration + 1,
|
||||
DISPID_DXTFilter_Status = DISPID_DXTFilter_Enabled + 1,
|
||||
DISPID_DXTFilter_Apply = DISPID_DXTFilter_Status + 1,
|
||||
DISPID_DXTFilter_Play = DISPID_DXTFilter_Apply + 1,
|
||||
DISPID_DXTFilter_Stop = DISPID_DXTFilter_Play + 1,
|
||||
DISPID_DXTFilter_MAX = DISPID_DXTFilter_Stop + 1
|
||||
} DXTFILTER_DISPID;
|
||||
|
||||
|
||||
|
||||
extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0279_v0_0_c_ifspec;
|
||||
extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0279_v0_0_s_ifspec;
|
||||
|
||||
#ifndef __ICSSFilterDispatch_INTERFACE_DEFINED__
|
||||
#define __ICSSFilterDispatch_INTERFACE_DEFINED__
|
||||
|
||||
/* interface ICSSFilterDispatch */
|
||||
/* [dual][unique][helpstring][uuid][object] */
|
||||
|
||||
|
||||
EXTERN_C const IID IID_ICSSFilterDispatch;
|
||||
|
||||
#if defined(__cplusplus) && !defined(CINTERFACE)
|
||||
|
||||
MIDL_INTERFACE("9519152B-9484-4A6C-B6A7-4F25E92D6C6B")
|
||||
ICSSFilterDispatch : public IDispatch
|
||||
{
|
||||
public:
|
||||
virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Percent(
|
||||
/* [retval][out] */ float *pVal) = 0;
|
||||
|
||||
virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_Percent(
|
||||
/* [in] */ float newVal) = 0;
|
||||
|
||||
virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Duration(
|
||||
/* [retval][out] */ float *pVal) = 0;
|
||||
|
||||
virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_Duration(
|
||||
/* [in] */ float newVal) = 0;
|
||||
|
||||
virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Enabled(
|
||||
/* [retval][out] */ VARIANT_BOOL *pfVal) = 0;
|
||||
|
||||
virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_Enabled(
|
||||
/* [in] */ VARIANT_BOOL fVal) = 0;
|
||||
|
||||
virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Status(
|
||||
/* [retval][out] */ DXTFILTER_STATUS *peVal) = 0;
|
||||
|
||||
virtual /* [id] */ HRESULT STDMETHODCALLTYPE Apply( void) = 0;
|
||||
|
||||
virtual /* [id] */ HRESULT STDMETHODCALLTYPE Play(
|
||||
/* [optional][in] */ VARIANT varDuration) = 0;
|
||||
|
||||
virtual /* [id] */ HRESULT STDMETHODCALLTYPE Stop( void) = 0;
|
||||
|
||||
};
|
||||
|
||||
#else /* C style interface */
|
||||
|
||||
typedef struct ICSSFilterDispatchVtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
ICSSFilterDispatch * This,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [iid_is][out] */ void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
ICSSFilterDispatch * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
ICSSFilterDispatch * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
|
||||
ICSSFilterDispatch * This,
|
||||
/* [out] */ UINT *pctinfo);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
|
||||
ICSSFilterDispatch * This,
|
||||
/* [in] */ UINT iTInfo,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [out] */ ITypeInfo **ppTInfo);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
|
||||
ICSSFilterDispatch * This,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [size_is][in] */ LPOLESTR *rgszNames,
|
||||
/* [in] */ UINT cNames,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [size_is][out] */ DISPID *rgDispId);
|
||||
|
||||
/* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
|
||||
ICSSFilterDispatch * This,
|
||||
/* [in] */ DISPID dispIdMember,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [in] */ WORD wFlags,
|
||||
/* [out][in] */ DISPPARAMS *pDispParams,
|
||||
/* [out] */ VARIANT *pVarResult,
|
||||
/* [out] */ EXCEPINFO *pExcepInfo,
|
||||
/* [out] */ UINT *puArgErr);
|
||||
|
||||
/* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Percent )(
|
||||
ICSSFilterDispatch * This,
|
||||
/* [retval][out] */ float *pVal);
|
||||
|
||||
/* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Percent )(
|
||||
ICSSFilterDispatch * This,
|
||||
/* [in] */ float newVal);
|
||||
|
||||
/* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Duration )(
|
||||
ICSSFilterDispatch * This,
|
||||
/* [retval][out] */ float *pVal);
|
||||
|
||||
/* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Duration )(
|
||||
ICSSFilterDispatch * This,
|
||||
/* [in] */ float newVal);
|
||||
|
||||
/* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Enabled )(
|
||||
ICSSFilterDispatch * This,
|
||||
/* [retval][out] */ VARIANT_BOOL *pfVal);
|
||||
|
||||
/* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Enabled )(
|
||||
ICSSFilterDispatch * This,
|
||||
/* [in] */ VARIANT_BOOL fVal);
|
||||
|
||||
/* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Status )(
|
||||
ICSSFilterDispatch * This,
|
||||
/* [retval][out] */ DXTFILTER_STATUS *peVal);
|
||||
|
||||
/* [id] */ HRESULT ( STDMETHODCALLTYPE *Apply )(
|
||||
ICSSFilterDispatch * This);
|
||||
|
||||
/* [id] */ HRESULT ( STDMETHODCALLTYPE *Play )(
|
||||
ICSSFilterDispatch * This,
|
||||
/* [optional][in] */ VARIANT varDuration);
|
||||
|
||||
/* [id] */ HRESULT ( STDMETHODCALLTYPE *Stop )(
|
||||
ICSSFilterDispatch * This);
|
||||
|
||||
END_INTERFACE
|
||||
} ICSSFilterDispatchVtbl;
|
||||
|
||||
interface ICSSFilterDispatch
|
||||
{
|
||||
CONST_VTBL struct ICSSFilterDispatchVtbl *lpVtbl;
|
||||
};
|
||||
|
||||
|
||||
|
||||
#ifdef COBJMACROS
|
||||
|
||||
|
||||
#define ICSSFilterDispatch_QueryInterface(This,riid,ppvObject) \
|
||||
(This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
|
||||
|
||||
#define ICSSFilterDispatch_AddRef(This) \
|
||||
(This)->lpVtbl -> AddRef(This)
|
||||
|
||||
#define ICSSFilterDispatch_Release(This) \
|
||||
(This)->lpVtbl -> Release(This)
|
||||
|
||||
|
||||
#define ICSSFilterDispatch_GetTypeInfoCount(This,pctinfo) \
|
||||
(This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
|
||||
|
||||
#define ICSSFilterDispatch_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \
|
||||
(This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
|
||||
|
||||
#define ICSSFilterDispatch_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \
|
||||
(This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
|
||||
|
||||
#define ICSSFilterDispatch_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
|
||||
(This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
|
||||
|
||||
|
||||
#define ICSSFilterDispatch_get_Percent(This,pVal) \
|
||||
(This)->lpVtbl -> get_Percent(This,pVal)
|
||||
|
||||
#define ICSSFilterDispatch_put_Percent(This,newVal) \
|
||||
(This)->lpVtbl -> put_Percent(This,newVal)
|
||||
|
||||
#define ICSSFilterDispatch_get_Duration(This,pVal) \
|
||||
(This)->lpVtbl -> get_Duration(This,pVal)
|
||||
|
||||
#define ICSSFilterDispatch_put_Duration(This,newVal) \
|
||||
(This)->lpVtbl -> put_Duration(This,newVal)
|
||||
|
||||
#define ICSSFilterDispatch_get_Enabled(This,pfVal) \
|
||||
(This)->lpVtbl -> get_Enabled(This,pfVal)
|
||||
|
||||
#define ICSSFilterDispatch_put_Enabled(This,fVal) \
|
||||
(This)->lpVtbl -> put_Enabled(This,fVal)
|
||||
|
||||
#define ICSSFilterDispatch_get_Status(This,peVal) \
|
||||
(This)->lpVtbl -> get_Status(This,peVal)
|
||||
|
||||
#define ICSSFilterDispatch_Apply(This) \
|
||||
(This)->lpVtbl -> Apply(This)
|
||||
|
||||
#define ICSSFilterDispatch_Play(This,varDuration) \
|
||||
(This)->lpVtbl -> Play(This,varDuration)
|
||||
|
||||
#define ICSSFilterDispatch_Stop(This) \
|
||||
(This)->lpVtbl -> Stop(This)
|
||||
|
||||
#endif /* COBJMACROS */
|
||||
|
||||
|
||||
#endif /* C style interface */
|
||||
|
||||
|
||||
|
||||
/* [id][propget] */ HRESULT STDMETHODCALLTYPE ICSSFilterDispatch_get_Percent_Proxy(
|
||||
ICSSFilterDispatch * This,
|
||||
/* [retval][out] */ float *pVal);
|
||||
|
||||
|
||||
void __RPC_STUB ICSSFilterDispatch_get_Percent_Stub(
|
||||
IRpcStubBuffer *This,
|
||||
IRpcChannelBuffer *_pRpcChannelBuffer,
|
||||
PRPC_MESSAGE _pRpcMessage,
|
||||
DWORD *_pdwStubPhase);
|
||||
|
||||
|
||||
/* [id][propput] */ HRESULT STDMETHODCALLTYPE ICSSFilterDispatch_put_Percent_Proxy(
|
||||
ICSSFilterDispatch * This,
|
||||
/* [in] */ float newVal);
|
||||
|
||||
|
||||
void __RPC_STUB ICSSFilterDispatch_put_Percent_Stub(
|
||||
IRpcStubBuffer *This,
|
||||
IRpcChannelBuffer *_pRpcChannelBuffer,
|
||||
PRPC_MESSAGE _pRpcMessage,
|
||||
DWORD *_pdwStubPhase);
|
||||
|
||||
|
||||
/* [id][propget] */ HRESULT STDMETHODCALLTYPE ICSSFilterDispatch_get_Duration_Proxy(
|
||||
ICSSFilterDispatch * This,
|
||||
/* [retval][out] */ float *pVal);
|
||||
|
||||
|
||||
void __RPC_STUB ICSSFilterDispatch_get_Duration_Stub(
|
||||
IRpcStubBuffer *This,
|
||||
IRpcChannelBuffer *_pRpcChannelBuffer,
|
||||
PRPC_MESSAGE _pRpcMessage,
|
||||
DWORD *_pdwStubPhase);
|
||||
|
||||
|
||||
/* [id][propput] */ HRESULT STDMETHODCALLTYPE ICSSFilterDispatch_put_Duration_Proxy(
|
||||
ICSSFilterDispatch * This,
|
||||
/* [in] */ float newVal);
|
||||
|
||||
|
||||
void __RPC_STUB ICSSFilterDispatch_put_Duration_Stub(
|
||||
IRpcStubBuffer *This,
|
||||
IRpcChannelBuffer *_pRpcChannelBuffer,
|
||||
PRPC_MESSAGE _pRpcMessage,
|
||||
DWORD *_pdwStubPhase);
|
||||
|
||||
|
||||
/* [id][propget] */ HRESULT STDMETHODCALLTYPE ICSSFilterDispatch_get_Enabled_Proxy(
|
||||
ICSSFilterDispatch * This,
|
||||
/* [retval][out] */ VARIANT_BOOL *pfVal);
|
||||
|
||||
|
||||
void __RPC_STUB ICSSFilterDispatch_get_Enabled_Stub(
|
||||
IRpcStubBuffer *This,
|
||||
IRpcChannelBuffer *_pRpcChannelBuffer,
|
||||
PRPC_MESSAGE _pRpcMessage,
|
||||
DWORD *_pdwStubPhase);
|
||||
|
||||
|
||||
/* [id][propput] */ HRESULT STDMETHODCALLTYPE ICSSFilterDispatch_put_Enabled_Proxy(
|
||||
ICSSFilterDispatch * This,
|
||||
/* [in] */ VARIANT_BOOL fVal);
|
||||
|
||||
|
||||
void __RPC_STUB ICSSFilterDispatch_put_Enabled_Stub(
|
||||
IRpcStubBuffer *This,
|
||||
IRpcChannelBuffer *_pRpcChannelBuffer,
|
||||
PRPC_MESSAGE _pRpcMessage,
|
||||
DWORD *_pdwStubPhase);
|
||||
|
||||
|
||||
/* [id][propget] */ HRESULT STDMETHODCALLTYPE ICSSFilterDispatch_get_Status_Proxy(
|
||||
ICSSFilterDispatch * This,
|
||||
/* [retval][out] */ DXTFILTER_STATUS *peVal);
|
||||
|
||||
|
||||
void __RPC_STUB ICSSFilterDispatch_get_Status_Stub(
|
||||
IRpcStubBuffer *This,
|
||||
IRpcChannelBuffer *_pRpcChannelBuffer,
|
||||
PRPC_MESSAGE _pRpcMessage,
|
||||
DWORD *_pdwStubPhase);
|
||||
|
||||
|
||||
/* [id] */ HRESULT STDMETHODCALLTYPE ICSSFilterDispatch_Apply_Proxy(
|
||||
ICSSFilterDispatch * This);
|
||||
|
||||
|
||||
void __RPC_STUB ICSSFilterDispatch_Apply_Stub(
|
||||
IRpcStubBuffer *This,
|
||||
IRpcChannelBuffer *_pRpcChannelBuffer,
|
||||
PRPC_MESSAGE _pRpcMessage,
|
||||
DWORD *_pdwStubPhase);
|
||||
|
||||
|
||||
/* [id] */ HRESULT STDMETHODCALLTYPE ICSSFilterDispatch_Play_Proxy(
|
||||
ICSSFilterDispatch * This,
|
||||
/* [optional][in] */ VARIANT varDuration);
|
||||
|
||||
|
||||
void __RPC_STUB ICSSFilterDispatch_Play_Stub(
|
||||
IRpcStubBuffer *This,
|
||||
IRpcChannelBuffer *_pRpcChannelBuffer,
|
||||
PRPC_MESSAGE _pRpcMessage,
|
||||
DWORD *_pdwStubPhase);
|
||||
|
||||
|
||||
/* [id] */ HRESULT STDMETHODCALLTYPE ICSSFilterDispatch_Stop_Proxy(
|
||||
ICSSFilterDispatch * This);
|
||||
|
||||
|
||||
void __RPC_STUB ICSSFilterDispatch_Stop_Stub(
|
||||
IRpcStubBuffer *This,
|
||||
IRpcChannelBuffer *_pRpcChannelBuffer,
|
||||
PRPC_MESSAGE _pRpcMessage,
|
||||
DWORD *_pdwStubPhase);
|
||||
|
||||
|
||||
|
||||
#endif /* __ICSSFilterDispatch_INTERFACE_DEFINED__ */
|
||||
|
||||
|
||||
|
||||
#ifndef __DXTRANSLib_LIBRARY_DEFINED__
|
||||
#define __DXTRANSLib_LIBRARY_DEFINED__
|
||||
|
@ -4959,10 +5334,23 @@ EXTERN_C const CLSID CLSID_DXGradient;
|
|||
class DECLSPEC_UUID("C6365470-F667-11d1-9067-00C04FD9189D")
|
||||
DXGradient;
|
||||
#endif
|
||||
|
||||
EXTERN_C const CLSID CLSID_DXTFilter;
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
class DECLSPEC_UUID("385A91BC-1E8A-4e4a-A7A6-F4FC1E6CA1BD")
|
||||
DXTFilter;
|
||||
#endif
|
||||
#endif /* __DXTRANSLib_LIBRARY_DEFINED__ */
|
||||
|
||||
/* Additional Prototypes for ALL interfaces */
|
||||
|
||||
unsigned long __RPC_USER VARIANT_UserSize( unsigned long *, unsigned long , VARIANT * );
|
||||
unsigned char * __RPC_USER VARIANT_UserMarshal( unsigned long *, unsigned char *, VARIANT * );
|
||||
unsigned char * __RPC_USER VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * );
|
||||
void __RPC_USER VARIANT_UserFree( unsigned long *, VARIANT * );
|
||||
|
||||
/* end of Additional Prototypes */
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
//
|
||||
// Desc: DirectX Video Acceleration header file.
|
||||
//
|
||||
// Copyright (c) 1999 - 2000, Microsoft Corporation. All rights reserved.
|
||||
// Copyright (c) 1999-2001, Microsoft Corporation. All rights reserved.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
@ -30,7 +30,6 @@ DEFINE_GUID(DXVA_ModeMPEG2_C, 0x1b81be0C, 0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f
|
|||
DEFINE_GUID(DXVA_ModeMPEG2_D, 0x1b81be0D, 0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
|
||||
|
||||
DEFINE_GUID(DXVA_NoEncrypt, 0x1b81beD0, 0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
|
||||
DEFINE_GUID(DXVA_EncryptProt1, 0x1b81beD1, 0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
|
||||
|
||||
#define DXVA_RESTRICTED_MODE_UNRESTRICTED 0xFFFF
|
||||
#define DXVA_RESTRICTED_MODE_H261_A 1
|
||||
|
@ -473,9 +472,12 @@ typedef struct _DXVA_ConfigAlphaCombine {
|
|||
|
||||
/* AYUV sample for 16-entry YUV palette or graphic surface */
|
||||
|
||||
typedef struct _DXVA_AYUVsample {
|
||||
BYTE bSampleAlpha8, bY_Value, bCbValue, bCrValue;
|
||||
} DXVA_AYUVsample, *LPDXVA_AYUVsample;
|
||||
typedef struct _DXVA_AYUVsample2 {
|
||||
BYTE bCrValue;
|
||||
BYTE bCbValue;
|
||||
BYTE bY_Value;
|
||||
BYTE bSampleAlpha8;
|
||||
} DXVA_AYUVsample2, *LPDXVA_AYUVsample2;
|
||||
|
||||
/* Macros for IA44 alpha blending surface samples */
|
||||
|
||||
|
@ -526,37 +528,10 @@ typedef struct _DXVA_BlendCombination {
|
|||
WORD wBlendDelay;
|
||||
BYTE bBlendOn;
|
||||
BYTE bWholePlaneAlpha;
|
||||
DXVA_AYUVsample OutsideYUVcolor;
|
||||
DXVA_AYUVsample2 OutsideYUVcolor;
|
||||
} DXVA_BlendCombination, *LPDXVA_BlendCombination;
|
||||
|
||||
|
||||
/* Encryption Protocol #1 Data Structure */
|
||||
|
||||
#define DXVA_MAX_URIsize 1024
|
||||
|
||||
typedef struct _DXVA_EncryptProt1Data_Sign512_Accel512 {
|
||||
DXVA_EncryptProtocolHeader header;
|
||||
|
||||
DWORD dwSigningModulusSize; /* equal to 64 */
|
||||
BYTE SigningModulusValue[64];
|
||||
DWORD dwSigningExponentSize; /* equal to 64 */
|
||||
BYTE SigningExponentValue[64];
|
||||
|
||||
DWORD dwAccelModulusSize; /* equal to 64 */
|
||||
BYTE AccelModulusValue[64];
|
||||
DWORD dwAccelExponentSize; /* equal to 64 */
|
||||
BYTE AccelExponentValue[64];
|
||||
|
||||
DWORD dwEncryptionFrequency;
|
||||
|
||||
DWORD dwURIsize;
|
||||
WCHAR URIstring[DXVA_MAX_URIsize];
|
||||
|
||||
BYTE Signature[64];
|
||||
} DXVA_EncryptProt1Data_Sign512_Accel512,
|
||||
*LPDXVA_EncryptProt1Data_Sign512_Accel512;
|
||||
|
||||
|
||||
#pragma pack(push, 16)
|
||||
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
//
|
||||
// Note: new constants added: ED_BASE+800L -> ED_BASE+811L
|
||||
//
|
||||
// Copyright (c) 1992 - 2000, Microsoft Corporation. All rights reserved.
|
||||
// Copyright (c) 1992-2001, Microsoft Corporation. All rights reserved.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
@ -14,517 +14,517 @@
|
|||
#define __EDEVDEFS__
|
||||
|
||||
|
||||
#define ED_BASE 0x1000L
|
||||
#define ED_BASE 0x1000L
|
||||
|
||||
// this is used to tell the device communications object which
|
||||
// physical communications port to use.
|
||||
#define DEV_PORT_SIM 1
|
||||
#define DEV_PORT_COM1 2 // standard serial ports
|
||||
#define DEV_PORT_COM2 3
|
||||
#define DEV_PORT_COM3 4
|
||||
#define DEV_PORT_COM4 5
|
||||
#define DEV_PORT_DIAQ 6 // Diaquest driver
|
||||
#define DEV_PORT_ARTI 7 // ARTI driver
|
||||
#define DEV_PORT_1394 8 // IEEE 1394 Bus
|
||||
#define DEV_PORT_USB 9 // Universal Serial Bus
|
||||
#define DEV_PORT_MIN DEV_PORT_SIM
|
||||
#define DEV_PORT_MAX DEV_PORT_USB
|
||||
#define DEV_PORT_SIM 1
|
||||
#define DEV_PORT_COM1 2 // standard serial ports
|
||||
#define DEV_PORT_COM2 3
|
||||
#define DEV_PORT_COM3 4
|
||||
#define DEV_PORT_COM4 5
|
||||
#define DEV_PORT_DIAQ 6 // Diaquest driver
|
||||
#define DEV_PORT_ARTI 7 // ARTI driver
|
||||
#define DEV_PORT_1394 8 // IEEE 1394 Bus
|
||||
#define DEV_PORT_USB 9 // Universal Serial Bus
|
||||
#define DEV_PORT_MIN DEV_PORT_SIM
|
||||
#define DEV_PORT_MAX DEV_PORT_USB
|
||||
|
||||
|
||||
// IAMExtDevice Capability Items: unless otherwise specified, these items return
|
||||
// OATRUE or OAFALSE. All return values are in pdwValue unless otherwise specified:
|
||||
// IAMExtDevice Capability Items: unless otherwise specified, these items return
|
||||
// OATRUE or OAFALSE. All return values are in pdwValue unless otherwise specified:
|
||||
|
||||
#define ED_DEVCAP_CAN_RECORD ED_BASE+1L
|
||||
#define ED_DEVCAP_CAN_RECORD_STROBE ED_BASE+2L // for multitrack devices:
|
||||
// switches currently recording tracks off
|
||||
// and selected non-recording tracks into record
|
||||
#define ED_DEVCAP_HAS_AUDIO ED_BASE+3L
|
||||
#define ED_DEVCAP_HAS_VIDEO ED_BASE+4L
|
||||
#define ED_DEVCAP_USES_FILES ED_BASE+5L
|
||||
#define ED_DEVCAP_CAN_SAVE ED_BASE+6L
|
||||
#define ED_DEVCAP_CAN_RECORD ED_BASE+1L
|
||||
#define ED_DEVCAP_CAN_RECORD_STROBE ED_BASE+2L // for multitrack devices:
|
||||
// switches currently recording tracks off
|
||||
// and selected non-recording tracks into record
|
||||
#define ED_DEVCAP_HAS_AUDIO ED_BASE+3L
|
||||
#define ED_DEVCAP_HAS_VIDEO ED_BASE+4L
|
||||
#define ED_DEVCAP_USES_FILES ED_BASE+5L
|
||||
#define ED_DEVCAP_CAN_SAVE ED_BASE+6L
|
||||
|
||||
#define ED_DEVCAP_DEVICE_TYPE ED_BASE+7L // returns one of the following:
|
||||
#define ED_DEVTYPE_VCR ED_BASE+8L
|
||||
#define ED_DEVTYPE_LASERDISK ED_BASE+9L
|
||||
#define ED_DEVTYPE_ATR ED_BASE+10L
|
||||
#define ED_DEVTYPE_DDR ED_BASE+11L
|
||||
#define ED_DEVTYPE_ROUTER ED_BASE+12L
|
||||
#define ED_DEVTYPE_KEYER ED_BASE+13L
|
||||
#define ED_DEVTYPE_MIXER_VIDEO ED_BASE+14L
|
||||
#define ED_DEVTYPE_DVE ED_BASE+15L
|
||||
#define ED_DEVTYPE_WIPEGEN ED_BASE+16L
|
||||
#define ED_DEVTYPE_MIXER_AUDIO ED_BASE+17L
|
||||
#define ED_DEVTYPE_CG ED_BASE+18L
|
||||
#define ED_DEVTYPE_TBC ED_BASE+19L
|
||||
#define ED_DEVTYPE_TCG ED_BASE+20L
|
||||
#define ED_DEVTYPE_GPI ED_BASE+21L
|
||||
#define ED_DEVTYPE_JOYSTICK ED_BASE+22L
|
||||
#define ED_DEVTYPE_KEYBOARD ED_BASE+23L
|
||||
#define ED_DEVCAP_DEVICE_TYPE ED_BASE+7L // returns one of the following:
|
||||
#define ED_DEVTYPE_VCR ED_BASE+8L
|
||||
#define ED_DEVTYPE_LASERDISK ED_BASE+9L
|
||||
#define ED_DEVTYPE_ATR ED_BASE+10L
|
||||
#define ED_DEVTYPE_DDR ED_BASE+11L
|
||||
#define ED_DEVTYPE_ROUTER ED_BASE+12L
|
||||
#define ED_DEVTYPE_KEYER ED_BASE+13L
|
||||
#define ED_DEVTYPE_MIXER_VIDEO ED_BASE+14L
|
||||
#define ED_DEVTYPE_DVE ED_BASE+15L
|
||||
#define ED_DEVTYPE_WIPEGEN ED_BASE+16L
|
||||
#define ED_DEVTYPE_MIXER_AUDIO ED_BASE+17L
|
||||
#define ED_DEVTYPE_CG ED_BASE+18L
|
||||
#define ED_DEVTYPE_TBC ED_BASE+19L
|
||||
#define ED_DEVTYPE_TCG ED_BASE+20L
|
||||
#define ED_DEVTYPE_GPI ED_BASE+21L
|
||||
#define ED_DEVTYPE_JOYSTICK ED_BASE+22L
|
||||
#define ED_DEVTYPE_KEYBOARD ED_BASE+23L
|
||||
|
||||
// returns mfr-specific ID from external device.
|
||||
#define ED_DEVCAP_EXTERNAL_DEVICE_ID ED_BASE+24L
|
||||
#define ED_DEVCAP_EXTERNAL_DEVICE_ID ED_BASE+24L
|
||||
|
||||
#define ED_DEVCAP_TIMECODE_READ ED_BASE+25L
|
||||
#define ED_DEVCAP_TIMECODE_WRITE ED_BASE+26L
|
||||
// used for seekable non-timecode enabled devices
|
||||
#define ED_DEVCAP_CTLTRK_READ ED_BASE+27L
|
||||
// used for seekable non-timecode enabled devices
|
||||
#define ED_DEVCAP_INDEX_READ ED_BASE+28L
|
||||
#define ED_DEVCAP_TIMECODE_READ ED_BASE+25L
|
||||
#define ED_DEVCAP_TIMECODE_WRITE ED_BASE+26L
|
||||
// used for seekable non-timecode enabled devices
|
||||
#define ED_DEVCAP_CTLTRK_READ ED_BASE+27L
|
||||
// used for seekable non-timecode enabled devices
|
||||
#define ED_DEVCAP_INDEX_READ ED_BASE+28L
|
||||
|
||||
// returns device preroll time in current time format
|
||||
#define ED_DEVCAP_PREROLL ED_BASE+29L
|
||||
#define ED_DEVCAP_PREROLL ED_BASE+29L
|
||||
// returns device postroll time in current time format
|
||||
#define ED_DEVCAP_POSTROLL ED_BASE+30L
|
||||
#define ED_DEVCAP_POSTROLL ED_BASE+30L
|
||||
|
||||
// returns indication of device’s synchronization accuracy.
|
||||
#define ED_DEVCAP_SYNC_ACCURACY ED_BASE+31L // returns one of the following:
|
||||
#define ED_SYNCACC_PRECISE ED_BASE+32L
|
||||
#define ED_SYNCACC_FRAME ED_BASE+33L
|
||||
#define ED_SYNCACC_ROUGH ED_BASE+34L
|
||||
#define ED_DEVCAP_SYNC_ACCURACY ED_BASE+31L // returns one of the following:
|
||||
#define ED_SYNCACC_PRECISE ED_BASE+32L
|
||||
#define ED_SYNCACC_FRAME ED_BASE+33L
|
||||
#define ED_SYNCACC_ROUGH ED_BASE+34L
|
||||
|
||||
// returns device’s normal framerate.
|
||||
#define ED_DEVCAP_NORMAL_RATE ED_BASE+35L // returns one of the following:
|
||||
#define ED_RATE_24 ED_BASE+36L
|
||||
#define ED_RATE_25 ED_BASE+37L
|
||||
#define ED_RATE_2997 ED_BASE+38L
|
||||
#define ED_RATE_30 ED_BASE+39L
|
||||
#define ED_DEVCAP_NORMAL_RATE ED_BASE+35L // returns one of the following:
|
||||
#define ED_RATE_24 ED_BASE+36L
|
||||
#define ED_RATE_25 ED_BASE+37L
|
||||
#define ED_RATE_2997 ED_BASE+38L
|
||||
#define ED_RATE_30 ED_BASE+39L
|
||||
|
||||
#define ED_DEVCAP_CAN_PREVIEW ED_BASE+40L
|
||||
#define ED_DEVCAP_CAN_MONITOR_SOURCES ED_BASE+41L
|
||||
#define ED_DEVCAP_CAN_PREVIEW ED_BASE+40L
|
||||
#define ED_DEVCAP_CAN_MONITOR_SOURCES ED_BASE+41L
|
||||
|
||||
// indicates implementation allows testing of methods/parameters by
|
||||
// setting the hi bit of a parm that makes sense - see individual methods
|
||||
// for details.
|
||||
#define ED_DEVCAP_CAN_TEST ED_BASE+42L
|
||||
|
||||
#define ED_DEVCAP_CAN_TEST ED_BASE+42L
|
||||
|
||||
// indicates device accepts video as an input.
|
||||
#define ED_DEVCAP_VIDEO_INPUTS ED_BASE+43L
|
||||
#define ED_DEVCAP_VIDEO_INPUTS ED_BASE+43L
|
||||
|
||||
// indicates device accepts audio as an input.
|
||||
#define ED_DEVCAP_AUDIO_INPUTS ED_BASE+44L
|
||||
#define ED_DEVCAP_AUDIO_INPUTS ED_BASE+44L
|
||||
|
||||
#define ED_DEVCAP_NEEDS_CALIBRATING ED_BASE+45L
|
||||
#define ED_DEVCAP_NEEDS_CALIBRATING ED_BASE+45L
|
||||
|
||||
#define ED_DEVCAP_SEEK_TYPE ED_BASE+46L // returns one of the following:
|
||||
#define ED_SEEK_PERFECT ED_BASE+47L // indicates device can execute seek
|
||||
// within 1 video frames without signal
|
||||
// break (like a DDR)
|
||||
#define ED_SEEK_FAST ED_BASE+48L // indicates device can move pretty quick
|
||||
// with short break in signal
|
||||
#define ED_SEEK_SLOW ED_BASE+49L // seeks like a tape transport
|
||||
#define ED_DEVCAP_SEEK_TYPE ED_BASE+46L // returns one of the following:
|
||||
#define ED_SEEK_PERFECT ED_BASE+47L // indicates device can execute seek
|
||||
// within 1 video frames without signal
|
||||
// break (like a DDR)
|
||||
#define ED_SEEK_FAST ED_BASE+48L // indicates device can move pretty quick
|
||||
// with short break in signal
|
||||
#define ED_SEEK_SLOW ED_BASE+49L // seeks like a tape transport
|
||||
|
||||
#define ED_POWER_ON ED_BASE+50L
|
||||
#define ED_POWER_OFF ED_BASE+51L
|
||||
#define ED_POWER_STANDBY ED_BASE+52L
|
||||
#define ED_POWER_ON ED_BASE+50L
|
||||
#define ED_POWER_OFF ED_BASE+51L
|
||||
#define ED_POWER_STANDBY ED_BASE+52L
|
||||
|
||||
#define ED_ACTIVE ED_BASE+53L
|
||||
#define ED_INACTIVE ED_BASE+54L
|
||||
#define ED_ALL ED_BASE+55L
|
||||
#define ED_TEST ED_BASE+56L
|
||||
#define ED_ACTIVE ED_BASE+53L
|
||||
#define ED_INACTIVE ED_BASE+54L
|
||||
#define ED_ALL ED_BASE+55L
|
||||
#define ED_TEST ED_BASE+56L
|
||||
|
||||
// IAMExtTransport Capability Items: unless otherwise specified, these items return
|
||||
// OATRUE or OAFALSE. All return values are in pdwValue unless otherwise specified:
|
||||
// IAMExtTransport Capability Items: unless otherwise specified, these items return
|
||||
// OATRUE or OAFALSE. All return values are in pdwValue unless otherwise specified:
|
||||
|
||||
#define ED_TRANSCAP_CAN_EJECT ED_BASE+100L
|
||||
#define ED_TRANSCAP_CAN_BUMP_PLAY ED_BASE+101L // variable speed for synchronizing
|
||||
#define ED_TRANSCAP_CAN_PLAY_BACKWARDS ED_BASE+102L // servo locked for use during an edit
|
||||
#define ED_TRANSCAP_CAN_SET_EE ED_BASE+103L // show device’s input on its output
|
||||
#define ED_TRANSCAP_CAN_SET_PB ED_BASE+104L // show media playback on device’s output
|
||||
#define ED_TRANSCAP_CAN_DELAY_VIDEO_IN ED_BASE+105L // transport can do delayed-in video edits
|
||||
#define ED_TRANSCAP_CAN_DELAY_VIDEO_OUT ED_BASE+106L // transport can do delayed-out video edits
|
||||
#define ED_TRANSCAP_CAN_DELAY_AUDIO_IN ED_BASE+107L // transport can do delayed-in audio edits
|
||||
#define ED_TRANSCAP_CAN_DELAY_AUDIO_OUT ED_BASE+108L // transport can do delayed-out audio edits
|
||||
#define ED_TRANSCAP_FWD_VARIABLE_MAX ED_BASE+109L // max forward speed (multiple of play speed)
|
||||
// in pdblValue
|
||||
#define ED_TRANSCAP_FWD_VARIABLE_MIN ED_BASE+800L // min forward speed (multiple of play speed)
|
||||
// in pdblValue
|
||||
#define ED_TRANSCAP_REV_VARIABLE_MAX ED_BASE+110L // max reverse speed (multiple of play speed) in
|
||||
// pdblValue
|
||||
#define ED_TRANSCAP_REV_VARIABLE_MIN ED_BASE+801L // min reverse speed (multiple of play speed)
|
||||
// in pdblValue
|
||||
#define ED_TRANSCAP_FWD_SHUTTLE_MAX ED_BASE+802L // max forward speed in Shuttle mode (multiple
|
||||
// of play speed) in pdblValue
|
||||
#define ED_TRANSCAP_FWD_SHUTTLE_MIN ED_BASE+803L // min forward speed in Shuttle mode (multiple
|
||||
// of play speed) in pdblValue
|
||||
#define ED_TRANSCAP_REV_SHUTTLE_MAX ED_BASE+804L // max reverse speed in Shuttle mode (multiple
|
||||
// of play speed) in pdblValue
|
||||
#define ED_TRANSCAP_REV_SHUTTLE_MIN ED_BASE+805L // min reverse speed in Shuttle mode (multiple
|
||||
// of play speed) in pdblValue
|
||||
#define ED_TRANSCAP_NUM_AUDIO_TRACKS ED_BASE+111L // returns number of audio tracks
|
||||
#define ED_TRANSCAP_LTC_TRACK ED_BASE+112L // returns track number of LTC timecode track.
|
||||
// ED_ALL means no dedicated timecode track
|
||||
#define ED_TRANSCAP_NEEDS_TBC ED_BASE+113L // device’s output not stable
|
||||
#define ED_TRANSCAP_NEEDS_CUEING ED_BASE+114L // device must be cued prior to performing edit
|
||||
#define ED_TRANSCAP_CAN_INSERT ED_BASE+115L
|
||||
#define ED_TRANSCAP_CAN_ASSEMBLE ED_BASE+116L
|
||||
#define ED_TRANSCAP_FIELD_STEP ED_BASE+117L // device responds to Frame Advance command by
|
||||
// advancing one field
|
||||
#define ED_TRANSCAP_CLOCK_INC_RATE ED_BASE+118L // VISCA command - keep for compatibility
|
||||
#define ED_TRANSCAP_CAN_DETECT_LENGTH ED_BASE+119L
|
||||
#define ED_TRANSCAP_CAN_FREEZE ED_BASE+120L
|
||||
#define ED_TRANSCAP_HAS_TUNER ED_BASE+121L
|
||||
#define ED_TRANSCAP_HAS_TIMER ED_BASE+122L
|
||||
#define ED_TRANSCAP_HAS_CLOCK ED_BASE+123L
|
||||
#define ED_TRANSCAP_MULTIPLE_EDITS ED_BASE+806L // OATRUE means device/filter can support
|
||||
// multiple edit events
|
||||
#define ED_TRANSCAP_IS_MASTER ED_BASE+807L // OATRUE means device is the master clock
|
||||
// for synchronizing (this sets timecode-to-
|
||||
// reference clock offset for editing)
|
||||
#define ED_TRANSCAP_HAS_DT ED_BASE+814L // OATRUE means device has Dynamic Tracking
|
||||
#define ED_TRANSCAP_CAN_EJECT ED_BASE+100L
|
||||
#define ED_TRANSCAP_CAN_BUMP_PLAY ED_BASE+101L // variable speed for synchronizing
|
||||
#define ED_TRANSCAP_CAN_PLAY_BACKWARDS ED_BASE+102L // servo locked for use during an edit
|
||||
#define ED_TRANSCAP_CAN_SET_EE ED_BASE+103L // show device’s input on its output
|
||||
#define ED_TRANSCAP_CAN_SET_PB ED_BASE+104L // show media playback on device’s output
|
||||
#define ED_TRANSCAP_CAN_DELAY_VIDEO_IN ED_BASE+105L // transport can do delayed-in video edits
|
||||
#define ED_TRANSCAP_CAN_DELAY_VIDEO_OUT ED_BASE+106L // transport can do delayed-out video edits
|
||||
#define ED_TRANSCAP_CAN_DELAY_AUDIO_IN ED_BASE+107L // transport can do delayed-in audio edits
|
||||
#define ED_TRANSCAP_CAN_DELAY_AUDIO_OUT ED_BASE+108L // transport can do delayed-out audio edits
|
||||
#define ED_TRANSCAP_FWD_VARIABLE_MAX ED_BASE+109L // max forward speed (multiple of play speed)
|
||||
// in pdblValue
|
||||
#define ED_TRANSCAP_FWD_VARIABLE_MIN ED_BASE+800L // min forward speed (multiple of play speed)
|
||||
// in pdblValue
|
||||
#define ED_TRANSCAP_REV_VARIABLE_MAX ED_BASE+110L // max reverse speed (multiple of play speed) in
|
||||
// pdblValue
|
||||
#define ED_TRANSCAP_REV_VARIABLE_MIN ED_BASE+801L // min reverse speed (multiple of play speed)
|
||||
// in pdblValue
|
||||
#define ED_TRANSCAP_FWD_SHUTTLE_MAX ED_BASE+802L // max forward speed in Shuttle mode (multiple
|
||||
// of play speed) in pdblValue
|
||||
#define ED_TRANSCAP_FWD_SHUTTLE_MIN ED_BASE+803L // min forward speed in Shuttle mode (multiple
|
||||
// of play speed) in pdblValue
|
||||
#define ED_TRANSCAP_REV_SHUTTLE_MAX ED_BASE+804L // max reverse speed in Shuttle mode (multiple
|
||||
// of play speed) in pdblValue
|
||||
#define ED_TRANSCAP_REV_SHUTTLE_MIN ED_BASE+805L // min reverse speed in Shuttle mode (multiple
|
||||
// of play speed) in pdblValue
|
||||
#define ED_TRANSCAP_NUM_AUDIO_TRACKS ED_BASE+111L // returns number of audio tracks
|
||||
#define ED_TRANSCAP_LTC_TRACK ED_BASE+112L // returns track number of LTC timecode track.
|
||||
// ED_ALL means no dedicated timecode track
|
||||
#define ED_TRANSCAP_NEEDS_TBC ED_BASE+113L // device’s output not stable
|
||||
#define ED_TRANSCAP_NEEDS_CUEING ED_BASE+114L // device must be cued prior to performing edit
|
||||
#define ED_TRANSCAP_CAN_INSERT ED_BASE+115L
|
||||
#define ED_TRANSCAP_CAN_ASSEMBLE ED_BASE+116L
|
||||
#define ED_TRANSCAP_FIELD_STEP ED_BASE+117L // device responds to Frame Advance command by
|
||||
// advancing one field
|
||||
#define ED_TRANSCAP_CLOCK_INC_RATE ED_BASE+118L // VISCA command - keep for compatibility
|
||||
#define ED_TRANSCAP_CAN_DETECT_LENGTH ED_BASE+119L
|
||||
#define ED_TRANSCAP_CAN_FREEZE ED_BASE+120L
|
||||
#define ED_TRANSCAP_HAS_TUNER ED_BASE+121L
|
||||
#define ED_TRANSCAP_HAS_TIMER ED_BASE+122L
|
||||
#define ED_TRANSCAP_HAS_CLOCK ED_BASE+123L
|
||||
#define ED_TRANSCAP_MULTIPLE_EDITS ED_BASE+806L // OATRUE means device/filter can support
|
||||
// multiple edit events
|
||||
#define ED_TRANSCAP_IS_MASTER ED_BASE+807L // OATRUE means device is the master clock
|
||||
// for synchronizing (this sets timecode-to-
|
||||
// reference clock offset for editing)
|
||||
#define ED_TRANSCAP_HAS_DT ED_BASE+814L // OATRUE means device has Dynamic Tracking
|
||||
|
||||
// IAMExtTransport Media States
|
||||
#define ED_MEDIA_SPIN_UP ED_BASE+130L
|
||||
#define ED_MEDIA_SPIN_DOWN ED_BASE+131L
|
||||
#define ED_MEDIA_UNLOAD ED_BASE+132L
|
||||
// IAMExtTransport Media States
|
||||
#define ED_MEDIA_SPIN_UP ED_BASE+130L
|
||||
#define ED_MEDIA_SPIN_DOWN ED_BASE+131L
|
||||
#define ED_MEDIA_UNLOAD ED_BASE+132L
|
||||
|
||||
// IAMExtTransport Modes
|
||||
#define ED_MODE_PLAY ED_BASE+200L
|
||||
#define ED_MODE_STOP ED_BASE+201L
|
||||
#define ED_MODE_FREEZE ED_BASE+202L // really "pause"
|
||||
#define ED_MODE_THAW ED_BASE+203L
|
||||
#define ED_MODE_FF ED_BASE+204L
|
||||
#define ED_MODE_REW ED_BASE+205L
|
||||
#define ED_MODE_RECORD ED_BASE+206L
|
||||
#define ED_MODE_RECORD_STROBE ED_BASE+207L
|
||||
#define ED_MODE_RECORD_FREEZE ED_BASE+808L // never "put", only "get"
|
||||
#define ED_MODE_STEP ED_BASE+208L // same as "jog"
|
||||
#define ED_MODE_STEP_FWD ED_BASE+208L // same as ED_MODE_STEP
|
||||
#define ED_MODE_STEP_REV ED_BASE+809L
|
||||
#define ED_MODE_SHUTTLE ED_BASE+209L
|
||||
#define ED_MODE_EDIT_CUE ED_BASE+210L
|
||||
#define ED_MODE_VAR_SPEED ED_BASE+211L
|
||||
#define ED_MODE_PERFORM ED_BASE+212L // returned status only
|
||||
#define ED_MODE_LINK_ON ED_BASE+280L
|
||||
#define ED_MODE_LINK_OFF ED_BASE+281L
|
||||
#define ED_MODE_NOTIFY_ENABLE ED_BASE+810L
|
||||
#define ED_MODE_NOTIFY_DISABLE ED_BASE+811L
|
||||
#define ED_MODE_SHOT_SEARCH ED_BASE+812L
|
||||
// IAMExtTransport Modes
|
||||
#define ED_MODE_PLAY ED_BASE+200L
|
||||
#define ED_MODE_STOP ED_BASE+201L
|
||||
#define ED_MODE_FREEZE ED_BASE+202L // really "pause"
|
||||
#define ED_MODE_THAW ED_BASE+203L
|
||||
#define ED_MODE_FF ED_BASE+204L
|
||||
#define ED_MODE_REW ED_BASE+205L
|
||||
#define ED_MODE_RECORD ED_BASE+206L
|
||||
#define ED_MODE_RECORD_STROBE ED_BASE+207L
|
||||
#define ED_MODE_RECORD_FREEZE ED_BASE+808L // never "put", only "get"
|
||||
#define ED_MODE_STEP ED_BASE+208L // same as "jog"
|
||||
#define ED_MODE_STEP_FWD ED_BASE+208L // same as ED_MODE_STEP
|
||||
#define ED_MODE_STEP_REV ED_BASE+809L
|
||||
#define ED_MODE_SHUTTLE ED_BASE+209L
|
||||
#define ED_MODE_EDIT_CUE ED_BASE+210L
|
||||
#define ED_MODE_VAR_SPEED ED_BASE+211L
|
||||
#define ED_MODE_PERFORM ED_BASE+212L // returned status only
|
||||
#define ED_MODE_LINK_ON ED_BASE+280L
|
||||
#define ED_MODE_LINK_OFF ED_BASE+281L
|
||||
#define ED_MODE_NOTIFY_ENABLE ED_BASE+810L
|
||||
#define ED_MODE_NOTIFY_DISABLE ED_BASE+811L
|
||||
#define ED_MODE_SHOT_SEARCH ED_BASE+812L
|
||||
|
||||
// IAMTimecodeReader/Generator/Display defines
|
||||
// IAMTimecodeReader/Generator/Display defines
|
||||
//
|
||||
// Timecode Generator Mode params and values:
|
||||
//
|
||||
#define ED_TCG_TIMECODE_TYPE ED_BASE+400L // can be one of the following:
|
||||
#define ED_TCG_SMPTE_LTC ED_BASE+401L
|
||||
#define ED_TCG_SMPTE_VITC ED_BASE+402L
|
||||
#define ED_TCG_MIDI_QF ED_BASE+403L
|
||||
#define ED_TCG_MIDI_FULL ED_BASE+404L
|
||||
#define ED_TCG_TIMECODE_TYPE ED_BASE+400L // can be one of the following:
|
||||
#define ED_TCG_SMPTE_LTC ED_BASE+401L
|
||||
#define ED_TCG_SMPTE_VITC ED_BASE+402L
|
||||
#define ED_TCG_MIDI_QF ED_BASE+403L
|
||||
#define ED_TCG_MIDI_FULL ED_BASE+404L
|
||||
|
||||
#define ED_TCG_FRAMERATE ED_BASE+405L // can be one of the following:
|
||||
#define ED_FORMAT_SMPTE_30 ED_BASE+406L
|
||||
#define ED_FORMAT_SMPTE_30DROP ED_BASE+407L
|
||||
#define ED_FORMAT_SMPTE_25 ED_BASE+408L
|
||||
#define ED_FORMAT_SMPTE_24 ED_BASE+409L
|
||||
#define ED_TCG_FRAMERATE ED_BASE+405L // can be one of the following:
|
||||
#define ED_FORMAT_SMPTE_30 ED_BASE+406L
|
||||
#define ED_FORMAT_SMPTE_30DROP ED_BASE+407L
|
||||
#define ED_FORMAT_SMPTE_25 ED_BASE+408L
|
||||
#define ED_FORMAT_SMPTE_24 ED_BASE+409L
|
||||
|
||||
#define ED_TCG_SYNC_SOURCE ED_BASE+410L // can be one of the following:
|
||||
#define ED_TCG_VIDEO ED_BASE+411L
|
||||
#define ED_TCG_READER ED_BASE+412L
|
||||
#define ED_TCG_FREE ED_BASE+413L
|
||||
#define ED_TCG_SYNC_SOURCE ED_BASE+410L // can be one of the following:
|
||||
#define ED_TCG_VIDEO ED_BASE+411L
|
||||
#define ED_TCG_READER ED_BASE+412L
|
||||
#define ED_TCG_FREE ED_BASE+413L
|
||||
|
||||
#define ED_TCG_REFERENCE_SOURCE ED_BASE+414L // can have one these values:
|
||||
// ED_TCG_FREE || ED_TCG_READER
|
||||
// (for regen/jamsync)
|
||||
#define ED_TCG_REFERENCE_SOURCE ED_BASE+414L // can have one these values:
|
||||
// ED_TCG_FREE || ED_TCG_READER
|
||||
// (for regen/jamsync)
|
||||
|
||||
// TimeCodeReader Mode params and values:
|
||||
#define ED_TCR_SOURCE ED_BASE+416L // can be one of the following:
|
||||
#define ED_TCR_SOURCE ED_BASE+416L // can be one of the following:
|
||||
// ED_TCG (already defined)
|
||||
#define ED_TCR_LTC ED_BASE+417L
|
||||
#define ED_TCR_VITC ED_BASE+418L
|
||||
#define ED_TCR_CT ED_BASE+419L // Control Track
|
||||
#define ED_TCR_FTC ED_BASE+420L // File TimeCode - for file-based devices
|
||||
// that wish they were transports
|
||||
#define ED_TCR_LTC ED_BASE+417L
|
||||
#define ED_TCR_VITC ED_BASE+418L
|
||||
#define ED_TCR_CT ED_BASE+419L // Control Track
|
||||
#define ED_TCR_FTC ED_BASE+420L // File TimeCode - for file-based devices
|
||||
// that wish they were transports
|
||||
// ED_MODE_NOTIFY_ENABLE can be OATRUE or OAFALSE (defined in transport mode
|
||||
// section of this file).
|
||||
#define ED_TCR_LAST_VALUE ED_BASE+421L // for notification mode -
|
||||
// successive calls to GetTimecode
|
||||
// return the last read value
|
||||
#define ED_TCR_LAST_VALUE ED_BASE+421L // for notification mode -
|
||||
// successive calls to GetTimecode
|
||||
// return the last read value
|
||||
// TimeCode Display Mode params and values:
|
||||
//
|
||||
#define ED_TCD_SOURCE ED_BASE+422L // can be one of the following:
|
||||
#define ED_TCR ED_BASE+423L
|
||||
#define ED_TCG ED_BASE+424L
|
||||
#define ED_TCD_SOURCE ED_BASE+422L // can be one of the following:
|
||||
#define ED_TCR ED_BASE+423L
|
||||
#define ED_TCG ED_BASE+424L
|
||||
|
||||
#define ED_TCD_SIZE ED_BASE+425L // can be one of the following:
|
||||
#define ED_SMALL ED_BASE+426L
|
||||
#define ED_MED ED_BASE+427L
|
||||
#define ED_LARGE ED_BASE+428L
|
||||
#define ED_TCD_SIZE ED_BASE+425L // can be one of the following:
|
||||
#define ED_SMALL ED_BASE+426L
|
||||
#define ED_MED ED_BASE+427L
|
||||
#define ED_LARGE ED_BASE+428L
|
||||
|
||||
#define ED_TCD_POSITION ED_BASE+429L // can be one of the following:
|
||||
#define ED_TOP 0x0001
|
||||
#define ED_MIDDLE 0x0002
|
||||
#define ED_BOTTOM 0x0004 // or’d with
|
||||
#define ED_LEFT 0x0100
|
||||
#define ED_CENTER 0x0200
|
||||
#define ED_RIGHT 0x0400
|
||||
#define ED_TCD_POSITION ED_BASE+429L // can be one of the following:
|
||||
#define ED_TOP 0x0001
|
||||
#define ED_MIDDLE 0x0002
|
||||
#define ED_BOTTOM 0x0004 // OR'd with
|
||||
#define ED_LEFT 0x0100
|
||||
#define ED_CENTER 0x0200
|
||||
#define ED_RIGHT 0x0400
|
||||
|
||||
#define ED_TCD_INTENSITY ED_BASE+436L // can be one of the following:
|
||||
#define ED_HIGH ED_BASE+437L
|
||||
#define ED_LOW ED_BASE+438L
|
||||
#define ED_TCD_INTENSITY ED_BASE+436L // can be one of the following:
|
||||
#define ED_HIGH ED_BASE+437L
|
||||
#define ED_LOW ED_BASE+438L
|
||||
|
||||
#define ED_TCD_TRANSPARENCY ED_BASE+439L // 0-4, 0 is opaque
|
||||
#define ED_TCD_TRANSPARENCY ED_BASE+439L // 0-4, 0 is opaque
|
||||
|
||||
#define ED_TCD_INVERT ED_BASE+440L // OATRUE=black on white
|
||||
// OAFALSE=white on black
|
||||
// IAMExtTransport defines
|
||||
#define ED_TCD_INVERT ED_BASE+440L // OATRUE=black on white
|
||||
// OAFALSE=white on black
|
||||
// IAMExtTransport defines
|
||||
//
|
||||
// Transport status, params and values
|
||||
//
|
||||
|
||||
// IAMExtTransport Status items and and values:
|
||||
#define ED_MODE ED_BASE+500L // see ED_MODE_xxx values above
|
||||
#define ED_ERROR ED_BASE+501L
|
||||
#define ED_LOCAL ED_BASE+502L
|
||||
#define ED_RECORD_INHIBIT ED_BASE+503L
|
||||
#define ED_SERVO_LOCK ED_BASE+504L
|
||||
#define ED_MEDIA_PRESENT ED_BASE+505L
|
||||
#define ED_MEDIA_LENGTH ED_BASE+506L
|
||||
#define ED_MEDIA_SIZE ED_BASE+507L
|
||||
#define ED_MEDIA_TRACK_COUNT ED_BASE+508L
|
||||
#define ED_MEDIA_TRACK_LENGTH ED_BASE+509L
|
||||
#define ED_MEDIA_SIDE ED_BASE+510L
|
||||
#define ED_MODE ED_BASE+500L // see ED_MODE_xxx values above
|
||||
#define ED_ERROR ED_BASE+501L
|
||||
#define ED_LOCAL ED_BASE+502L
|
||||
#define ED_RECORD_INHIBIT ED_BASE+503L
|
||||
#define ED_SERVO_LOCK ED_BASE+504L
|
||||
#define ED_MEDIA_PRESENT ED_BASE+505L
|
||||
#define ED_MEDIA_LENGTH ED_BASE+506L
|
||||
#define ED_MEDIA_SIZE ED_BASE+507L
|
||||
#define ED_MEDIA_TRACK_COUNT ED_BASE+508L
|
||||
#define ED_MEDIA_TRACK_LENGTH ED_BASE+509L
|
||||
#define ED_MEDIA_SIDE ED_BASE+510L
|
||||
|
||||
#define ED_MEDIA_TYPE ED_BASE+511L // can be one of the following:
|
||||
#define ED_MEDIA_VHS ED_BASE+512L
|
||||
#define ED_MEDIA_SVHS ED_BASE+513L
|
||||
#define ED_MEDIA_HI8 ED_BASE+514L
|
||||
#define ED_MEDIA_UMATIC ED_BASE+515L
|
||||
#define ED_MEDIA_DVC ED_BASE+516L
|
||||
#define ED_MEDIA_1_INCH ED_BASE+517L
|
||||
#define ED_MEDIA_D1 ED_BASE+518L
|
||||
#define ED_MEDIA_D2 ED_BASE+519L
|
||||
#define ED_MEDIA_D3 ED_BASE+520L
|
||||
#define ED_MEDIA_D5 ED_BASE+521L
|
||||
#define ED_MEDIA_DBETA ED_BASE+522L
|
||||
#define ED_MEDIA_BETA ED_BASE+523L
|
||||
#define ED_MEDIA_8MM ED_BASE+524L
|
||||
#define ED_MEDIA_DDR ED_BASE+525L
|
||||
#define ED_MEDIA_SX ED_BASE+813L
|
||||
#define ED_MEDIA_OTHER ED_BASE+526L
|
||||
#define ED_MEDIA_CLV ED_BASE+527L
|
||||
#define ED_MEDIA_CAV ED_BASE+528L
|
||||
#define ED_MEDIA_POSITION ED_BASE+529L
|
||||
#define ED_MEDIA_TYPE ED_BASE+511L // can be one of the following:
|
||||
#define ED_MEDIA_VHS ED_BASE+512L
|
||||
#define ED_MEDIA_SVHS ED_BASE+513L
|
||||
#define ED_MEDIA_HI8 ED_BASE+514L
|
||||
#define ED_MEDIA_UMATIC ED_BASE+515L
|
||||
#define ED_MEDIA_DVC ED_BASE+516L
|
||||
#define ED_MEDIA_1_INCH ED_BASE+517L
|
||||
#define ED_MEDIA_D1 ED_BASE+518L
|
||||
#define ED_MEDIA_D2 ED_BASE+519L
|
||||
#define ED_MEDIA_D3 ED_BASE+520L
|
||||
#define ED_MEDIA_D5 ED_BASE+521L
|
||||
#define ED_MEDIA_DBETA ED_BASE+522L
|
||||
#define ED_MEDIA_BETA ED_BASE+523L
|
||||
#define ED_MEDIA_8MM ED_BASE+524L
|
||||
#define ED_MEDIA_DDR ED_BASE+525L
|
||||
#define ED_MEDIA_SX ED_BASE+813L
|
||||
#define ED_MEDIA_OTHER ED_BASE+526L
|
||||
#define ED_MEDIA_CLV ED_BASE+527L
|
||||
#define ED_MEDIA_CAV ED_BASE+528L
|
||||
#define ED_MEDIA_POSITION ED_BASE+529L
|
||||
|
||||
#define ED_LINK_MODE ED_BASE+530L // OATRUE if transport controls
|
||||
// are linked to graph's RUN,
|
||||
// STOP, and PAUSE methods
|
||||
#define ED_LINK_MODE ED_BASE+530L // OATRUE if transport controls
|
||||
// are linked to graph's RUN,
|
||||
// STOP, and PAUSE methods
|
||||
|
||||
// IAMExtTransport Basic Parms
|
||||
#define ED_TRANSBASIC_TIME_FORMAT ED_BASE+540L // can be one of the following:
|
||||
#define ED_FORMAT_MILLISECONDS ED_BASE+541L
|
||||
#define ED_FORMAT_FRAMES ED_BASE+542L
|
||||
#define ED_FORMAT_REFERENCE_TIME ED_BASE+543L
|
||||
#define ED_TRANSBASIC_TIME_FORMAT ED_BASE+540L // can be one of the following:
|
||||
#define ED_FORMAT_MILLISECONDS ED_BASE+541L
|
||||
#define ED_FORMAT_FRAMES ED_BASE+542L
|
||||
#define ED_FORMAT_REFERENCE_TIME ED_BASE+543L
|
||||
|
||||
#define ED_FORMAT_HMSF ED_BASE+547L
|
||||
#define ED_FORMAT_TMSF ED_BASE+548L
|
||||
#define ED_FORMAT_HMSF ED_BASE+547L
|
||||
#define ED_FORMAT_TMSF ED_BASE+548L
|
||||
|
||||
#define ED_TRANSBASIC_TIME_REFERENCE ED_BASE+549L // can be one of the following:
|
||||
#define ED_TIMEREF_TIMECODE ED_BASE+550L
|
||||
#define ED_TIMEREF_CONTROL_TRACK ED_BASE+551L
|
||||
#define ED_TIMEREF_INDEX ED_BASE+552L
|
||||
#define ED_TRANSBASIC_TIME_REFERENCE ED_BASE+549L // can be one of the following:
|
||||
#define ED_TIMEREF_TIMECODE ED_BASE+550L
|
||||
#define ED_TIMEREF_CONTROL_TRACK ED_BASE+551L
|
||||
#define ED_TIMEREF_INDEX ED_BASE+552L
|
||||
|
||||
#define ED_TRANSBASIC_SUPERIMPOSE ED_BASE+553L // enable/disable onscreen display
|
||||
#define ED_TRANSBASIC_END_STOP_ACTION ED_BASE+554L // can be one of: ED_MODE_STOP |
|
||||
// ED_MODE_REWIND | ED_MODE_FREEZE
|
||||
#define ED_TRANSBASIC_RECORD_FORMAT ED_BASE+555L // can be one of the following:
|
||||
#define ED_RECORD_FORMAT_SP ED_BASE+556L
|
||||
#define ED_RECORD_FORMAT_LP ED_BASE+557L
|
||||
#define ED_RECORD_FORMAT_EP ED_BASE+558L
|
||||
#define ED_TRANSBASIC_SUPERIMPOSE ED_BASE+553L // enable/disable onscreen display
|
||||
#define ED_TRANSBASIC_END_STOP_ACTION ED_BASE+554L // can be one of: ED_MODE_STOP |
|
||||
// ED_MODE_REWIND | ED_MODE_FREEZE
|
||||
#define ED_TRANSBASIC_RECORD_FORMAT ED_BASE+555L // can be one of the following:
|
||||
#define ED_RECORD_FORMAT_SP ED_BASE+556L
|
||||
#define ED_RECORD_FORMAT_LP ED_BASE+557L
|
||||
#define ED_RECORD_FORMAT_EP ED_BASE+558L
|
||||
|
||||
#define ED_TRANSBASIC_STEP_COUNT ED_BASE+559L
|
||||
#define ED_TRANSBASIC_STEP_UNIT ED_BASE+560L // can be one of the following:
|
||||
#define ED_STEP_FIELD ED_BASE+561L
|
||||
#define ED_STEP_FRAME ED_BASE+562L
|
||||
#define ED_STEP_3_2 ED_BASE+563L
|
||||
#define ED_TRANSBASIC_STEP_COUNT ED_BASE+559L
|
||||
#define ED_TRANSBASIC_STEP_UNIT ED_BASE+560L // can be one of the following:
|
||||
#define ED_STEP_FIELD ED_BASE+561L
|
||||
#define ED_STEP_FRAME ED_BASE+562L
|
||||
#define ED_STEP_3_2 ED_BASE+563L
|
||||
|
||||
#define ED_TRANSBASIC_PREROLL ED_BASE+564L
|
||||
#define ED_TRANSBASIC_RECPREROLL ED_BASE+565L
|
||||
#define ED_TRANSBASIC_POSTROLL ED_BASE+566L
|
||||
#define ED_TRANSBASIC_EDIT_DELAY ED_BASE+567L
|
||||
#define ED_TRANSBASIC_PLAYTC_DELAY ED_BASE+568L
|
||||
#define ED_TRANSBASIC_RECTC_DELAY ED_BASE+569L
|
||||
#define ED_TRANSBASIC_EDIT_FIELD ED_BASE+570L
|
||||
#define ED_TRANSBASIC_FRAME_SERVO ED_BASE+571L
|
||||
#define ED_TRANSBASIC_CF_SERVO ED_BASE+572L
|
||||
#define ED_TRANSBASIC_SERVO_REF ED_BASE+573L // can be one of the following:
|
||||
#define ED_REF_EXTERNAL ED_BASE+574L
|
||||
#define ED_REF_INPUT ED_BASE+575L
|
||||
#define ED_REF_INTERNAL ED_BASE+576L
|
||||
#define ED_REF_AUTO ED_BASE+577L
|
||||
#define ED_TRANSBASIC_PREROLL ED_BASE+564L
|
||||
#define ED_TRANSBASIC_RECPREROLL ED_BASE+565L
|
||||
#define ED_TRANSBASIC_POSTROLL ED_BASE+566L
|
||||
#define ED_TRANSBASIC_EDIT_DELAY ED_BASE+567L
|
||||
#define ED_TRANSBASIC_PLAYTC_DELAY ED_BASE+568L
|
||||
#define ED_TRANSBASIC_RECTC_DELAY ED_BASE+569L
|
||||
#define ED_TRANSBASIC_EDIT_FIELD ED_BASE+570L
|
||||
#define ED_TRANSBASIC_FRAME_SERVO ED_BASE+571L
|
||||
#define ED_TRANSBASIC_CF_SERVO ED_BASE+572L
|
||||
#define ED_TRANSBASIC_SERVO_REF ED_BASE+573L // can be one of the following:
|
||||
#define ED_REF_EXTERNAL ED_BASE+574L
|
||||
#define ED_REF_INPUT ED_BASE+575L
|
||||
#define ED_REF_INTERNAL ED_BASE+576L
|
||||
#define ED_REF_AUTO ED_BASE+577L
|
||||
|
||||
#define ED_TRANSBASIC_WARN_GL ED_BASE+578L
|
||||
#define ED_TRANSBASIC_SET_TRACKING ED_BASE+579L // can be one of the following:
|
||||
#define ED_TRACKING_PLUS ED_BASE+580L
|
||||
#define ED_TRACKING_MINUS ED_BASE+581L
|
||||
#define ED_TRACKING_RESET ED_BASE+582L
|
||||
#define ED_TRANSBASIC_WARN_GL ED_BASE+578L
|
||||
#define ED_TRANSBASIC_SET_TRACKING ED_BASE+579L // can be one of the following:
|
||||
#define ED_TRACKING_PLUS ED_BASE+580L
|
||||
#define ED_TRACKING_MINUS ED_BASE+581L
|
||||
#define ED_TRACKING_RESET ED_BASE+582L
|
||||
|
||||
#define ED_TRANSBASIC_SET_FREEZE_TIMEOUT ED_BASE+583L
|
||||
#define ED_TRANSBASIC_VOLUME_NAME ED_BASE+584L
|
||||
#define ED_TRANSBASIC_BALLISTIC_1 ED_BASE+585L // space for proprietary data
|
||||
#define ED_TRANSBASIC_BALLISTIC_2 ED_BASE+586L
|
||||
#define ED_TRANSBASIC_BALLISTIC_3 ED_BASE+587L
|
||||
#define ED_TRANSBASIC_BALLISTIC_4 ED_BASE+588L
|
||||
#define ED_TRANSBASIC_BALLISTIC_5 ED_BASE+589L
|
||||
#define ED_TRANSBASIC_BALLISTIC_6 ED_BASE+590L
|
||||
#define ED_TRANSBASIC_BALLISTIC_7 ED_BASE+591L
|
||||
#define ED_TRANSBASIC_BALLISTIC_8 ED_BASE+592L
|
||||
#define ED_TRANSBASIC_BALLISTIC_9 ED_BASE+593L
|
||||
#define ED_TRANSBASIC_BALLISTIC_10 ED_BASE+594L
|
||||
#define ED_TRANSBASIC_BALLISTIC_11 ED_BASE+595L
|
||||
#define ED_TRANSBASIC_BALLISTIC_12 ED_BASE+596L
|
||||
#define ED_TRANSBASIC_BALLISTIC_13 ED_BASE+597L
|
||||
#define ED_TRANSBASIC_BALLISTIC_14 ED_BASE+598L
|
||||
#define ED_TRANSBASIC_BALLISTIC_15 ED_BASE+599L
|
||||
#define ED_TRANSBASIC_BALLISTIC_16 ED_BASE+600L
|
||||
#define ED_TRANSBASIC_BALLISTIC_17 ED_BASE+601L
|
||||
#define ED_TRANSBASIC_BALLISTIC_18 ED_BASE+602L
|
||||
#define ED_TRANSBASIC_BALLISTIC_19 ED_BASE+603L
|
||||
#define ED_TRANSBASIC_BALLISTIC_20 ED_BASE+604L
|
||||
#define ED_TRANSBASIC_SET_FREEZE_TIMEOUT ED_BASE+583L
|
||||
#define ED_TRANSBASIC_VOLUME_NAME ED_BASE+584L
|
||||
#define ED_TRANSBASIC_BALLISTIC_1 ED_BASE+585L // space for proprietary data
|
||||
#define ED_TRANSBASIC_BALLISTIC_2 ED_BASE+586L
|
||||
#define ED_TRANSBASIC_BALLISTIC_3 ED_BASE+587L
|
||||
#define ED_TRANSBASIC_BALLISTIC_4 ED_BASE+588L
|
||||
#define ED_TRANSBASIC_BALLISTIC_5 ED_BASE+589L
|
||||
#define ED_TRANSBASIC_BALLISTIC_6 ED_BASE+590L
|
||||
#define ED_TRANSBASIC_BALLISTIC_7 ED_BASE+591L
|
||||
#define ED_TRANSBASIC_BALLISTIC_8 ED_BASE+592L
|
||||
#define ED_TRANSBASIC_BALLISTIC_9 ED_BASE+593L
|
||||
#define ED_TRANSBASIC_BALLISTIC_10 ED_BASE+594L
|
||||
#define ED_TRANSBASIC_BALLISTIC_11 ED_BASE+595L
|
||||
#define ED_TRANSBASIC_BALLISTIC_12 ED_BASE+596L
|
||||
#define ED_TRANSBASIC_BALLISTIC_13 ED_BASE+597L
|
||||
#define ED_TRANSBASIC_BALLISTIC_14 ED_BASE+598L
|
||||
#define ED_TRANSBASIC_BALLISTIC_15 ED_BASE+599L
|
||||
#define ED_TRANSBASIC_BALLISTIC_16 ED_BASE+600L
|
||||
#define ED_TRANSBASIC_BALLISTIC_17 ED_BASE+601L
|
||||
#define ED_TRANSBASIC_BALLISTIC_18 ED_BASE+602L
|
||||
#define ED_TRANSBASIC_BALLISTIC_19 ED_BASE+603L
|
||||
#define ED_TRANSBASIC_BALLISTIC_20 ED_BASE+604L
|
||||
|
||||
// consumer VCR items
|
||||
#define ED_TRANSBASIC_SETCLOCK ED_BASE+605L
|
||||
#define ED_TRANSBASIC_SET_COUNTER_FORMAT ED_BASE+606L // uses time format flags
|
||||
#define ED_TRANSBASIC_SET_COUNTER_VALUE ED_BASE+607L
|
||||
#define ED_TRANSBASIC_SETCLOCK ED_BASE+605L
|
||||
#define ED_TRANSBASIC_SET_COUNTER_FORMAT ED_BASE+606L // uses time format flags
|
||||
#define ED_TRANSBASIC_SET_COUNTER_VALUE ED_BASE+607L
|
||||
|
||||
#define ED_TRANSBASIC_SETTUNER_CH_UP ED_BASE+608L
|
||||
#define ED_TRANSBASIC_SETTUNER_CH_DN ED_BASE+609L
|
||||
#define ED_TRANSBASIC_SETTUNER_SK_UP ED_BASE+610L
|
||||
#define ED_TRANSBASIC_SETTUNER_SK_DN ED_BASE+611L
|
||||
#define ED_TRANSBASIC_SETTUNER_CH ED_BASE+612L
|
||||
#define ED_TRANSBASIC_SETTUNER_NUM ED_BASE+613L
|
||||
#define ED_TRANSBASIC_SETTUNER_CH_UP ED_BASE+608L
|
||||
#define ED_TRANSBASIC_SETTUNER_CH_DN ED_BASE+609L
|
||||
#define ED_TRANSBASIC_SETTUNER_SK_UP ED_BASE+610L
|
||||
#define ED_TRANSBASIC_SETTUNER_SK_DN ED_BASE+611L
|
||||
#define ED_TRANSBASIC_SETTUNER_CH ED_BASE+612L
|
||||
#define ED_TRANSBASIC_SETTUNER_NUM ED_BASE+613L
|
||||
|
||||
#define ED_TRANSBASIC_SETTIMER_EVENT ED_BASE+614L
|
||||
#define ED_TRANSBASIC_SETTIMER_STARTDAY ED_BASE+615L
|
||||
#define ED_TRANSBASIC_SETTIMER_STARTTIME ED_BASE+616L
|
||||
#define ED_TRANSBASIC_SETTIMER_STOPDAY ED_BASE+617L
|
||||
#define ED_TRANSBASIC_SETTIMER_STOPTIME ED_BASE+618L
|
||||
#define ED_TRANSBASIC_SETTIMER_EVENT ED_BASE+614L
|
||||
#define ED_TRANSBASIC_SETTIMER_STARTDAY ED_BASE+615L
|
||||
#define ED_TRANSBASIC_SETTIMER_STARTTIME ED_BASE+616L
|
||||
#define ED_TRANSBASIC_SETTIMER_STOPDAY ED_BASE+617L
|
||||
#define ED_TRANSBASIC_SETTIMER_STOPTIME ED_BASE+618L
|
||||
|
||||
// IAMExtTransport video parameters
|
||||
#define ED_TRANSVIDEO_SET_OUTPUT ED_BASE+630L // can be one of the following:
|
||||
#define ED_E2E ED_BASE+631L
|
||||
#define ED_PLAYBACK ED_BASE+632L
|
||||
#define ED_OFF ED_BASE+633L
|
||||
#define ED_TRANSVIDEO_SET_OUTPUT ED_BASE+630L // can be one of the following:
|
||||
#define ED_E2E ED_BASE+631L
|
||||
#define ED_PLAYBACK ED_BASE+632L
|
||||
#define ED_OFF ED_BASE+633L
|
||||
|
||||
#define ED_TRANSVIDEO_SET_SOURCE ED_BASE+634L
|
||||
#define ED_TRANSVIDEO_SET_SOURCE ED_BASE+634L
|
||||
|
||||
// IAMExtTransport audio parameters
|
||||
#define ED_TRANSAUDIO_ENABLE_OUTPUT ED_BASE+640L // can be the following:
|
||||
#define ED_AUDIO_ALL 0x10000000 // or any of the following OR'd together
|
||||
#define ED_AUDIO_1 0x0000001L
|
||||
#define ED_AUDIO_2 0x0000002L
|
||||
#define ED_AUDIO_3 0x0000004L
|
||||
#define ED_AUDIO_4 0x0000008L
|
||||
#define ED_AUDIO_5 0x0000010L
|
||||
#define ED_AUDIO_6 0x0000020L
|
||||
#define ED_AUDIO_7 0x0000040L
|
||||
#define ED_AUDIO_8 0x0000080L
|
||||
#define ED_AUDIO_9 0x0000100L
|
||||
#define ED_AUDIO_10 0x0000200L
|
||||
#define ED_AUDIO_11 0x0000400L
|
||||
#define ED_AUDIO_12 0x0000800L
|
||||
#define ED_AUDIO_13 0x0001000L
|
||||
#define ED_AUDIO_14 0x0002000L
|
||||
#define ED_AUDIO_15 0x0004000L
|
||||
#define ED_AUDIO_16 0x0008000L
|
||||
#define ED_AUDIO_17 0x0010000L
|
||||
#define ED_AUDIO_18 0x0020000L
|
||||
#define ED_AUDIO_19 0x0040000L
|
||||
#define ED_AUDIO_20 0x0080000L
|
||||
#define ED_AUDIO_21 0x0100000L
|
||||
#define ED_AUDIO_22 0x0200000L
|
||||
#define ED_AUDIO_23 0x0400000L
|
||||
#define ED_AUDIO_24 0x0800000L
|
||||
#define ED_VIDEO 0x2000000L // for Edit props below
|
||||
#define ED_TRANSAUDIO_ENABLE_OUTPUT ED_BASE+640L // can be the following:
|
||||
#define ED_AUDIO_ALL 0x10000000 // or any of the following OR'd together
|
||||
#define ED_AUDIO_1 0x0000001L
|
||||
#define ED_AUDIO_2 0x0000002L
|
||||
#define ED_AUDIO_3 0x0000004L
|
||||
#define ED_AUDIO_4 0x0000008L
|
||||
#define ED_AUDIO_5 0x0000010L
|
||||
#define ED_AUDIO_6 0x0000020L
|
||||
#define ED_AUDIO_7 0x0000040L
|
||||
#define ED_AUDIO_8 0x0000080L
|
||||
#define ED_AUDIO_9 0x0000100L
|
||||
#define ED_AUDIO_10 0x0000200L
|
||||
#define ED_AUDIO_11 0x0000400L
|
||||
#define ED_AUDIO_12 0x0000800L
|
||||
#define ED_AUDIO_13 0x0001000L
|
||||
#define ED_AUDIO_14 0x0002000L
|
||||
#define ED_AUDIO_15 0x0004000L
|
||||
#define ED_AUDIO_16 0x0008000L
|
||||
#define ED_AUDIO_17 0x0010000L
|
||||
#define ED_AUDIO_18 0x0020000L
|
||||
#define ED_AUDIO_19 0x0040000L
|
||||
#define ED_AUDIO_20 0x0080000L
|
||||
#define ED_AUDIO_21 0x0100000L
|
||||
#define ED_AUDIO_22 0x0200000L
|
||||
#define ED_AUDIO_23 0x0400000L
|
||||
#define ED_AUDIO_24 0x0800000L
|
||||
#define ED_VIDEO 0x2000000L // for Edit props below
|
||||
|
||||
#define ED_TRANSAUDIO_ENABLE_RECORD ED_BASE+642L
|
||||
#define ED_TRANSAUDIO_ENABLE_SELSYNC ED_BASE+643L
|
||||
#define ED_TRANSAUDIO_SET_SOURCE ED_BASE+644L
|
||||
#define ED_TRANSAUDIO_SET_MONITOR ED_BASE+645L
|
||||
#define ED_TRANSAUDIO_ENABLE_RECORD ED_BASE+642L
|
||||
#define ED_TRANSAUDIO_ENABLE_SELSYNC ED_BASE+643L
|
||||
#define ED_TRANSAUDIO_SET_SOURCE ED_BASE+644L
|
||||
#define ED_TRANSAUDIO_SET_MONITOR ED_BASE+645L
|
||||
|
||||
|
||||
// Edit Property Set-related defs
|
||||
|
||||
// The following values reflect (and control) the state of an
|
||||
// edit property set
|
||||
#define ED_INVALID ED_BASE+652L
|
||||
#define ED_EXECUTING ED_BASE+653L
|
||||
#define ED_REGISTER ED_BASE+654L
|
||||
#define ED_DELETE ED_BASE+655L
|
||||
#define ED_INVALID ED_BASE+652L
|
||||
#define ED_EXECUTING ED_BASE+653L
|
||||
#define ED_REGISTER ED_BASE+654L
|
||||
#define ED_DELETE ED_BASE+655L
|
||||
|
||||
// Edit property set parameters and values
|
||||
#define ED_EDIT_HEVENT ED_BASE+656L // event handle to signal event
|
||||
// completion
|
||||
#define ED_EDIT_TEST ED_BASE+657L // returns OAFALSE if filter thinks
|
||||
// edit can be done, OATRUE if not
|
||||
#define ED_EDIT_IMMEDIATE ED_BASE+658L // OATRUE means start put the
|
||||
// device into edit mode (editing
|
||||
// "on the fly") immediately upon
|
||||
// execution of Mode(ED_MODE_EDIT_CUE)
|
||||
#define ED_EDIT_MODE ED_BASE+659L
|
||||
#define ED_EDIT_HEVENT ED_BASE+656L // event handle to signal event
|
||||
// completion
|
||||
#define ED_EDIT_TEST ED_BASE+657L // returns OAFALSE if filter thinks
|
||||
// edit can be done, OATRUE if not
|
||||
#define ED_EDIT_IMMEDIATE ED_BASE+658L // OATRUE means start put the
|
||||
// device into edit mode (editing
|
||||
// "on the fly") immediately upon
|
||||
// execution of Mode(ED_MODE_EDIT_CUE)
|
||||
#define ED_EDIT_MODE ED_BASE+659L
|
||||
// can be one of the following values:
|
||||
#define ED_EDIT_MODE_ASSEMBLE ED_BASE+660L
|
||||
#define ED_EDIT_MODE_INSERT ED_BASE+661L
|
||||
#define ED_EDIT_MODE_CRASH_RECORD ED_BASE+662L
|
||||
#define ED_EDIT_MODE_BOOKMARK_TIME ED_BASE+663L // these two are for
|
||||
#define ED_EDIT_MODE_BOOKMARK_CHAPTER ED_BASE+664L // laserdisks
|
||||
#define ED_EDIT_MODE_ASSEMBLE ED_BASE+660L
|
||||
#define ED_EDIT_MODE_INSERT ED_BASE+661L
|
||||
#define ED_EDIT_MODE_CRASH_RECORD ED_BASE+662L
|
||||
#define ED_EDIT_MODE_BOOKMARK_TIME ED_BASE+663L // these two are for
|
||||
#define ED_EDIT_MODE_BOOKMARK_CHAPTER ED_BASE+664L // laserdisks
|
||||
|
||||
#define ED_EDIT_MASTER ED_BASE+666L // OATRUE causes device
|
||||
// not to synchronize
|
||||
#define ED_EDIT_MASTER ED_BASE+666L // OATRUE causes device
|
||||
// not to synchronize
|
||||
|
||||
#define ED_EDIT_TRACK ED_BASE+667L
|
||||
#define ED_EDIT_TRACK ED_BASE+667L
|
||||
// can be one of the following possible OR'd values:
|
||||
// ED_VIDEO, ED_AUDIO_1 thru ED_AUDIO_24 (or ED_AUDIO_ALL)
|
||||
// ED_VIDEO, ED_AUDIO_1 thru ED_AUDIO_24 (or ED_AUDIO_ALL)
|
||||
|
||||
#define ED_EDIT_SRC_INPOINT ED_BASE+668L // in current time format
|
||||
#define ED_EDIT_SRC_OUTPOINT ED_BASE+669L // in current time format
|
||||
#define ED_EDIT_REC_INPOINT ED_BASE+670L // in current time format
|
||||
#define ED_EDIT_REC_OUTPOINT ED_BASE+671L // in current time format
|
||||
#define ED_EDIT_SRC_INPOINT ED_BASE+668L // in current time format
|
||||
#define ED_EDIT_SRC_OUTPOINT ED_BASE+669L // in current time format
|
||||
#define ED_EDIT_REC_INPOINT ED_BASE+670L // in current time format
|
||||
#define ED_EDIT_REC_OUTPOINT ED_BASE+671L // in current time format
|
||||
|
||||
#define ED_EDIT_REHEARSE_MODE ED_BASE+672L
|
||||
#define ED_EDIT_REHEARSE_MODE ED_BASE+672L
|
||||
// can be one of the following possible values:
|
||||
#define ED_EDIT_BVB ED_BASE+673L // means rehearse the edit with
|
||||
// "black-video-black"
|
||||
#define ED_EDIT_VBV ED_BASE+674L
|
||||
#define ED_EDIT_VVV ED_BASE+675L
|
||||
#define ED_EDIT_PERFORM ED_BASE+676L // means perform the edit with no
|
||||
// rehearsal.
|
||||
#define ED_EDIT_BVB ED_BASE+673L // means rehearse the edit with
|
||||
// "black-video-black"
|
||||
#define ED_EDIT_VBV ED_BASE+674L
|
||||
#define ED_EDIT_VVV ED_BASE+675L
|
||||
#define ED_EDIT_PERFORM ED_BASE+676L // means perform the edit with no
|
||||
// rehearsal.
|
||||
|
||||
// Set this property to OATRUE to kill the edit if in progress
|
||||
#define ED_EDIT_ABORT ED_BASE+677L
|
||||
#define ED_EDIT_ABORT ED_BASE+677L
|
||||
// how long to wait for edit to complete
|
||||
#define ED_EDIT_TIMEOUT ED_BASE+678L // in current time format
|
||||
#define ED_EDIT_TIMEOUT ED_BASE+678L // in current time format
|
||||
|
||||
// This property causes the device to seek to a point specified by
|
||||
// ED_EDIT_SEEK_MODE (see below). NOTE: Only one event at a time can seek.
|
||||
#define ED_EDIT_SEEK ED_BASE+679L // OATRUE means do it now.
|
||||
#define ED_EDIT_SEEK_MODE ED_BASE+680L
|
||||
#define ED_EDIT_SEEK ED_BASE+679L // OATRUE means do it now.
|
||||
#define ED_EDIT_SEEK_MODE ED_BASE+680L
|
||||
//possible values:
|
||||
#define ED_EDIT_SEEK_EDIT_IN ED_BASE+681L // seek to edit's inpoint
|
||||
#define ED_EDIT_SEEK_EDIT_OUT ED_BASE+682L // seek to edit's outpoint
|
||||
#define ED_EDIT_SEEK_PREROLL ED_BASE+683L // seek to edit's
|
||||
// inpoint-preroll
|
||||
#define ED_EDIT_SEEK_PREROLL_CT ED_BASE+684L // seek to preroll point
|
||||
// using control track (used for tapes with
|
||||
// discontinuoustimecode before edit point: seek
|
||||
// to inpoint using timecode, then backup to
|
||||
// preroll point using control track)
|
||||
#define ED_EDIT_SEEK_BOOKMARK ED_BASE+685L // seek to bookmark (just like
|
||||
// timecode search)
|
||||
#define ED_EDIT_SEEK_EDIT_IN ED_BASE+681L // seek to edit's inpoint
|
||||
#define ED_EDIT_SEEK_EDIT_OUT ED_BASE+682L // seek to edit's outpoint
|
||||
#define ED_EDIT_SEEK_PREROLL ED_BASE+683L // seek to edit's
|
||||
// inpoint-preroll
|
||||
#define ED_EDIT_SEEK_PREROLL_CT ED_BASE+684L // seek to preroll point
|
||||
// using control track (used for tapes with
|
||||
// discontinuoustimecode before edit point: seek
|
||||
// to inpoint using timecode, then backup to
|
||||
// preroll point using control track)
|
||||
#define ED_EDIT_SEEK_BOOKMARK ED_BASE+685L // seek to bookmark (just like
|
||||
// timecode search)
|
||||
// This property is used for multiple-VCR systems where each machine must
|
||||
// cue to a different location relative to the graph's reference clock. The
|
||||
// basic idea is that an edit event is setup with an ED_EDIT_OFFSET property
|
||||
// that tells the VCR what offset to maintain between it's timecode (converted
|
||||
// to reference clock units) and the reference clock.
|
||||
#define ED_EDIT_OFFSET ED_BASE+686L // in current time format
|
||||
// to reference clock units) and the reference clock.
|
||||
#define ED_EDIT_OFFSET ED_BASE+686L // in current time format
|
||||
|
||||
#define ED_EDIT_PREREAD ED_BASE+815L // OATRUE means device supports
|
||||
// pre-read (recorder can also be
|
||||
// player
|
||||
#define ED_EDIT_PREREAD ED_BASE+815L // OATRUE means device supports
|
||||
// pre-read (recorder can also be
|
||||
// player
|
||||
|
||||
//
|
||||
// Some error codes:
|
||||
//
|
||||
// device could be in local mode
|
||||
#define ED_ERR_DEVICE_NOT_READY ED_BASE+700L
|
||||
#define ED_ERR_DEVICE_NOT_READY ED_BASE+700L
|
||||
|
||||
#endif // __EDEVDEFS__
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
//
|
||||
// Desc: ActiveMovie error defines.
|
||||
//
|
||||
// Copyright (c) 1992 - 2000, Microsoft Corporation. All rights reserved.
|
||||
// Copyright (c) 1992-2001, Microsoft Corporation. All rights reserved.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
//
|
||||
// Desc: List of standard Quartz event codes and the expected params.
|
||||
//
|
||||
// Copyright (c) 1992 - 2000, Microsoft Corporation. All rights reserved.
|
||||
// Copyright (c) 1992 - 2001, Microsoft Corporation. All rights reserved.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
@ -61,6 +61,7 @@
|
|||
// DVD event codes 0x0100 - 0x0150 (dvdevcod.h)
|
||||
// audio device event codes 0x0200 - 0x0250 (audevcod.h)
|
||||
// WindowsMedia SDK-originated events 0x0251 - 0x0300 (see below)
|
||||
// MSVIDCTL 0x0301 - 0x0325 (msvidctl.idl)
|
||||
|
||||
#define EC_COMPLETE 0x01
|
||||
// ( HRESULT, void ) : defaulted (special)
|
||||
|
@ -153,7 +154,7 @@
|
|||
// Notify application the previous pause request has completed
|
||||
|
||||
|
||||
#define EC_OPENING_FILE 0x10
|
||||
#define EC_OPENING_FILE 0x10
|
||||
#define EC_BUFFERING_DATA 0x11
|
||||
// ( BOOL, void ) : application
|
||||
// lParam1 == 1 --> starting to open file or buffer data
|
||||
|
@ -205,7 +206,7 @@
|
|||
// filter when too little data is arriving.
|
||||
|
||||
|
||||
#define EC_OLE_EVENT 0x18
|
||||
#define EC_OLE_EVENT 0x18
|
||||
// ( BSTR, BSTR ) : application
|
||||
// Sent by a filter to pass a text string to the application.
|
||||
// Conventionally, the first string is a type, and the second a parameter.
|
||||
|
@ -215,7 +216,7 @@
|
|||
// ( HWND, void ) : internal
|
||||
// Pass the window handle around during pin connection.
|
||||
|
||||
#define EC_STREAM_CONTROL_STOPPED 0x1A
|
||||
#define EC_STREAM_CONTROL_STOPPED 0x1A
|
||||
// ( IPin * pSender, DWORD dwCookie )
|
||||
// Notification that an earlier call to IAMStreamControl::StopAt
|
||||
// has now take effect. Calls to the method can be marked
|
||||
|
@ -226,7 +227,7 @@
|
|||
// NB: IPin will point to the pin that actioned the Stop. This
|
||||
// may not be the pin that the StopAt was sent to.
|
||||
|
||||
#define EC_STREAM_CONTROL_STARTED 0x1B
|
||||
#define EC_STREAM_CONTROL_STARTED 0x1B
|
||||
// ( IPin * pSender, DWORD dwCookie )
|
||||
// Notification that an earlier call to IAMStreamControl::StartAt
|
||||
// has now take effect. Calls to the method can be marked
|
||||
|
@ -277,6 +278,7 @@
|
|||
// It is used to compute how many EC_END_OF_SEGMENT notifications
|
||||
// to expect at the end of a segment and as a consitency check
|
||||
|
||||
|
||||
#define EC_LENGTH_CHANGED 0x1E
|
||||
// (void, void)
|
||||
// sent to indicate that the length of the "file" has changed
|
||||
|
@ -295,21 +297,29 @@
|
|||
// if the application issued some control request or because there
|
||||
// was a mode change etc etc
|
||||
|
||||
// Event code 25 is reserved for future use.
|
||||
|
||||
#define EC_SKIP_FRAMES 0x25
|
||||
// ( nFramesToSkip, void ) : internal
|
||||
// Get the filter graph to seek accuratley.
|
||||
|
||||
#define EC_TIMECODE_AVAILABLE 0x30
|
||||
#define EC_TIMECODE_AVAILABLE 0x30
|
||||
// Sent by filter supporting timecode
|
||||
// Param1 has a pointer to the sending object
|
||||
// Param2 has the device ID of the sending object
|
||||
|
||||
#define EC_EXTDEVICE_MODE_CHANGE 0x31
|
||||
#define EC_EXTDEVICE_MODE_CHANGE 0x31
|
||||
// Sent by filter supporting IAMExtDevice
|
||||
// Param1 has the new mode
|
||||
// Param2 has the device ID of the sending object
|
||||
|
||||
#define EC_STATE_CHANGE 0x32
|
||||
// ( FILTER_STATE, BOOL bInternal)
|
||||
// Used to notify the application of any state changes in the filter graph.
|
||||
// lParam1 is of type enum FILTER_STATE (defined in strmif.h) and indicates
|
||||
// the state of the filter graph.
|
||||
//
|
||||
// lParam2 == 0 indicates that the previous state change request has completed
|
||||
// & a change in application state.
|
||||
// lParam2 == 1 reserved for future use to indicate internal state changes.
|
||||
|
||||
|
||||
#define EC_GRAPH_CHANGED 0x50
|
||||
// Sent by filter to notify interesting graph changes
|
||||
|
||||
|
@ -317,26 +327,89 @@
|
|||
// ( void, void ) : application
|
||||
// Used to notify the filter graph to unset the current graph clock.
|
||||
// Has the affect of forcing the filter graph to reestablish the graph clock
|
||||
// on the next Pause/Run (note that this is only used by ksproxy, when the pin
|
||||
// on the next Pause/Run (note that this is only used by ksproxy, when the pin
|
||||
// of a clock providing filter is disconnected)
|
||||
|
||||
#define EC_VMR_RENDERDEVICE_SET 0x53
|
||||
// (Render_Device type, void)
|
||||
// Identifies the type of rendering mechanism the VMR
|
||||
// is using to display video. Types used include:
|
||||
#define VMR_RENDER_DEVICE_OVERLAY 0x01
|
||||
#define VMR_RENDER_DEVICE_VIDMEM 0x02
|
||||
#define VMR_RENDER_DEVICE_SYSMEM 0x04
|
||||
|
||||
|
||||
#define EC_VMR_SURFACE_FLIPPED 0x54
|
||||
// (hr - Flip return code, void)
|
||||
// Identifies the VMR's allocator-presenter has called the DDraw flip api on
|
||||
// the surface being presented. This allows the VMR to keep its DX-VA table
|
||||
// of DDraw surfaces in sync with DDraws flipping chain.
|
||||
|
||||
#define EC_VMR_RECONNECTION_FAILED 0x55
|
||||
// (hr - ReceiveConnection return code, void)
|
||||
// Identifies that an upstream decoder tried to perform a dynamic format
|
||||
// change and the VMR was unable to accept the new format.
|
||||
|
||||
|
||||
|
||||
//------------------------------------------
|
||||
//
|
||||
// BDA events:
|
||||
//
|
||||
// Event code 0x80 through 0x8f are reserved for BDA
|
||||
//
|
||||
|
||||
|
||||
//------------------------------------------
|
||||
//
|
||||
// WindowsMedia SDK filter-specific events:
|
||||
//
|
||||
//
|
||||
#define EC_WMT_EVENT_BASE 0x0251
|
||||
// Note that for EC_WMT_EVENT events the wmsdk-based filters use the following structure for
|
||||
// passing event parameters to the app:
|
||||
#ifndef AM_WMT_EVENT_DATA_DEFINED
|
||||
#define AM_WMT_EVENT_DATA_DEFINED
|
||||
typedef struct {
|
||||
HRESULT hrStatus; // status code
|
||||
void * pData; // event data
|
||||
} AM_WMT_EVENT_DATA;
|
||||
#endif
|
||||
//
|
||||
#define EC_WMT_EVENT_BASE 0x0251
|
||||
//
|
||||
#define EC_WMT_INDEX_EVENT EC_WMT_EVENT_BASE
|
||||
// WindowsMedia SDK-originated file indexing status, sent by WMSDK-based filters
|
||||
//
|
||||
// lParam1 is one of the enum WMT_STATUS messages listed below, sent by the WindowsMedia SDK
|
||||
// lParam2 is specific to the lParam event
|
||||
// lParam1 is one of the enum WMT_STATUS messages listed below, sent by the WindowsMedia SDK
|
||||
// lParam2 is specific to the lParam event
|
||||
//
|
||||
// the following WMT_STATUS messages are sent for this event:
|
||||
// WMT_STARTED - lParam2 is 0
|
||||
// WMT_CLOSED - lParam2 is 0
|
||||
// WMT_INDEX_PROGRESS - lParam2 is a DWORD containing the progress percent complete
|
||||
//
|
||||
#define EC_WMT_EVENT EC_WMT_EVENT_BASE+1
|
||||
// WindowsMedia SDK-originated event, sent by WMSDK-based filters
|
||||
//
|
||||
// lParam1 is one of the enum WMT_STATUS messages listed below, sent by the WindowsMedia SDK
|
||||
// lParam2 is a pointer an AM_WMT_EVENT_DATA structure where,
|
||||
// hrStatus is the status code sent by the wmsdk
|
||||
// pData is specific to the lParam1 event
|
||||
//
|
||||
// the following WMT_STATUS messages are sent by the WMSDK Reader filter for this event:
|
||||
// WMT_NO_RIGHTS - pData is a pointer to a WCHAR string containing a challenge URL
|
||||
// WMT_ACQUIRE_LICENSE - lParam2 is a pointer to a WM_GET_LICENSE_DATA struct
|
||||
// WMT_NO_RIGHTS_EX - lParam2 is a pointer to a WM_GET_LICENSE_DATA struct
|
||||
// WMT_NEEDS_INDIVIDUALIZATION - lParam2 is NULL
|
||||
// WMT_INDIVIDUALIZE - lParam2 is a pointer to a WM_INDIVIDUALIZE_STATUS struct
|
||||
//
|
||||
// end WMSDK-originated events
|
||||
//-----------------------------------------
|
||||
|
||||
|
||||
#define EC_BUILT 0x300
|
||||
// Sent to notify transition from unbuilt to built state
|
||||
|
||||
|
||||
#define EC_UNBUILT 0x301
|
||||
// Sent to notify transtion from built to unbuilt state
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue