亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? dlgpgallocateaddressrange.cpp

?? 1394測試程序
?? CPP
字號:
// DlgPgAllocateAddressRange.cpp : implementation file
//

#include "stdafx.h"
#include "testapp.h"
#include "DlgPgAllocateAddressRange.h"
#include "ddx_ex.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CDlgPgAllocateAddressRange dialog


CDlgPgAllocateAddressRange::CDlgPgAllocateAddressRange(CWnd* pParent /*=NULL*/)
	: CDialogPage(CDlgPgAllocateAddressRange::IDD, pParent)
{
	//{{AFX_DATA_INIT(CDlgPgAllocateAddressRange)
	m_bUseBigEndian = FALSE;	
	
	m_bReadType = TRUE;
	m_bWriteType = TRUE;
	m_bLockType = TRUE;
	m_bBroadcastType = FALSE;

	m_dwCompOffsetHi = 0;
	m_dwCompOffsetLo = 0;
	m_dwLength = 512;
	m_dwMaxSegmentSize = 0;		
	
	m_nMeans = 0;
	m_bReadNotification = FALSE;
	m_bWriteNotification = FALSE;
	m_bLockNotification = FALSE;
	m_bNoNotification = TRUE;
	//}}AFX_DATA_INIT
}


void CDlgPgAllocateAddressRange::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CDlgPgAllocateAddressRange)
	DDX_Check(pDX, IDC_CHECK_BIG_ENDIAN, m_bUseBigEndian);
	DDX_Check(pDX, IDC_CHECK_LOCK_NOTIFICATION, m_bLockNotification);
	DDX_Check(pDX, IDC_CHECK_LOCK_TYPE, m_bLockType);
	DDX_Check(pDX, IDC_CHECK_READ_NOTIFICATION, m_bReadNotification);
	DDX_Check(pDX, IDC_CHECK_READ_TYPE, m_bReadType);
	DDX_Check(pDX, IDC_CHECK_WRITE_TYPE, m_bWriteType);
//	DDX_Text(pDX, IDC_EDIT_COMPUTER_OFFSET_HIGH, m_dwCompOffsetHi);
//	DDX_Text(pDX, IDC_EDIT_COMPUTER_OFFSET_LOW, m_dwCompOffsetLo);
	DDX_Text(pDX, IDC_EDIT_LENGTH, m_dwLength);
	DDX_Text(pDX, IDC_EDIT_MAX_SEGMENT_SIZE, m_dwMaxSegmentSize);
	DDX_Check(pDX, IDC_CHECK_NO_NOTIFICATION, m_bNoNotification);
	DDX_Check(pDX, IDC_CHECK_BROADCAST_TYPE, m_bBroadcastType);
	DDX_Check(pDX, IDC_CHECK_WRITE_NOTIFICATION, m_bWriteNotification);
	DDX_Radio(pDX, IDC_RADIO_NO_NOTIFY_BUS, m_nMeans);
	//}}AFX_DATA_MAP
	UINT nIDPrompt = IDS_STRING_INVALID_NUM;
	LPCTSTR format;

	// address offset
	format = _T("0x%X");

	DDX_TextEx(pDX, IDC_EDIT_COMPUTER_OFFSET_HIGH, format, m_dwCompOffsetHi, nIDPrompt);
	DDX_TextEx(pDX, IDC_EDIT_COMPUTER_OFFSET_LOW, format, m_dwCompOffsetLo, nIDPrompt);
}


BEGIN_MESSAGE_MAP(CDlgPgAllocateAddressRange, CDialog)
	//{{AFX_MSG_MAP(CDlgPgAllocateAddressRange)
	ON_BN_CLICKED(IDC_CHECK_BROADCAST_TYPE, OnCheckBroadcastType)
	ON_BN_CLICKED(IDC_CHECK_LOCK_TYPE, OnCheckLockType)
	ON_BN_CLICKED(IDC_CHECK_READ_TYPE, OnCheckReadType)
	ON_BN_CLICKED(IDC_CHECK_WRITE_TYPE, OnCheckWriteType)
	ON_BN_CLICKED(IDC_CHECK_NO_NOTIFICATION, OnCheckNoNotification)
	ON_BN_CLICKED(IDC_CHECK_READ_NOTIFICATION, OnCheckReadNotification)
	ON_BN_CLICKED(IDC_CHECK_WRITE_NOTIFICATION, OnCheckWriteNotification)
	ON_BN_CLICKED(IDC_CHECK_LOCK_NOTIFICATION, OnCheckLockNotification)
	ON_BN_CLICKED(IDC_BUTTON_ALLOCATE_ADDRESS_RANGE, OnButtonAllocateAddressRange)
	ON_BN_CLICKED(IDC_BUTTON_FREE_ADDRESS_RANGE, OnButtonFreeAddressRange)
	ON_BN_CLICKED(IDC_RADIO_NO_NOTIFY_BUS, OnRadioNoNotifyBus)
	ON_BN_CLICKED(IDC_RADIO_NO_NOTIFY_PORT, OnRadioNoNotifyPort)
	ON_BN_CLICKED(IDC_RADIO_NOTIFY_MDL, OnRadioNotifyMdl)
	ON_BN_CLICKED(IDC_RADIO_NOTIFY_FIFO, OnRadioNotifyFifo)
	ON_BN_CLICKED(IDC_RADIO_NOTIFY_DEVICE, OnRadioNotifyDevice)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CDlgPgAllocateAddressRange message handlers
void CDlgPgAllocateAddressRange::OnCheckBroadcastType() 
{
	if( m_bBroadcastType )//以前的值
	{
		m_bReadType = TRUE;
		m_bWriteType = TRUE;
		m_bLockType = TRUE;
		m_bBroadcastType = FALSE;
	}
	else
	{
		m_bReadType = FALSE;
		m_bWriteType = FALSE;
		m_bLockType = FALSE;
		m_bBroadcastType = TRUE;
	}
	UpdateData(FALSE);
}

void CDlgPgAllocateAddressRange::OnCheckLockType() 
{
	if( m_bWriteType == TRUE || m_bReadType == TRUE )
		m_bLockType = !m_bLockType;
	else m_bLockType = TRUE;
	if( m_bLockType == TRUE )
		m_bBroadcastType = FALSE;
	UpdateData(FALSE);
}

void CDlgPgAllocateAddressRange::OnCheckReadType() 
{
	if( m_bWriteType == TRUE || m_bLockType == TRUE )
		m_bReadType = !m_bReadType;
	else m_bReadType = TRUE;
	if( m_bReadType == TRUE )
		m_bBroadcastType = FALSE;
	UpdateData(FALSE);
}

void CDlgPgAllocateAddressRange::OnCheckWriteType() 
{
	if( m_bReadType == TRUE || m_bLockType == TRUE )
		m_bWriteType = !m_bWriteType;
	else m_bWriteType = TRUE;
	if( m_bWriteType == TRUE )
		m_bBroadcastType = FALSE;
	UpdateData(FALSE);
}

void CDlgPgAllocateAddressRange::OnCheckNoNotification() 
{
	//狀態不變
	UpdateData(FALSE);
}

void CDlgPgAllocateAddressRange::OnCheckReadNotification() 
{
	if( m_nMeans == 0 || m_nMeans == 1 || m_nMeans == 3 || m_nMeans ==4 )
	{//狀態不變
		UpdateData(FALSE);
		return;
	}
	if( m_nMeans == 2 )
	{
		if( m_bWriteNotification == TRUE || m_bLockNotification == TRUE )
			m_bReadNotification = !m_bReadNotification;
		else m_bReadNotification = TRUE;
		UpdateData(FALSE);
		return;
	}	
}

void CDlgPgAllocateAddressRange::OnCheckWriteNotification() 
{
	if( m_nMeans == 0 || m_nMeans == 1 || m_nMeans ==3 || m_nMeans ==4 )
	{//狀態不變
		UpdateData(FALSE);
		return;
	}
	if( m_nMeans == 2 )
	{
		if( m_bReadNotification == TRUE || m_bLockNotification == TRUE )
			m_bWriteNotification = !m_bWriteNotification;
		else m_bWriteNotification = TRUE;
		UpdateData(FALSE);
		return;
	}	
}

void CDlgPgAllocateAddressRange::OnCheckLockNotification() 
{
	if( m_nMeans == 0 || m_nMeans == 1 || m_nMeans == 3 || m_nMeans ==4 )
	{//狀態不變
		UpdateData(FALSE);
		return;
	}
	if( m_nMeans == 2 )
	{
		if( m_bWriteNotification == TRUE || m_bReadNotification == TRUE )
			m_bLockNotification = !m_bLockNotification;
		else m_bLockNotification = TRUE;
		UpdateData(FALSE);
		return;
	}	
}

void CDlgPgAllocateAddressRange::OnButtonAllocateAddressRange() 
{
	/*
	typedef struct _ALLOCATE_ADDRESS_RANGE 
	{
		ULONG           fulAllocateFlags;//Means
		ULONG           fulFlags;//一個字由兩個字節N,N+1組成。big-endian:N的左邊為最高位,N+1的右邊為最低位;little-endian:N的右邊為最低位,N+1的左邊為最高位
		ULONG           nLength;
		ULONG           MaxSegmentSize;
		ULONG           fulAccessType;
		ULONG           fulNotificationOptions;
		ADDRESS_OFFSET  Required1394Offset;
		HANDLE          hAddressRange;
		UCHAR           Data[1];
	} ALLOCATE_ADDRESS_RANGE, *PALLOCATE_ADDRESS_RANGE;
	*/
	ALLOCATE_ADDRESS_RANGE allocateAddressRange;
    DWORD                  Status;

//    TRACE(TL_TRACE, (hWnd, "Enter w1394_AllocateAddressRange\r\n"));
    //得到用戶指定的值
	UpdateData(TRUE);
	if( m_dwCompOffsetHi < 0 || m_dwCompOffsetLo < 0 )
	{
		MessageBox("請指定適當的數據!");
		return;
	}
	allocateAddressRange.fulAllocateFlags = m_nMeans;
	allocateAddressRange.fulFlags = 0;
	if( m_bUseBigEndian )
		allocateAddressRange.fulFlags = BIG_ENDIAN_ADDRESS_RANGE;
	allocateAddressRange.nLength = m_dwLength;
	allocateAddressRange.MaxSegmentSize = m_dwMaxSegmentSize;
	if( m_bBroadcastType )
		allocateAddressRange.fulAccessType = ACCESS_FLAGS_TYPE_BROADCAST;
	else
	{
		allocateAddressRange.fulAccessType = 0;		
		if( m_bReadType )	
			allocateAddressRange.fulAccessType |= ACCESS_FLAGS_TYPE_READ;
		if( m_bWriteType )	
			allocateAddressRange.fulAccessType |= ACCESS_FLAGS_TYPE_WRITE;
		if( m_bLockType )	
			allocateAddressRange.fulAccessType |= ACCESS_FLAGS_TYPE_LOCK;
	}

	if( m_bNoNotification )
		allocateAddressRange.fulNotificationOptions = NOTIFY_FLAGS_NEVER;
	else
	{
		allocateAddressRange.fulNotificationOptions = 0;
		if( m_bReadNotification )
			allocateAddressRange.fulNotificationOptions |= NOTIFY_FLAGS_AFTER_READ;
		if( m_bWriteNotification )
			allocateAddressRange.fulNotificationOptions |= NOTIFY_FLAGS_AFTER_WRITE;
		if( m_bLockNotification )
			allocateAddressRange.fulNotificationOptions |= NOTIFY_FLAGS_AFTER_LOCK;
	}
	allocateAddressRange.Required1394Offset.Off_High = (USHORT)m_dwCompOffsetHi; 
	allocateAddressRange.Required1394Offset.Off_Low = m_dwCompOffsetLo;
	
	//開辟傳給驅動的存儲空間
	PALLOCATE_ADDRESS_RANGE pAllocateAddressRange;
	ULONG ulBufferSize;

	ulBufferSize = sizeof(ALLOCATE_ADDRESS_RANGE) + allocateAddressRange.nLength;//去掉應用程序開辟的數據緩沖區
//	ulBufferSize = sizeof(ALLOCATE_ADDRESS_RANGE);
    pAllocateAddressRange = (PALLOCATE_ADDRESS_RANGE)LocalAlloc(LPTR, ulBufferSize);
    FillMemory(pAllocateAddressRange, ulBufferSize, 0);
    *pAllocateAddressRange = allocateAddressRange;

	Status = g_CurrentDev.AllocateAddressRange(pAllocateAddressRange,ulBufferSize);
	if ( Status == STATUS_SUCCESS ) 
	{
		PrintOut(NL"AllocateAddressRange Success!"NL);
	} 
	else 
	{
		Status = GetLastError();
		PrintOut(NL"AllocateAddressRange failed"NL);
		PrintError(Status);
	}	
	PrintOut(NL);

	LocalFree(pAllocateAddressRange);
}

void CDlgPgAllocateAddressRange::OnButtonFreeAddressRange() 
{
	MessageBox("free addressrange!");
}

void CDlgPgAllocateAddressRange::OnRadioNoNotifyBus() 
{
	UpdateData();
	m_bReadNotification = FALSE;
	m_bWriteNotification = FALSE;
	m_bLockNotification = FALSE;
	m_bNoNotification = TRUE;
	m_nMeans = 0;
	UpdateData(FALSE);
}

void CDlgPgAllocateAddressRange::OnRadioNoNotifyPort() 
{
	m_bReadNotification = FALSE;
	m_bWriteNotification = FALSE;
	m_bLockNotification = FALSE;
	m_bNoNotification = TRUE;
	m_nMeans = 1;
	UpdateData(FALSE);
}

void CDlgPgAllocateAddressRange::OnRadioNotifyMdl() 
{
	m_bReadNotification = TRUE;
	m_bWriteNotification = TRUE;
	m_bLockNotification = TRUE;
	m_bNoNotification = FALSE;
	m_nMeans = 2;
	UpdateData(FALSE);
}

void CDlgPgAllocateAddressRange::OnRadioNotifyFifo() 
{
	m_bReadNotification = FALSE;
	m_bWriteNotification = TRUE;
	m_bLockNotification = FALSE;
	m_bNoNotification = FALSE;
	m_nMeans = 3;
	UpdateData(FALSE);
}

void CDlgPgAllocateAddressRange::OnRadioNotifyDevice() 
{
	m_bReadNotification = FALSE;
	m_bWriteNotification = FALSE;
	m_bLockNotification = FALSE;
	m_bNoNotification = FALSE;
	m_nMeans = 4;
	UpdateData(FALSE);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕一区二区三| 在线一区二区三区四区五区 | 成人精品视频.| 国产欧美精品一区二区色综合朱莉| 精品亚洲国内自在自线福利| 欧美成人性战久久| 国产精品一区专区| 国产精品日日摸夜夜摸av| 成人精品小蝌蚪| 亚洲丝袜制服诱惑| 91黄色免费观看| 午夜av一区二区| 久久久久亚洲综合| 91在线云播放| 婷婷激情综合网| 久久青草国产手机看片福利盒子| 国产激情偷乱视频一区二区三区| 国产精品久久久久久久久快鸭| av电影在线观看不卡| 亚洲高清视频在线| 精品国产伦一区二区三区观看体验| 国产精品一区免费在线观看| 国产精品久久久久久久久果冻传媒| 色呦呦日韩精品| 免费观看成人鲁鲁鲁鲁鲁视频| 亚洲日本丝袜连裤袜办公室| 91福利资源站| 久草这里只有精品视频| 国产精品妹子av| 欧美妇女性影城| 成人三级伦理片| 日韩av中文在线观看| 国产精品三级视频| 欧美一区二区三区的| 成人一区在线看| 欧美a一区二区| 一区二区三区日韩精品视频| 精品欧美一区二区在线观看| 色综合天天综合在线视频| 热久久一区二区| 亚洲免费在线观看视频| ww亚洲ww在线观看国产| 欧美性大战久久久久久久蜜臀 | 国产乱妇无码大片在线观看| 亚洲精品国产高清久久伦理二区| 欧美精品一区二区蜜臀亚洲| 日本黄色一区二区| 高清在线不卡av| 久久国产尿小便嘘嘘| 亚洲自拍偷拍九九九| 国产精品乱人伦| 久久中文娱乐网| 欧美一区二区三区四区久久| 色婷婷综合久久久久中文一区二区 | 中文字幕免费不卡| 欧美成人三级在线| 欧美精品免费视频| 在线一区二区视频| 久久国产免费看| 日韩在线卡一卡二| 亚洲自拍偷拍综合| 亚洲乱码国产乱码精品精小说 | 毛片av一区二区| 亚洲午夜久久久久久久久电影院 | 国产自产v一区二区三区c| 一二三区精品福利视频| 亚洲欧洲美洲综合色网| 久久精品一区二区三区av| 日韩欧美国产系列| 7777精品伊人久久久大香线蕉最新版| 91福利视频久久久久| 99久久国产综合色|国产精品| 国产乱国产乱300精品| 黄色小说综合网站| 黄色日韩网站视频| 国产一区美女在线| 国产精品亚洲成人| 国产成人一区在线| 成人激情免费视频| 99久久er热在这里只有精品15 | 97se亚洲国产综合在线| 国模冰冰炮一区二区| 日韩高清在线电影| 青青草91视频| 日本亚洲三级在线| 婷婷亚洲久悠悠色悠在线播放 | 亚洲精品美腿丝袜| 国产精品少妇自拍| 制服视频三区第一页精品| 日韩欧美资源站| 91精品国产综合久久精品app | 在线一区二区三区做爰视频网站| 粉嫩av一区二区三区| 风间由美性色一区二区三区| 韩国v欧美v日本v亚洲v| 激情都市一区二区| 国产一区二区美女| 国产成人日日夜夜| 成人免费看视频| 国产一区二区在线影院| 精品一区二区三区在线播放| 久久电影国产免费久久电影| 蜜臀91精品一区二区三区| 日本欧美一区二区三区乱码| 轻轻草成人在线| 狠狠网亚洲精品| 日韩1区2区3区| 国产成人免费视频网站| 不卡视频一二三四| 日本乱人伦一区| 欧美日本在线观看| 欧美一级在线免费| 欧美精品一区二区精品网| 精品国产一区二区三区忘忧草| 久久亚洲一级片| 中文字幕av一区 二区| 亚洲免费资源在线播放| 偷窥少妇高潮呻吟av久久免费 | 国产色一区二区| 亚洲欧美国产毛片在线| 日韩国产欧美视频| 久久99精品久久只有精品| 国产成人精品免费视频网站| yourporn久久国产精品| 色国产精品一区在线观看| 欧美日韩电影在线播放| 欧美白人最猛性xxxxx69交| 中文字幕一区二区三区四区| 亚洲综合色丁香婷婷六月图片| 亚洲精品视频在线观看免费| 老司机精品视频导航| 99精品视频一区二区| 欧美日本在线看| 国产欧美精品一区二区三区四区| 亚洲黄网站在线观看| 极品少妇xxxx偷拍精品少妇| 欧美色区777第一页| 精品少妇一区二区三区视频免付费| 亚洲国产精品高清| 午夜电影久久久| 国产精品一二三四区| 欧美日韩在线综合| 717成人午夜免费福利电影| 亚洲视频在线一区二区| 蜜臀av国产精品久久久久| 99久久精品情趣| 欧美r级电影在线观看| 亚洲乱码一区二区三区在线观看| 丝袜诱惑制服诱惑色一区在线观看 | 亚洲成a人片在线不卡一二三区| 亚洲高清一区二区三区| 成人黄色小视频| 欧美一级专区免费大片| 亚洲黄色小视频| 国产精品一区二区久久精品爱涩| 精品1区2区3区| 久久久久久久久久久久电影 | 精品婷婷伊人一区三区三| 欧美一区二区黄色| 亚洲乱码国产乱码精品精小说 | 91浏览器在线视频| 久久久青草青青国产亚洲免观| 亚洲成人激情av| 色婷婷精品大视频在线蜜桃视频 | 精品中文字幕一区二区| 欧美亚洲国产bt| 亚洲天堂网中文字| 国产一区高清在线| 久久女同性恋中文字幕| 麻豆视频一区二区| 欧美精品三级日韩久久| 尤物视频一区二区| 91免费视频大全| 中文字幕欧美一| 国产成人av一区二区| 久久色视频免费观看| 美脚の诱脚舐め脚责91 | 成人黄色电影在线| 欧美国产精品v| 福利91精品一区二区三区| 色婷婷香蕉在线一区二区| 亚洲精品videosex极品| 91性感美女视频| 亚洲精品国产a久久久久久| 91美女福利视频| 在线播放一区二区三区| 亚洲国产精品人人做人人爽| 色素色在线综合| 玉米视频成人免费看| 欧美性生活一区| 亚洲成人av一区二区| 欧美性大战久久| 久久se这里有精品| 久久午夜电影网| 高清成人免费视频| 国产精品对白交换视频| 国产精品一线二线三线精华| 国产欧美精品在线观看| 日本美女一区二区三区| 亚洲精品一线二线三线无人区|