⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test1394.h

📁 基于IEEE 1394总线的图像采集及处理系统软件技术研究
💻 H
字号:
// Test1394.h: interface for the CTest1394 class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_TEST1394_H__C83279B2_755C_459D_B0A4_C0D057B176A4__INCLUDED_)
#define AFX_TEST1394_H__C83279B2_755C_459D_B0A4_C0D057B176A4__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

class CTest1394  
{
public:
	DWORD AllocateAddressRange(PALLOCATE_ADDRESS_RANGE pAllocateAddressRange,ULONG ulBufferSize);
	DWORD AsyncWrite(PASYNC_WRITE pAsyncWrite,ULONG ulBufferSize);
	DWORD AsyncRead(PASYNC_READ pAsyncRead,ULONG ulBufferSize);
	DWORD GetDeviceInfoBlock(unsigned int* BlockType,
									unsigned char* BlockBuf,
									DWORD* BlockBufLength);
	DWORD GetDeviceConfigInfo(PGet_Config_Info_Params pInfo,ULONG uBufSize);
	DWORD GetDriverInfo(PVERSION_DATA DriverInfo);
	DWORD BusResetNotification( ULONG fulFlags );
	char* GetDevicePathName(void);
	//
	// standard constructor
	//
	CTest1394();
	//
	// destructor, should always be declared virtual
	//
	virtual ~CTest1394();

	DWORD SetDeviceXmitProperties( PDEVICE_XMIT_PROPERTIES XmitProps);
	DWORD SendPhyConfigPacket( PPHY_CONFIGURATION_PACKET SendPCP);
	DWORD Open(int DeviceNumber, HDEVINFO DeviceList,const GUID *InterfaceGuid);
	DWORD IoctlSync(DWORD IoctlCode,void* InBuffer,DWORD InBufferSize,void* OurBuffer,DWORD OutBufferSize,DWORD* BytesReturned);
	DWORD GetSpeedBetweenDevices( PGET_MAX_SPEED_BETWEEN_DEVICES   pGetMaxSpeed);
	DWORD GetResetGenerationCount( PULONG GenerationCount);
	DWORD GetNodeAddress(GET_1394_ADDRESS* GetNodeAdr);
	DWORD GetLocalHostInformation( PGET_LOCAL_HOST_INFORMATION GetLocalHostInfo,BOOL bAutoAlloc);
	DWORD GetLocalHostInfo( PGET_LOCAL_HOST_INFORMATION GetLocalHostInfo);
	DWORD ForceBusReset( ULONG fulFlags);
	void Close(void);
	
//
// implementation
//
protected:			

	HANDLE mFileHandle;//CreateFile时返回的handle
	OVERLAPPED mOverlapped;//The OVERLAPPED structure contains information used in asynchronous input and output (I/O).
	CRITICAL_SECTION mCritSect;

	BOOL mCheckedBuildDetected;
	BOOL mDemoVersionDetected;

private:
	SP_INTERFACE_DEVICE_DETAIL_DATA* mDevDetail;

};

#endif // !defined(AFX_TEST1394_H__C83279B2_755C_459D_B0A4_C0D057B176A4__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -