?? helper.cod
字號:
; Listing generated by Microsoft (R) Optimizing Compiler Version 13.10.4091
TTL C:\WINCE500\PLATFORM\SMDK2410\DRIVERS\atapi\.\helper.cpp
CODE32
00000 AREA |.drectve|, DRECTVE
DCB "-defaultlib:coredll.lib "
DCB "-defaultlib:corelibc.lib "
EXPORT |?AtaGetRegistryValue@@YAHPAUHKEY__@@PAGPAK@Z| ; AtaGetRegistryValue
IMPORT |RegQueryValueExW|
; File c:\wince500\platform\smdk2410\drivers\atapi\helper.cpp
00000 AREA |.text| { |?AtaGetRegistryValue@@YAHPAUHKEY__@@PAGPAK@Z| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$?AtaGetRegistryValue@@YAHPAUHKEY__@@PAGPAK@Z|, PDATA, SELECTION=5, ASSOC=|.text| { |?AtaGetRegistryValue@@YAHPAUHKEY__@@PAGPAK@Z| } ; comdat associative
|$T32050| DCD |$L32049|
DCD 0x40001502
; Function compile flags: /Ogsy
00000 AREA |.text| { |?AtaGetRegistryValue@@YAHPAUHKEY__@@PAGPAK@Z| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |?AtaGetRegistryValue@@YAHPAUHKEY__@@PAGPAK@Z| PROC ; AtaGetRegistryValue
; 14 : {
00000 |$L32049|
00000 e92d4010 stmdb sp!, {r4, lr}
00004 e24dd010 sub sp, sp, #0x10
00008 |$M32047|
00008 e1a04002 mov r4, r2
; 15 :
; 16 : DWORD dwValType, dwValLen;
; 17 : LONG lStatus;
; 18 :
; 19 : dwValLen = sizeof(DWORD);
0000c e3a02004 mov r2, #4
; 20 :
; 21 : lStatus = RegQueryValueEx( hKey, szValueName, NULL, &dwValType, (PBYTE)pdwValue, &dwValLen);
00010 e28d3008 add r3, sp, #8
00014 e58d2008 str r2, [sp, #8]
00018 e58d3004 str r3, [sp, #4]
0001c e28d300c add r3, sp, #0xC
00020 e3a02000 mov r2, #0
00024 e58d4000 str r4, [sp]
00028 eb000000 bl RegQueryValueExW
0002c e3500000 cmp r0, #0
; 22 :
; 23 : if ((lStatus != ERROR_SUCCESS) || (dwValType != REG_DWORD)) {
00030 059d300c ldreq r3, [sp, #0xC]
00034 03530004 cmpeq r3, #4
; 24 : DEBUGMSG( ZONE_HELPER , (TEXT("ATAConfig: RegQueryValueEx(%s) failed -returned %d Error=%08X\r\n"), szValueName, lStatus, GetLastError()));
; 25 : *pdwValue = -1;
00038 13e03000 mvnne r3, #0
; 26 : return FALSE;
; 27 : }
; 28 : DEBUGMSG( ZONE_HELPER, (TEXT("ATAPI: AtaGetRegistryValue(%s) Value(%x) hKey: %x\r\n"), szValueName,*pdwValue,hKey));
; 29 : return TRUE;
0003c 03a00001 moveq r0, #1
00040 15843000 strne r3, [r4]
00044 13a00000 movne r0, #0
; 30 : }
00048 e28dd010 add sp, sp, #0x10
0004c e8bd4010 ldmia sp!, {r4, lr}
00050 e12fff1e bx lr
00054 |$M32048|
ENDP ; |?AtaGetRegistryValue@@YAHPAUHKEY__@@PAGPAK@Z|, AtaGetRegistryValue
EXPORT |?AtaGetRegistryString@@YAHPAUHKEY__@@PAGPAPAGK@Z| ; AtaGetRegistryString
IMPORT |LocalAlloc|
IMPORT |LocalFree|
00000 AREA |.text| { |?AtaGetRegistryString@@YAHPAUHKEY__@@PAGPAPAGK@Z| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$?AtaGetRegistryString@@YAHPAUHKEY__@@PAGPAPAGK@Z|, PDATA, SELECTION=5, ASSOC=|.text| { |?AtaGetRegistryString@@YAHPAUHKEY__@@PAGPAPAGK@Z| } ; comdat associative
|$T32066| DCD |$L32065|
DCD 0x40003202
; Function compile flags: /Ogsy
00000 AREA |.text| { |?AtaGetRegistryString@@YAHPAUHKEY__@@PAGPAPAGK@Z| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |?AtaGetRegistryString@@YAHPAUHKEY__@@PAGPAPAGK@Z| PROC ; AtaGetRegistryString
; 33 : {
00000 |$L32065|
00000 e92d41f0 stmdb sp!, {r4 - r8, lr}
00004 e24dd010 sub sp, sp, #0x10
00008 |$M32063|
00008 e1a05003 mov r5, r3
0000c e1a04002 mov r4, r2
00010 e1a06001 mov r6, r1
00014 e1a07000 mov r7, r0
; 34 : DWORD dwValType, dwValLen;
; 35 : LONG lStatus;
; 36 :
; 37 : dwValLen = 0;
00018 e3a03000 mov r3, #0
; 38 : lStatus = RegQueryValueEx( hKey, szValueName, NULL, &dwValType, NULL, &dwValLen);
0001c e58d3008 str r3, [sp, #8]
00020 e28de008 add lr, sp, #8
00024 e3a08000 mov r8, #0
00028 e28d300c add r3, sp, #0xC
0002c e3a02000 mov r2, #0
00030 e58de004 str lr, [sp, #4]
00034 e58d8000 str r8, [sp]
00038 eb000000 bl RegQueryValueExW
; 39 :
; 40 : if (dwSize && (dwValLen > dwSize)) {
0003c e59d1008 ldr r1, [sp, #8]
00040 e3550000 cmp r5, #0
00044 0a000001 beq |$L31955|
00048 e1510005 cmp r1, r5
; 41 : DEBUGMSG( ZONE_HELPER, (TEXT("ATAConfig: AtaGetRegistryString size specified is too small!!!\r\n")));
; 42 : return FALSE;
0004c 8a000017 bhi |$L32062|
00050 |$L31955|
; 43 : }
; 44 :
; 45 : if ((lStatus != ERROR_SUCCESS) || (dwValType != REG_SZ)) {
00050 e3500000 cmp r0, #0
00054 1a000014 bne |$L31958|
00058 e59d300c ldr r3, [sp, #0xC]
0005c e3530001 cmp r3, #1
00060 1a000011 bne |$L31958|
; 49 : }
; 50 :
; 51 : if (!dwSize)
00064 e3550000 cmp r5, #0
00068 1a000002 bne |$L31960|
; 52 : *pszValue = (PTSTR)LocalAlloc( LPTR, dwValLen);
0006c e3a00040 mov r0, #0x40
00070 eb000000 bl LocalAlloc
00074 e5840000 str r0, [r4]
00078 |$L31960|
; 53 :
; 54 : lStatus = RegQueryValueEx( hKey, szValueName, NULL, &dwValType, (PBYTE)*pszValue, &dwValLen);
00078 e5942000 ldr r2, [r4]
0007c e28de008 add lr, sp, #8
00080 e28d300c add r3, sp, #0xC
00084 e58d2000 str r2, [sp]
00088 e3a02000 mov r2, #0
0008c e1a01006 mov r1, r6
00090 e1a00007 mov r0, r7
00094 e58de004 str lr, [sp, #4]
00098 eb000000 bl RegQueryValueExW
0009c e3500000 cmp r0, #0
; 55 :
; 56 : if (lStatus != ERROR_SUCCESS) {
000a0 0a000006 beq |$L31963|
; 57 : DEBUGMSG( ZONE_HELPER , (TEXT("ATAConfig: RegQueryValueEx(%s) failed -returned %d Error=%08X\r\n"), szValueName, lStatus, GetLastError()));
; 58 : LocalFree( *pszValue);
000a4 e5940000 ldr r0, [r4]
000a8 eb000000 bl LocalFree
000ac |$L31958|
; 46 : DEBUGMSG( ZONE_HELPER , (TEXT("ATAConfig: RegQueryValueEx(%s) failed -returned %d Error=%08X\r\n"), szValueName, lStatus, GetLastError()));
; 47 : *pszValue = NULL;
000ac e5848000 str r8, [r4]
000b0 |$L32062|
; 48 : return FALSE;
000b0 e3a00000 mov r0, #0
000b4 |$L31951|
; 64 : }
000b4 e28dd010 add sp, sp, #0x10
000b8 e8bd41f0 ldmia sp!, {r4 - r8, lr}
000bc e12fff1e bx lr
000c0 |$L31963|
; 59 : *pszValue = NULL;
; 60 : return FALSE;
; 61 : }
; 62 : DEBUGMSG( ZONE_HELPER, (TEXT("ATAPI: AtaGetRegistryString(%s) Value(%s) hKey: %x\r\n"), szValueName,*pszValue, hKey));
; 63 : return TRUE;
000c0 e3a00001 mov r0, #1
000c4 eafffffa b |$L31951|
000c8 |$M32064|
ENDP ; |?AtaGetRegistryString@@YAHPAUHKEY__@@PAGPAPAGK@Z|, AtaGetRegistryString
EXPORT |?AtaSetRegistryValue@@YAHPAUHKEY__@@PAGK@Z| ; AtaSetRegistryValue
IMPORT |RegSetValueExW|
00000 AREA |.text| { |?AtaSetRegistryValue@@YAHPAUHKEY__@@PAGK@Z| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$?AtaSetRegistryValue@@YAHPAUHKEY__@@PAGK@Z|, PDATA, SELECTION=5, ASSOC=|.text| { |?AtaSetRegistryValue@@YAHPAUHKEY__@@PAGK@Z| } ; comdat associative
|$T32077| DCD |$L32076|
DCD 0x40001104
; Function compile flags: /Ogsy
00000 AREA |.text| { |?AtaSetRegistryValue@@YAHPAUHKEY__@@PAGK@Z| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |?AtaSetRegistryValue@@YAHPAUHKEY__@@PAGK@Z| PROC ; AtaSetRegistryValue
; 68 : {
00000 |$L32076|
00000 e1a0c00d mov r12, sp
00004 e92d000f stmdb sp!, {r0 - r3}
00008 e92d5000 stmdb sp!, {r12, lr}
0000c e24dd008 sub sp, sp, #8
00010 |$M32074|
; 69 :
; 70 : DWORD dwValLen;
; 71 : LONG lStatus;
; 72 :
; 73 : dwValLen = sizeof(DWORD);
; 74 :
; 75 : lStatus = RegSetValueEx( hKey, szValueName, 0, REG_DWORD, (PBYTE)&dwValue, dwValLen);
00010 e3a02004 mov r2, #4
00014 e28d3018 add r3, sp, #0x18
00018 e58d2004 str r2, [sp, #4]
0001c e58d3000 str r3, [sp]
00020 e3a03004 mov r3, #4
00024 e3a02000 mov r2, #0
00028 eb000000 bl RegSetValueExW
0002c e3500000 cmp r0, #0
; 76 :
; 77 : if (lStatus != ERROR_SUCCESS) {
; 78 : DEBUGMSG( ZONE_HELPER , (TEXT("ATAConfig: RegQueryValueEx(%s) failed -returned %d Error=%08X\r\n"), szValueName, lStatus, GetLastError()));
; 79 : return FALSE;
00030 13a00000 movne r0, #0
; 80 : }
; 81 : DEBUGMSG( ZONE_HELPER, (TEXT("ATAPI: AtaSetRegistryValue(%s) Value(%x) hKey: %x\r\n"), szValueName, dwValue,hKey));
; 82 : return TRUE;
00034 03a00001 moveq r0, #1
; 83 : }
00038 e28dd008 add sp, sp, #8
0003c e89d6000 ldmia sp, {sp, lr}
00040 e12fff1e bx lr
00044 |$M32075|
ENDP ; |?AtaSetRegistryValue@@YAHPAUHKEY__@@PAGK@Z|, AtaSetRegistryValue
EXPORT |?AtaSetRegistryString@@YAHPAUHKEY__@@PAG1@Z| ; AtaSetRegistryString
IMPORT |wcslen|
00000 AREA |.text| { |?AtaSetRegistryString@@YAHPAUHKEY__@@PAG1@Z| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$?AtaSetRegistryString@@YAHPAUHKEY__@@PAG1@Z|, PDATA, SELECTION=5, ASSOC=|.text| { |?AtaSetRegistryString@@YAHPAUHKEY__@@PAG1@Z| } ; comdat associative
|$T32090| DCD |$L32089|
DCD 0x40001602
; Function compile flags: /Ogsy
00000 AREA |.text| { |?AtaSetRegistryString@@YAHPAUHKEY__@@PAG1@Z| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |?AtaSetRegistryString@@YAHPAUHKEY__@@PAG1@Z| PROC ; AtaSetRegistryString
; 87 : {
00000 |$L32089|
00000 e92d4070 stmdb sp!, {r4 - r6, lr}
00004 e24dd008 sub sp, sp, #8
00008 |$M32087|
00008 e1a06002 mov r6, r2
0000c e1a04001 mov r4, r1
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -