3969|5

68

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

CTL_CODE(,,,) [复制链接]

1、
// show Camera
//                dwLenIn = 1 : Normal overlay
//                dwLenIn = 4 : Alphablending
//                dwLenIn = 5 : Colorkey overlay
#define IOCTL_CAM_SHOW        CTL_CODE( FILE_DEVICE_VIDEO, 1, METHOD_NEITHER,FILE_ANY_ACCESS)
...
2、
// set Camera
//pBufIn = (LPTSTR)szCameraName;
#define IOCTL_CAM_SETCAMERA                CTL_CODE( FILE_DEVICE_VIDEO, 26, METHOD_IN_DIRECT,FILE_ANY_ACCESS)
1和2这是一个驱动程序中的
CTL_CODE()的功能号 从1直到26,请问1,2,3...26这些功能号个分别代表什么功能?宏定义前面的注释与宏定义本身有什么关系(例如dwLenIn的不同取值是如何通过CTL_CODE实现相关的功能的)?

最新回复

这是摄像头驱动的一部分,camera.cpp 文件中BOOL CIS_IOControl(,,,,,,)函数用到了上面的宏定义: BOOL CIS_IOControl(DWORD hOpenContext,                                    DWORD dwCode,                                    PBYTE pBufIn,                                    DWORD dwLenIn,                                    PBYTE pBufOut,                                    DWORD dwLenOut,                                    PDWORD pdwActualOut) {         BOOL RetVal = TRUE;         DWORD dwErr = ERROR_SUCCESS;         static unsigned int time=0,old_time=0;         switch (dwCode)         {           ...           case IOCTL_CAM_SHOW :               //Show Menu               RETAILMSG(MSG_EN_1,(TEXT("CAMERA:IOCTL_CAM_SHOW(%x)\r\n"),dwLenIn));               break;           case IOCTL_CAM_HIDE :               // Close display window               RETAILMSG(MSG_EN_1,(TEXT("CAMERA:IOCTL_CAM_HIDE\r\n")));               break;               ....          } return true; } 如果dwCode=IOCTL_CAM_HIDE ;是怎么完成Close display window的功能的呢? 我主要是想知道code值不同的意义,在哪儿能够用的到呢?有时如何使用的呢? 我开始学习,有不解之处,谢谢各位指教!  详情 回复 发表于 2010-5-7 16:00
点赞 关注

回复
举报

72

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
没什么意义,就是把每个CODE都唯一标识出来。
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
引用 1 楼 yashi 的回复:

没什么意义,就是把每个CODE都唯一标识出来。


恩 就是一个唯一标示 不重复即可
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

4
 
就是一个标号,用来区别不同的IO_CTL.
 
 
 

回复

86

帖子

0

TA的资源

一粒金砂(初级)

5
 
OEM可以自己定制一些,PUBLIC中定义了一些
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

6
 
这是摄像头驱动的一部分,camera.cpp 文件中BOOL CIS_IOControl(,,,,,,)函数用到了上面的宏定义:
BOOL CIS_IOControl(DWORD hOpenContext,
                                   DWORD dwCode,
                                   PBYTE pBufIn,
                                   DWORD dwLenIn,
                                   PBYTE pBufOut,
                                   DWORD dwLenOut,
                                   PDWORD pdwActualOut)
{
        BOOL RetVal = TRUE;
        DWORD dwErr = ERROR_SUCCESS;
        static unsigned int time=0,old_time=0;

        switch (dwCode)
        {
          ...

          case IOCTL_CAM_SHOW :
              //Show Menu
              RETAILMSG(MSG_EN_1,(TEXT("CAMERA:IOCTL_CAM_SHOW(%x)\r\n"),dwLenIn));
              break;

          case IOCTL_CAM_HIDE :
              // Close display window
              RETAILMSG(MSG_EN_1,(TEXT("CAMERA:IOCTL_CAM_HIDE\r\n")));
              break;
              ....
         }
return true;
}

如果dwCode=IOCTL_CAM_HIDE ;是怎么完成Close display window的功能的呢?
我主要是想知道code值不同的意义,在哪儿能够用的到呢?有时如何使用的呢?
我开始学习,有不解之处,谢谢各位指教!
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表