📄 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 |?GetCodecDeviceHandle@@YAHXZ| ; GetCodecDeviceHandle
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'
IMPORT |NKDbgPrintfW|
IMPORT |GetLastError|
IMPORT |CreateFileW|
; File d:\wince600\platform\m-stone\src\drivers\wavedev2\codec_io.cpp
00000 AREA |.pdata|, PDATA
|$T32135| DCD |$LN9@GetCodecDe|
DCD 0x40002002
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: /Ogspy
00000 AREA |.text|, CODE, ARM
00000 |?GetCodecDeviceHandle@@YAHXZ| PROC ; GetCodecDeviceHandle
; 52 : {
00000 |$LN9@GetCodecDe|
00000 e92d4030 stmdb sp!, {r4, r5, lr}
00004 e24dd00c sub sp, sp, #0xC
00008 |$M32132|
; 53 : if (g_hCodecDeviceHandle == INVALID_HANDLE_VALUE)
00008 e59f406c ldr r4, [pc, #0x6C]
0000c e5943000 ldr r3, [r4]
00010 e3730001 cmn r3, #1
00014 1a000012 bne |$LN1@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 e59f0058 ldr r0, [pc, #0x58]
0001c e3a05003 mov r5, #3
00020 e3a0e000 mov lr, #0
00024 e3a03000 mov r3, #0
00028 e3a02003 mov r2, #3
0002c e3a01000 mov r1, #0
00030 e58de008 str lr, [sp, #8]
00034 e58de004 str lr, [sp, #4]
00038 e58d5000 str r5, [sp]
0003c eb000000 bl CreateFileW
00040 e5840000 str r0, [r4]
; 62 : if(g_hCodecDeviceHandle == INVALID_HANDLE_VALUE) {
00044 e3700001 cmn r0, #1
00048 1a000005 bne |$LN1@GetCodecDe|
; 63 : RETAILMSG (1, (_T("GetCodecDeviceHandle Failed, Error ID: %d\r\n"),GetLastError()));
0004c eb000000 bl GetLastError
00050 e1a01000 mov r1, r0
00054 e59f0018 ldr r0, [pc, #0x18]
00058 eb000000 bl NKDbgPrintfW
; 64 : return FALSE;
0005c e3a00000 mov r0, #0
00060 ea000000 b |$LN3@GetCodecDe|
00064 |$LN1@GetCodecDe|
; 65 : }
; 66 : }
; 67 :
; 68 : return TRUE;
00064 e3a00001 mov r0, #1
00068 |$LN3@GetCodecDe|
; 69 : }
00068 e28dd00c add sp, sp, #0xC
0006c e8bd4030 ldmia sp!, {r4, r5, lr}
00070 e12fff1e bx lr
00074 |$LN10@GetCodecDe|
00074 |$LN11@GetCodecDe|
00074 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@|
00078 |$LN12@GetCodecDe|
00078 00000000 DCD |??_C@_1M@KDCEPCIJ@?$AAC?$AAD?$AAC?$AA1?$AA?3?$AA?$AA@|
0007c |$LN13@GetCodecDe|
0007c 00000000 DCD |g_hCodecDeviceHandle|
00080 |$M32133|
ENDP ; |?GetCodecDeviceHandle@@YAHXZ|, GetCodecDeviceHandle
EXPORT |?AudioCodec_Init@@YAHXZ| ; AudioCodec_Init
00000 AREA |.pdata|, PDATA
|$T32148| DCD |$LN5@AudioCodec|
DCD 0x40000401
; Function compile flags: /Ogspy
00000 AREA |.text|, CODE, ARM
00000 |?AudioCodec_Init@@YAHXZ| PROC ; AudioCodec_Init
; 73 : {
00000 |$LN5@AudioCodec|
00000 e52de004 str lr, [sp, #-4]!
00004 |$M32145|
; 74 : return GetCodecDeviceHandle();
00004 eb000000 bl |?GetCodecDeviceHandle@@YAHXZ|
; 75 : }
00008 e49de004 ldr lr, [sp], #4
0000c e12fff1e bx lr
00010 |$M32146|
ENDP ; |?AudioCodec_Init@@YAHXZ|, AudioCodec_Init
EXPORT |?AudioCodecPowerSet@@YAHW4AUDIO_POWER_MODE@@@Z| ; AudioCodecPowerSet
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'
IMPORT |DeviceIoControl|
00000 AREA |.pdata|, PDATA
|$T32162| DCD |$LN14@AudioCodec@2|
DCD 0x40002702
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: /Ogspy
00000 AREA |.text|, CODE, ARM
00000 |?AudioCodecPowerSet@@YAHW4AUDIO_POWER_MODE@@@Z| PROC ; AudioCodecPowerSet
; 79 : {
00000 |$LN14@AudioCodec@2|
00000 e92d4010 stmdb sp!, {r4, lr}
00004 e24dd018 sub sp, sp, #0x18
00008 |$M32159|
00008 e3500000 cmp r0, #0
; 80 : BOOL bRetVal = TRUE;
; 81 :
; 82 : // Power on the Codec (Audio part)
; 83 : CODEC_PARAM_SET_POWER_STATE ParamSetPowerState;
; 84 :
; 85 : ParamSetPowerState.ulDeviceID = DEV_ID_AUDIO;
0000c e3a03002 mov r3, #2
00010 e58d3010 str r3, [sp, #0x10]
; 86 : switch(eAudioPM){
00014 0a000007 beq |$LN4@AudioCodec@2|
00018 e3500001 cmp r0, #1
0001c 0a000003 beq |$LN3@AudioCodec@2|
00020 e3500002 cmp r0, #2
00024 1a000005 bne |$LN5@AudioCodec@2|
; 93 : case AUDIO_LPM:
; 94 : ParamSetPowerState.ulPowerState = DEV_POWER_LPM;
00028 e3a03002 mov r3, #2
; 95 : break;
0002c ea000002 b |$LN11@AudioCodec@2|
00030 |$LN3@AudioCodec@2|
; 89 : break;
; 90 : case ADUIO_OFF:
; 91 : ParamSetPowerState.ulPowerState = DEV_POWER_OFF;
00030 e3a03000 mov r3, #0
; 92 : break;
00034 ea000000 b |$LN11@AudioCodec@2|
00038 |$LN4@AudioCodec@2|
; 87 : case AUDIO_ON:
; 88 : ParamSetPowerState.ulPowerState = DEV_POWER_ON;
00038 e3a03001 mov r3, #1
0003c |$LN11@AudioCodec@2|
0003c e58d3014 str r3, [sp, #0x14]
00040 |$LN5@AudioCodec@2|
; 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);
00040 e59f2050 ldr r2, [pc, #0x50]
00044 e3a0e000 mov lr, #0
00048 e3a03008 mov r3, #8
0004c e5920000 ldr r0, [r2]
00050 e28d2010 add r2, sp, #0x10
00054 e3a01106 mov r1, #6, 2
00058 e58de00c str lr, [sp, #0xC]
0005c e58de008 str lr, [sp, #8]
00060 e58de004 str lr, [sp, #4]
00064 e58de000 str lr, [sp]
00068 eb000000 bl DeviceIoControl
0006c e1b04000 movs r4, r0
; 106 : if(!bRetVal){
00070 1a000003 bne |$LN10@AudioCodec@2|
; 107 : RETAILMSG (1, (_T("AudioCodecPowerUp Failed, Error ID: %d\r\n"),GetLastError()));
00074 eb000000 bl GetLastError
00078 e1a01000 mov r1, r0
0007c e59f0010 ldr r0, [pc, #0x10]
00080 eb000000 bl NKDbgPrintfW
00084 |$LN10@AudioCodec@2|
; 108 : }
; 109 :
; 110 : return bRetVal;
; 111 : }
00084 e1a00004 mov r0, r4
00088 e28dd018 add sp, sp, #0x18
0008c e8bd4010 ldmia sp!, {r4, lr}
00090 e12fff1e bx lr
00094 |$LN15@AudioCodec@2|
00094 |$LN16@AudioCodec@2|
00094 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@|
00098 |$LN17@AudioCodec@2|
00098 00000000 DCD |g_hCodecDeviceHandle|
0009c |$M32160|
ENDP ; |?AudioCodecPowerSet@@YAHW4AUDIO_POWER_MODE@@@Z|, AudioCodecPowerSet
EXPORT |?AudioPathEnable@@YAHIH@Z| ; AudioPathEnable
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'
00000 AREA |.pdata|, PDATA
|$T32178| DCD |$LN8@AudioPathE|
DCD 0x40001f02
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: /Ogspy
00000 AREA |.text|, CODE, ARM
00000 |?AudioPathEnable@@YAHIH@Z| PROC ; AudioPathEnable
; 115 : {
00000 |$LN8@AudioPathE|
00000 e92d4030 stmdb sp!, {r4, r5, lr}
00004 e24dd018 sub sp, sp, #0x18
00008 |$M32175|
00008 e1a04001 mov r4, r1
0000c e1a0e000 mov lr, r0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -