📄 codec_io.cod
字号:
; 124 : (LPVOID)(&CodecPathPara),
; 125 : sizeof(CODEC_PARAM_SET_PATH),
; 126 : (LPVOID)NULL,
; 127 : 0,
; 128 : NULL,
; 129 : NULL);
00214 e3a03000 mov r3, #0
00218 e58d300c str r3, [sp, #0xC]
0021c e3a03000 mov r3, #0
00220 e58d3008 str r3, [sp, #8]
00224 e3a03000 mov r3, #0
00228 e58d3004 str r3, [sp, #4]
0022c e3a03000 mov r3, #0
00230 e58d3000 str r3, [sp]
00234 e3a03008 mov r3, #8
00238 e28d2010 add r2, sp, #0x10
0023c e3a01232 mov r1, #0x32, 4
00240 e59f006c ldr r0, [pc, #0x6C]
00244 e5900000 ldr r0, [r0]
00248 eb000000 bl DeviceIoControl
0024c e58d0030 str r0, [sp, #0x30]
00250 e59d3030 ldr r3, [sp, #0x30]
00254 e58d3018 str r3, [sp, #0x18]
; 130 :
; 131 : if(bRetVal == FALSE) {
00258 e59d3018 ldr r3, [sp, #0x18]
0025c e3530000 cmp r3, #0
00260 1a00000c bne |$LN1@AudioPathE|
; 132 : RETAILMSG (1, (_T("AudioPathEnable Failed, Error ID: %d\r\n"),GetLastError()));
00264 eb000000 bl GetLastError
00268 e58d0034 str r0, [sp, #0x34]
0026c e59d1034 ldr r1, [sp, #0x34]
00270 e59f0038 ldr r0, [pc, #0x38]
00274 eb000000 bl NKDbgPrintfW
00278 e3a03001 mov r3, #1
0027c e58d3038 str r3, [sp, #0x38]
00280 ea000001 b |$LN5@AudioPathE|
00284 e3a03000 mov r3, #0
00288 e58d3038 str r3, [sp, #0x38]
0028c |$LN5@AudioPathE|
; 133 : return FALSE;
0028c e3a03000 mov r3, #0
00290 e58d302c str r3, [sp, #0x2C]
00294 ea000001 b |$LN2@AudioPathE|
00298 |$LN1@AudioPathE|
; 134 : }
; 135 :
; 136 : return TRUE;
00298 e3a03001 mov r3, #1
0029c e58d302c str r3, [sp, #0x2C]
002a0 |$LN2@AudioPathE|
; 137 : }
002a0 e59d002c ldr r0, [sp, #0x2C]
002a4 e28dd03c add sp, sp, #0x3C
002a8 e89d6000 ldmia sp, {sp, lr}
002ac e12fff1e bx lr
002b0 |$LN9@AudioPathE|
002b0 |$LN10@AudioPathE|
002b0 00000000 DCD |??_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@|
002b4 |$LN11@AudioPathE|
002b4 00000000 DCD |g_hCodecDeviceHandle|
002b8 |$M32141|
ENDP ; |?AudioPathEnable@@YAHIH@Z|, AudioPathEnable
EXPORT |??_C@_1GE@MOMHCDKC@?$AAA?$AAu?$AAd?$AAi?$AAo?$AAC?$AAo?$AAd?$AAe?$AAc?$AAS?$AAe?$AAt?$AAO?$AAu?$AAt?$AAS?$AAa?$AAm?$AAp?$AAl?$AAe?$AAR?$AAa?$AAt?$AAe?$AA?5?$AAF?$AAa?$AAi?$AAl?$AAe@| [ DATA ] ; `string'
EXPORT |?AudioCodecSetOutSampleRate@@YAHW4CODEC_SAMPLERATE@@@Z| ; AudioCodecSetOutSampleRate
00020 AREA |.pdata|, PDATA
|$T32158| DCD |$LN8@AudioCodec@3|
DCD 0x40003504
00000 AREA |.rdata|, DATA, READONLY
|??_C@_1GE@MOMHCDKC@?$AAA?$AAu?$AAd?$AAi?$AAo?$AAC?$AAo?$AAd?$AAe?$AAc?$AAS?$AAe?$AAt?$AAO?$AAu?$AAt?$AAS?$AAa?$AAm?$AAp?$AAl?$AAe?$AAR?$AAa?$AAt?$AAe?$AA?5?$AAF?$AAa?$AAi?$AAl?$AAe@| DCB "A"
DCB 0x0, "u", 0x0, "d", 0x0, "i", 0x0, "o", 0x0, "C", 0x0, "o"
DCB 0x0, "d", 0x0, "e", 0x0, "c", 0x0, "S", 0x0, "e", 0x0, "t"
DCB 0x0, "O", 0x0, "u", 0x0, "t", 0x0, "S", 0x0, "a", 0x0, "m"
DCB 0x0, "p", 0x0, "l", 0x0, "e", 0x0, "R", 0x0, "a", 0x0, "t"
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'
; Function compile flags: /Odtp
002b8 AREA |.text|, CODE, ARM
002b8 |?AudioCodecSetOutSampleRate@@YAHW4CODEC_SAMPLERATE@@@Z| PROC ; AudioCodecSetOutSampleRate
; 141 : {
002b8 |$LN8@AudioCodec@3|
002b8 e1a0c00d mov r12, sp
002bc e92d0001 stmdb sp!, {r0}
002c0 e92d5000 stmdb sp!, {r12, lr}
002c4 e24dd038 sub sp, sp, #0x38
002c8 |$M32155|
; 142 : BOOL bRetVal = TRUE;
002c8 e3a03001 mov r3, #1
002cc e58d3014 str r3, [sp, #0x14]
; 143 :
; 144 : CODEC_PARAM_SET_SAMPLE_RATE CodecSRPara;
; 145 : CodecSRPara.usType = TYPE_OUTPUT;
002d0 e3a03002 mov r3, #2
002d4 e1cd31b0 strh r3, [sp, #0x10]
; 146 : CodecSRPara.usSampleRate = (UINT16)eSampleRate;
002d8 e59d3040 ldr r3, [sp, #0x40]
002dc e1a03803 mov r3, r3, lsl #16
002e0 e1a03823 mov r3, r3, lsr #16
002e4 e1cd31b2 strh r3, [sp, #0x12]
; 147 :
; 148 : bRetVal = DeviceIoControl(g_hCodecDeviceHandle,
; 149 : REQ_AUDIO_SET_SAMPLE_RATE,
; 150 : (LPVOID)(&CodecSRPara),
; 151 : sizeof(CODEC_PARAM_SET_SAMPLE_RATE),
; 152 : (LPVOID)NULL,
; 153 : 0,
; 154 : NULL,
; 155 : NULL);
002e8 e3a03000 mov r3, #0
002ec e58d300c str r3, [sp, #0xC]
002f0 e3a03000 mov r3, #0
002f4 e58d3008 str r3, [sp, #8]
002f8 e3a03000 mov r3, #0
002fc e58d3004 str r3, [sp, #4]
00300 e3a03000 mov r3, #0
00304 e58d3000 str r3, [sp]
00308 e3a03004 mov r3, #4
0030c e28d2010 add r2, sp, #0x10
00310 e3a01222 mov r1, #0x22, 4
00314 e59f006c ldr r0, [pc, #0x6C]
00318 e5900000 ldr r0, [r0]
0031c eb000000 bl DeviceIoControl
00320 e58d002c str r0, [sp, #0x2C]
00324 e59d302c ldr r3, [sp, #0x2C]
00328 e58d3014 str r3, [sp, #0x14]
; 156 :
; 157 : if(bRetVal == FALSE) {
0032c e59d3014 ldr r3, [sp, #0x14]
00330 e3530000 cmp r3, #0
00334 1a00000c bne |$LN1@AudioCodec@3|
; 158 : RETAILMSG (1, (_T("AudioCodecSetOutSampleRate Failed, Error ID: %d\r\n"),GetLastError()));
00338 eb000000 bl GetLastError
0033c e58d0030 str r0, [sp, #0x30]
00340 e59d1030 ldr r1, [sp, #0x30]
00344 e59f0038 ldr r0, [pc, #0x38]
00348 eb000000 bl NKDbgPrintfW
0034c e3a03001 mov r3, #1
00350 e58d3034 str r3, [sp, #0x34]
00354 ea000001 b |$LN5@AudioCodec@3|
00358 e3a03000 mov r3, #0
0035c e58d3034 str r3, [sp, #0x34]
00360 |$LN5@AudioCodec@3|
; 159 : return FALSE;
00360 e3a03000 mov r3, #0
00364 e58d3028 str r3, [sp, #0x28]
00368 ea000001 b |$LN2@AudioCodec@3|
0036c |$LN1@AudioCodec@3|
; 160 : }
; 161 :
; 162 : return TRUE;
0036c e3a03001 mov r3, #1
00370 e58d3028 str r3, [sp, #0x28]
00374 |$LN2@AudioCodec@3|
; 163 : }
00374 e59d0028 ldr r0, [sp, #0x28]
00378 e28dd038 add sp, sp, #0x38
0037c e89d6000 ldmia sp, {sp, lr}
00380 e12fff1e bx lr
00384 |$LN9@AudioCodec@3|
00384 |$LN10@AudioCodec@3|
00384 00000000 DCD |??_C@_1GE@MOMHCDKC@?$AAA?$AAu?$AAd?$AAi?$AAo?$AAC?$AAo?$AAd?$AAe?$AAc?$AAS?$AAe?$AAt?$AAO?$AAu?$AAt?$AAS?$AAa?$AAm?$AAp?$AAl?$AAe?$AAR?$AAa?$AAt?$AAe?$AA?5?$AAF?$AAa?$AAi?$AAl?$AAe@|
00388 |$LN11@AudioCodec@3|
00388 00000000 DCD |g_hCodecDeviceHandle|
0038c |$M32156|
ENDP ; |?AudioCodecSetOutSampleRate@@YAHW4CODEC_SAMPLERATE@@@Z|, AudioCodecSetOutSampleRate
EXPORT |??_C@_1GC@MGPFDGMI@?$AAA?$AAu?$AAd?$AAi?$AAo?$AAC?$AAo?$AAd?$AAe?$AAc?$AAS?$AAe?$AAt?$AAI?$AAn?$AAS?$AAa?$AAm?$AAp?$AAl?$AAe?$AAR?$AAa?$AAt?$AAe?$AA?5?$AAF?$AAa?$AAi?$AAl?$AAe?$AAd@| [ DATA ] ; `string'
EXPORT |?AudioCodecSetInSampleRate@@YAHW4CODEC_SAMPLERATE@@@Z| ; AudioCodecSetInSampleRate
00028 AREA |.pdata|, PDATA
|$T32173| DCD |$LN8@AudioCodec@4|
DCD 0x40003504
00000 AREA |.rdata|, DATA, READONLY
|??_C@_1GC@MGPFDGMI@?$AAA?$AAu?$AAd?$AAi?$AAo?$AAC?$AAo?$AAd?$AAe?$AAc?$AAS?$AAe?$AAt?$AAI?$AAn?$AAS?$AAa?$AAm?$AAp?$AAl?$AAe?$AAR?$AAa?$AAt?$AAe?$AA?5?$AAF?$AAa?$AAi?$AAl?$AAe?$AAd@| DCB "A"
DCB 0x0, "u", 0x0, "d", 0x0, "i", 0x0, "o", 0x0, "C", 0x0, "o"
DCB 0x0, "d", 0x0, "e", 0x0, "c", 0x0, "S", 0x0, "e", 0x0, "t"
DCB 0x0, "I", 0x0, "n", 0x0, "S", 0x0, "a", 0x0, "m", 0x0, "p"
DCB 0x0, "l", 0x0, "e", 0x0, "R", 0x0, "a", 0x0, "t", 0x0, "e"
DCB 0x0, " ", 0x0, "F", 0x0, "a", 0x0, "i", 0x0, "l", 0x0, "e"
DCB 0x0, "d", 0x0, ",", 0x0, " ", 0x0, "E", 0x0, "r", 0x0, "r"
DCB 0x0, "o", 0x0, "r", 0x0, " ", 0x0, "I", 0x0, "D", 0x0, ":"
DCB 0x0, " ", 0x0, "%", 0x0, "d", 0x0, 0xd, 0x0, 0xa, 0x0, 0x0
DCB 0x0 ; `string'
; Function compile flags: /Odtp
0038c AREA |.text|, CODE, ARM
0038c |?AudioCodecSetInSampleRate@@YAHW4CODEC_SAMPLERATE@@@Z| PROC ; AudioCodecSetInSampleRate
; 167 : {
0038c |$LN8@AudioCodec@4|
0038c e1a0c00d mov r12, sp
00390 e92d0001 stmdb sp!, {r0}
00394 e92d5000 stmdb sp!, {r12, lr}
00398 e24dd038 sub sp, sp, #0x38
0039c |$M32170|
; 168 : BOOL bRetVal = TRUE;
0039c e3a03001 mov r3, #1
003a0 e58d3014 str r3, [sp, #0x14]
; 169 :
; 170 : CODEC_PARAM_SET_SAMPLE_RATE CodecSRPara;
; 171 : CodecSRPara.usType = TYPE_INPUT;
003a4 e3a03001 mov r3, #1
003a8 e1cd31b0 strh r3, [sp, #0x10]
; 172 : CodecSRPara.usSampleRate = (UINT16)eSampleRate;
003ac e59d3040 ldr r3, [sp, #0x40]
003b0 e1a03803 mov r3, r3, lsl #16
003b4 e1a03823 mov r3, r3, lsr #16
003b8 e1cd31b2 strh r3, [sp, #0x12]
; 173 :
; 174 : bRetVal = DeviceIoControl(g_hCodecDeviceHandle,
; 175 : REQ_AUDIO_SET_SAMPLE_RATE,
; 176 : (LPVOID)(&CodecSRPara),
; 177 : sizeof(CODEC_PARAM_SET_SAMPLE_RATE),
; 178 : (LPVOID)NULL,
; 179 : 0,
; 180 : NULL,
; 181 : NULL);
003bc e3a03000 mov r3, #0
003c0 e58d300c str r3, [sp, #0xC]
003c4 e3a03000 mov r3, #0
003c8 e58d3008 str r3, [sp, #8]
003cc e3a03000 mov r3, #0
003d0 e58d3004 str r3, [sp, #4]
003d4 e3a03000 mov r3, #0
003d8 e58d3000 str r3, [sp]
003dc e3a03004 mov r3, #4
003e0 e28d2010 add r2, sp, #0x10
003e4 e3a01222 mov r1, #0x22, 4
003e8 e59f006c ldr r0, [pc, #0x6C]
003ec e5900000 ldr r0, [r0]
003f0 eb000000 bl DeviceIoControl
003f4 e58d002c str r0, [sp, #0x2C]
003f8 e59d302c ldr r3, [sp, #0x2C]
003fc e58d3014 str r3, [sp, #0x14]
; 182 :
; 183 : if(bRetVal == FALSE) {
00400 e59d3014 ldr r3, [sp, #0x14]
00404 e3530000 cmp r3, #0
00408 1a00000c bne |$LN1@AudioCodec@4|
; 184 : RETAILMSG (1, (_T("AudioCodecSetInSampleRate Failed, Error ID: %d\r\n"),GetLastError()));
0040c eb000000 bl GetLastError
00410 e58d0030 str r0, [sp, #0x30]
00414 e59d1030 ldr r1, [sp, #0x30]
00418 e59f0038 ldr r0, [pc, #0x38]
0041c eb000000 bl NKDbgPrintfW
00420 e3a03001 mov r3, #1
00424 e58d3034 str r3, [sp, #0x34]
00428 ea000001 b |$LN5@AudioCodec@4|
0042c e3a03000 mov r3, #0
00430 e58d3034 str r3, [sp, #0x34]
00434 |$LN5@AudioCodec@4|
; 185 : return FALSE;
00434 e3a03000 mov r3, #0
00438 e58d3028 str r3, [sp, #0x28]
0043c ea000001 b |$LN2@AudioCodec@4|
00440 |$LN1@AudioCodec@4|
; 186 : }
; 187 :
; 188 : return TRUE;
00440 e3a03001 mov r3, #1
00444 e58d3028 str r3, [sp, #0x28]
00448 |$LN2@AudioCodec@4|
; 189 : }
00448 e59d0028 ldr r0, [sp, #0x28]
0044c e28dd038 add sp, sp, #0x38
00450 e89d6000 ldmia sp, {sp, lr}
00454 e12fff1e bx lr
00458 |$LN9@AudioCodec@4|
00458 |$LN10@AudioCodec@4|
00458 00000000 DCD |??_C@_1GC@MGPFDGMI@?$AAA?$AAu?$AAd?$AAi?$AAo?$AAC?$AAo?$AAd?$AAe?$AAc?$AAS?$AAe?$AAt?$AAI?$AAn?$AAS?$AAa?$AAm?$AAp?$AAl?$AAe?$AAR?$AAa?$AAt?$AAe?$AA?5?$AAF?$AAa?$AAi?$AAl?$AAe?$AAd@|
0045c |$LN11@AudioCodec@4|
0045c 00000000 DCD |g_hCodecDeviceHandle|
00460 |$M32171|
ENDP ; |?AudioCodecSetInSampleRate@@YAHW4CODEC_SAMPLERATE@@@Z|, AudioCodecSetInSampleRate
EXPORT |??_C@_1FG@BCLPINHB@?$AAA?$AAu?$AAd?$AAi?$AAo?$AAC?$AAo?$AAd?$AAe?$AAc?$AAS?$AAe?$AAt?$AAV?$AAo?$AAl?$AAu?$AAm?$AAe?$AA?5?$AAF?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?0?$AA?5?$AAE?$AAr?$AAr?$AAo@| [ DATA ] ; `string'
EXPORT |?AudioCodecSetVolume@@YAHW4AUDIO_PERIPHERAL@@I@Z| ; AudioCodecSetVolume
00030 AREA |.pdata|, PDATA
|$T32188| DCD |$LN8@AudioCodec@5|
DCD 0x40003304
00000 AREA |.rdata|, DATA, READONLY
|??_C@_1FG@BCLPINHB@?$AAA?$AAu?$AAd?$AAi?$AAo?$AAC?$AAo?$AAd?$AAe?$AAc?$AAS?$AAe?$AAt?$AAV?$AAo?$AAl?$AAu?$AAm?$AAe?$AA?5?$AAF?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?0?$AA?5?$AAE?$AAr?$AAr?$AAo@| DCB "A"
DCB 0x0, "u", 0x0, "d", 0x0, "i", 0x0, "o", 0x0, "C", 0x0, "o"
DCB 0x0, "d", 0x0, "e", 0x0, "c", 0x0, "S", 0x0, "e", 0x0, "t"
DCB 0x0, "V", 0x0, "o", 0x0, "l", 0x0, "u", 0x0, "m", 0x0, "e"
DCB 0x0, " ", 0x0, "F", 0x0, "a", 0x0, "i", 0x0, "l", 0x0, "e"
DCB 0x0, "d", 0x0, ",", 0x0, " ", 0x0, "E", 0x0, "r", 0x0, "r"
DCB 0x0, "o", 0x0, "r", 0x0, " ", 0x0, "I", 0x0, "D", 0x0, ":"
DCB 0x0, " ", 0x0, "%", 0x0, "d", 0x0, 0xd, 0x0, 0xa, 0x0, 0x0
DCB 0x0 ; `string'
; Function compile flags: /Odtp
00460 AREA |.text|, CODE, ARM
00460 |?AudioCodecSetVolume@@YAHW4AUDIO_PERIPHERAL@@I@Z| PROC ; AudioCodecSetVolume
; 193 : {
00460 |$LN8@AudioCodec@5|
00460 e1a0c00d mov r12, sp
00464 e92d0003 stmdb sp!, {r0, r1}
00468 e92d5000 stmdb sp!, {r12, lr}
0046c e24dd03c sub sp, sp, #0x3C
00470 |$M32185|
; 194 : BOOL bRetVal = TRUE;
00470 e3a03001 mov r3, #1
00474 e58d3018 str r3, [sp, #0x18]
; 195 :
; 196 : CODEC_PARAM_SET_GAIN CodecGainPara;
; 197 : CodecGainPara.ulPeripheralID = (UINT32)eAudioPeri;
00478 e59d3044 ldr r3, [sp, #0x44]
0047c e58d3010 str r3, [sp, #0x10]
; 198 : CodecGainPara.ulGain = (UINT32)uVolume;
00480 e59d3048 ldr r3, [sp, #0x48]
00484 e58d3014 str r3, [sp, #0x14]
; 199 :
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -