示例代码
以下的宏定义可以在wince6.0的bsp找到
#define DRVESC_OUTPUT_BASE (0x00020100)
#define DRVESC_OUTPUT_RGB (DRVESC_OUTPUT_BASE+0)
#define DRVESC_OUTPUT_TV (DRVESC_OUTPUT_BASE+1)
#define DRVESC_OUTPUT_SWITCH (DRVESC_OUTPUT_BASE+2)
#define DRVESC_TV_DMA_DISABLE (DRVESC_OUTPUT_BASE+10)
#define DRVESC_TV_DMA_PRIMARY (DRVESC_OUTPUT_BASE+11)
#define DRVESC_TV_DMA_OVERLAY (DRVESC_OUTPUT_BASE+12)
#ifndef METHOD_BUFFERED
#define METHOD_BUFFERED (0)
#endif
#ifndef FILE_ANY_ACCESS
#define FILE_ANY_ACCESS (0)
#endif
#ifndef CTL_CODE
#define CTL_CODE(DeviceType, Function, Method, Access) (((DeviceType) << 16) | ((Access) << 14) | ((Function) << 2) | (Method))
#endif
#define FILE_DEVICE_AUDIOSYS 0x8235
#define IOCTL_AUDIOSYS_SELECT_FM CTL_CODE(FILE_DEVICE_AUDIOSYS, 12, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_AUDIOSYS_SELECT_FM_RECIVE CTL_CODE(FILE_DEVICE_AUDIOSYS, 13, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_AUDIOSYS_SELECT_WCDMA_EAR_HF CTL_CODE(FILE_DEVICE_AUDIOSYS, 14, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_AUDIOSYS_SELECT_AVIN CTL_CODE(FILE_DEVICE_AUDIOSYS, 15, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_AUDIOSYS_SELECT_AVOUT CTL_CODE(FILE_DEVICE_AUDIOSYS, 16, METHOD_BUFFERED, FILE_ANY_ACCESS)
void Cav_outDlg::OnBnClickedButton1()
{
HDC hdc;
int EscCode = 6301;
hdc = ::GetDC(NULL);
if (ExtEscape(hdc, 8,sizeof(EscCode), (LPSTR)&EscCode, 0,NULL))
{
ExtEscape(hdc, DRVESC_OUTPUT_TV, 0, NULL, 0, NULL);
//RETAILMSG(1,(TEXT("6410 support EscCode\r\n")));
}
::ReleaseDC(NULL, hdc);
TurnOnAudioToAVOUT(TRUE);
}
void Cav_outDlg::OnBnClickedButton2()
{
// TODO: Add your control notification handler code here
HDC hdc;
int EscCode = 6301;
hdc = ::GetDC(NULL);
if (ExtEscape(hdc, 8,sizeof(EscCode), (LPSTR)&EscCode, 0,NULL))
{
ExtEscape(hdc, DRVESC_OUTPUT_RGB, 0, NULL, 0, NULL);
//RETAILMSG(1,(TEXT("6410 support EscCode\r\n")));
}
::ReleaseDC(NULL, hdc);
TurnOnAudioToAVOUT(FALSE);
}