📄 codec_io.cod
字号:
; 116 : BOOL bRetVal = TRUE;
; 117 :
; 118 : CODEC_PARAM_SET_PATH CodecPathPara;
; 119 : CodecPathPara.ulAudioPath = uAudioPath;
; 120 : CodecPathPara.bEnable = bIsEnabled;
; 121 :
; 122 : bRetVal = DeviceIoControl(g_hCodecDeviceHandle,
; 123 : REQ_AUDIO_SET_PATH,
; 124 : (LPVOID)(&CodecPathPara),
; 125 : sizeof(CODEC_PARAM_SET_PATH),
; 126 : (LPVOID)NULL,
; 127 : 0,
; 128 : NULL,
; 129 : NULL);
00010 e59f2060 ldr r2, [pc, #0x60]
00014 e3a05000 mov r5, #0
00018 e3a03008 mov r3, #8
0001c e5920000 ldr r0, [r2]
00020 e28d2010 add r2, sp, #0x10
00024 e3a01232 mov r1, #0x32, 4
00028 e58de010 str lr, [sp, #0x10]
0002c e58d4014 str r4, [sp, #0x14]
00030 e58d500c str r5, [sp, #0xC]
00034 e58d5008 str r5, [sp, #8]
00038 e58d5004 str r5, [sp, #4]
0003c e58d5000 str r5, [sp]
00040 eb000000 bl DeviceIoControl
00044 e3500000 cmp r0, #0
; 130 :
; 131 : if(bRetVal == FALSE) {
00048 1a000005 bne |$LN1@AudioPathE|
; 132 : RETAILMSG (1, (_T("AudioPathEnable 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
; 133 : return FALSE;
0005c e3a00000 mov r0, #0
00060 ea000000 b |$LN2@AudioPathE|
00064 |$LN1@AudioPathE|
; 134 : }
; 135 :
; 136 : return TRUE;
00064 e3a00001 mov r0, #1
00068 |$LN2@AudioPathE|
; 137 : }
00068 e28dd018 add sp, sp, #0x18
0006c e8bd4030 ldmia sp!, {r4, r5, lr}
00070 e12fff1e bx lr
00074 |$LN9@AudioPathE|
00074 |$LN10@AudioPathE|
00074 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@|
00078 |$LN11@AudioPathE|
00078 00000000 DCD |g_hCodecDeviceHandle|
0007c |$M32176|
ENDP ; |?AudioPathEnable@@YAHIH@Z|, AudioPathEnable
EXPORT |?AudioCodecSetOutSampleRate@@YAHW4CODEC_SAMPLERATE@@@Z| ; AudioCodecSetOutSampleRate
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'
00000 AREA |.pdata|, PDATA
|$T32193| DCD |$LN8@AudioCodec@3|
DCD 0x40001f02
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: /Ogspy
00000 AREA |.text|, CODE, ARM
00000 |?AudioCodecSetOutSampleRate@@YAHW4CODEC_SAMPLERATE@@@Z| PROC ; AudioCodecSetOutSampleRate
; 141 : {
00000 |$LN8@AudioCodec@3|
00000 e92d4030 stmdb sp!, {r4, r5, lr}
00004 e24dd014 sub sp, sp, #0x14
00008 |$M32190|
00008 e1a0e000 mov lr, r0
; 142 : BOOL bRetVal = TRUE;
; 143 :
; 144 : CODEC_PARAM_SET_SAMPLE_RATE CodecSRPara;
; 145 : CodecSRPara.usType = TYPE_OUTPUT;
; 146 : CodecSRPara.usSampleRate = (UINT16)eSampleRate;
; 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);
0000c e59f3064 ldr r3, [pc, #0x64]
00010 e3a04002 mov r4, #2
00014 e3a05000 mov r5, #0
00018 e5930000 ldr r0, [r3]
0001c e3a03004 mov r3, #4
00020 e28d2010 add r2, sp, #0x10
00024 e3a01222 mov r1, #0x22, 4
00028 e1cd41b0 strh r4, [sp, #0x10]
0002c e1cde1b2 strh lr, [sp, #0x12]
00030 e58d500c str r5, [sp, #0xC]
00034 e58d5008 str r5, [sp, #8]
00038 e58d5004 str r5, [sp, #4]
0003c e58d5000 str r5, [sp]
00040 eb000000 bl DeviceIoControl
00044 e3500000 cmp r0, #0
; 156 :
; 157 : if(bRetVal == FALSE) {
00048 1a000005 bne |$LN1@AudioCodec@3|
; 158 : RETAILMSG (1, (_T("AudioCodecSetOutSampleRate 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
; 159 : return FALSE;
0005c e3a00000 mov r0, #0
00060 ea000000 b |$LN2@AudioCodec@3|
00064 |$LN1@AudioCodec@3|
; 160 : }
; 161 :
; 162 : return TRUE;
00064 e3a00001 mov r0, #1
00068 |$LN2@AudioCodec@3|
; 163 : }
00068 e28dd014 add sp, sp, #0x14
0006c e8bd4030 ldmia sp!, {r4, r5, lr}
00070 e12fff1e bx lr
00074 |$LN9@AudioCodec@3|
00074 |$LN10@AudioCodec@3|
00074 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@|
00078 |$LN11@AudioCodec@3|
00078 00000000 DCD |g_hCodecDeviceHandle|
0007c |$M32191|
ENDP ; |?AudioCodecSetOutSampleRate@@YAHW4CODEC_SAMPLERATE@@@Z|, AudioCodecSetOutSampleRate
EXPORT |?AudioCodecSetInSampleRate@@YAHW4CODEC_SAMPLERATE@@@Z| ; AudioCodecSetInSampleRate
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'
00000 AREA |.pdata|, PDATA
|$T32208| DCD |$LN8@AudioCodec@4|
DCD 0x40001f02
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: /Ogspy
00000 AREA |.text|, CODE, ARM
00000 |?AudioCodecSetInSampleRate@@YAHW4CODEC_SAMPLERATE@@@Z| PROC ; AudioCodecSetInSampleRate
; 167 : {
00000 |$LN8@AudioCodec@4|
00000 e92d4030 stmdb sp!, {r4, r5, lr}
00004 e24dd014 sub sp, sp, #0x14
00008 |$M32205|
00008 e1a0e000 mov lr, r0
; 168 : BOOL bRetVal = TRUE;
; 169 :
; 170 : CODEC_PARAM_SET_SAMPLE_RATE CodecSRPara;
; 171 : CodecSRPara.usType = TYPE_INPUT;
; 172 : CodecSRPara.usSampleRate = (UINT16)eSampleRate;
; 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);
0000c e59f3064 ldr r3, [pc, #0x64]
00010 e3a04001 mov r4, #1
00014 e3a05000 mov r5, #0
00018 e5930000 ldr r0, [r3]
0001c e3a03004 mov r3, #4
00020 e28d2010 add r2, sp, #0x10
00024 e3a01222 mov r1, #0x22, 4
00028 e1cd41b0 strh r4, [sp, #0x10]
0002c e1cde1b2 strh lr, [sp, #0x12]
00030 e58d500c str r5, [sp, #0xC]
00034 e58d5008 str r5, [sp, #8]
00038 e58d5004 str r5, [sp, #4]
0003c e58d5000 str r5, [sp]
00040 eb000000 bl DeviceIoControl
00044 e3500000 cmp r0, #0
; 182 :
; 183 : if(bRetVal == FALSE) {
00048 1a000005 bne |$LN1@AudioCodec@4|
; 184 : RETAILMSG (1, (_T("AudioCodecSetInSampleRate 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
; 185 : return FALSE;
0005c e3a00000 mov r0, #0
00060 ea000000 b |$LN2@AudioCodec@4|
00064 |$LN1@AudioCodec@4|
; 186 : }
; 187 :
; 188 : return TRUE;
00064 e3a00001 mov r0, #1
00068 |$LN2@AudioCodec@4|
; 189 : }
00068 e28dd014 add sp, sp, #0x14
0006c e8bd4030 ldmia sp!, {r4, r5, lr}
00070 e12fff1e bx lr
00074 |$LN9@AudioCodec@4|
00074 |$LN10@AudioCodec@4|
00074 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@|
00078 |$LN11@AudioCodec@4|
00078 00000000 DCD |g_hCodecDeviceHandle|
0007c |$M32206|
ENDP ; |?AudioCodecSetInSampleRate@@YAHW4CODEC_SAMPLERATE@@@Z|, AudioCodecSetInSampleRate
EXPORT |?AudioCodecSetVolume@@YAHW4AUDIO_PERIPHERAL@@I@Z| ; AudioCodecSetVolume
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'
00000 AREA |.pdata|, PDATA
|$T32224| DCD |$LN8@AudioCodec@5|
DCD 0x40001f02
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: /Ogspy
00000 AREA |.text|, CODE, ARM
00000 |?AudioCodecSetVolume@@YAHW4AUDIO_PERIPHERAL@@I@Z| PROC ; AudioCodecSetVolume
; 193 : {
00000 |$LN8@AudioCodec@5|
00000 e92d4030 stmdb sp!, {r4, r5, lr}
00004 e24dd018 sub sp, sp, #0x18
00008 |$M32221|
00008 e1a04001 mov r4, r1
0000c e1a0e000 mov lr, r0
; 194 : BOOL bRetVal = TRUE;
; 195 :
; 196 : CODEC_PARAM_SET_GAIN CodecGainPara;
; 197 : CodecGainPara.ulPeripheralID = (UINT32)eAudioPeri;
; 198 : CodecGainPara.ulGain = (UINT32)uVolume;
; 199 :
; 200 : bRetVal = DeviceIoControl(g_hCodecDeviceHandle,
; 201 : REQ_AUDIO_SET_GAIN,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -