📄 codec_io.cod
字号:
; Listing generated by Microsoft (R) Optimizing Compiler Version 14.01.60511.01
TTL D:\WINCE600\PLATFORM\M-stone\SRC\DRIVERS\WAVEDEV2\codec_io.cpp
CODE32
00000 AREA |.drectve|, DRECTVE
DCB "-defaultlib:LIBCMT "
DCB "-defaultlib:OLDNAMES "
00000 AREA |.data|, DATA
|g_hCodecDeviceHandle| DCD 0xffffffff
EXPORT |??_C@_1FI@MNLJPAOG@?$AAG?$AAe?$AAt?$AAC?$AAo?$AAd?$AAe?$AAc?$AAD?$AAe?$AAv?$AAi?$AAc?$AAe?$AAH?$AAa?$AAn?$AAd?$AAl?$AAe?$AA?5?$AAF?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?0?$AA?5?$AAE?$AAr?$AAr@| [ DATA ] ; `string'
EXPORT |??_C@_1M@KDCEPCIJ@?$AAC?$AAD?$AAC?$AA1?$AA?3?$AA?$AA@| [ DATA ] ; `string'
EXPORT |?GetCodecDeviceHandle@@YAHXZ| ; GetCodecDeviceHandle
IMPORT |NKDbgPrintfW|
IMPORT |GetLastError|
IMPORT |CreateFileW|
00000 AREA |.pdata|, PDATA
|$T32106| DCD |$LN9@GetCodecDe|
DCD 0x40002f02
; File d:\wince600\platform\m-stone\src\drivers\wavedev2\codec_io.cpp
00000 AREA |.rdata|, DATA, READONLY
|??_C@_1FI@MNLJPAOG@?$AAG?$AAe?$AAt?$AAC?$AAo?$AAd?$AAe?$AAc?$AAD?$AAe?$AAv?$AAi?$AAc?$AAe?$AAH?$AAa?$AAn?$AAd?$AAl?$AAe?$AA?5?$AAF?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?0?$AA?5?$AAE?$AAr?$AAr@| DCB "G"
DCB 0x0, "e", 0x0, "t", 0x0, "C", 0x0, "o", 0x0, "d", 0x0, "e"
DCB 0x0, "c", 0x0, "D", 0x0, "e", 0x0, "v", 0x0, "i", 0x0, "c"
DCB 0x0, "e", 0x0, "H", 0x0, "a", 0x0, "n", 0x0, "d", 0x0, "l"
DCB 0x0, "e", 0x0, " ", 0x0, "F", 0x0, "a", 0x0, "i", 0x0, "l"
DCB 0x0, "e", 0x0, "d", 0x0, ",", 0x0, " ", 0x0, "E", 0x0, "r"
DCB 0x0, "r", 0x0, "o", 0x0, "r", 0x0, " ", 0x0, "I", 0x0, "D"
DCB 0x0, ":", 0x0, " ", 0x0, "%", 0x0, "d", 0x0, 0xd, 0x0, 0xa
DCB 0x0, 0x0, 0x0 ; `string'
00000 AREA |.rdata|, DATA, READONLY
|??_C@_1M@KDCEPCIJ@?$AAC?$AAD?$AAC?$AA1?$AA?3?$AA?$AA@| DCB "C", 0x0, "D", 0x0
DCB "C", 0x0, "1", 0x0, ":", 0x0, 0x0, 0x0 ; `string'
; Function compile flags: /Odtp
00000 AREA |.text|, CODE, ARM
00000 |?GetCodecDeviceHandle@@YAHXZ| PROC ; GetCodecDeviceHandle
; 52 : {
00000 |$LN9@GetCodecDe|
00000 e52de004 str lr, [sp, #-4]!
00004 e24dd028 sub sp, sp, #0x28
00008 |$M32103|
; 53 : if (g_hCodecDeviceHandle == INVALID_HANDLE_VALUE)
00008 e59f30a4 ldr r3, [pc, #0xA4]
0000c e5933000 ldr r3, [r3]
00010 e3730001 cmn r3, #1
00014 1a00001f bne |$LN2@GetCodecDe|
; 54 : {
; 55 : g_hCodecDeviceHandle = CreateFile(TEXT("CDC1:"),
; 56 : 0,
; 57 : FILE_SHARE_READ | FILE_SHARE_WRITE,
; 58 : NULL, \
; 59 : OPEN_EXISTING,
; 60 : 0,
; 61 : NULL);
00018 e3a03000 mov r3, #0
0001c e58d3008 str r3, [sp, #8]
00020 e3a03000 mov r3, #0
00024 e58d3004 str r3, [sp, #4]
00028 e3a03003 mov r3, #3
0002c e58d3000 str r3, [sp]
00030 e3a03000 mov r3, #0
00034 e3a02003 mov r2, #3
00038 e3a01000 mov r1, #0
0003c e59f0074 ldr r0, [pc, #0x74]
00040 eb000000 bl CreateFileW
00044 e58d001c str r0, [sp, #0x1C]
00048 e59d201c ldr r2, [sp, #0x1C]
0004c e59f3060 ldr r3, [pc, #0x60]
00050 e5832000 str r2, [r3]
; 62 : if(g_hCodecDeviceHandle == INVALID_HANDLE_VALUE) {
00054 e59f3058 ldr r3, [pc, #0x58]
00058 e5933000 ldr r3, [r3]
0005c e3730001 cmn r3, #1
00060 1a00000c bne |$LN1@GetCodecDe|
; 63 : RETAILMSG (1, (_T("GetCodecDeviceHandle Failed, Error ID: %d\r\n"),GetLastError()));
00064 eb000000 bl GetLastError
00068 e58d0020 str r0, [sp, #0x20]
0006c e59d1020 ldr r1, [sp, #0x20]
00070 e59f0038 ldr r0, [pc, #0x38]
00074 eb000000 bl NKDbgPrintfW
00078 e3a03001 mov r3, #1
0007c e58d3024 str r3, [sp, #0x24]
00080 ea000001 b |$LN6@GetCodecDe|
00084 e3a03000 mov r3, #0
00088 e58d3024 str r3, [sp, #0x24]
0008c |$LN6@GetCodecDe|
; 64 : return FALSE;
0008c e3a03000 mov r3, #0
00090 e58d3018 str r3, [sp, #0x18]
00094 ea000001 b |$LN3@GetCodecDe|
00098 |$LN1@GetCodecDe|
00098 |$LN2@GetCodecDe|
; 65 : }
; 66 : }
; 67 :
; 68 : return TRUE;
00098 e3a03001 mov r3, #1
0009c e58d3018 str r3, [sp, #0x18]
000a0 |$LN3@GetCodecDe|
; 69 : }
000a0 e59d0018 ldr r0, [sp, #0x18]
000a4 e28dd028 add sp, sp, #0x28
000a8 e49de004 ldr lr, [sp], #4
000ac e12fff1e bx lr
000b0 |$LN10@GetCodecDe|
000b0 |$LN11@GetCodecDe|
000b0 00000000 DCD |??_C@_1FI@MNLJPAOG@?$AAG?$AAe?$AAt?$AAC?$AAo?$AAd?$AAe?$AAc?$AAD?$AAe?$AAv?$AAi?$AAc?$AAe?$AAH?$AAa?$AAn?$AAd?$AAl?$AAe?$AA?5?$AAF?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?0?$AA?5?$AAE?$AAr?$AAr@|
000b4 |$LN12@GetCodecDe|
000b4 00000000 DCD |g_hCodecDeviceHandle|
000b8 |$LN13@GetCodecDe|
000b8 00000000 DCD |??_C@_1M@KDCEPCIJ@?$AAC?$AAD?$AAC?$AA1?$AA?3?$AA?$AA@|
000bc |$M32104|
ENDP ; |?GetCodecDeviceHandle@@YAHXZ|, GetCodecDeviceHandle
EXPORT |?AudioCodec_Init@@YAHXZ| ; AudioCodec_Init
00008 AREA |.pdata|, PDATA
|$T32116| DCD |$LN5@AudioCodec|
DCD 0x40000a02
; Function compile flags: /Odtp
000bc AREA |.text|, CODE, ARM
000bc |?AudioCodec_Init@@YAHXZ| PROC ; AudioCodec_Init
; 73 : {
000bc |$LN5@AudioCodec|
000bc e52de004 str lr, [sp, #-4]!
000c0 e24dd008 sub sp, sp, #8
000c4 |$M32113|
; 74 : return GetCodecDeviceHandle();
000c4 eb000000 bl |?GetCodecDeviceHandle@@YAHXZ|
000c8 e58d0004 str r0, [sp, #4]
000cc e59d3004 ldr r3, [sp, #4]
000d0 e58d3000 str r3, [sp]
; 75 : }
000d4 e59d0000 ldr r0, [sp]
000d8 e28dd008 add sp, sp, #8
000dc e49de004 ldr lr, [sp], #4
000e0 e12fff1e bx lr
000e4 |$M32114|
ENDP ; |?AudioCodec_Init@@YAHXZ|, AudioCodec_Init
EXPORT |??_C@_1FC@FLKAPEOI@?$AAA?$AAu?$AAd?$AAi?$AAo?$AAC?$AAo?$AAd?$AAe?$AAc?$AAP?$AAo?$AAw?$AAe?$AAr?$AAU?$AAp?$AA?5?$AAF?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?0?$AA?5?$AAE?$AAr?$AAr?$AAo?$AAr?$AA?5@| [ DATA ] ; `string'
EXPORT |?AudioCodecPowerSet@@YAHW4AUDIO_POWER_MODE@@@Z| ; AudioCodecPowerSet
IMPORT |DeviceIoControl|
00010 AREA |.pdata|, PDATA
|$T32128| DCD |$LN13@AudioCodec@2|
DCD 0x40004204
00000 AREA |.rdata|, DATA, READONLY
|??_C@_1FC@FLKAPEOI@?$AAA?$AAu?$AAd?$AAi?$AAo?$AAC?$AAo?$AAd?$AAe?$AAc?$AAP?$AAo?$AAw?$AAe?$AAr?$AAU?$AAp?$AA?5?$AAF?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?0?$AA?5?$AAE?$AAr?$AAr?$AAo?$AAr?$AA?5@| DCB "A"
DCB 0x0, "u", 0x0, "d", 0x0, "i", 0x0, "o", 0x0, "C", 0x0, "o"
DCB 0x0, "d", 0x0, "e", 0x0, "c", 0x0, "P", 0x0, "o", 0x0, "w"
DCB 0x0, "e", 0x0, "r", 0x0, "U", 0x0, "p", 0x0, " ", 0x0, "F"
DCB 0x0, "a", 0x0, "i", 0x0, "l", 0x0, "e", 0x0, "d", 0x0, ","
DCB 0x0, " ", 0x0, "E", 0x0, "r", 0x0, "r", 0x0, "o", 0x0, "r"
DCB 0x0, " ", 0x0, "I", 0x0, "D", 0x0, ":", 0x0, " ", 0x0, "%"
DCB 0x0, "d", 0x0, 0xd, 0x0, 0xa, 0x0, 0x0, 0x0 ; `string'
; Function compile flags: /Odtp
000e4 AREA |.text|, CODE, ARM
000e4 |?AudioCodecPowerSet@@YAHW4AUDIO_POWER_MODE@@@Z| PROC ; AudioCodecPowerSet
; 79 : {
000e4 |$LN13@AudioCodec@2|
000e4 e1a0c00d mov r12, sp
000e8 e92d0001 stmdb sp!, {r0}
000ec e92d5000 stmdb sp!, {r12, lr}
000f0 e24dd040 sub sp, sp, #0x40
000f4 |$M32125|
; 80 : BOOL bRetVal = TRUE;
000f4 e3a03001 mov r3, #1
000f8 e58d3018 str r3, [sp, #0x18]
; 81 :
; 82 : // Power on the Codec (Audio part)
; 83 : CODEC_PARAM_SET_POWER_STATE ParamSetPowerState;
; 84 :
; 85 : ParamSetPowerState.ulDeviceID = DEV_ID_AUDIO;
000fc e3a03002 mov r3, #2
00100 e58d3010 str r3, [sp, #0x10]
; 86 : switch(eAudioPM){
00104 e59d3048 ldr r3, [sp, #0x48]
00108 e58d3030 str r3, [sp, #0x30]
0010c e59d3030 ldr r3, [sp, #0x30]
00110 e3530000 cmp r3, #0
00114 0a000006 beq |$LN4@AudioCodec@2|
00118 e59d3030 ldr r3, [sp, #0x30]
0011c e3530001 cmp r3, #1
00120 0a000006 beq |$LN3@AudioCodec@2|
00124 e59d3030 ldr r3, [sp, #0x30]
00128 e3530002 cmp r3, #2
0012c 0a000006 beq |$LN2@AudioCodec@2|
00130 ea000007 b |$LN5@AudioCodec@2|
00134 |$LN4@AudioCodec@2|
; 87 : case AUDIO_ON:
; 88 : ParamSetPowerState.ulPowerState = DEV_POWER_ON;
00134 e3a03001 mov r3, #1
00138 e58d3014 str r3, [sp, #0x14]
; 89 : break;
0013c ea000004 b |$LN5@AudioCodec@2|
00140 |$LN3@AudioCodec@2|
; 90 : case ADUIO_OFF:
; 91 : ParamSetPowerState.ulPowerState = DEV_POWER_OFF;
00140 e3a03000 mov r3, #0
00144 e58d3014 str r3, [sp, #0x14]
; 92 : break;
00148 ea000001 b |$LN5@AudioCodec@2|
0014c |$LN2@AudioCodec@2|
; 93 : case AUDIO_LPM:
; 94 : ParamSetPowerState.ulPowerState = DEV_POWER_LPM;
0014c e3a03002 mov r3, #2
00150 e58d3014 str r3, [sp, #0x14]
00154 |$LN5@AudioCodec@2|
; 95 : break;
; 96 : }
; 97 :
; 98 : bRetVal = DeviceIoControl(g_hCodecDeviceHandle,
; 99 : REQ_DEV_SET_POWER_STATE,
; 100 : (LPVOID)(&ParamSetPowerState),
; 101 : sizeof(CODEC_PARAM_SET_POWER_STATE),
; 102 : (LPVOID)NULL,
; 103 : 0,
; 104 : NULL,
; 105 : NULL);
00154 e3a03000 mov r3, #0
00158 e58d300c str r3, [sp, #0xC]
0015c e3a03000 mov r3, #0
00160 e58d3008 str r3, [sp, #8]
00164 e3a03000 mov r3, #0
00168 e58d3004 str r3, [sp, #4]
0016c e3a03000 mov r3, #0
00170 e58d3000 str r3, [sp]
00174 e3a03008 mov r3, #8
00178 e28d2010 add r2, sp, #0x10
0017c e3a01106 mov r1, #6, 2
00180 e59f0060 ldr r0, [pc, #0x60]
00184 e5900000 ldr r0, [r0]
00188 eb000000 bl DeviceIoControl
0018c e58d0034 str r0, [sp, #0x34]
00190 e59d3034 ldr r3, [sp, #0x34]
00194 e58d3018 str r3, [sp, #0x18]
; 106 : if(!bRetVal){
00198 e59d3018 ldr r3, [sp, #0x18]
0019c e3530000 cmp r3, #0
001a0 1a000009 bne |$LN1@AudioCodec@2|
; 107 : RETAILMSG (1, (_T("AudioCodecPowerUp Failed, Error ID: %d\r\n"),GetLastError()));
001a4 eb000000 bl GetLastError
001a8 e58d0038 str r0, [sp, #0x38]
001ac e59d1038 ldr r1, [sp, #0x38]
001b0 e59f002c ldr r0, [pc, #0x2C]
001b4 eb000000 bl NKDbgPrintfW
001b8 e3a03001 mov r3, #1
001bc e58d303c str r3, [sp, #0x3C]
001c0 ea000001 b |$LN10@AudioCodec@2|
001c4 e3a03000 mov r3, #0
001c8 e58d303c str r3, [sp, #0x3C]
001cc |$LN10@AudioCodec@2|
001cc |$LN1@AudioCodec@2|
; 108 : }
; 109 :
; 110 : return bRetVal;
001cc e59d3018 ldr r3, [sp, #0x18]
001d0 e58d302c str r3, [sp, #0x2C]
; 111 : }
001d4 e59d002c ldr r0, [sp, #0x2C]
001d8 e28dd040 add sp, sp, #0x40
001dc e89d6000 ldmia sp, {sp, lr}
001e0 e12fff1e bx lr
001e4 |$LN14@AudioCodec@2|
001e4 |$LN15@AudioCodec@2|
001e4 00000000 DCD |??_C@_1FC@FLKAPEOI@?$AAA?$AAu?$AAd?$AAi?$AAo?$AAC?$AAo?$AAd?$AAe?$AAc?$AAP?$AAo?$AAw?$AAe?$AAr?$AAU?$AAp?$AA?5?$AAF?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?0?$AA?5?$AAE?$AAr?$AAr?$AAo?$AAr?$AA?5@|
001e8 |$LN16@AudioCodec@2|
001e8 00000000 DCD |g_hCodecDeviceHandle|
001ec |$M32126|
ENDP ; |?AudioCodecPowerSet@@YAHW4AUDIO_POWER_MODE@@@Z|, AudioCodecPowerSet
EXPORT |??_C@_1EO@GICCHKGC@?$AAA?$AAu?$AAd?$AAi?$AAo?$AAP?$AAa?$AAt?$AAh?$AAE?$AAn?$AAa?$AAb?$AAl?$AAe?$AA?5?$AAF?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?0?$AA?5?$AAE?$AAr?$AAr?$AAo?$AAr?$AA?5?$AAI?$AAD@| [ DATA ] ; `string'
EXPORT |?AudioPathEnable@@YAHIH@Z| ; AudioPathEnable
00018 AREA |.pdata|, PDATA
|$T32143| DCD |$LN8@AudioPathE|
DCD 0x40003304
00000 AREA |.rdata|, DATA, READONLY
|??_C@_1EO@GICCHKGC@?$AAA?$AAu?$AAd?$AAi?$AAo?$AAP?$AAa?$AAt?$AAh?$AAE?$AAn?$AAa?$AAb?$AAl?$AAe?$AA?5?$AAF?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?0?$AA?5?$AAE?$AAr?$AAr?$AAo?$AAr?$AA?5?$AAI?$AAD@| DCB "A"
DCB 0x0, "u", 0x0, "d", 0x0, "i", 0x0, "o", 0x0, "P", 0x0, "a"
DCB 0x0, "t", 0x0, "h", 0x0, "E", 0x0, "n", 0x0, "a", 0x0, "b"
DCB 0x0, "l", 0x0, "e", 0x0, " ", 0x0, "F", 0x0, "a", 0x0, "i"
DCB 0x0, "l", 0x0, "e", 0x0, "d", 0x0, ",", 0x0, " ", 0x0, "E"
DCB 0x0, "r", 0x0, "r", 0x0, "o", 0x0, "r", 0x0, " ", 0x0, "I"
DCB 0x0, "D", 0x0, ":", 0x0, " ", 0x0, "%", 0x0, "d", 0x0, 0xd
DCB 0x0, 0xa, 0x0, 0x0, 0x0 ; `string'
; Function compile flags: /Odtp
001ec AREA |.text|, CODE, ARM
001ec |?AudioPathEnable@@YAHIH@Z| PROC ; AudioPathEnable
; 115 : {
001ec |$LN8@AudioPathE|
001ec e1a0c00d mov r12, sp
001f0 e92d0003 stmdb sp!, {r0, r1}
001f4 e92d5000 stmdb sp!, {r12, lr}
001f8 e24dd03c sub sp, sp, #0x3C
001fc |$M32140|
; 116 : BOOL bRetVal = TRUE;
001fc e3a03001 mov r3, #1
00200 e58d3018 str r3, [sp, #0x18]
; 117 :
; 118 : CODEC_PARAM_SET_PATH CodecPathPara;
; 119 : CodecPathPara.ulAudioPath = uAudioPath;
00204 e59d3044 ldr r3, [sp, #0x44]
00208 e58d3010 str r3, [sp, #0x10]
; 120 : CodecPathPara.bEnable = bIsEnabled;
0020c e59d3048 ldr r3, [sp, #0x48]
00210 e58d3014 str r3, [sp, #0x14]
; 121 :
; 122 : bRetVal = DeviceIoControl(g_hCodecDeviceHandle,
; 123 : REQ_AUDIO_SET_PATH,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -