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

📄 touch.cod

📁 对触摸屏的接口函数(DDI DDSI)以及调用关系作了详细介绍 可作为出次接触Touch Driver的开发人员研究Touch的一个很好的起点
💻 COD
📖 第 1 页 / 共 5 页
字号:
	DCB	0x0, "g", 0x0, 0xa, 0x0, 0x0, 0x0	; `string'

  00000			 AREA	 |.rdata| { |??_C@_1DE@JOMFELBP@?$AA?2?$AAH?$AAa?$AAr?$AAd?$AAw?$AAa?$AAr?$AAe?$AA?2?$AAD?$AAe?$AAv?$AAi?$AAc?$AAe?$AAm?$AAa?$AAp?$AA?2@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_1DE@JOMFELBP@?$AA?2?$AAH?$AAa?$AAr?$AAd?$AAw?$AAa?$AAr?$AAe?$AA?2?$AAD?$AAe?$AAv?$AAi?$AAc?$AAe?$AAm?$AAa?$AAp?$AA?2@| DCB "\\"
	DCB	0x0, "H", 0x0, "a", 0x0, "r", 0x0, "d", 0x0, "w", 0x0, "a"
	DCB	0x0, "r", 0x0, "e", 0x0, "\\", 0x0, "D", 0x0, "e", 0x0, "v"
	DCB	0x0, "i", 0x0, "c", 0x0, "e", 0x0, "m", 0x0, "a", 0x0, "p"
	DCB	0x0, "\\", 0x0, "T", 0x0, "o", 0x0, "u", 0x0, "c", 0x0, "h"
	DCB	0x0, 0x0, 0x0				; `string'
; Function compile flags: /Ogsy

  00000			 AREA	 |.text| { |?TouchPanelpGetRegistry@@YAXPAK00@Z| }, CODE, ARM, SELECTION=1 ; comdat noduplicate

  00000		 |?TouchPanelpGetRegistry@@YAXPAK00@Z| PROC ; TouchPanelpGetRegistry

; 362  : {

  00000		 |$L35479|
  00000	e92d40f0	 stmdb       sp!, {r4 - r7, lr}
  00004	e24dd014	 sub         sp, sp, #0x14
  00008		 |$M35477|
  00008	e1a06002	 mov         r6, r2
  0000c	e1a05001	 mov         r5, r1
  00010	e1a04000	 mov         r4, r0

; 363  :     HKEY hKey;
; 364  :     DWORD dwType;
; 365  :     DWORD dwSize;
; 366  :     DWORD dwStatus;
; 367  : 
; 368  :     dwStatus = RegOpenKeyEx(
; 369  :                     HKEY_LOCAL_MACHINE,
; 370  :                     KEYNAME_TOUCH_DRIVER,
; 371  :                     0,
; 372  :                     0,
; 373  :                     &hKey
; 374  :                     );

  00014	e59f1188	 ldr         r1, [pc, #0x188]
  00018	e28de00c	 add         lr, sp, #0xC
  0001c	e3a03000	 mov         r3, #0
  00020	e3a02000	 mov         r2, #0
  00024	e3a0010a	 mov         r0, #0xA, 2
  00028	e58de000	 str         lr, [sp]
  0002c	eb000000	 bl          RegOpenKeyExW
  00030	e1b07000	 movs        r7, r0

; 375  :                     
; 376  :     if (dwStatus)

  00034	0a00000e	 beq         |$L35003|

; 377  :     {
; 378  :         RETAILMSG(ZONE_INIT | ZONE_WARNING,
; 379  :             (TEXT("TOUCH:TouchPanelpGetRegistry - RegOpenKeyEx(%s) failed %d, using default setting\n"),
; 380  :             KEYNAME_TOUCH_DRIVER, dwStatus));

  00038	e59f1164	 ldr         r1, [pc, #0x164]
  0003c	e59f015c	 ldr         r0, [pc, #0x15C]
  00040	e1a02007	 mov         r2, r7
  00044	eb000000	 bl          NKDbgPrintfW
  00048	e59f1154	 ldr         r1, [pc, #0x154]
  0004c	e59f014c	 ldr         r0, [pc, #0x14C]
  00050	e1a02007	 mov         r2, r7
  00054	eb000000	 bl          WriteDbgMsgToBuffer

; 381  :     	*pdwDebugBitmap=DEFAULT_DEBUG_BITMAP;		// For selective DebugOutput

  00058	e3a03000	 mov         r3, #0
  0005c	e5843000	 str         r3, [r4]

; 382  : 	    *pdwFilterBitmap=DEFAULT_FILTER_BITMAP;		// For Sample Filter Bitmap

  00060	e3a03002	 mov         r3, #2
  00064	e5853000	 str         r3, [r5]

; 383  :         *pdwSamplingDelay=DEFAULT_SAMPLING_DELAY;		// For Sample Delay Tuning

  00068	e3a03004	 mov         r3, #4
  0006c	e5863000	 str         r3, [r6]

; 384  :         return;

  00070	ea000043	 b           |$L34995|
  00074		 |$L35003|

; 385  :     }
; 386  : 
; 387  :     dwSize = sizeof(DWORD);
; 388  :     dwStatus = RegQueryValueEx(
; 389  :                     hKey,
; 390  :                     VALNAME_DEBUG_BITMAP,
; 391  :                     0,
; 392  :                     &dwType,
; 393  :                     (PUCHAR)pdwDebugBitmap,
; 394  :                     &dwSize
; 395  :                     );

  00074	e59d000c	 ldr         r0, [sp, #0xC]
  00078	e59f111c	 ldr         r1, [pc, #0x11C]
  0007c	e3a07004	 mov         r7, #4
  00080	e28de008	 add         lr, sp, #8
  00084	e28d3010	 add         r3, sp, #0x10
  00088	e3a02000	 mov         r2, #0
  0008c	e58d7008	 str         r7, [sp, #8]
  00090	e58de004	 str         lr, [sp, #4]
  00094	e58d4000	 str         r4, [sp]
  00098	eb000000	 bl          RegQueryValueExW
  0009c	e3500000	 cmp         r0, #0

; 396  :                     
; 397  :     if (dwStatus)

  000a0	0a000009	 beq         |$L35008|

; 398  :     {
; 399  :         RETAILMSG(ZONE_INIT | ZONE_WARNING,
; 400  :             (TEXT("TOUCH:TouchPanelpGetRegistry - Failed to get %s value, defaulting to %d\r\n"),
; 401  :             VALNAME_DEBUG_BITMAP, DEFAULT_DEBUG_BITMAP));

  000a4	e59f10f0	 ldr         r1, [pc, #0xF0]
  000a8	e59f00e0	 ldr         r0, [pc, #0xE0]
  000ac	e3a02000	 mov         r2, #0
  000b0	eb000000	 bl          NKDbgPrintfW
  000b4	e59f10e0	 ldr         r1, [pc, #0xE0]
  000b8	e59f00d0	 ldr         r0, [pc, #0xD0]
  000bc	e3a02000	 mov         r2, #0
  000c0	eb000000	 bl          WriteDbgMsgToBuffer

; 402  :         *pdwDebugBitmap = DEFAULT_DEBUG_BITMAP;

  000c4	e3a03000	 mov         r3, #0
  000c8	e5843000	 str         r3, [r4]
  000cc		 |$L35008|

; 403  :     }
; 404  : 
; 405  :     dwSize = sizeof(DWORD);
; 406  :     dwStatus = RegQueryValueEx(
; 407  :                     hKey,
; 408  :                     VALNAME_FILTER_BITMAP,
; 409  :                     0,
; 410  :                     &dwType,
; 411  :                     (PUCHAR)pdwFilterBitmap,
; 412  :                     &dwSize
; 413  :                     );

  000cc	e59d000c	 ldr         r0, [sp, #0xC]
  000d0	e59f10c0	 ldr         r1, [pc, #0xC0]
  000d4	e3a04004	 mov         r4, #4
  000d8	e28de008	 add         lr, sp, #8
  000dc	e28d3010	 add         r3, sp, #0x10
  000e0	e3a02000	 mov         r2, #0
  000e4	e58d4008	 str         r4, [sp, #8]
  000e8	e58de004	 str         lr, [sp, #4]
  000ec	e58d5000	 str         r5, [sp]
  000f0	eb000000	 bl          RegQueryValueExW
  000f4	e3500000	 cmp         r0, #0

; 414  :                     
; 415  :     if (dwStatus)

  000f8	0a000009	 beq         |$L35013|

; 416  :     {
; 417  :         RETAILMSG(ZONE_INIT | ZONE_WARNING,
; 418  :             (TEXT("TOUCH:TouchPanelpGetRegistry - Failed to get %s value, defaulting to %d\r\n"),
; 419  :             VALNAME_FILTER_BITMAP, DEFAULT_FILTER_BITMAP));

  000fc	e59f1094	 ldr         r1, [pc, #0x94]
  00100	e59f0088	 ldr         r0, [pc, #0x88]
  00104	e3a02002	 mov         r2, #2
  00108	eb000000	 bl          NKDbgPrintfW
  0010c	e59f1084	 ldr         r1, [pc, #0x84]
  00110	e59f0078	 ldr         r0, [pc, #0x78]
  00114	e3a02002	 mov         r2, #2
  00118	eb000000	 bl          WriteDbgMsgToBuffer

; 420  :         *pdwFilterBitmap = DEFAULT_FILTER_BITMAP;

  0011c	e3a03002	 mov         r3, #2
  00120	e5853000	 str         r3, [r5]
  00124		 |$L35013|

; 421  :     }
; 422  : 
; 423  :     dwSize = sizeof(DWORD);
; 424  :     dwStatus = RegQueryValueEx(
; 425  :                     hKey,
; 426  :                     VALNAME_SAMPLING_DELAY,
; 427  :                     0,
; 428  :                     &dwType,
; 429  :                     (PUCHAR)pdwSamplingDelay,
; 430  :                     &dwSize
; 431  :                     );

  00124	e59d000c	 ldr         r0, [sp, #0xC]
  00128	e59f1064	 ldr         r1, [pc, #0x64]
  0012c	e3a04004	 mov         r4, #4
  00130	e28de008	 add         lr, sp, #8
  00134	e28d3010	 add         r3, sp, #0x10
  00138	e3a02000	 mov         r2, #0
  0013c	e58d4008	 str         r4, [sp, #8]
  00140	e58de004	 str         lr, [sp, #4]
  00144	e58d6000	 str         r6, [sp]
  00148	eb000000	 bl          RegQueryValueExW
  0014c	e3500000	 cmp         r0, #0

; 432  :                     
; 433  :     if (dwStatus)

  00150	0a000009	 beq         |$L35017|

; 434  :     {
; 435  :         RETAILMSG(ZONE_INIT | ZONE_WARNING,
; 436  :             (TEXT("TOUCH:TouchPanelpGetRegistry - Failed to get %s value, defaulting to %d\r\n"),
; 437  :             VALNAME_SAMPLING_DELAY, DEFAULT_SAMPLING_DELAY));

  00154	e59f1038	 ldr         r1, [pc, #0x38]
  00158	e59f0030	 ldr         r0, [pc, #0x30]
  0015c	e3a02004	 mov         r2, #4
  00160	eb000000	 bl          NKDbgPrintfW
  00164	e59f1028	 ldr         r1, [pc, #0x28]
  00168	e59f0020	 ldr         r0, [pc, #0x20]
  0016c	e3a02004	 mov         r2, #4
  00170	eb000000	 bl          WriteDbgMsgToBuffer

; 438  :         *pdwSamplingDelay = DEFAULT_SAMPLING_DELAY;

  00174	e3a03004	 mov         r3, #4
  00178	e5863000	 str         r3, [r6]
  0017c		 |$L35017|

; 439  :     }
; 440  : 
; 441  : 
; 442  :     RegCloseKey(hKey);    

  0017c	e59d000c	 ldr         r0, [sp, #0xC]
  00180	eb000000	 bl          RegCloseKey
  00184		 |$L34995|

; 443  :     
; 444  :     return;
; 445  : }   // TouchPanelpGetRegistry

  00184	e28dd014	 add         sp, sp, #0x14
  00188	e8bd40f0	 ldmia       sp!, {r4 - r7, lr}
  0018c	e12fff1e	 bx          lr
  00190		 |$L35482|
  00190	00000000	 DCD         |??_C@_1JE@OJAJCOFC@?$AAT?$AAO?$AAU?$AAC?$AAH?$AA?3?$AAT?$AAo?$AAu?$AAc?$AAh?$AAP?$AAa?$AAn?$AAe?$AAl?$AAp?$AAG?$AAe?$AAt@|
  00194	00000000	 DCD         |??_C@_1BO@BOOFKNBK@?$AAS?$AAA?$AAM?$AAP?$AAL?$AAI?$AAN?$AAG?$AA_?$AAD?$AAE?$AAL?$AAA?$AAY?$AA?$AA@|
  00198	00000000	 DCD         |??_C@_1BM@KCFIODG@?$AAF?$AAI?$AAL?$AAT?$AAE?$AAR?$AA_?$AAB?$AAI?$AAT?$AAM?$AAA?$AAP?$AA?$AA@|
  0019c	00000000	 DCD         |??_C@_1BK@HHGLMMJE@?$AAD?$AAE?$AAB?$AAU?$AAG?$AA_?$AAB?$AAI?$AAT?$AAM?$AAA?$AAP?$AA?$AA@|
  001a0	00000000	 DCD         |??_C@_1KE@LLCGBFGC@?$AAT?$AAO?$AAU?$AAC?$AAH?$AA?3?$AAT?$AAo?$AAu?$AAc?$AAh?$AAP?$AAa?$AAn?$AAe?$AAl?$AAp?$AAG?$AAe?$AAt@|
  001a4	00000000	 DCD         |??_C@_1DE@JOMFELBP@?$AA?2?$AAH?$AAa?$AAr?$AAd?$AAw?$AAa?$AAr?$AAe?$AA?2?$AAD?$AAe?$AAv?$AAi?$AAc?$AAe?$AAm?$AAa?$AAp?$AA?2@|
  001a8		 |$M35478|

			 ENDP  ; |?TouchPanelpGetRegistry@@YAXPAK00@Z|, TouchPanelpGetRegistry


  00000			 AREA	 |.text| { |?DeallocateTouchPanelResources@@YAXXZ| }, CODE, ARM, SELECTION=1 ; comdat noduplicate

  00000			 AREA	 |.pdata$$?DeallocateTouchPanelResources@@YAXXZ|, PDATA, SELECTION=5, ASSOC=|.text| { |?DeallocateTouchPanelResources@@YAXXZ| } ; comdat associative
|$T35488| DCD	|$L35487|
	DCD	0x40001300
; Function compile flags: /Ogsy

  00000			 AREA	 |.text| { |?DeallocateTouchPanelResources@@YAXXZ| }, CODE, ARM, SELECTION=1 ; comdat noduplicate

  00000		 |?DeallocateTouchPanelResources@@YAXXZ| PROC ; DeallocateTouchPanelResources

; 548  : {

  00000		 |$L35487|
  00000		 |$M35485|

; 549  :     if (g_pICRegs)

  00000	e59f2040	 ldr         r2, [pc, #0x40]
  00004	e5923008	 ldr         r3, [r2, #8]
  00008	e3530000	 cmp         r3, #0

; 550  :     {
; 551  :         //VirtualFree((void *)g_pICRegs, 0, MEM_RELEASE);
; 552  :         g_pICRegs = NULL;

  0000c	13a03000	 movne       r3, #0
  00010	15823008	 strne       r3, [r2, #8]

; 553  :     }
; 554  :     if (g_pOSTRegs)

  00014	e5923004	 ldr         r3, [r2, #4]
  00018	e3530000	 cmp         r3, #0

; 555  :     {
; 556  :         //VirtualFree((void *)g_pOSTRegs, 0, MEM_RELEASE);
; 557  :         g_pOSTRegs = NULL;

  0001c	13a03000	 movne       r3, #0
  00020	15823004	 strne       r3, [r2, #4]

; 558  :     }
; 559  :     if (g_pGPIORegs)

  00024	e5923000	 ldr         r3, [r2]
  00028	e3530000	 cmp         r3, #0

; 560  :     {
; 561  :         //VirtualFree((void *)g_pGPIORegs, 0, MEM_RELEASE);
; 562  :         g_pGPIORegs = NULL;

  0002c	13a03000	 movne       r3, #0
  00030	15823000	 strne       r3, [r2]

⌨️ 快捷键说明

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