📄 vfapi.h
字号:
/*
* 64價僢僩惍悢宆傪 DWORD 宆擇偮偵暘偗偰愰尵偟偨僶乕僕儑儞
*/
#ifndef VFAPI_H
#define VFAPI_H
#define VF_STREAM_VIDEO 0x00000001
#define VF_STREAM_AUDIO 0x00000002
#define VF_OK 0x00000000
#define VF_ERROR 0x80004005
typedef struct {
DWORD dwSize; /* 偙偺峔憿懱偺僒僀僘 */
DWORD dwAPIVersion; /* Video File API 偺僶乕僕儑儞 */
DWORD dwVersion; /* 偙偺僾儔僌僀儞偺僶乕僕儑儞 */
DWORD dwSupportStreamType; /* 偙偺僾儔僌僀儞偑僒億乕僩偡傞僗僩儕乕儉偺庬椶 */
/* 椺偊偽塮憸偲壒惡傪僒億乕僩偟偰偄傞応崌丄VF_STREAM_VIDEO or VF_STREAM_AUDIO 偑擖傞 */
char cPluginInfo[256]; /* 偙偺僾儔僌僀儞偺忣曬丅椺丗AVI 僼傽僀儖儕乕僟乕 ver 1.0 */
char cFileType[256]; /* 僼傽僀儖僟僀傾儘僌偱巊傢傟傞僼傿儖僞丅椺丗AVI 僼傽僀儖(*.avi)|*.avi */
} VF_PluginInfo,*LPVF_PluginInfo;
typedef DWORD VF_FileHandle,*LPVF_FileHandle;
typedef struct {
DWORD dwSize; /* 偙偺峔憿懱偺僒僀僘 */
DWORD dwHasStreams; /* 偙偺僼傽僀儖偑曐帩偡傞僗僩儕乕儉偺庬椶丅 */
/* 椺偊偽塮憸偲壒惡偑偁傞応崌丄VF_STREAM_VIDEO or VF_STREAM_AUDIO 偑擖傞 */
} VF_FileInfo,*LPVF_FileInfo;
typedef struct {
DWORD dwSize; /* 偙偺峔憿懱偺僒僀僘 */
DWORD dwLengthL; /* 僼儗乕儉悢(俇係價僢僩惍悢)乮壓埵俁俀價僢僩乯 */
DWORD dwLengthH; /* 僼儗乕儉悢(俇係價僢僩惍悢)乮忋埵俁俀價僢僩乯*/
DWORD dwRate; /* 僼儗乕儉儗乕僩丅幚嵺偺僼儗乕儉儗乕僩偼 dwRate/dwScale 偱媮傔傞 */
DWORD dwScale; /* 僼儗乕儉儗乕僩偺僗働乕儖 */
DWORD dwWidth; /* 塮憸偺暆 */
DWORD dwHeight; /* 塮憸偺崅偝 */
DWORD dwBitCount; /* 塮憸偺價僢僩悢(24 偺傒) */
} VF_StreamInfo_Video,*LPVF_StreamInfo_Video;
typedef struct {
DWORD dwSize; /* 偙偺峔憿懱偺僒僀僘 */
DWORD dwLengthL; /* 僒儞僾儖悢(俇係價僢僩惍悢)乮壓埵俁俀價僢僩乯*/
DWORD dwLengthH; /* 僒儞僾儖悢(俇係價僢僩惍悢)乮忋埵俁俀價僢僩乯*/
DWORD dwRate; /* 僒儞僾儕儞僌廃攇悢丅幚嵺偺僒儞僾儕儞僌廃攇悢偼 dwRate/dwScale 偱媮傔傞 */
DWORD dwScale; /* 僒儞僾儕儞僌廃攇悢偺僗働乕儖 */
DWORD dwChannels; /* 僠儍儞僱儖悢(1, 2 偺偄偢傟偐) */
DWORD dwBitsPerSample; /* 價僢僩悢(8, 16 偺偄偢傟偐) */
DWORD dwBlockAlign; /* 侾僒儞僾儖摉偨傝偺僶僀僩悢 */
} VF_StreamInfo_Audio,*LPVF_StreamInfo_Audio;
typedef struct {
DWORD dwSize; /* 偙偺峔憿懱偺僒僀僘 */
DWORD dwFrameNumberL; /* 撉傒弌偟偨偄僼儗乕儉斣崋乮壓埵俁俀價僢僩乯*/
DWORD dwFrameNumberH; /* 撉傒弌偟偨偄僼儗乕儉斣崋乮忋埵俁俀價僢僩乯*/
void *lpData; /* 塮憸僨乕僞偺奿擺愭丅巜掕偟偨倄嵗昗偺儔僀儞傊偺億僀儞僞偼 (lpData + lPitch*Y) 偲偟偰媮傔傞丅 */
long lPitch; /* 師偺儔僀儞傊偺僆僼僙僢僩 */
} VF_ReadData_Video,*LPVF_ReadData_Video;
typedef struct {
DWORD dwSize; /* 偙偺峔憿懱偺僒僀僘 */
DWORD dwSamplePosL; /* 撉傒弌偟偨偄僒儞僾儖斣崋乮壓埵俁俀價僢僩乯*/
DWORD dwSamplePosH; /* 撉傒弌偟偨偄僒儞僾儖斣崋乮忋埵俁俀價僢僩乯*/
DWORD dwSampleCount; /* 撉傒弌偟偨偄僒儞僾儖悢 */
DWORD dwReadedSampleCount; /* 撉傒弌偟偨僒儞僾儖悢 */
DWORD dwBufSize; /* 僶僢僼傽偺僒僀僘 */
void *lpBuf; /* 撉傒弌偟愭偺僶僢僼傽 */
} VF_ReadData_Audio,*LPVF_ReadData_Audio;
typedef struct {
DWORD dwSize; /* 偙偺峔憿懱偺僒僀僘 */
HRESULT (_stdcall *OpenFile)( char *lpFileName,LPVF_FileHandle lpFileHandle);
HRESULT (_stdcall *CloseFile)( VF_FileHandle hFileHandle);
HRESULT (_stdcall *GetFileInfo)( VF_FileHandle hFileHandle,LPVF_FileInfo lpFileInfo );
HRESULT (_stdcall *GetStreamInfo)( VF_FileHandle hFileHandle,DWORD dwStream,void *lpStreamInfo );
HRESULT (_stdcall *ReadData)( VF_FileHandle hFileHandle,DWORD dwStream,void *lpData );
} VF_PluginFunc,*LPVF_PluginFunc;
/*
HRESULT _stdcall vfGetPluginInfo( LPVF_PluginInfo lpPluginInfo );
HRESULT _stdcall vfGetPluginFunc( LPVF_PluginFunc lpPluginFunc );
*/
#endif /* VFAPI_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -