⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 codec_io.cod

📁 wince 6.0 arm 音频驱动源码 waveDev方式
💻 COD
📖 第 1 页 / 共 3 页
字号:
; 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 + -