2009년 7월 13일 월요일

error code : 0x80040201 -create by python24

Hi, EE.

I generated a dll file for my python(2.4) script. I coded like this…

******************************************
setup.py
******************************************
setup(
name="A_test",
options = { 'py2exe':{'optimize':2, 'compressed':1, 'excludes':excludes, 'packages':packages}},
com_server = [{"modules":["test.A_test"],"create_exe": True,"create_dll": True}],
)
******************************************

And I got the A_test.exe and A_test.dll both.
However, when I try to register the dll (command>> regsvr32 A_test.dll),
I see an error message box tells “A_test.dll DllRegisterServer Filed,
error code : 0x80040201”.

I’ve been created a same dll with the same code before,
and it worked and I could register the dll which I made before.
I googled the error message but I could not find any helpful information about that.
Anybody knows about this problem and give some your great advice for me?
I would appreciate your help. Thanks in advance.

from Korea.

2009년 6월 24일 수요일

[펌] FFMPEG 를 minGW에서 빌드하고, MSVC에서 사용하는것

출처 : http://jayhouse.egloos.com/1909473


최신 FFMPEG을 SVN으로 다운받습니다.

MSYS, minGW를 설치해야 합니다. 다음 링크에 가면 자세한 설명과 다운 받아야 할 파일이 있습니다.

http://arrozcru.no-ip.org/ffmpeg_wiki/tiki-index.php

MSYS 설치

1.MSYS-1.0.11-2004.04.30-1.exe
2.MSYS-1.0.11-20071204.tar.bz2
3.bash-3.1-MSYS-1.0.11-snapshot.tar.bz2
4.coreutils
5.make-3.81-MSYS-1.0.11-2.tar.bz2
6.Fixing "msys.bat"

MinGW 설치
binutils-2.18.50-20080109.tar.gz
gcc-core-4.2.1-sjlj-2.tar.gz
gcc-g++-4.2.1-sjlj-2.tar.gz
mingw-runtime-3.14.tar.gz and patch file
w32api-3.11.tar.gz

MinGW 파일 전부 설치후 패치를 꼭 해주셔야 합니다.파일 몇개 없다고 빌드가 안되거나 MSVC에서 링크가 되는데 문제가 생길수도 있습니다.

특히 gcc의 3.XX 버전으로 빌드를 하시면 MSVC에서 힙메모리를 잡다가 죽더군요파일들을 C:\msys\mingw 에 압축풀고
C:\msys\etc\fstab.sample
파일을 사본 복사하여 fstab로 이름을 바꿉니다.
c:/mingw /mingw
의 내용을
c:/msys/mingw /mingw
와 같이 수정하여 저장합니다

C:\msys 폴더에 msys.bat 파일이 있습니다.
맨 윗부분에
call "C:\Program Files\Microsoft Visual Studio\VC98\Bin\VCVARS32.BAT" 요렇게 수정을 합니다. 물론 경로 맞춰서

=====================================================================================
MSYS 와 MinGW를 설치 했으면 이제 ffmpeg-0.4.9를 다운받습니다. 검색엔진에 검색하면 쉽게 나옵니다.
msys 를 실행하고 프롬프트 창에서 빌드를 하면 됩니다.linux 스타일 명령입니다.
ffmpeg가 설치되어 있는 폴더로 이동후
./configure --enable-memalign-hack
를 치면 config.h 파일이 생성 됩니다

. dll로 만들어서 하는 부분에서 저도 lib 명령이 안먹혀서 실패했습니다.

아는분 알려주세요 ^^그래서 저는 그냥 static lib로 만들어서 사용했습니다

.make하면 빌드가 되죠.
에러가 발생하면 뭔가 빠진 것일 겁니다.
저도 하고나서 쓰는거라..^^;;

이제 빌드가 되면
make install
을 합니다.
그럼 중요한 파일들이 msys/local 밑으로 복사됩니다.avcodec.a, avcodec.a, avformat.a, avformat.a 등 이 생성 됐을 겁니다.

이름이 다를수도 있습니다.

ffmpeg의 루트 폴더에보면 output_example.c라는 파일이 있습니다.

MSVC에서 빌드하도록 환경을 맞춰줘야 합니다.

win32 console 프로젝트를 만듭니다. precompiled header는 사용하지 않도록 합니다.

파일은 .c로 해야합니다. cpp로하면 ffmpeg이 제대로 빌드 되지 않습니다.

property page에서 C/C++ 페이지의 additional include directories에서복사된 폴더에서 include를 지정해 줍니다.linker의 general 페이지에서 additional library directories에서libavcodec폴더와 libavformat폴더를 마찮가지로 추가합니다.

또 msys가 설치되어 있는 폴더 중에서
C:\msys\mingw\lib; C:\msys\mingw\lib\gcc\mingw32\3.4.5;

다음과 같이 두 경로를 추가합니다.(경로 자기 경로에 맞춰서 해주셔야 합니다.)

linker input 페이지에서avformat.a avcodec.a avutil.a libgcc.a libmingwex.a파일을 추가하여 링크시킵니다.

빌드를 누르시면 당연히 에러가 발생하겟죠... 처음에 한번에 되면 운 좋으신것입니다.

inline에 관련된 에러는 MSVC같은경우 inline을 __inline으로 해야 되는 경우가 있습니다.다른곳에서는 그냥 inline도 되는데 왜 여기서만 __inline으로 해야 되는지 잘 모르겠습니다.

그냥 #define inline __inline 으로 만들으셔서 오류나는 파일 꼭대기에 한군대만 넣으셔도 됩니다.common.h 같은 곳에그밖에 수정할 사항은 링크에 보시면 있습니다.자세한 사항은 나중에 업데이트 하도록 하겠습니다.

- revision history 2008.07.30 최초 작성 2008.07.31 빌드성공, 비디오 플레이어 제작 성공

2009년 6월 23일 화요일

FFmpeg Building in MSVC 02.

2. Msys 설치 ( 이글을 보는 중간에도 , 아래 기입한것보다 더 최신버전이 있으면 그것을 다운 받아서 설치, 덮어쓰시길바란다.)

2.1. Msys 1.0.11 을 설치한다.설치 옵션: C:\msys -> y -> y -> C:\MinGW
(* 위 Msys 는 1.0 이라는 폴더를 생성해내는대 , 지우도록하고 c:\msys 에다가 설치를 하자.)

2.2. 아래의 파일을 압축해제 하여, C:\msys에 덮어 씌운다.make-3.81-msys-1.0.11-2.tar.bz2bash-3.1-MSYS-1.0.11-snapshot.tar.bz2

2.3. 아래의 파일을 압축해제 한 후, 파일명을 msys-1.0.dll로 이름 변경 후, C:\msys\bin에 덮어 씌운다.msys-1.0.dll-SNAP-1.0.11-2006.04.23.tar.bz2

2.4. 아래의 파일을 압축해제 한 후, /bin 경로에 있는 pr.exe 파일만 C:\msys\bin에 덮어 씌운다.coreutils-5.97-msys-1.0.11-snapshot.tar.bz2

2.5. C:\msys 폴더 위치의 msys.bat 파일의 맨 위에 (1 ln : @echo 위에 적도록한다.)
, 아래의 내용을 추가한다. ( MSVC 6.0 에서 하길 바란다.)

** Visual Studio 6.0 버전 기준
call "C:\Program Files\Microsoft Visual Studio\VC98\Bin\VCVARS32.BAT"

** Visual Studio 7.1 버전
call "C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin\vcvars32.bat"

** Visual Studio 9.0 버전
call "C:\Program Files\Microsoft Visual Studio 9.0\VC\bin\vcvars32.bat"

설치상 오류로 call 이라는 명령어가 안되는 경우도 생기게 되는대 ,
프로그램 설치를 앞서부터 다시 해보시길 바라며, 혹시나 call 명령어가 되는대 , 환경설치가 안된다면, 위 */vcvars32.bat 파일을 열어서 , 모두 복사한뒤에, msys.bat 가장위에 붙여넣기를 한다.



3.2. msys 파일을 실행시켜, FFMPEG 소스코드 경로로 이동한다.
소스는 아무곳에나 있는곳을 해도 되나 가급적 MINGW 콘솔에서 계정이 생성된곳에 복사해 넣도록한다.
본인컴퓨터.
C:\msys\home\Microsoft\ffmpeg

3.3. config 파일 설정을 한다.
$ ./configure --enable-memalign-hack
(위와 같이 하면 ffmpeg.exe 를 만드는과정임)

3.4. Make 실행을 한다.
$ make

3.5. Make Install 실행을 한다.
$ make install


3.6. 각각의 lib ,dll 생성시에는 /FFmpeg/libavcode , /FFmpeg/libavfilter ,.... 등등의 폴더로 이동해서
$ make
..
$ make install

을 이용해서 생성한다.

3.7 각각의 binary 는 'make install' 을 쓰게 되면 특정폴더로 이동시키게 되는대, prefix 옵션을 주지 않으면 "C:\msys\local" 여기에 , bin , lib , share , include 등의 폴더에 복사 생성될것이다.

3.8 라이브러리를 MSVC 에서 응용 사용할려면 다음에 올리는것을 보시오
(* 하지만, 샘플이라고 올라온 example ... , test/*.c , ffmpeg.c , ffplay.c 등의 예제는 당연 바로 컴파일되지 않는다 . 이역시 다음에 계속 기제 하도록한다).

FFmpeg Building in MSVC 01.

FFmpeg Building in MSVC 01.
------------------------------------
웹페이지에 수차례 반복되어 있는 오류가 그대로 있는듯하다.
아래 설치 파일들을 설치하고 오류가 있는 모듈들은 모두 덮어씌워야한다.
우선 구해야하는 파일들 목록 : ffmpeg-r19159.tar
--------------------------------------------------------------
binutils-2.17.50-20060824-1.tar.gz
gcc-core-3.4.5-20060117-3.tar.gz
gcc-g++-3.4.5-20060117-3.tar.gz
mingwrt-3.15.1-mingw32.tar.gz
w32api-3.12-mingw32-dev.tar.gz
----------------------------------------------------------
기본적으로 아래 되어 있는것들을 모두 다운 받으시길
----------------------------------------------------------
mingw-runtime-3.15.2-1.tar.bz2
msys-1.0.dll-SNAP-1.0.11-2006.04.23.tar (MSYS-1.0.11-20080821-dll.tar.gz)
bash-3.1-MSYS-1.0.11-snapshot.tar (bash-3.1-MSYS-1.0.11-1.tar.bz2 이것을 요구하는싸이트도 있긴하던대 , 먼저 덮어쓴뒤, snapshot 를 덮어쓰도록 한다. )

binutils-2.17.50-20060824-1.tar.tar ( binutils-2.18.50-20080109-2.tar.gz 최신버전이 있으면
최신버전을 쓰도록한다.)
w32api-3.7.tar.tar (w32api-3.13-mingw32-dev.tar.gz 이거 다운받도록한다.)
mingw-runtime-3.10.tar.tar
coreutils-5.97-MSYS-1.0.11-snapshot.tar
make-3.81-MSYS-1.0.11-2.tar.bz2

mingwrt-3.15.2-mingw32-dev.tar.gz

MSYS-1.0.11-2004.04.30-1.exe
MinGW-5.1.4.exe

--------------------------------------------------------------------------------
다 구했으면 우선 아래부터 먼저 설치 한다.
1.2. MinGW 5.1.4 설치 시, 자동으로 다운로드 받는 아래의 파일을 압축해제 하여,
C:\MinGW 에 덮어 씌운다. // 자동으로 다운 받은내용을 자동으로 설치 안됨. ㅡㅡ;
binutils-2.17.50-20060824-1.tar.gz
gcc-core-3.4.5-20060117-3.tar.gz
gcc-g++-3.4.5-20060117-3.tar.gz
mingwrt-3.15.1-mingw32.tar.gz
w32api-3.12-mingw32-dev.tar.gz (** FFMPEG Source 가 최근 것인 경우 w32api-3.12 버전을 사용하고, 구 버전인 경우 w32api-3.11 버전을 사용하도록 한다. 무조건 최신버전이 좋은거다.)


1.3. 설치 후, 내 컴퓨터->시스템 등록정보 -> 고급->환경변수->Path 에 C:\MinGW\bin 이 있는지 확인하고, 없으면 추가한다. ( 이것 역시 자동으로 안되니 필히 설치 하며, xp 라도 rebooting 해서 확인 받도록 한다. )
확인 : ;; msys 창을 열어서 , msys console에서 link 라고 명령어를 넣어보도록한다.
link 툴의 설명이 줄줄이 안뜨면 될때까지 한다.



여기까지 정보는 여기서 확인할수 있다.
http://brightkey.tistory.com/tag/build%20ffmpeg

2009년 3월 29일 일요일

xbap 개발을 중단한다

지난 1월을 기점으로, 윈도우 어플용 xbap ( wpf 프로그램 ) 은 clickOnce 배포상의 문제로 개발을 중단한다.

2009년 1월 7일 수요일

XAML Browser Application 만들기와 TrustNotGrantedException 문제

현재> 20090112 : google search key word : wpf , trust , trustnotgranted (exception) .netframeword , net35 trust , browser application , wpf web , etc

1. 일단 .netframework 3.5 에서 작업하던것을 => .net3.0 으로 downgrade 한다.
--> net35 에서 hellow word 조차 안뜨던것이 net30 에서는 뜬다. 성공이다. 코딩을 다시 엎는다.

2. http://social.msdn.microsoft.com/Forums/en-US/csharpgeneral/thread/61d928fe-d6b3-45b7-bf58-f847083b87f1/

* SpeechLib 와 Trush 에 관한 내용이 있는대 이렇타.
1)[Hi,I incorporated the SpeechLib into my C# web project (to read captcha text to the user), but on uploading it to my shared host - godaddy - running medium trust. I get a security error.Does anyone know of a work around or an alternative?Thanks!]
지금 Speechlib 를 이용하여 , web browser 프로그램을 만들고 있는대, security 에러(예외) 등이 발생해서 진행이 안된다. , ( 지금 저의 현상과 아주 똑같음 )

2)[You won't be able to do this. If GoDaddy has a medium trust, and your SpeechLib requires full trust, then you'll need either:1. Your own server.2. A different library. Most host sites restrict permissions to protect their own servers from crashing/etc. If the Microsoft Speech API won't run without full trust, then then you'll have to have them grant it full trust, which they probably won't do, because they want to keep the other sites for their other subscribers happily running. You might be able to create some kind of Windows client for your viewers to download, which would allow them to read your content, but keep in mind that your users will need to grant the assembly full trust as well. ]
David Morton - http://blog.davemorton.net/

답변 : 지금 그대로 사용하면 안되며, speechlib 는 full trust 가 필요한대, 이렇게 하면 될것이다.
1. 서버를 가져라 ==> 설정을 마음대로 바꿀수 있는 서버 정도 될것이다.
2. 라이브러리를 바꿔라 ... ==> 사실 공개 라이브러리밖에 못쓰는 사용자는 어떻하란 말인가.
: SpeechLib 는 full trust 아니면 실행이 안된다고 하는대 , 아마 full trust 설정을 못할것이다..
따라서 굳이 speechlib 를 이용하려면, WindowApplication 프로그램을 만들어서 ,
사용자(end user) 가 download 를 해서 사용하게끔 만들면될꺼다....... 라는대... (이건 필자가 원하는것이 아니다. 필자는 web brower 에서 실행되는 speech lib 를 원한다. )

20090112 : 출처.
Creating A Full Trust WPF Web Browser (.xbap) Application http://www.davidezordan.net/blog/?p=106
If your application needs Full Trust with a self-generated certificate, remember to install it in the Trusted Root Certificate Authority

& >http://scorbs.com/2007/01/10/xbap-trust-levels : Trust Levels
덧글로 추가함

-- more --
덧글로 하고, 다 되면, 다시 수정해서 정리함.

very usefull code in MFC

http://www.devpia.com/Maeul/Contents/Detail.aspx?BoardID=51&MAEULNo=20&no=8144&ref=8144


아래 항목만 다 알면 코딩하는데 많은 도움이 되리라 생각됩니다.저도 사실 전부 모릅니다 ㅡㅡ;;너무 많은 걸~~ 1. DC얻기
CClientDC dc(this);

2. Client 영역 구하기
GetClientRect(&rect);
WM_SIZE 메시지발생후 cx,cy 사용

3. 문자열 사각형안에 그리기
pDC->DrawText(문자열,사각형,Style);
Style: DT_BOTTOM - 문자열을 사각형 맨아래줄에배열 반드시 DT_SINGLELINE과 함께사용
DT_CENTER - 문자열을 가로중앙에 배치
DT_VCENTER - 문자열을 세로중앙에 배치
DT_LEFT,RIGHT - 문자열을 좌,우로 배치
DT_SINGLELINE - 문자열을 한줄로만 쓴다

4. Brush 사용법
CBrush brushname(RGB(red,green,blue)); //브러쉬 생성
CBrush *oldBrush=pDC->SelectObject(&brushname); //이전Brush 저장, 새로운 Brush 선택
pDC->SelectObject(oldBrush); //원래의 브러쉬로 반환

5. Pen사용법
CPen pen(Pen Style,RGB(red,green,blue)); //브러쉬생성
//Style: PS_SOLID,PS_DASH,PS_DOT,PS_DASHDOT,PS_GEOMETRIC,PS_COSMETRIC - 펜종류
PS_ENDCAP_ROUND,PS_ENDCAP_SQUARE - 펜끝을 둥글게,각지게 설정
CPen *oldPen=pDC->SelectObject(&pen); //이전Pen저장, 새로운 Pen설정
pDC->SelectObject(oldPen); //펜반환

6. 화면다시그리기
View Class에서 - Invalidate(TRUE) : 화면을 지우고다시그린다
Invalidate(FALSE) : 화면을 덮어씌운다
UpdateAllViews(NULL); // Doc Class에서 View 의 OnDraw 호출
RedrawWindow();

7. 메시지,함수 수동으로 넣기 (EX)버튼클릭함수넣기
헤더파일의 AFX_MSG_MAP 부분에 함수를 정의
EX) afx_msg void funcName();
.cpp파일의 AFX_MSG 부분에 메시지를 추가한다
EX) ON_BN_CLICKED(ID_NAME,funcName)...
ID 등록: View 메뉴의 Resource Symbol 에 들어가서 메뉴 ID 를 등록해준다..
.cpp파일의 맨아래에서 함수를 정의한다
EX) void CClass::funcName() { ... }

8. 마우스커서 바꾸기
리소스탭에서 커서를 그리고 저장한뒤 ID값은 준다음
SetCapture(); //커서의입력을 클라이언트영역을 벗어나더라도 받아낸다
SetCursor(AfxGetApp()->LoadCursor(nIDResource));
//APP클래스의 LoadCursor View의 SetCursor 사용
ReleaseCapture(); //SetCursor()상태를 해제한다

9. 색상표 사용하기
CColorDialog dlg;
if(dlg.DoModal()==IDOK) //Dialog 를 띄운후 OK버튼을누르면 실행할부분
MemberFunc: GetColor() //선택된 색상을 받아온다 return 형은 COLORREF 형

10. 팝업메뉴 만들기
CMenu menu; //메뉴 객체생성
CMenu *pmenu; //메뉴 포인터생성
menu.LoadMenu(IDR_MAINFRAME); //메뉴를 불러온다
pmenu=menu.GetSubMenu(3); //메뉴의 3번째 메뉴를 가져온다
menu.CheckMenuItem(ID_MENU,m_kind==ID_MENU ? MF_CHECKED : MF_UNCHECKED);
//메뉴 체크하기 (메뉴 ID, ID 체크조건)
pmenu->TrackPopupMenu(TPM_LEFTALIGN,point.x,point.y,this) //(TMP_Style,x좌표,y좌표,hWnd) 메뉴 띄우기

*주의사항*
[안내]태그제한으로등록되지않습니다-허용되지않은 태그 사용중(CWnd* pWnd, CPoint point) //여기서 point 는 스크린 기준이고,
OnRButtonDown(UINT nFlags, CPoint point) //여기서 point 는 클라이언트 기준이다!

11. 클라이언트 포인터를 스크린 포인터로 변경
ClientToScreen(&point);

12. 그림판기능
if(m_flag==FALSE) return; //m_falg=그리기 기능 참,거짓설정 그리기 아니면 빠져나간다
CClientDC dc(this);
CPen myPen(PS_SOLID,m_width,m_color);
CPen *pOldPen=dc.SelectObject(&myPen);
switch(m_shape)
{
case ID_FREELINE: //자유선그리기
dc.MoveTo(m_oldpt.x,m_oldpt.y); //지난포인터부터
dc.LineTo(point.x,point.y); //새포인터까지 그린다
break;
case ID_RECT: //사각형그리기
dc.SetROP2(R2_NOTXORPEN);
dc.Rectangle(m_spt.x,m_spt.y,m_oldpt.x,m_oldpt.y); //지워지는 효과
dc.Rectangle(m_spt.x,m_spt.y,point.x,point.y); //그려지는 효과
break;
case ID_ELLIPSE: //원그리기
dc.SetROP2(R2_NOTXORPEN);
dc.Ellipse(m_spt.x,m_spt.y,m_oldpt.x,m_oldpt.y); //지워지는 효과
dc.Ellipse(m_spt.x,m_spt.y,point.x,point.y); //그려지는 효과
break;
case ID_LINE: //선그리기
dc.SetROP2(R2_NOTXORPEN);
dc.MoveTo(m_spt.x,m_spt.y); //시작점부터
dc.LineTo(m_oldpt.x,m_oldpt.y); //지난점까지 그은선을 지운다
dc.MoveTo(m_spt.x,m_spt.y); //시작점부터
dc.LineTo(point.x,point.y); //새로운점까지 그린다
break;
}
m_oldpt=point; //바로이전값 보관
dc.SelectObject(pOldPen); //펜 반환
13. MessageBox
AfxMessageBox() -> 전역함수를 이용하영 메세지 박스를 출력한다. //어디서든지 사용할수 잇다
int CWnd::MessageBox("메세지","창제목","아이콘버튼(상수값)"); //View클래스에서 사용한다
아이콘 상수값 MB_IC[안내]태그제한으로등록되지않습니다-xx허용되지않은 태그 사용중, MB_ICONWARNING, MB_ICONQUESTION,MB_ICONINFOMATION
MB_SYSTEMMODAL //시스템모달 대화창 닫기전에 다른작업 못함
MB_APPLMODAL //응용모달
버튼 상수값 MB_OK, MB_OKCANCEL, MB_YESNO

14. OS 컨트롤
ExitWindowEx(EWX_SHUTDOWN,NULL); //Shut Down
ExitWindowsEx(EWX_FORCE,0); //강제종료
ExitWindowsEx(EWX_LOGOFF,0); //로그오프
ExitWindowsEx(EWX_POWEROFF,0); //Shut Down -> Turn Off
ExitWindowsEx(EWX_REBOOT); //Shut Down -> Reboot

15. DialogBox 메시지 교환
UpdateData(FALSE); // 컨트롤에 멤버변수의 내용을 표시해준다
UpdateData(TRUE); // 컨트롤 내용을 다이얼로그 클래스의 멤버변수로 저장

16. 자료변환
atoi,itoa - int <=> ASCII(char) 변환
str.Format(" %d %d",x,y); // int형을 문자열로 변환
atol,ltoa - ASCII <=> long 변환
atof - ACSII => float 변환
fcvt,gcvt - 실수를 text로 변환
LPtoDP, DPtoLP - 장치좌표 <=> 논리좌표 변환

17. CEdit Class 사용하기
CEdit e_str.SetSel(int StartChae, int EndChar); //처음문자부터 마지막까지 블록 지정
CEdit e_str.GetSel(int SChar,int EChar); //블럭 지정한 처음문자와 마지막문자 받기
CString str=m_str.Mid(SChar,EChar-SChar); //블럭지정한 부분을 가져온다
18. 컨트롤과 자료교환
SetDlgItemText(컨트롤 ID,문자열) //컨트롤에 문자열을 넣는다
GetDlgItemText(컨트롤 ID,문자열) //컨트롤의 내용을 문자열에 넣는다
GetDlgItem(컨트롤 ID); //컨트롤의 주소를 가져온다
19. 상태바조작
CMainFrame 생성자 위에
static UINT indicators[] = //이안에 새로운 ID를 넣고 그 ID의 갱신핸들러를 만든다음 코딩
pCmdUI->SetText("표시할내용“);

20. 수동으로 Bitmap 컨트롤 사용하기
CStatic bitmap; //bitmap 컨트롤변수
bitmap.SetBitmap(CBitmap m_bitmap); //컨트롤에 비트맵지정
GetDlgItem(IDC_BITMAP)->ShowWindow(SW_SHOW,HIDE); // 그림을 보이거나 숨긴다.

21. 응용프로그램 실행하기
WinExec("프로그램경로“,SW_SHOW,HIDE); //응용프로그램실행,경로는 \\로 구분한다

22. Bitmap 사용하기
CBitmap bitmap.LoadBitmap(IDC_BITMAP); //비트맵객체에 비트맵지정
CDC memDC; //그림그릴 메모리DC생성
MemDC.CreateCompatibleDC(pDC); //화면 DC와 메모리 DC 호환 생성
CBitmap *pOldBitmap=MemDC.SelectObject(&m_bitmap); //메모리에 그림을그린다.
pDC->BitBlt(int x, int y,int Width, int Height, CDC* pSrcDC, int xSrc, int ySrc, DWORD dwRop);
//BitBlt(그림x좌표,그림y좌표,그림넓이,그림높이,그림그려진메모리DC,그림시작x좌표,그림시작y좌표,스타일);
pDC->StretchBlt( int x, int y, int nWidth, int nHeight, CDC* pSrcDC, int xSrc, int ySrc, int nSrcWidth, int nSrcHeight, DWORD dwRop )
//StretchBlt(그림x좌표,그림y좌표,그림넓이,그림높이,그림그려진메모리DC,그림x좌표,그림y좌표,메모리그림넓이,메모리그림높이,스타일);
MemDC.SelectObject(pOldBitmap); // 메모리DC반환

23. Font 바꾸기
CFontDialog dlg; //폰트다이얼로그 생성
LOGFONT m_logFont; //폰트받을변수선언
if(dlg.DoModal()==IDOK) //폰트다이얼로그표시
{dlg.GetCurrentFont(&m_logFont)} //선택된 폰트받기
OnDraw()
CFont newFont,*pOldFont; //폰트 객체 만들기
newFont.CreateFontIndirect(&m_logFont); //폰트 생성
pOldFont=(CFont *)pDC->SelectObject(&newFont); //폰트 선택
OnCreate()
CClientDC dc(this); //DC 생성
CFont *pFont=dc.GetCurrentFont(); //클라이언트 영역의 폰트를
pFont->GetLogFont(&m_logFont); //로그폰트 멤버값으로 지정

24. Font 만들기
LOGFONT logfont; //폰트를 만든다
logfont.lfHeight=50; //문자열 높이
logfont.lfWidth=0; //너비
logfont.lfEscapement=0; //문자열기울기
logfont.lfOrientation=0; //문자개별각도
logfont.lfWeight=FW_NORMAL; //굵기
logfont.lfItalic=TRUE; //이탤릭
logfont.lfUnderline=TRUE; //밑줄
logfont.lfStrikeOut=FALSE; //취소선
logfont.lfCharSet=HANGUL_CHARSET; //필수
logfont.lfOutPrecision=OUT_DEFAULT_PRECIS;
logfont.lfClipPrecision=CLIP_DEFAULT_PRECIS; //가변폭폰트 고정폭폰트
logfont.lfPitchAndFamily=DEFAULT_PITCHFF_SWISS; //글꼴이름
strcpy(logfont.lfFaceName,"궁서체");
CClientDC dc(this);
CFont newFont; //폰트객체생성
newFont.CreateFontIndirect(&logfont); //폰트지정
CFont *pOldFont=dc.SelectObject(&newFont); //폰트선택
dc.TextOut(100,100,m_text);
dc.SelectObject(pOldFont); //폰트반환

25. Font 만들기 2
CFont newFont;
newFont.CreateFont( int nHeight, int nWidth, int nEscapement, int nOrientation, int nWeight, BYTE bItalic, BYTE bUnderline, BYTE cStrikeOut, BYTE nCharSet, BYTE nOutPrecision, BYTE nClipPrecision, BYTE nQuality, BYTE nPitchAndFamily, LPCTSTR lpszFacename );
CFont *pOldFont=dc.SelectObject(&newFont);

26. ComboBox 사용하기
CComboBox combo; //콤보박스 선언
combo.Create( DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID );
//Style - WS_CHILDWS_VISIBLE
int n=combo.GetCurSel(); //선택된 아이템의 index를 가져온다
combo.AddString("문자열"); //문자열을 추가한다
combo.GetLBText(n,str); //n번째 아이템을 str에 저장

27. Spin 사용하기
Spin은 바로앞의 Tab Order에 따라 붙는다
m_spinr.SetRange(1900,3000); //스핀 범위 지정
m_spinr.SetPos(m_nYear); //스핀 위치 지정

28. CTime사용하기
CTime time; //시간객체생성
time=CTime::GetCurrentTime(); //현재시간을 저장
time.GetYear(),time.GetMonth();,time.GetDay(),time.GetHour(),time.GetMinute(),time.GetSecond()

29. CListBox 메소드
AddString("문자열"); //리스트에 문자열 추가
DeleteString(index); //리스트에서 항목 삭제
GetCount() //전체 항목 갯수를 얻는다.
GetSelcount() //선택된 항목 갯수 리턴
GetSel() //선택된 것인지 아닌지를 리턴한다 -> 양수 = TRUE , 음수 => FALSE
GetText(int index,문자열변수) //index 번째 문자열을 문자열 변수에 넣는다
FindStringExact(문자열) //지정 문자열의 index 값 리턴 -> 없으면 리턴값 LB_ERR 반환
FindString("a") //"a"로 시작하는 항목을 모두 찾는다.
ResetCountent() //모든 내용을 지운다.

30. 파일입출력
프로젝트생성시 Step4 => Advanced => 저장파일확장자지정
.h 파일에 DECLARE_SERIAL(CSawon) //이 클래스를 저장,로드가능한 클래스로 쓰겟다는 선언
.cpp 파일에 IMPLEMENT_SERIAL(CSawon,CObject,1) //이거를 해야 저장이 가능하다
void CFileioDoc::Serialize(CArchive& ar)
if (ar.IsStoring()) //저장하기
{ar<
else //열기
{ar>>m_shape; //불러올걸 쓴다. 읽을때도순서대로읽어야한다}

31. MicroSoft FlexGrid 사용하기!
CMSFlexGrid m_Grid; //FlexGrid 컨트롤 변수
CString strTitle[]={"고객코드","고객성명","고객포인트","신장","몸무게","고객등급","BMT지수","판정결과"};
// Grid 의 제목에 넣을문자배열
int Width[]={900,900,1100,800,800,900,1000,900};
// Grid 의 열넓이 지정할 배열
m_Grid.SetRows(m_cnt+2); //전체행수 지정
m_Grid.SetCols(8); //전체열수 지정
m_Grid.Clear(); //지우기
m_Grid.SetFixedCols(0); //고정열은 없다.
m_Grid.SetRow(0); // 행선택
for(int i=0;i<=7;i++)
{
m_Grid.SetColWidth(i,Width[i]); //열 넓이 설정
m_Grid.SetCol(i); //열 선택
m_Grid.SetText(strTitle[i]); // 선택된행, 선택된열에 Text 를 넣는다
}

32. 4대 Class간 참조
//각각 헤더파일 include
#include "MainFrm.h" //메인프레임 헤더파일
#include "ClassDoc.h" //Doc클래스 헤더파일
#include "ClassView.h" //View를 include 할때는 반드시 Doc 헤더파일이 위에잇어야한다
#include "Class.h" //APP Class 의 헤더파일

void CClassView::OnMenuView() //뷰클래스
CClassApp *pApp=(CClassApp *)AfxGetApp(); //View -> App CMainFrame *pMain=(CMainFrame *)AfxGetMainWnd(); //View -> MainFrm
CClassDoc *pDoc=(CClassDoc *)pMain->GetActiveDocument(); //View -> MainFrm -> Doc
CClassDoc *pDoc=(CClassDoc *)GetDocument(); //View -> Doc

//MainFrame 클래스
CClassView *pView=(CClassView *)GetActiveView(); //MainFrm -> View
CClassDoc *pDoc=(CClassDoc *)GetActiveDocument(); //MainFrm -> Doc
CClassApp *pApp=(CClassApp *)AfxGetApp(); //MainFrm -> App

//Doc 클래스
CClassApp *pApp=(CClassApp *)AfxGetApp(); //Doc -> App
CMainFrame *pMain=(CMainFrame *)AfxGetMainWnd(); //Doc -> MainFrm
CClassView *pView=(CClassView *)pMain->GetActiveView(); // Doc -> MainFrm -> View
CClassView *pView=(CClassView *)m_viewList.GetHead(); // Doc -> View

//App 클래스
CMainFrame *pMain=(CMainFrame *)AfxGetMainWnd(); //App -> MainFrm
CClassView *pView=(CClassView *)pMain->GetActiveView(); //App -> MainFrm -> View
CClassDoc *pDoc=(CClassDoc *)pMain->GetActiveDocument(); //App -> MainFrm -> Doc

33. ToolBar 추가하기
CMainFrame 으로 가서 멤버변수 추가
CToolBar m_wndToolBar1;
OnCreate 로 가서 다음 내용을 추가해준다 (위의 toolbar 부분을 복사하고 이름만 바꾸면 된다.3군데..)
if (!m_wndToolBar1.CreateEx(this, TBSTYLE_FLAT, WS_CHILD WS_VISIBLE CBRS_TOP
CBRS_GRIPPER CBRS_TOOLTIPS CBRS_FLYBY CBRS_SIZE_DYNAMIC)
!m_wndToolBar1.LoadToolBar(IDR_TOOLBAR1))
{
TRACE0("Failed to create toolbar\n");
return -1; // fail to create
}

그 함수내에서 //TODO 아래에 내용추가..역시..복사해서 이름만 바꾸면 된다.
m_wndToolBar1.EnableDocking(CBRS_ALIGN_TOPCBRS_ALIGN_BOTTOM);
//DockControlBar(&m_wndToolBar1); <= 이부분 대신..
이거를 넣는다..
CRect toolRect; //툴바 영역을 얻을 사각형
this->RecalcLayout(); //현상태의 Client 영역을 구해서 저장한다
m_wndToolBar.GetWindowRect(&toolRect); //툴바영역을 저장한다
toolRect.left+=1; //사각형의 왼쪽을 1Pixel 줄인다
DockControlBar(&m_wndToolBar1,AFX_IDW_DOCKBAR_TOP,&toolRect); //ToolRect에 툴바를 붙인다
return 0;

34. ToolBar에 ComboBox붙이기
CComboBox m_combo; //객체생성
ID 등록 => view 메뉴 => resource symbol => new => ID_COMBO
oncreate 에 내용 추가 (콤보를 만들고 표시하는 내용)
m_wndToolBar.SetButtonInfo(10,IDC_COMBO,TBBS_SEPARATOR,150);
//툴바의 10번째버튼을 편집한다
CRect itemRect; //콤보를넣을 사각형을 만든다
m_wndToolBar.GetItemRect(10,&itemRect); //툴바의 10번째 버튼을 사각형에 넣는다 itemRect.left+=5; //앞여백
itemRect.right+=5; //뒤여백
itemRect.bottom+=100; //콤보가열릴 공간확보
m_combo.Create(WS_CHILDWS_VISIBLECBS_DROPDOWN,itemRect,&m_wndToolBar,IDC_COMBO);
//콤보박스를 툴바에 붙여준다
m_combo.AddString("이름"); //내용추가
m_combo.SetCurSel(0); //셀 선택

35. Toolbar에 수동으로넣은 ComboBox 사용하기
afx_msg void [안내]태그제한으로등록되지않습니다-xxOnSelectCombo(); //원형
ON_CBN_SELCHANGE(IDC_COMBO,[안내]태그제한으로등록되지않습니다-xxOnSelectCombo) //메세지맵에 추가
CMainFrame *pMain=(CMainFrame *)GetParent(); //메인프레임 주소참조
CComboBox *pCom=(CComboBox *)(pMain->m_wndToolBar.GetDlgItem(IDC_COMBO));
//콤보박스의 주소를 가져온다, 접근할 때 메인프레임 -> 툴바 -> 콤보박스 의 순서로 가야한다
int n=pCom->GetCurSel(); //현재선택된 셀의 인덱스를 가져온다
if(n==CB_ERR) return; //선택된셀이 없으면 중지한다
CString str;
pMain->m_combo.GetLBText(n,str); //선택된셀의 Text를 가져온다

36. UPDATE_COMMAND 사용하기
pCmdUI->Enable(TRUE); //버튼 활성화
pCmdUI->SetText((bAdd)?"취소":"신규"); //버튼의 text 설정
pCmdUI->SetCheck(TRUE); //버튼 체크

37. 프로그램정보저장
CWinApp::GetProfileString(섹션명,항목명,기본값); // 함수를 사용한다. (문자열)
CWinApp::GetProfileInt(섹션명,항목명,기본값); //불러올때사용 (숫자)
CWinApp::WriteProfileString(섹션명,항목명,값); //저장할때 사용 (문자열)
CWinApp::WriteProfileInt(섹션명,항목명,값); //저장할때 사용 (숫자)
//불러올때 사용할함수
void CMainFrame::ActivateFrame(int nCmdShow) //프로그램 실행후 프레임생성될때 실행
//저장할 때 WM_DESTROY 메시지 사용

38. 컨트롤바 표시하기
CMainFrame *pMain=(CMainFrame *)GetParent(); //MainFrame 주소가져오기
pMain->ShowControlBar(&pMain->m_wndToolBar,bTool1,FALSE); //툴바를 bTool2 에따라 보이고 감춘다

39. Window 창크기,위치정보 저장하기
MainFrame 의 WM_DESTROY 에
WINDOWPLACEMENT w;
this->GetWindowPlacement(&w); //윈도우의 정보를 저장한다.
CString strRect;
strRect.Format("%04d,%04d,%04d,%04d", //04d 는 4자리 확보하고 남은건 0으로 채워라
w.rcNormalPosition.left,w.rcNormalPosition.top,
w.rcNormalPosition.right,w.rcNormalPosition.bottom); //윈도우의 위치,크기 확보..

BOOL bMax,bMin; //윈도우의 상태를 저장하기위한 변수
//w.falg 는 이전상태의 정보를 가지고 잇다!!
if(w.showCmd==SW_SHOWMINIMIZED) //최소화 상태
{
bMin=TRUE;
if(w.flags==0) //falg 값이 0 이면 이전 상태가 보통상태이다!!
bMax=FALSE;
else //이전상태가 최대화 상태
bMax=TRUE;
}
else
{
if(w.showCmd==SW_SHOWMAXIMIZED) //최대화상태
{
bMax=TRUE;
bMin=FALSE;
}
else //보통 상태
{
bMax=FALSE;
bMin=FALSE;
}
}
AfxGetApp()->WriteProfileString("WinStatus","Rect",strRect);
AfxGetApp()->WriteProfileInt("WinStatus","Max",bMax);
AfxGetApp()->WriteProfileInt("WinStatus","Min",bMin);

//읽어올차례..
ActivateFrame 함수로 가서
WINDOWPLACEMENT w; //윈도우의 상태를 저장하는 구조체..
BOOL bMax,bMin; //최대,최소상태를 저장할 변수
CString strRect; //창크기를 받아올 변수
strRect=AfxGetApp()->GetProfileString("WinStatus","Rect","0000,0000,0500,0700");
bMin=AfxGetApp()->GetProfileInt("WinStatus","Min",FALSE);
bMax=AfxGetApp()->GetProfileInt("WinStatus","Max",FALSE);
int a=atoi(strRect.Left(4)); //문자열을 int 로 바꿔준다.
int b=atoi(strRect.Mid(5,4)); //atoi 아스키 값을 int형으로 바꿔준다..
int c=atoi(strRect.Mid(10,4));
int d=atoi(strRect.Mid(15,4));
w.rcNormalPosition=CRect(a,b,c,d);
if(bMin)
{
w.showCmd=SW_SHOWMINIMIZED;
if(bMax)
{
w.flags=WPF_RESTORETOMAXIMIZED ;
}
else
{
w.flags=0;
}
}
else
{
if(bMax)
{
w.showCmd=SW_SHOWMAXIMIZED;
}
else
{
w.showCmd=SW_SHOWNORMAL;
}
}
this->SetWindowPlacement(&w); //설정된 값으로 윈도우를 그리게 한다..

//CFrameWnd::ActivateFrame(nCmdShow); //이건 반드시 주석처리한다..

40. progress Bar 쓰기

m_progress.SetRange(m_first,m_last); //Progress 범위설정하기
m_progress.SetStep(m_step); //Progress Step설정하기
//m_progress.StepIt(); //스텝만큼 움직이기
//또는 다음을 사용한다
for(int a=m_first;a<=m_last;a+=m_step) //a가 처음부터 끝까지
{
m_progress.SetPos(a); // 위치를 a에 맞춘다
Sleep(50); //천천히 움직이게한다
}

41. 파일대화상자 FileDialog 사용하기
void CConDlg1::OnFileopen() //파일열기 버튼
{
CFileDialog *fdlg; //파일대화상자 객체 생성 // 포인터로 만든다..
static char BASED_CODE szFilter[] = "Animate Video Files (*.avi)*.aviAll Files (*.*)*.*";
//필터를 만들어 준다..이건 할줄 모름..
fdlg =new CFileDialog(TRUE, ".avi", NULL, OFN_HIDEREADONLY OFN_OVERWRITEPROMPT,szFilter);
//대화상자 만들기..이렇게 해야댄다..
if(fdlg->DoModal()==IDOK) //이제..대화상자를 띠우고..
{ //OK 누르면 실행될 부분..
m_filename=fdlg->GetPathName(); //대화상자에서 경로를 받아서 저장.
UpdateData(FALSE);
}
}
선생님이 해준거 //파일 다이얼로그 만들기
CFileDialog fdlg(TRUE,"avi",".avi",OFN_OEVRWRITEPROMPT,"Vidoe Files(*.avi)*.aviAll Files(*.*)*.*");

42. Animate Control 사용하기
m_animate.Open(m_filename); //파일을 연다
m_animate.Play(0,-1,1); //(처음프레임,마지막프레임,반복횟수)
m_animate.Stop(); //정지시키기
m_ani.SetAutoStart(TRUE); //자동으로 시작한다
43. Control 의 Style 바꿔주기
Control.ModyfyStyle(제거할스타일,추가할스타일); //스타일은 MSDN내용 참조

44. 시스템 날자바꾸기 버튼
//SetSystemTime(),GetSystemTime() //GMT 표준시를 가져온다.
//GetLocalTime(),SetLocalTime() //현재 지역시간을 가져온다.

SYSTEMTIME st;
GetLocalTime(&st); //현재 시간, 날자를 넣는다.
st.wYear=m_date2.GetYear();
st.wMonth=m_date2.GetMonth();
st.wDay=m_date2.GetDay();
SetSystemTime(&st);

45. 시스템 시간 바꾸기 버튼
UpdateData(TRUE);
SYSTEMTIME st;
GetLocalTime(&st);
st.wHour=m_time.GetHour();
st.wMinute=m_time.GetMinute();
st.wSecond=m_time.GetSecond();
SetLocalTime(&st);

46.시스템의 드라이브 문자 얻기

char temp[50];
GetLogicalDriveStrings(sizeof(temp),temp);
CString str,str1;
int n=0;
while(*(temp+n)!=NULL)
{
str=temp+n;
str1+= " "+str.Left(2);
n+=4;
}

47. 현재 작업경로 얻기
char temp[MAX_PATH]; //MAX_PATH 는 경로길이의 최대를 define 해놓은것.
GetCurrentDirectory(sizeof(temp),temp); // 현작업하는 경로를 얻어온다.(경로 길이,문자형);

48. Tree Control 사용하기
HTREEITEM hmov,hmus; //핸들을받을 변수 이게 잇어야 하위 디렉토리 생성가능
hmov=m_tree.InsertItem("영화",TVI_ROOT,TVI_LAST); //,TVI_ROOT,TVI_LAST는 default
hm1=m_tree.InsertItem("외화",hmov); //hmov 아래 “외화”트리 생성
CImageList m_image; //그림을 사용하기 위한 클래스다!! 알아두자..
m_tree.SetImageList(&m_image,TVSIL_NORMAL); //Tree View Style Image List => TVSIL
hmov=m_tree.InsertItem("영화",0,1,TVI_ROOT,TVI_LAST); //,TVI_ROOT,TVI_LAST는 default
hmus=m_tree.InsertItem("가요",1,2); //("문자열",처음그림번호,선택시그림)
hm1=m_tree.InsertItem("외화",2,3,hmov); //그림 번호는 default 로 0이 들어간다..

49. List Control 사용하기
m_list.ModifyStyle(LVS_TYPEMASK, LVS_ICON); //리스트를 큰아이콘형태로 보인다
m_list.ModifyStyle(LVS_TYPEMASK, LVS_SMALLICON); //리스트를 작은아이콘형태로 보인다
m_list.ModifyStyle(LVS_TYPEMASK, LVS_LIST); //리스트를 리스트형태로 보인다
m_list.ModifyStyle(LVS_TYPEMASK, LVS_REPORT); //리스트를 자세히형태로 보인다

CImageList m_treeimage; //이미지리스트
CImageList m_small, m_large;
m_large.Create(IDB_LARGE,32,0,RGB(255,255,255)); //이거는 클래스에서 추가해준거다
m_small.Create(IDB_SMALL,16,0,RGB(255,255,255)); (bmp ID값,
m_list.SetImageList(&m_large,LVSIL_NORMAL);
m_list.SetImageList(&m_small,LVSIL_SMALL);
CString name[]={"홍길동","진달래","한국남","개나리"};
CString tel[]={"400-3759","304-7714","505-9058","700-9898"};
CString born[]={"1980-1-1","1981-12-20","1980-05-15","1981-08-31"};
CString sex[]={"남자","여자","남자","여자"};

m_list.InsertColumn(0,"이름",LVCFMT_LEFT,70);
m_list.InsertColumn(1,"전화번호",LVCFMT_LEFT,80);
m_list.InsertColumn(2,"생일",LVCFMT_LEFT,90);
m_list.InsertColumn(3,"성별",LVCFMT_LEFT,50);
LVITEM it; //리스트 구조체
char temp[100];
for(int a=0;a<4;a++)
{
int n=(sex[a]=="남자")?0:1;
m_list.InsertItem(a,name[a],n); //insert item 은 행을 만들고..
it.mask=LVIF_TEXTLVIF_IMAGE; //마스크 설정
it.iItem=a;
it.iSubItem=1; //열 설정
strcpy(temp,tel[a]); //이거 모하는거냐..
it.pszText=temp;
m_list.SetItem(&it); // setitem 열에 정보를 넣는다.

it.iSubItem=2; //열 설정
strcpy(temp,born[a]); //이거 모하는거냐..
it.pszText=temp;
m_list.SetItem(&it); // setitem 열에 정보를 넣는다.

it.iSubItem=3; //열 설정
strcpy(temp,sex[a]); //이거 모하는거냐..
it.pszText=temp;
m_list.SetItem(&it); // setitem 열에 정보를 넣는다.



50. Bitmap Button 사용하기
CBitmapButton 을 사용한다! CButton 에서 상속 받는클래스임..
m_button1.Create(NULL,
WS_CHILDWS_VISIBLEBS_OWNERDRAW,CRect(310,20,370,50),
this,IDC_MYBUTTON); //버튼만들기
m_button1.LoadBitmaps(IDB_UP,IDB_DOWN,IDB_FOCUS,IDB_DISABLE); //버튼의 그림설정
m_button1.SizeToContent(); //버튼을 그림 크기로 맞춰 준다!!

그냥 버튼을 비트맵버튼으로 바꾸기 -> 버튼을 만든다 속성에서 OWNERDRA 속성에 체크!!
m_button2.LoadBitmaps(IDB_UP,IDB_DOWN,IDB_FOCUS,IDB_DISABLE); //버튼의 그림설정
m_button2.SizeToContent(); //버튼을 그림 크기로 맞춰 준다!!

51. 중복없는 난수발생하기
int su; //발생된 난수저장
int a,b;
BOOL bDasi; //숫자가중복될경우 다시하기위한 변수
for(a=0;a<9;a++) //난수 9개 발생
{
bDasi=TRUE;
while(bDasi)
{
bDasi=FALSE;
su=rand()%10; //난수발생
for(b=0;b
{
if(temp[b]==su) //중복이면
{
bDasi=TRUE; //중복이 잇으면 다시while 문을 실행한다
break;
}//if
}//for
}//while
temp[a]=su; //중복이 아니면 대입한다

52. 메뉴 범위로 사용하기
ON_COMMAND_RANGE(ID_LEVEL3,ID_LEVEL9,OnLevel); //범위메세지 발생
//메뉴 ID의 값이 연속된 숫자일 경우 범위로 지정해서 사용할수잇다

53. 한,영 전환함수
void CCustView::SetHangul(BOOL bCheck) //T:한글 F:영문 이건 외우자..
{
HIMC hm=ImmGetContext(this->GetSafeHwnd()); //뷰클래스의 윈도우 핸들포인터를 얻는다.
if(bCheck)
{
::ImmSetConversionStatus(hm,1,0); //1은 한글 0은 영문
}
else
{
::ImmSetConversionStatus(hm,0,0); //영문으로 바꿔준다
}
::ImmReleaseContext(this->GetSafeHwnd(),hm); //장치를 풀어준다
}
#include "imm.h" //헤더 반드시 추가하고
imm32.lib (라이브러리 파일)를 반드시 링크해주어야 한다!
**** 라이브러리 추가하기
프로젝트메뉴 -> 셋팅 -> 링크탭

54. DLL함수정의하기
임포트함수 : extern "C" __declspec(dllimport) 리터형 함수명(매개변수,...) ;
- 메인프로그램에서 DLL에 있는 함수를 호출할때 사용한다.

엑스포트함수 : extern "C" __declspec(dllexport) 리터형 함수명(매개변수,...)
{
내용;
}

2009년 1월 6일 화요일

SpeechLib reference for C# and VB.NET

Click class names to expand.
Methods marked * are get/set properties.
_ISpeechRecoContextEvents


Void Adaptation (StreamNumber,StreamPosition)
Void AudioLevel (StreamNumber,StreamPosition,AudioLevel)
Void Bookmark (StreamNumber,StreamPosition,BookmarkId,Options)
Void EndStream (StreamNumber,StreamPosition,StreamReleased)
Void EnginePrivate (StreamNumber,StreamPosition,EngineData)
Void FalseRecognition (StreamNumber,StreamPosition,Result)
Void Hypothesis (StreamNumber,StreamPosition,Result)
Void Interference (StreamNumber,StreamPosition,Interference)
Void PhraseStart (StreamNumber,StreamPosition)
Void PropertyNumberChange (StreamNumber,StreamPosition,PropertyName,NewNumberValue)
Void PropertyStringChange (StreamNumber,StreamPosition,PropertyName,NewStringValue)
Void Recognition (StreamNumber,StreamPosition,RecognitionType,Result)
Void RecognitionForOtherContext (StreamNumber,StreamPosition)
Void RecognizerStateChange (StreamNumber,StreamPosition,NewState)
Void RequestUI (StreamNumber,StreamPosition,UIType)
Void SoundEnd (StreamNumber,StreamPosition)
Void SoundStart (StreamNumber,StreamPosition)
Void StartStream (StreamNumber,StreamPosition)
_ISpeechRecoContextEvents_Event

Void add_Adaptation
Void add_AudioLevel
Void add_Bookmark
Void add_EndStream
Void add_EnginePrivate
Void add_FalseRecognition
Void add_Hypothesis
Void add_Interference
Void add_PhraseStart
Void add_PropertyNumberChange
Void add_PropertyStringChange
Void add_Recognition
Void add_RecognitionForOtherContext
Void add_RecognizerStateChange
Void add_RequestUI
Void add_SoundEnd
Void add_SoundStart
Void add_StartStream
Void remove_Adaptation
Void remove_AudioLevel
Void remove_Bookmark
Void remove_EndStream
Void remove_EnginePrivate
Void remove_FalseRecognition
Void remove_Hypothesis
Void remove_Interference
Void remove_PhraseStart
Void remove_PropertyNumberChange
Void remove_PropertyStringChange
Void remove_Recognition
Void remove_RecognitionForOtherContext
Void remove_RecognizerStateChange
Void remove_RequestUI
Void remove_SoundEnd
Void remove_SoundStart
Void remove_StartStream
_ISpeechRecoContextEvents_EventProvider

Void add_Adaptation
Void add_AudioLevel
Void add_Bookmark
Void add_EndStream
Void add_EnginePrivate
Void add_FalseRecognition
Void add_Hypothesis
Void add_Interference
Void add_PhraseStart
Void add_PropertyNumberChange
Void add_PropertyStringChange
Void add_Recognition
Void add_RecognitionForOtherContext
Void add_RecognizerStateChange
Void add_RequestUI
Void add_SoundEnd
Void add_SoundStart
Void add_StartStream
Void Dispose
Void Finalize
Void remove_Adaptation
Void remove_AudioLevel
Void remove_Bookmark
Void remove_EndStream
Void remove_EnginePrivate
Void remove_FalseRecognition
Void remove_Hypothesis
Void remove_Interference
Void remove_PhraseStart
Void remove_PropertyNumberChange
Void remove_PropertyStringChange
Void remove_Recognition
Void remove_RecognitionForOtherContext
Void remove_RecognizerStateChange
Void remove_RequestUI
Void remove_SoundEnd
Void remove_SoundStart
Void remove_StartStream
_ISpeechRecoContextEvents_SinkHelper

Void Adaptation (,)
Void AudioLevel (,,)
Void Bookmark (,,,)
Void EndStream (,,)
Void EnginePrivate (,,)
Void FalseRecognition (,,)
Void Hypothesis (,,)
Void Interference (,,)
Void PhraseStart (,)
Void PropertyNumberChange (,,,)
Void PropertyStringChange (,,,)
Void Recognition (,,,)
Void RecognitionForOtherContext (,)
Void RecognizerStateChange (,,)
Void RequestUI (,,)
Void SoundEnd (,)
Void SoundStart (,)
Void StartStream (,)
_ISpeechVoiceEvents

Void AudioLevel (StreamNumber,StreamPosition,AudioLevel)
Void Bookmark (StreamNumber,StreamPosition,Bookmark,BookmarkId)
Void EndStream (StreamNumber,StreamPosition)
Void EnginePrivate (StreamNumber,StreamPosition,EngineData)
Void Phoneme (StreamNumber,StreamPosition,Duration,NextPhoneId,Feature,CurrentPhoneId)
Void Sentence (StreamNumber,StreamPosition,CharacterPosition,Length)
Void StartStream (StreamNumber,StreamPosition)
Void Viseme (StreamNumber,StreamPosition,Duration,NextVisemeId,Feature,CurrentVisemeId)
Void VoiceChange (StreamNumber,StreamPosition,VoiceObjectToken)
Void Word (StreamNumber,StreamPosition,CharacterPosition,Length)
_ISpeechVoiceEvents_Event

Void add_AudioLevel
Void add_Bookmark
Void add_EndStream
Void add_EnginePrivate
Void add_Phoneme
Void add_Sentence
Void add_StartStream
Void add_Viseme
Void add_VoiceChange
Void add_Word
Void remove_AudioLevel
Void remove_Bookmark
Void remove_EndStream
Void remove_EnginePrivate
Void remove_Phoneme
Void remove_Sentence
Void remove_StartStream
Void remove_Viseme
Void remove_VoiceChange
Void remove_Word
_ISpeechVoiceEvents_EventProvider

Void add_AudioLevel
Void add_Bookmark
Void add_EndStream
Void add_EnginePrivate
Void add_Phoneme
Void add_Sentence
Void add_StartStream
Void add_Viseme
Void add_VoiceChange
Void add_Word
Void Dispose
Void Finalize
Void remove_AudioLevel
Void remove_Bookmark
Void remove_EndStream
Void remove_EnginePrivate
Void remove_Phoneme
Void remove_Sentence
Void remove_StartStream
Void remove_Viseme
Void remove_VoiceChange
Void remove_Word
_ISpeechVoiceEvents_SinkHelper

Void AudioLevel (,,)
Void Bookmark (,,,)
Void EndStream (,)
Void EnginePrivate (,,)
Void Phoneme (,,,,,)
Void Sentence (,,,)
Void StartStream (,)
Void Viseme (,,,,,)
Void VoiceChange (,,)
Void Word (,,,)
IEnumSpObjectTokens

Void Clone (ppEnum)
Void GetCount (pCount)
Void Item (Index,ppToken)
Void Next (celt,pelt,pceltFetched)
Void Reset
Void Skip (celt)
ISequentialStream

Void RemoteRead (pv,cb,pcbRead)
Void RemoteWrite (pv,cb,pcbWritten)
ISpAudio

Void Clone (ppstm)
Void Commit (grfCommitFlags)
IntPtr EventHandle
Void GetBufferInfo (pBuffInfo)
Void GetBufferNotifySize (pcbSize)
Void GetDefaultFormat (pFormatId,ppCoMemWaveFormatEx)
Void GetFormat (pguidFormatId,ppCoMemWaveFormatEx)
Void GetStatus (pStatus)
Void GetVolumeLevel (pLevel)
Void LockRegion (libOffset,cb,dwLockType)
Void RemoteCopyTo (pstm,cb,pcbRead,pcbWritten)
Void RemoteRead (pv,cb,pcbRead)
Void RemoteSeek (dlibMove,dwOrigin,plibNewPosition)
Void RemoteWrite (pv,cb,pcbWritten)
Void Revert
Void SetBufferInfo (pBuffInfo)
Void SetBufferNotifySize (cbSize)
Void SetFormat (rguidFmtId,pWaveFormatEx)
Void SetSize (libNewSize)
Void SetState (NewState,ullReserved)
Void SetVolumeLevel (Level)
Void Stat (pstatstg,grfStatFlag)
Void UnlockRegion (libOffset,cb,dwLockType)
ISpDataKey

Void CreateKey (pszSubKey,ppSubKey)
Void DeleteKey (pszSubKey)
Void DeleteValue (pszValueName)
Void EnumKeys (Index,ppszSubKeyName)
Void EnumValues (Index,ppszValueName)
Void GetData (pszValueName,pcbData,pData)
Void GetDWORD (pszValueName,pdwValue)
Void GetStringValue (pszValueName,ppszValue)
Void OpenKey (pszSubKeyName,ppSubKey)
Void SetData (pszValueName,cbData,pData)
Void SetDWORD (pszValueName,dwValue)
Void SetStringValue (pszValueName,pszValue)
ISpeechAudio

SpeechLib.ISpeechAudioBufferInfo BufferInfo *
Int32 BufferNotifySize *
SpeechLib.SpAudioFormat DefaultFormat *
Int32 EventHandle *
SpeechLib.SpAudioFormat Format *
SpeechLib.ISpeechAudioStatus Status *
Int32 Volume *
Int32 Read (Buffer,NumberOfBytes)
Object Seek (Position,Origin)
Void SetState (State)
Int32 Write (Buffer)
ISpeechAudioBufferInfo

Int32 BufferSize *
Int32 EventBias *
Int32 MinNotification *
ISpeechAudioFormat

String Guid *
SpeechLib.SpeechAudioFormatType Type *
SpeechLib.SpWaveFormatEx GetWaveFormatEx
Void SetWaveFormatEx (WaveFormatEx)
ISpeechAudioStatus

Object CurrentDevicePosition *
Object CurrentSeekPosition *
Int32 FreeBufferSpace *
Int32 NonBlockingIO *
SpeechLib.SpeechAudioState State *
ISpeechBaseStream

SpeechLib.SpAudioFormat Format *
Int32 Read (Buffer,NumberOfBytes)
Object Seek (Position,Origin)
Int32 Write (Buffer)
ISpeechCustomStream

Object BaseStream *
SpeechLib.SpAudioFormat Format *
Int32 Read (Buffer,NumberOfBytes)
Object Seek (Position,Origin)
Int32 Write (Buffer)
ISpeechDataKey

SpeechLib.ISpeechDataKey CreateKey (SubKeyName)
Void DeleteKey (SubKeyName)
Void DeleteValue (ValueName)
String EnumKeys (Index)
String EnumValues (Index)
Object GetBinaryValue (ValueName)
Int32 GetLongValue (ValueName)
String GetStringValue (ValueName)
SpeechLib.ISpeechDataKey OpenKey (SubKeyName)
Void SetBinaryValue (ValueName,Value)
Void SetLongValue (ValueName,Value)
Void SetStringValue (ValueName,Value)
ISpeechFileStream

Void Close
SpeechLib.SpAudioFormat Format *
Void Open (FileName,FileMode,DoEvents)
Int32 Read (Buffer,NumberOfBytes)
Object Seek (Position,Origin)
Int32 Write (Buffer)
ISpeechGrammarRule

Void AddResource (ResourceName,ResourceValue)
SpeechLib.ISpeechGrammarRuleState AddState
Void Clear
SpeechLib.SpeechRuleAttributes Attributes *
Int32 Id *
SpeechLib.ISpeechGrammarRuleState InitialState *
String Name *
ISpeechGrammarRules

SpeechLib.ISpeechGrammarRule Add (RuleName,Attributes,RuleId)
Void Commit
Object CommitAndSave (ErrorText)
SpeechLib.ISpeechGrammarRule FindRule (RuleNameOrId)
Int32 Count *
Boolean Dynamic *
Collections.IEnumerator GetEnumerator
SpeechLib.ISpeechGrammarRule Item (Index)
ISpeechGrammarRuleState

Void AddRuleTransition (DestinationState,Rule,PropertyName,PropertyId,PropertyValue,Weight)
Void AddSpecialTransition (DestinationState,Type,PropertyName,PropertyId,PropertyValue,Weight)
Void AddWordTransition (DestState,Words,Separators,Type,PropertyName,PropertyId,PropertyValue,Weight)
SpeechLib.ISpeechGrammarRule Rule *
SpeechLib.ISpeechGrammarRuleStateTransitions Transitions *
ISpeechGrammarRuleStateTransition

SpeechLib.ISpeechGrammarRuleState NextState *
Int32 PropertyId *
String PropertyName *
Object PropertyValue *
SpeechLib.ISpeechGrammarRule Rule *
String Text *
SpeechLib.SpeechGrammarRuleStateTransitionType Type *
Object Weight *
ISpeechGrammarRuleStateTransitions

Int32 Count *
Collections.IEnumerator GetEnumerator
SpeechLib.ISpeechGrammarRuleStateTransition Item (Index)
ISpeechLexicon

Void AddPronunciation (bstrWord,LangId,PartOfSpeech,bstrPronunciation)
Void AddPronunciationByPhoneIds (bstrWord,LangId,PartOfSpeech,PhoneIds)
Int32 GenerationId *
SpeechLib.ISpeechLexiconWords GetGenerationChange (GenerationId)
SpeechLib.ISpeechLexiconPronunciations GetPronunciations (bstrWord,LangId,TypeFlags)
SpeechLib.ISpeechLexiconWords GetWords (Flags,GenerationId)
Void RemovePronunciation (bstrWord,LangId,PartOfSpeech,bstrPronunciation)
Void RemovePronunciationByPhoneIds (bstrWord,LangId,PartOfSpeech,PhoneIds)
ISpeechLexiconPronunciation

Int32 LangId *
SpeechLib.SpeechPartOfSpeech PartOfSpeech *
Object PhoneIds *
String Symbolic *
SpeechLib.SpeechLexiconType Type *
ISpeechLexiconPronunciations

Int32 Count *
Collections.IEnumerator GetEnumerator
SpeechLib.ISpeechLexiconPronunciation Item (Index)
ISpeechLexiconWord

Int32 LangId *
SpeechLib.ISpeechLexiconPronunciations Pronunciations *
SpeechLib.SpeechWordType Type *
String Word *
ISpeechLexiconWords

Int32 Count *
Collections.IEnumerator GetEnumerator
SpeechLib.ISpeechLexiconWord Item (Index)
ISpeechMemoryStream

SpeechLib.SpAudioFormat Format *
Object GetData
Int32 Read (Buffer,NumberOfBytes)
Object Seek (Position,Origin)
Void SetData (Data)
Int32 Write (Buffer)
ISpeechMMSysAudio

SpeechLib.ISpeechAudioBufferInfo BufferInfo *
Int32 BufferNotifySize *
SpeechLib.SpAudioFormat DefaultFormat *
Int32 DeviceId *
Int32 EventHandle *
SpeechLib.SpAudioFormat Format *
Int32 LineId *
Int32 MMHandle *
SpeechLib.ISpeechAudioStatus Status *
Int32 Volume *
Int32 Read (Buffer,NumberOfBytes)
Object Seek (Position,Origin)
Void SetState (State)
Int32 Write (Buffer)
ISpeechObjectToken

Object CreateInstance (pUnkOuter,ClsContext)
Void DisplayUI (hWnd,Title,TypeOfUI,ExtraData,Object)
SpeechLib.SpObjectTokenCategory Category *
SpeechLib.ISpeechDataKey DataKey *
String Id *
String GetAttribute (AttributeName)
String GetDescription (Locale)
String GetStorageFileName (ObjectStorageCLSID,KeyName,FileName,Folder)
Boolean IsUISupported (TypeOfUI,ExtraData,Object)
Boolean MatchesAttributes (Attributes)
Void Remove (ObjectStorageCLSID)
Void RemoveStorageFileName (ObjectStorageCLSID,KeyName,DeleteFile)
Void SetId (Id,CategoryID,CreateIfNotExist)
ISpeechObjectTokenCategory

SpeechLib.ISpeechObjectTokens EnumerateTokens (RequiredAttributes,OptionalAttributes)
String Default *
String Id *
SpeechLib.ISpeechDataKey GetDataKey (Location)
Void SetId (Id,CreateIfNotExist)
ISpeechObjectTokens

Int32 Count *
Collections.IEnumerator GetEnumerator
SpeechLib.SpObjectToken Item (Index)
ISpeechPhoneConverter

Int32 LanguageId *
String IdToPhone (IdArray)
Object PhoneToId (Phonemes)
ISpeechPhraseAlternate

Void Commit
Int32 NumberOfElementsInResult *
SpeechLib.ISpeechPhraseInfo PhraseInfo *
SpeechLib.ISpeechRecoResult RecoResult *
Int32 StartElementInResult *
ISpeechPhraseAlternates

Int32 Count *
Collections.IEnumerator GetEnumerator
SpeechLib.ISpeechPhraseAlternate Item (Index)
ISpeechPhraseElement

SpeechLib.SpeechEngineConfidence ActualConfidence *
Int32 AudioSizeBytes *
Int32 AudioSizeTime *
Int32 AudioStreamOffset *
Int32 AudioTimeOffset *
SpeechLib.SpeechDisplayAttributes DisplayAttributes *
String DisplayText *
Single EngineConfidence *
String LexicalForm *
Object Pronunciation *
SpeechLib.SpeechEngineConfidence RequiredConfidence *
Int32 RetainedSizeBytes *
Int32 RetainedStreamOffset *
ISpeechPhraseElements

Int32 Count *
Collections.IEnumerator GetEnumerator
SpeechLib.ISpeechPhraseElement Item (Index)
ISpeechPhraseInfo

Int32 AudioSizeBytes *
Int32 AudioSizeTime *
Object AudioStreamPosition *
SpeechLib.ISpeechPhraseElements Elements *
String EngineId *
Object EnginePrivateData *
Object GrammarId *
Int32 LanguageId *
SpeechLib.ISpeechPhraseProperties Properties *
SpeechLib.ISpeechPhraseReplacements Replacements *
Int32 RetainedSizeBytes *
SpeechLib.ISpeechPhraseRule Rule *
Object StartTime *
SpeechLib.SpeechDisplayAttributes GetDisplayAttributes (StartElement,Elements,UseReplacements)
String GetText (StartElement,Elements,UseReplacements)
Object SaveToMemory
ISpeechPhraseProperties

Int32 Count *
Collections.IEnumerator GetEnumerator
SpeechLib.ISpeechPhraseProperty Item (Index)
ISpeechPhraseProperty

SpeechLib.ISpeechPhraseProperties Children *
SpeechLib.SpeechEngineConfidence Confidence *
Single EngineConfidence *
Int32 FirstElement *
Int32 Id *
String Name *
Int32 NumberOfElements *
SpeechLib.ISpeechPhraseProperty Parent *
Object Value *
ISpeechPhraseReplacement

SpeechLib.SpeechDisplayAttributes DisplayAttributes *
Int32 FirstElement *
Int32 NumberOfElements *
String Text *
ISpeechPhraseReplacements

Int32 Count *
Collections.IEnumerator GetEnumerator
SpeechLib.ISpeechPhraseReplacement Item (Index)
ISpeechPhraseRule

SpeechLib.ISpeechPhraseRules Children *
SpeechLib.SpeechEngineConfidence Confidence *
Single EngineConfidence *
Int32 FirstElement *
Int32 Id *
String Name *
Int32 NumberOfElements *
SpeechLib.ISpeechPhraseRule Parent *
ISpeechPhraseRules

Int32 Count *
Collections.IEnumerator GetEnumerator
SpeechLib.ISpeechPhraseRule Item (Index)
ISpeechRecoContext

Void Bookmark (Options,StreamPos,BookmarkId)
SpeechLib.ISpeechRecoGrammar CreateGrammar (GrammarId)
SpeechLib.ISpeechRecoResult CreateResultFromMemory (ResultBlock)
Boolean AllowVoiceFormatMatchingOnNextSet *
SpeechLib.SpeechInterference AudioInputInterferenceStatus *
Int32 CmdMaxAlternates *
SpeechLib.SpeechRecoEvents EventInterests *
SpeechLib.ISpeechRecognizer Recognizer *
String RequestedUIType *
SpeechLib.SpeechRetainedAudioOptions RetainedAudio *
SpeechLib.SpAudioFormat RetainedAudioFormat *
SpeechLib.SpeechRecoContextState State *
SpeechLib.SpVoice Voice *
SpeechLib.SpeechRecoEvents VoicePurgeEvent *
Void Pause
Void Resume
Void SetAdaptationData (AdaptationString)
ISpeechRecognizer

SpeechLib.ISpeechRecoContext CreateRecoContext
Void DisplayUI (hWndParent,Title,TypeOfUI,ExtraData)
Void EmulateRecognition (TextElements,ElementDisplayAttributes,LanguageId)
Boolean AllowAudioInputFormatChangesOnNextSet *
SpeechLib.SpObjectToken AudioInput *
SpeechLib.ISpeechBaseStream AudioInputStream *
Boolean IsShared *
SpeechLib.SpObjectToken Profile *
SpeechLib.SpObjectToken Recognizer *
SpeechLib.SpeechRecognizerState State *
SpeechLib.ISpeechRecognizerStatus Status *
SpeechLib.ISpeechObjectTokens GetAudioInputs (RequiredAttributes,OptionalAttributes)
SpeechLib.SpAudioFormat GetFormat (Type)
SpeechLib.ISpeechObjectTokens GetProfiles (RequiredAttributes,OptionalAttributes)
Boolean GetPropertyNumber (Name,Value)
Boolean GetPropertyString (Name,Value)
SpeechLib.ISpeechObjectTokens GetRecognizers (RequiredAttributes,OptionalAttributes)
Boolean IsUISupported (TypeOfUI,ExtraData)
Boolean SetPropertyNumber (Name,Value)
Boolean SetPropertyString (Name,Value)
ISpeechRecognizerStatus

SpeechLib.ISpeechAudioStatus AudioStatus *
String ClsidEngine *
Int32 CurrentStreamNumber *
Object CurrentStreamPosition *
Int32 NumberOfActiveRules *
Object SupportedLanguages *
ISpeechRecoGrammar

Void CmdLoadFromFile (FileName,LoadOption)
Void CmdLoadFromMemory (GrammarData,LoadOption)
Void CmdLoadFromObject (ClassId,GrammarName,LoadOption)
Void CmdLoadFromProprietaryGrammar (ProprietaryGuid,ProprietaryString,ProprietaryData,LoadOption)
Void CmdLoadFromResource (hModule,ResourceName,ResourceType,LanguageId,LoadOption)
Void CmdSetRuleIdState (RuleId,State)
Void CmdSetRuleState (Name,State)
Void DictationLoad (TopicName,LoadOption)
Void DictationSetState (State)
Void DictationUnload
Object Id *
SpeechLib.ISpeechRecoContext RecoContext *
SpeechLib.ISpeechGrammarRules Rules *
SpeechLib.SpeechGrammarState State *
SpeechLib.SpeechWordPronounceable IsPronounceable (Word)
Void Reset (NewLanguage)
Void SetTextSelection (Info)
Void SetWordSequenceData (Text,TextLength,Info)
ISpeechRecoResult

SpeechLib.ISpeechPhraseAlternates Alternates (RequestCount,StartElement,Elements)
SpeechLib.SpMemoryStream Audio (StartElement,Elements)
Void DiscardResultInfo (ValueTypes)
SpeechLib.SpAudioFormat AudioFormat *
SpeechLib.ISpeechPhraseInfo PhraseInfo *
SpeechLib.ISpeechRecoContext RecoContext *
SpeechLib.ISpeechRecoResultTimes Times *
Object SaveToMemory
Int32 SpeakAudio (StartElement,Elements,Flags)
ISpeechRecoResultTimes

Object Length *
Object OffsetFromStart *
Object StreamTime *
Int32 TickCount *
ISpeechTextSelectionInformation

Int32 ActiveLength *
Int32 ActiveOffset *
Int32 SelectionLength *
Int32 SelectionOffset *
ISpeechVoice

Void DisplayUI (hWndParent,Title,TypeOfUI,ExtraData)
SpeechLib.SpeechVoiceEvents AlertBoundary *
Boolean AllowAudioOutputFormatChangesOnNextSet *
SpeechLib.SpObjectToken AudioOutput *
SpeechLib.ISpeechBaseStream AudioOutputStream *
SpeechLib.SpeechVoiceEvents EventInterests *
SpeechLib.SpeechVoicePriority Priority *
Int32 Rate *
SpeechLib.ISpeechVoiceStatus Status *
Int32 SynchronousSpeakTimeout *
SpeechLib.SpObjectToken Voice *
Int32 Volume *
SpeechLib.ISpeechObjectTokens GetAudioOutputs (RequiredAttributes,OptionalAttributes)
SpeechLib.ISpeechObjectTokens GetVoices (RequiredAttributes,OptionalAttributes)
Boolean IsUISupported (TypeOfUI,ExtraData)
Void Pause
Void Resume
Int32 Skip (Type,NumItems)
Int32 Speak (Text,Flags)
Int32 SpeakCompleteEvent
Int32 SpeakStream (Stream,Flags)
Boolean WaitUntilDone (msTimeout)
ISpeechVoiceStatus

Int32 CurrentStreamNumber *
Int32 InputSentenceLength *
Int32 InputSentencePosition *
Int32 InputWordLength *
Int32 InputWordPosition *
String LastBookmark *
Int32 LastBookmarkId *
Int32 LastHResult *
Int32 LastStreamNumberQueued *
Int16 PhonemeId *
SpeechLib.SpeechRunState RunningState *
Int16 VisemeId *
ISpeechWaveFormatEx

Int32 AvgBytesPerSec *
Int16 BitsPerSample *
Int16 BlockAlign *
Int16 Channels *
Object ExtraData *
Int16 FormatTag *
Int32 SamplesPerSec *
ISpEventSink

Void AddEvents (pEventArray,ulCount)
Void GetEventInterest (pullEventInterest)
ISpEventSource

Void GetEvents (ulCount,pEventArray,pulFetched)
Void GetInfo (pInfo)
IntPtr GetNotifyEventHandle
Void SetInterest (ullEventInterest,ullQueuedInterest)
Void SetNotifyCallbackFunction (pfnCallback,wParam,lParam)
Void SetNotifyCallbackInterface (pSpCallback,wParam,lParam)
Void SetNotifySink (pNotifySink)
Void SetNotifyWin32Event
Void SetNotifyWindowMessage (hWnd,Msg,wParam,lParam)
Void WaitForNotifyEvent (dwMilliseconds)
ISpGrammarBuilder

Void AddResource (hRuleState,pszResourceName,pszResourceValue)
Void AddRuleTransition (hFromState,hToState,hRule,Weight,pPropInfo)
Void AddWordTransition (hFromState,hToState,psz,pszSeparators,eWordType,Weight,pPropInfo)
Void ClearRule (hState)
Void Commit (dwReserved)
Void CreateNewState (hState,phState)
Void GetRule (pszRuleName,dwRuleId,dwAttributes,fCreateIfNotExist,phInitialState)
Void ResetGrammar (NewLanguage)
ISpLexicon

Void AddPronunciation (pszWord,LangId,ePartOfSpeech,pszPronunciation)
Void GetGeneration (pdwGeneration)
Void GetGenerationChange (dwFlags,pdwGeneration,pWordList)
Void GetPronunciations (pszWord,LangId,dwFlags,pWordPronunciationList)
Void GetWords (dwFlags,pdwGeneration,pdwCookie,pWordList)
Void RemovePronunciation (pszWord,LangId,ePartOfSpeech,pszPronunciation)
ISpMMSysAudio

Void Clone (ppstm)
Void Commit (grfCommitFlags)
IntPtr EventHandle
Void GetBufferInfo (pBuffInfo)
Void GetBufferNotifySize (pcbSize)
Void GetDefaultFormat (pFormatId,ppCoMemWaveFormatEx)
Void GetDeviceId (puDeviceId)
Void GetFormat (pguidFormatId,ppCoMemWaveFormatEx)
Void GetLineId (puLineId)
Void GetMMHandle (pHandle)
Void GetStatus (pStatus)
Void GetVolumeLevel (pLevel)
Void LockRegion (libOffset,cb,dwLockType)
Void RemoteCopyTo (pstm,cb,pcbRead,pcbWritten)
Void RemoteRead (pv,cb,pcbRead)
Void RemoteSeek (dlibMove,dwOrigin,plibNewPosition)
Void RemoteWrite (pv,cb,pcbWritten)
Void Revert
Void SetBufferInfo (pBuffInfo)
Void SetBufferNotifySize (cbSize)
Void SetDeviceId (uDeviceId)
Void SetFormat (rguidFmtId,pWaveFormatEx)
Void SetLineId (uLineId)
Void SetSize (libNewSize)
Void SetState (NewState,ullReserved)
Void SetVolumeLevel (Level)
Void Stat (pstatstg,grfStatFlag)
Void UnlockRegion (libOffset,cb,dwLockType)
ISpNotifySource

IntPtr GetNotifyEventHandle
Void SetNotifyCallbackFunction (pfnCallback,wParam,lParam)
Void SetNotifyCallbackInterface (pSpCallback,wParam,lParam)
Void SetNotifySink (pNotifySink)
Void SetNotifyWin32Event
Void SetNotifyWindowMessage (hWnd,Msg,wParam,lParam)
Void WaitForNotifyEvent (dwMilliseconds)
ISpNotifyTranslator

IntPtr GetEventHandle
Void InitCallback (pfnCallback,wParam,lParam)
Void InitSpNotifyCallback (pSpCallback,wParam,lParam)
Void InitWin32Event (hEvent,fCloseHandleOnRelease)
Void InitWindowMessage (hWnd,Msg,wParam,lParam)
Void Notify
Void Wait (dwMilliseconds)
ISpObjectToken

Void CreateInstance (pUnkOuter,dwClsContext,riid,ppvObject)
Void CreateKey (pszSubKey,ppSubKey)
Void DeleteKey (pszSubKey)
Void DeleteValue (pszValueName)
Void DisplayUI (hWndParent,pszTitle,pszTypeOfUI,pvExtraData,cbExtraData,punkObject)
Void EnumKeys (Index,ppszSubKeyName)
Void EnumValues (Index,ppszValueName)
Void GetCategory (ppTokenCategory)
Void GetData (pszValueName,pcbData,pData)
Void GetDWORD (pszValueName,pdwValue)
Void GetId (ppszCoMemTokenId)
Void GetStorageFileName (clsidCaller,pszValueName,pszFileNameSpecifier,nFolder,ppszFilePath)
Void GetStringValue (pszValueName,ppszValue)
Void IsUISupported (pszTypeOfUI,pvExtraData,cbExtraData,punkObject,pfSupported)
Void MatchesAttributes (pszAttributes,pfMatches)
Void OpenKey (pszSubKeyName,ppSubKey)
Void Remove (pclsidCaller)
Void RemoveStorageFileName (clsidCaller,pszKeyName,fDeleteFile)
Void SetData (pszValueName,cbData,pData)
Void SetDWORD (pszValueName,dwValue)
Void SetId (pszCategoryId,pszTokenId,fCreateIfNotExist)
Void SetStringValue (pszValueName,pszValue)
ISpObjectTokenCategory

Void CreateKey (pszSubKey,ppSubKey)
Void DeleteKey (pszSubKey)
Void DeleteValue (pszValueName)
Void EnumKeys (Index,ppszSubKeyName)
Void EnumTokens (pzsReqAttribs,pszOptAttribs,ppEnum)
Void EnumValues (Index,ppszValueName)
Void GetData (pszValueName,pcbData,pData)
Void GetDataKey (spdkl,ppDataKey)
Void GetDefaultTokenId (ppszCoMemTokenId)
Void GetDWORD (pszValueName,pdwValue)
Void GetId (ppszCoMemCategoryId)
Void GetStringValue (pszValueName,ppszValue)
Void OpenKey (pszSubKeyName,ppSubKey)
Void SetData (pszValueName,cbData,pData)
Void SetDefaultTokenId (pszTokenId)
Void SetDWORD (pszValueName,dwValue)
Void SetId (pszCategoryId,fCreateIfNotExist)
Void SetStringValue (pszValueName,pszValue)
ISpObjectWithToken

Void GetObjectToken (ppToken)
Void SetObjectToken (pToken)
ISpPhoneConverter

Void GetObjectToken (ppToken)
Void IdToPhone (pId,pszPhone)
Void PhoneToId (pszPhone,pId)
Void SetObjectToken (pToken)
ISpPhrase

Void Discard (dwValueTypes)
Void GetPhrase (ppCoMemPhrase)
Void GetSerializedPhrase (ppCoMemPhrase)
Void GetText (ulStart,ulCount,fUseTextReplacements,ppszCoMemText,pbDisplayAttributes)
ISpPhraseAlt

Void Commit
Void Discard (dwValueTypes)
Void GetAltInfo (ppParent,pulStartElementInParent,pcElementsInParent,pcElementsInAlt)
Void GetPhrase (ppCoMemPhrase)
Void GetSerializedPhrase (ppCoMemPhrase)
Void GetText (ulStart,ulCount,fUseTextReplacements,ppszCoMemText,pbDisplayAttributes)
ISpProperties

Void GetPropertyNum (pName,plValue)
Void GetPropertyString (pName,ppCoMemValue)
Void SetPropertyNum (pName,lValue)
Void SetPropertyString (pName,pValue)
ISpRecoContext

Void Bookmark (Options,ullStreamPosition,lparamEvent)
Void CreateGrammar (ullGrammarID,ppGrammar)
Void DeserializeResult (pSerializedResult,ppResult)
Void GetAudioOptions (pOptions,pAudioFormatId,ppCoMemWFEX)
Void GetContextState (peContextState)
Void GetEvents (ulCount,pEventArray,pulFetched)
Void GetInfo (pInfo)
Void GetMaxAlternates (pcAlternates)
IntPtr GetNotifyEventHandle
Void GetRecognizer (ppRecognizer)
Void GetStatus (pStatus)
Void GetVoice (ppVoice)
Void GetVoicePurgeEvent (pullEventInterest)
Void Pause (dwReserved)
Void Resume (dwReserved)
Void SetAdaptationData (pAdaptationData,cch)
Void SetAudioOptions (Options,pAudioFormatId,pWaveFormatEx)
Void SetContextState (eContextState)
Void SetInterest (ullEventInterest,ullQueuedInterest)
Void SetMaxAlternates (cAlternates)
Void SetNotifyCallbackFunction (pfnCallback,wParam,lParam)
Void SetNotifyCallbackInterface (pSpCallback,wParam,lParam)
Void SetNotifySink (pNotifySink)
Void SetNotifyWin32Event
Void SetNotifyWindowMessage (hWnd,Msg,wParam,lParam)
Void SetVoice (pVoice,fAllowFormatChanges)
Void SetVoicePurgeEvent (ullEventInterest)
Void WaitForNotifyEvent (dwMilliseconds)
ISpRecognizer

Void CreateRecoContext (ppNewCtxt)
Void DisplayUI (hWndParent,pszTitle,pszTypeOfUI,pvExtraData,cbExtraData)
Void EmulateRecognition (pPhrase)
Void GetFormat (WaveFormatType,pFormatId,ppCoMemWFEX)
Void GetInputObjectToken (ppToken)
Void GetInputStream (ppStream)
Void GetPropertyNum (pName,plValue)
Void GetPropertyString (pName,ppCoMemValue)
Void GetRecognizer (ppRecognizer)
Void GetRecoProfile (ppToken)
Void GetRecoState (pState)
Void GetStatus (pStatus)
Void IsSharedInstance
Void IsUISupported (pszTypeOfUI,pvExtraData,cbExtraData,pfSupported)
Void SetInput (pUnkInput,fAllowFormatChanges)
Void SetPropertyNum (pName,lValue)
Void SetPropertyString (pName,pValue)
Void SetRecognizer (pRecognizer)
Void SetRecoProfile (pToken)
Void SetRecoState (NewState)
ISpRecoGrammar

Void AddResource (hRuleState,pszResourceName,pszResourceValue)
Void AddRuleTransition (hFromState,hToState,hRule,Weight,pPropInfo)
Void AddWordTransition (hFromState,hToState,psz,pszSeparators,eWordType,Weight,pPropInfo)
Void ClearRule (hState)
Void Commit (dwReserved)
Void CreateNewState (hState,phState)
Void GetGrammarId (pullGrammarId)
Void GetGrammarState (peGrammarState)
Void GetRecoContext (ppRecoCtxt)
Void GetRule (pszRuleName,dwRuleId,dwAttributes,fCreateIfNotExist,phInitialState)
Void IsPronounceable (pszWord,pWordPronounceable)
Void LoadCmdFromFile (pszFileName,Options)
Void LoadCmdFromMemory (pGrammar,Options)
Void LoadCmdFromObject (rcid,pszGrammarName,Options)
Void LoadCmdFromProprietaryGrammar (rguidParam,pszStringParam,pvDataPrarm,cbDataSize,Options)
Void LoadCmdFromResource (hModule,pszResourceName,pszResourceType,wLanguage,Options)
Void LoadDictation (pszTopicName,Options)
Void ResetGrammar (NewLanguage)
Void SaveCmd (pStream,ppszCoMemErrorText)
Void SetDictationState (NewState)
Void SetGrammarState (eGrammarState)
Void SetRuleIdState (ulRuleId,NewState)
Void SetRuleState (pszName,pReserved,NewState)
Void SetTextSelection (pInfo)
Void SetWordSequenceData (pText,cchText,pInfo)
Void UnloadDictation
ISpRecoResult

Void Discard (dwValueTypes)
Void GetAlternates (ulStartElement,cElements,ulRequestCount,ppPhrases,pcPhrasesReturned)
Void GetAudio (ulStartElement,cElements,ppStream)
Void GetPhrase (ppCoMemPhrase)
Void GetRecoContext (ppRecoContext)
Void GetResultTimes (pTimes)
Void GetSerializedPhrase (ppCoMemPhrase)
Void GetText (ulStart,ulCount,fUseTextReplacements,ppszCoMemText,pbDisplayAttributes)
Void ScaleAudio (pAudioFormatId,pWaveFormatEx)
Void Serialize (ppCoMemSerializedResult)
Void SpeakAudio (ulStartElement,cElements,dwFlags,pulStreamNumber)
ISpResourceManager

Void GetObject (guidServiceId,ObjectCLSID,ObjectIID,fReleaseWhenLastExternalRefReleased,ppObject)
Void RemoteQueryService (guidService,riid,ppvObject)
Void SetObject (guidServiceId,punkObject)
ISpStream

Void BindToFile (pszFileName,eMode,pFormatId,pWaveFormatEx,ullEventInterest)
Void Clone (ppstm)
Void Close
Void Commit (grfCommitFlags)
Void GetBaseStream (ppStream)
Void GetFormat (pguidFormatId,ppCoMemWaveFormatEx)
Void LockRegion (libOffset,cb,dwLockType)
Void RemoteCopyTo (pstm,cb,pcbRead,pcbWritten)
Void RemoteRead (pv,cb,pcbRead)
Void RemoteSeek (dlibMove,dwOrigin,plibNewPosition)
Void RemoteWrite (pv,cb,pcbWritten)
Void Revert
Void SetBaseStream (pStream,rguidFormat,pWaveFormatEx)
Void SetSize (libNewSize)
Void Stat (pstatstg,grfStatFlag)
Void UnlockRegion (libOffset,cb,dwLockType)
ISpStreamFormat

Void Clone (ppstm)
Void Commit (grfCommitFlags)
Void GetFormat (pguidFormatId,ppCoMemWaveFormatEx)
Void LockRegion (libOffset,cb,dwLockType)
Void RemoteCopyTo (pstm,cb,pcbRead,pcbWritten)
Void RemoteRead (pv,cb,pcbRead)
Void RemoteSeek (dlibMove,dwOrigin,plibNewPosition)
Void RemoteWrite (pv,cb,pcbWritten)
Void Revert
Void SetSize (libNewSize)
Void Stat (pstatstg,grfStatFlag)
Void UnlockRegion (libOffset,cb,dwLockType)
ISpStreamFormatConverter

Void Clone (ppstm)
Void Commit (grfCommitFlags)
Void GetBaseStream (ppStream)
Void GetFormat (pguidFormatId,ppCoMemWaveFormatEx)
Void LockRegion (libOffset,cb,dwLockType)
Void RemoteCopyTo (pstm,cb,pcbRead,pcbWritten)
Void RemoteRead (pv,cb,pcbRead)
Void RemoteSeek (dlibMove,dwOrigin,plibNewPosition)
Void RemoteWrite (pv,cb,pcbWritten)
Void ResetSeekPosition
Void Revert
Void ScaleBaseToConvertedOffset (ullOffsetBaseStream,pullOffsetConvertedStream)
Void ScaleConvertedToBaseOffset (ullOffsetConvertedStream,pullOffsetBaseStream)
Void SetBaseStream (pStream,fSetFormatToBaseStreamFormat,fWriteToBaseStream)
Void SetFormat (rguidFormatIdOfConvertedStream,pWaveFormatExOfConvertedStream)
Void SetSize (libNewSize)
Void Stat (pstatstg,grfStatFlag)
Void UnlockRegion (libOffset,cb,dwLockType)
ISpVoice

Void DisplayUI (hWndParent,pszTitle,pszTypeOfUI,pvExtraData,cbExtraData)
Void GetAlertBoundary (peBoundary)
Void GetEvents (ulCount,pEventArray,pulFetched)
Void GetInfo (pInfo)
IntPtr GetNotifyEventHandle
Void GetOutputObjectToken (ppObjectToken)
Void GetOutputStream (ppStream)
Void GetPriority (pePriority)
Void GetRate (pRateAdjust)
Void GetStatus (pStatus,ppszLastBookmark)
Void GetSyncSpeakTimeout (pmsTimeout)
Void GetVoice (ppToken)
Void GetVolume (pusVolume)
Void IsUISupported (pszTypeOfUI,pvExtraData,cbExtraData,pfSupported)
Void Pause
Void Resume
Void SetAlertBoundary (eBoundary)
Void SetInterest (ullEventInterest,ullQueuedInterest)
Void SetNotifyCallbackFunction (pfnCallback,wParam,lParam)
Void SetNotifyCallbackInterface (pSpCallback,wParam,lParam)
Void SetNotifySink (pNotifySink)
Void SetNotifyWin32Event
Void SetNotifyWindowMessage (hWnd,Msg,wParam,lParam)
Void SetOutput (pUnkOutput,fAllowFormatChanges)
Void SetPriority (ePriority)
Void SetRate (RateAdjust)
Void SetSyncSpeakTimeout (msTimeout)
Void SetVoice (pToken)
Void SetVolume (usVolume)
Void Skip (pItemType,lNumItems,pulNumSkipped)
Void Speak (pwcs,dwFlags,pulStreamNumber)
IntPtr SpeakCompleteEvent
Void SpeakStream (pStream,dwFlags,pulStreamNumber)
Void WaitForNotifyEvent (dwMilliseconds)
Void WaitUntilDone (msTimeout)
IStream

Void Clone (ppstm)
Void Commit (grfCommitFlags)
Void LockRegion (libOffset,cb,dwLockType)
Void RemoteCopyTo (pstm,cb,pcbRead,pcbWritten)
Void RemoteRead (pv,cb,pcbRead)
Void RemoteSeek (dlibMove,dwOrigin,plibNewPosition)
Void RemoteWrite (pv,cb,pcbWritten)
Void Revert
Void SetSize (libNewSize)
Void Stat (pstatstg,grfStatFlag)
Void UnlockRegion (libOffset,cb,dwLockType)
SpAudioFormatClass

String Guid *
SpeechLib.SpeechAudioFormatType Type *
SpeechLib.SpWaveFormatEx GetWaveFormatEx
Void SetWaveFormatEx (WaveFormatEx)
SpCompressedLexiconClass

Void AddPronunciation (pszWord,LangId,ePartOfSpeech,pszPronunciation)
Void GetGeneration (pdwGeneration)
Void GetGenerationChange (dwFlags,pdwGeneration,pWordList)
Void GetObjectToken (ppToken)
Void GetPronunciations (pszWord,LangId,dwFlags,pWordPronunciationList)
Void GetWords (dwFlags,pdwGeneration,pdwCookie,pWordList)
Void RemovePronunciation (pszWord,LangId,ePartOfSpeech,pszPronunciation)
Void SetObjectToken (pToken)
SpCustomStreamClass

Void BindToFile (pszFileName,eMode,pFormatId,pWaveFormatEx,ullEventInterest)
Void Clone (ppstm)
Void Close
Void Commit (grfCommitFlags)
Object BaseStream *
SpeechLib.SpAudioFormat Format *
Void GetBaseStream (ppStream)
Void GetFormat (pguidFormatId,ppCoMemWaveFormatEx)
Void LockRegion (libOffset,cb,dwLockType)
Int32 Read (Buffer,NumberOfBytes)
Void RemoteCopyTo (pstm,cb,pcbRead,pcbWritten)
Void RemoteRead (pv,cb,pcbRead)
Void RemoteSeek (dlibMove,dwOrigin,plibNewPosition)
Void RemoteWrite (pv,cb,pcbWritten)
Void Revert
Object Seek (Position,Origin)
Void SetBaseStream (pStream,rguidFormat,pWaveFormatEx)
Void SetSize (libNewSize)
Void Stat (pstatstg,grfStatFlag)
Void UnlockRegion (libOffset,cb,dwLockType)
Int32 Write (Buffer)
SpFileStreamClass

Void BindToFile (pszFileName,eMode,pFormatId,pWaveFormatEx,ullEventInterest)
Void Clone (ppstm)
Void Close
Void Commit (grfCommitFlags)
SpeechLib.SpAudioFormat Format *
Void GetBaseStream (ppStream)
Void GetFormat (pguidFormatId,ppCoMemWaveFormatEx)
Void ISpStream_Close
Void LockRegion (libOffset,cb,dwLockType)
Void Open (FileName,FileMode,DoEvents)
Int32 Read (Buffer,NumberOfBytes)
Void RemoteCopyTo (pstm,cb,pcbRead,pcbWritten)
Void RemoteRead (pv,cb,pcbRead)
Void RemoteSeek (dlibMove,dwOrigin,plibNewPosition)
Void RemoteWrite (pv,cb,pcbWritten)
Void Revert
Object Seek (Position,Origin)
Void SetBaseStream (pStream,rguidFormat,pWaveFormatEx)
Void SetSize (libNewSize)
Void Stat (pstatstg,grfStatFlag)
Void UnlockRegion (libOffset,cb,dwLockType)
Int32 Write (Buffer)
SpInProcRecoContextClass

Void add_Adaptation
Void add_AudioLevel
Void add_Bookmark
Void add_EndStream
Void add_EnginePrivate
Void add_FalseRecognition
Void add_Hypothesis
Void add_Interference
Void add_PhraseStart
Void add_PropertyNumberChange
Void add_PropertyStringChange
Void add_Recognition
Void add_RecognitionForOtherContext
Void add_RecognizerStateChange
Void add_RequestUI
Void add_SoundEnd
Void add_SoundStart
Void add_StartStream
Void Bookmark (Options,ullStreamPosition,lparamEvent)
Void Bookmark (Options,StreamPos,BookmarkId)
Void CreateGrammar (ullGrammarID,ppGrammar)
SpeechLib.ISpeechRecoGrammar CreateGrammar (GrammarId)
SpeechLib.ISpeechRecoResult CreateResultFromMemory (ResultBlock)
Void DeserializeResult (pSerializedResult,ppResult)
Boolean AllowVoiceFormatMatchingOnNextSet *
SpeechLib.SpeechInterference AudioInputInterferenceStatus *
Int32 CmdMaxAlternates *
SpeechLib.SpeechRecoEvents EventInterests *
SpeechLib.ISpeechRecognizer Recognizer *
String RequestedUIType *
SpeechLib.SpeechRetainedAudioOptions RetainedAudio *
SpeechLib.SpAudioFormat RetainedAudioFormat *
SpeechLib.SpeechRecoContextState State *
SpeechLib.SpVoice Voice *
SpeechLib.SpeechRecoEvents VoicePurgeEvent *
Void GetAudioOptions (pOptions,pAudioFormatId,ppCoMemWFEX)
Void GetContextState (peContextState)
Void GetEvents (ulCount,pEventArray,pulFetched)
Void GetInfo (pInfo)
Void GetMaxAlternates (pcAlternates)
IntPtr GetNotifyEventHandle
Void GetRecognizer (ppRecognizer)
Void GetStatus (pStatus)
Void GetVoice (ppVoice)
Void GetVoicePurgeEvent (pullEventInterest)
Void Pause (dwReserved)
Void Pause
Void remove_Adaptation
Void remove_AudioLevel
Void remove_Bookmark
Void remove_EndStream
Void remove_EnginePrivate
Void remove_FalseRecognition
Void remove_Hypothesis
Void remove_Interference
Void remove_PhraseStart
Void remove_PropertyNumberChange
Void remove_PropertyStringChange
Void remove_Recognition
Void remove_RecognitionForOtherContext
Void remove_RecognizerStateChange
Void remove_RequestUI
Void remove_SoundEnd
Void remove_SoundStart
Void remove_StartStream
Void Resume
Void Resume (dwReserved)
Void SetAdaptationData (pAdaptationData,cch)
Void SetAdaptationData (AdaptationString)
Void SetAudioOptions (Options,pAudioFormatId,pWaveFormatEx)
Void SetContextState (eContextState)
Void SetInterest (ullEventInterest,ullQueuedInterest)
Void SetMaxAlternates (cAlternates)
Void SetNotifyCallbackFunction (pfnCallback,wParam,lParam)
Void SetNotifyCallbackInterface (pSpCallback,wParam,lParam)
Void SetNotifySink (pNotifySink)
Void SetNotifyWin32Event
Void SetNotifyWindowMessage (hWnd,Msg,wParam,lParam)
Void SetVoice (pVoice,fAllowFormatChanges)
Void SetVoicePurgeEvent (ullEventInterest)
Void WaitForNotifyEvent (dwMilliseconds)
SpInprocRecognizerClass

Void CreateRecoContext (ppNewCtxt)
SpeechLib.ISpeechRecoContext CreateRecoContext
Void DisplayUI (hWndParent,Title,TypeOfUI,ExtraData)
Void DisplayUI (hWndParent,pszTitle,pszTypeOfUI,pvExtraData,cbExtraData)
Void EmulateRecognition (pPhrase)
Void EmulateRecognition (TextElements,ElementDisplayAttributes,LanguageId)
Boolean AllowAudioInputFormatChangesOnNextSet *
SpeechLib.SpObjectToken AudioInput *
SpeechLib.ISpeechBaseStream AudioInputStream *
Boolean IsShared *
SpeechLib.SpObjectToken Profile *
SpeechLib.SpObjectToken Recognizer *
SpeechLib.SpeechRecognizerState State *
SpeechLib.ISpeechRecognizerStatus Status *
SpeechLib.ISpeechObjectTokens GetAudioInputs (RequiredAttributes,OptionalAttributes)
SpeechLib.SpAudioFormat GetFormat (Type)
Void GetFormat (WaveFormatType,pFormatId,ppCoMemWFEX)
Void GetInputObjectToken (ppToken)
Void GetInputStream (ppStream)
SpeechLib.ISpeechObjectTokens GetProfiles (RequiredAttributes,OptionalAttributes)
Void GetPropertyNum (pName,plValue)
Boolean GetPropertyNumber (Name,Value)
Void GetPropertyString (pName,ppCoMemValue)
Boolean GetPropertyString (Name,Value)
Void GetRecognizer (ppRecognizer)
SpeechLib.ISpeechObjectTokens GetRecognizers (RequiredAttributes,OptionalAttributes)
Void GetRecoProfile (ppToken)
Void GetRecoState (pState)
Void GetStatus (pStatus)
Void IsSharedInstance
Void IsUISupported (pszTypeOfUI,pvExtraData,cbExtraData,pfSupported)
Boolean IsUISupported (TypeOfUI,ExtraData)
Void SetInput (pUnkInput,fAllowFormatChanges)
Void SetPropertyNum (pName,lValue)
Boolean SetPropertyNumber (Name,Value)
Void SetPropertyString (pName,pValue)
Boolean SetPropertyString (Name,Value)
Void SetRecognizer (pRecognizer)
Void SetRecoProfile (pToken)
Void SetRecoState (NewState)
SpLexiconClass

Void AddPronunciation (bstrWord,LangId,PartOfSpeech,bstrPronunciation)
Void AddPronunciation (pszWord,LangId,ePartOfSpeech,pszPronunciation)
Void AddPronunciationByPhoneIds (bstrWord,LangId,PartOfSpeech,PhoneIds)
Int32 GenerationId *
Void GetGeneration (pdwGeneration)
SpeechLib.ISpeechLexiconWords GetGenerationChange (GenerationId)
Void GetGenerationChange (dwFlags,pdwGeneration,pWordList)
SpeechLib.ISpeechLexiconPronunciations GetPronunciations (bstrWord,LangId,TypeFlags)
Void GetPronunciations (pszWord,LangId,dwFlags,pWordPronunciationList)
SpeechLib.ISpeechLexiconWords GetWords (Flags,GenerationId)
Void GetWords (dwFlags,pdwGeneration,pdwCookie,pWordList)
Void RemovePronunciation (bstrWord,LangId,PartOfSpeech,bstrPronunciation)
Void RemovePronunciation (pszWord,LangId,ePartOfSpeech,pszPronunciation)
Void RemovePronunciationByPhoneIds (bstrWord,LangId,PartOfSpeech,PhoneIds)
SpMemoryStreamClass

Void BindToFile (pszFileName,eMode,pFormatId,pWaveFormatEx,ullEventInterest)
Void Clone (ppstm)
Void Close
Void Commit (grfCommitFlags)
SpeechLib.SpAudioFormat Format *
Void GetBaseStream (ppStream)
Object GetData
Void GetFormat (pguidFormatId,ppCoMemWaveFormatEx)
Void LockRegion (libOffset,cb,dwLockType)
Int32 Read (Buffer,NumberOfBytes)
Void RemoteCopyTo (pstm,cb,pcbRead,pcbWritten)
Void RemoteRead (pv,cb,pcbRead)
Void RemoteSeek (dlibMove,dwOrigin,plibNewPosition)
Void RemoteWrite (pv,cb,pcbWritten)
Void Revert
Object Seek (Position,Origin)
Void SetBaseStream (pStream,rguidFormat,pWaveFormatEx)
Void SetData (Data)
Void SetSize (libNewSize)
Void Stat (pstatstg,grfStatFlag)
Void UnlockRegion (libOffset,cb,dwLockType)
Int32 Write (Buffer)
SpMMAudioEnumClass

Void Clone (ppEnum)
Void GetCount (pCount)
Void Item (Index,ppToken)
Void Next (celt,pelt,pceltFetched)
Void Reset
Void Skip (celt)
SpMMAudioInClass

Void AddEvents (pEventArray,ulCount)
Void Clone (ppstm)
Void Commit (grfCommitFlags)
SpeechLib.ISpeechAudioBufferInfo BufferInfo *
Int32 BufferNotifySize *
SpeechLib.SpAudioFormat DefaultFormat *
Int32 DeviceId *
Int32 EventHandle *
SpeechLib.SpAudioFormat Format *
Int32 LineId *
Int32 MMHandle *
SpeechLib.ISpeechAudioStatus Status *
Int32 Volume *
Void GetBufferInfo (pBuffInfo)
Void GetBufferNotifySize (pcbSize)
Void GetDefaultFormat (pFormatId,ppCoMemWaveFormatEx)
Void GetDeviceId (puDeviceId)
Void GetEventInterest (pullEventInterest)
Void GetEvents (ulCount,pEventArray,pulFetched)
Void GetFormat (pguidFormatId,ppCoMemWaveFormatEx)
Void GetInfo (pInfo)
Void GetLineId (puLineId)
Void GetMMHandle (pHandle)
IntPtr GetNotifyEventHandle
Void GetObjectToken (ppToken)
Void GetStatus (pStatus)
Void GetVolumeLevel (pLevel)
IntPtr ISpMMSysAudio_EventHandle
Void LockRegion (libOffset,cb,dwLockType)
Int32 Read (Buffer,NumberOfBytes)
Void RemoteCopyTo (pstm,cb,pcbRead,pcbWritten)
Void RemoteRead (pv,cb,pcbRead)
Void RemoteSeek (dlibMove,dwOrigin,plibNewPosition)
Void RemoteWrite (pv,cb,pcbWritten)
Void Revert
Object Seek (Position,Origin)
Void SetBufferInfo (pBuffInfo)
Void SetBufferNotifySize (cbSize)
Void SetDeviceId (uDeviceId)
Void SetFormat (rguidFmtId,pWaveFormatEx)
Void SetInterest (ullEventInterest,ullQueuedInterest)
Void SetLineId (uLineId)
Void SetNotifyCallbackFunction (pfnCallback,wParam,lParam)
Void SetNotifyCallbackInterface (pSpCallback,wParam,lParam)
Void SetNotifySink (pNotifySink)
Void SetNotifyWin32Event
Void SetNotifyWindowMessage (hWnd,Msg,wParam,lParam)
Void SetObjectToken (pToken)
Void SetSize (libNewSize)
Void SetState (State)
Void SetState (NewState,ullReserved)
Void SetVolumeLevel (Level)
Void Stat (pstatstg,grfStatFlag)
Void UnlockRegion (libOffset,cb,dwLockType)
Void WaitForNotifyEvent (dwMilliseconds)
Int32 Write (Buffer)
SpMMAudioOutClass

Void AddEvents (pEventArray,ulCount)
Void Clone (ppstm)
Void Commit (grfCommitFlags)
SpeechLib.ISpeechAudioBufferInfo BufferInfo *
Int32 BufferNotifySize *
SpeechLib.SpAudioFormat DefaultFormat *
Int32 DeviceId *
Int32 EventHandle *
SpeechLib.SpAudioFormat Format *
Int32 LineId *
Int32 MMHandle *
SpeechLib.ISpeechAudioStatus Status *
Int32 Volume *
Void GetBufferInfo (pBuffInfo)
Void GetBufferNotifySize (pcbSize)
Void GetDefaultFormat (pFormatId,ppCoMemWaveFormatEx)
Void GetDeviceId (puDeviceId)
Void GetEventInterest (pullEventInterest)
Void GetEvents (ulCount,pEventArray,pulFetched)
Void GetFormat (pguidFormatId,ppCoMemWaveFormatEx)
Void GetInfo (pInfo)
Void GetLineId (puLineId)
Void GetMMHandle (pHandle)
IntPtr GetNotifyEventHandle
Void GetObjectToken (ppToken)
Void GetStatus (pStatus)
Void GetVolumeLevel (pLevel)
IntPtr ISpMMSysAudio_EventHandle
Void LockRegion (libOffset,cb,dwLockType)
Int32 Read (Buffer,NumberOfBytes)
Void RemoteCopyTo (pstm,cb,pcbRead,pcbWritten)
Void RemoteRead (pv,cb,pcbRead)
Void RemoteSeek (dlibMove,dwOrigin,plibNewPosition)
Void RemoteWrite (pv,cb,pcbWritten)
Void Revert
Object Seek (Position,Origin)
Void SetBufferInfo (pBuffInfo)
Void SetBufferNotifySize (cbSize)
Void SetDeviceId (uDeviceId)
Void SetFormat (rguidFmtId,pWaveFormatEx)
Void SetInterest (ullEventInterest,ullQueuedInterest)
Void SetLineId (uLineId)
Void SetNotifyCallbackFunction (pfnCallback,wParam,lParam)
Void SetNotifyCallbackInterface (pSpCallback,wParam,lParam)
Void SetNotifySink (pNotifySink)
Void SetNotifyWin32Event
Void SetNotifyWindowMessage (hWnd,Msg,wParam,lParam)
Void SetObjectToken (pToken)
Void SetSize (libNewSize)
Void SetState (State)
Void SetState (NewState,ullReserved)
Void SetVolumeLevel (Level)
Void Stat (pstatstg,grfStatFlag)
Void UnlockRegion (libOffset,cb,dwLockType)
Void WaitForNotifyEvent (dwMilliseconds)
Int32 Write (Buffer)
SpNotifyTranslatorClass

IntPtr GetEventHandle
Void InitCallback (pfnCallback,wParam,lParam)
Void InitSpNotifyCallback (pSpCallback,wParam,lParam)
Void InitWin32Event (hEvent,fCloseHandleOnRelease)
Void InitWindowMessage (hWnd,Msg,wParam,lParam)
Void Notify
Void Wait (dwMilliseconds)
SpNullPhoneConverterClass

Void GetObjectToken (ppToken)
Void IdToPhone (pId,pszPhone)
Void PhoneToId (pszPhone,pId)
Void SetObjectToken (pToken)
SpObjectTokenCategoryClass

Void CreateKey (pszSubKey,ppSubKey)
Void DeleteKey (pszSubKey)
Void DeleteValue (pszValueName)
SpeechLib.ISpeechObjectTokens EnumerateTokens (RequiredAttributes,OptionalAttributes)
Void EnumKeys (Index,ppszSubKeyName)
Void EnumTokens (pzsReqAttribs,pszOptAttribs,ppEnum)
Void EnumValues (Index,ppszValueName)
String Default *
String Id *
Void GetData (pszValueName,pcbData,pData)
Void GetDataKey (spdkl,ppDataKey)
SpeechLib.ISpeechDataKey GetDataKey (Location)
Void GetDefaultTokenId (ppszCoMemTokenId)
Void GetDWORD (pszValueName,pdwValue)
Void GetId (ppszCoMemCategoryId)
Void GetStringValue (pszValueName,ppszValue)
Void OpenKey (pszSubKeyName,ppSubKey)
Void SetData (pszValueName,cbData,pData)
Void SetDefaultTokenId (pszTokenId)
Void SetDWORD (pszValueName,dwValue)
Void SetId (pszCategoryId,fCreateIfNotExist)
Void SetId (Id,CreateIfNotExist)
Void SetStringValue (pszValueName,pszValue)
SpObjectTokenClass

Void CreateInstance (pUnkOuter,dwClsContext,riid,ppvObject)
Object CreateInstance (pUnkOuter,ClsContext)
Void CreateKey (pszSubKey,ppSubKey)
Void DeleteKey (pszSubKey)
Void DeleteValue (pszValueName)
Void DisplayUI (hWnd,Title,TypeOfUI,ExtraData,Object)
Void DisplayUI (hWndParent,pszTitle,pszTypeOfUI,pvExtraData,cbExtraData,punkObject)
Void EnumKeys (Index,ppszSubKeyName)
Void EnumValues (Index,ppszValueName)
SpeechLib.SpObjectTokenCategory Category *
SpeechLib.ISpeechDataKey DataKey *
String Id *
String GetAttribute (AttributeName)
Void GetCategory (ppTokenCategory)
Void GetData (pszValueName,pcbData,pData)
String GetDescription (Locale)
Void GetDWORD (pszValueName,pdwValue)
Void GetId (ppszCoMemTokenId)
Void GetStorageFileName (clsidCaller,pszValueName,pszFileNameSpecifier,nFolder,ppszFilePath)
String GetStorageFileName (ObjectStorageCLSID,KeyName,FileName,Folder)
Void GetStringValue (pszValueName,ppszValue)
Boolean IsUISupported (TypeOfUI,ExtraData,Object)
Void IsUISupported (pszTypeOfUI,pvExtraData,cbExtraData,punkObject,pfSupported)
Void MatchesAttributes (pszAttributes,pfMatches)
Boolean MatchesAttributes (Attributes)
Void OpenKey (pszSubKeyName,ppSubKey)
Void Remove (ObjectStorageCLSID)
Void Remove (pclsidCaller)
Void RemoveStorageFileName (ObjectStorageCLSID,KeyName,DeleteFile)
Void RemoveStorageFileName (clsidCaller,pszKeyName,fDeleteFile)
Void SetData (pszValueName,cbData,pData)
Void SetDWORD (pszValueName,dwValue)
Void SetId (pszCategoryId,pszTokenId,fCreateIfNotExist)
Void SetId (Id,CategoryID,CreateIfNotExist)
Void SetStringValue (pszValueName,pszValue)
SpPhoneConverterClass

Int32 LanguageId *
Void GetObjectToken (ppToken)
String IdToPhone (IdArray)
Void IdToPhone (pId,pszPhone)
Object PhoneToId (Phonemes)
Void PhoneToId (pszPhone,pId)
Void SetObjectToken (pToken)
SpRecPlayAudioClass

Void Clone (ppstm)
Void Commit (grfCommitFlags)
IntPtr EventHandle
Void GetBufferInfo (pBuffInfo)
Void GetBufferNotifySize (pcbSize)
Void GetDefaultFormat (pFormatId,ppCoMemWaveFormatEx)
Void GetFormat (pguidFormatId,ppCoMemWaveFormatEx)
Void GetObjectToken (ppToken)
Void GetStatus (pStatus)
Void GetVolumeLevel (pLevel)
Void LockRegion (libOffset,cb,dwLockType)
Void RemoteCopyTo (pstm,cb,pcbRead,pcbWritten)
Void RemoteRead (pv,cb,pcbRead)
Void RemoteSeek (dlibMove,dwOrigin,plibNewPosition)
Void RemoteWrite (pv,cb,pcbWritten)
Void Revert
Void SetBufferInfo (pBuffInfo)
Void SetBufferNotifySize (cbSize)
Void SetFormat (rguidFmtId,pWaveFormatEx)
Void SetObjectToken (pToken)
Void SetSize (libNewSize)
Void SetState (NewState,ullReserved)
Void SetVolumeLevel (Level)
Void Stat (pstatstg,grfStatFlag)
Void UnlockRegion (libOffset,cb,dwLockType)
SpResourceManagerClass

Void GetObject (guidServiceId,ObjectCLSID,ObjectIID,fReleaseWhenLastExternalRefReleased,ppObject)
Void RemoteQueryService (guidService,riid,ppvObject)
Void SetObject (guidServiceId,punkObject)
SpSharedRecoContextClass

Void add_Adaptation
Void add_AudioLevel
Void add_Bookmark
Void add_EndStream
Void add_EnginePrivate
Void add_FalseRecognition
Void add_Hypothesis
Void add_Interference
Void add_PhraseStart
Void add_PropertyNumberChange
Void add_PropertyStringChange
Void add_Recognition
Void add_RecognitionForOtherContext
Void add_RecognizerStateChange
Void add_RequestUI
Void add_SoundEnd
Void add_SoundStart
Void add_StartStream
Void Bookmark (Options,ullStreamPosition,lparamEvent)
Void Bookmark (Options,StreamPos,BookmarkId)
Void CreateGrammar (ullGrammarID,ppGrammar)
SpeechLib.ISpeechRecoGrammar CreateGrammar (GrammarId)
SpeechLib.ISpeechRecoResult CreateResultFromMemory (ResultBlock)
Void DeserializeResult (pSerializedResult,ppResult)
Boolean AllowVoiceFormatMatchingOnNextSet *
SpeechLib.SpeechInterference AudioInputInterferenceStatus *
Int32 CmdMaxAlternates *
SpeechLib.SpeechRecoEvents EventInterests *
SpeechLib.ISpeechRecognizer Recognizer *
String RequestedUIType *
SpeechLib.SpeechRetainedAudioOptions RetainedAudio *
SpeechLib.SpAudioFormat RetainedAudioFormat *
SpeechLib.SpeechRecoContextState State *
SpeechLib.SpVoice Voice *
SpeechLib.SpeechRecoEvents VoicePurgeEvent *
Void GetAudioOptions (pOptions,pAudioFormatId,ppCoMemWFEX)
Void GetContextState (peContextState)
Void GetEvents (ulCount,pEventArray,pulFetched)
Void GetInfo (pInfo)
Void GetMaxAlternates (pcAlternates)
IntPtr GetNotifyEventHandle
Void GetRecognizer (ppRecognizer)
Void GetStatus (pStatus)
Void GetVoice (ppVoice)
Void GetVoicePurgeEvent (pullEventInterest)
Void Pause (dwReserved)
Void Pause
Void remove_Adaptation
Void remove_AudioLevel
Void remove_Bookmark
Void remove_EndStream
Void remove_EnginePrivate
Void remove_FalseRecognition
Void remove_Hypothesis
Void remove_Interference
Void remove_PhraseStart
Void remove_PropertyNumberChange
Void remove_PropertyStringChange
Void remove_Recognition
Void remove_RecognitionForOtherContext
Void remove_RecognizerStateChange
Void remove_RequestUI
Void remove_SoundEnd
Void remove_SoundStart
Void remove_StartStream
Void Resume
Void Resume (dwReserved)
Void SetAdaptationData (pAdaptationData,cch)
Void SetAdaptationData (AdaptationString)
Void SetAudioOptions (Options,pAudioFormatId,pWaveFormatEx)
Void SetContextState (eContextState)
Void SetInterest (ullEventInterest,ullQueuedInterest)
Void SetMaxAlternates (cAlternates)
Void SetNotifyCallbackFunction (pfnCallback,wParam,lParam)
Void SetNotifyCallbackInterface (pSpCallback,wParam,lParam)
Void SetNotifySink (pNotifySink)
Void SetNotifyWin32Event
Void SetNotifyWindowMessage (hWnd,Msg,wParam,lParam)
Void SetVoice (pVoice,fAllowFormatChanges)
Void SetVoicePurgeEvent (ullEventInterest)
Void WaitForNotifyEvent (dwMilliseconds)
SpSharedRecognizerClass

SpeechLib.ISpeechRecoContext CreateRecoContext
Void CreateRecoContext (ppNewCtxt)
Void DisplayUI (hWndParent,Title,TypeOfUI,ExtraData)
Void DisplayUI (hWndParent,pszTitle,pszTypeOfUI,pvExtraData,cbExtraData)
Void EmulateRecognition (TextElements,ElementDisplayAttributes,LanguageId)
Void EmulateRecognition (pPhrase)
Boolean AllowAudioInputFormatChangesOnNextSet *
SpeechLib.SpObjectToken AudioInput *
SpeechLib.ISpeechBaseStream AudioInputStream *
Boolean IsShared *
SpeechLib.SpObjectToken Profile *
SpeechLib.SpObjectToken Recognizer *
SpeechLib.SpeechRecognizerState State *
SpeechLib.ISpeechRecognizerStatus Status *
SpeechLib.ISpeechObjectTokens GetAudioInputs (RequiredAttributes,OptionalAttributes)
SpeechLib.SpAudioFormat GetFormat (Type)
Void GetFormat (WaveFormatType,pFormatId,ppCoMemWFEX)
Void GetInputObjectToken (ppToken)
Void GetInputStream (ppStream)
SpeechLib.ISpeechObjectTokens GetProfiles (RequiredAttributes,OptionalAttributes)
Void GetPropertyNum (pName,plValue)
Boolean GetPropertyNumber (Name,Value)
Void GetPropertyString (pName,ppCoMemValue)
Boolean GetPropertyString (Name,Value)
Void GetRecognizer (ppRecognizer)
SpeechLib.ISpeechObjectTokens GetRecognizers (RequiredAttributes,OptionalAttributes)
Void GetRecoProfile (ppToken)
Void GetRecoState (pState)
Void GetStatus (pStatus)
Void IsSharedInstance
Void IsUISupported (pszTypeOfUI,pvExtraData,cbExtraData,pfSupported)
Boolean IsUISupported (TypeOfUI,ExtraData)
Void SetInput (pUnkInput,fAllowFormatChanges)
Void SetPropertyNum (pName,lValue)
Boolean SetPropertyNumber (Name,Value)
Boolean SetPropertyString (Name,Value)
Void SetPropertyString (pName,pValue)
Void SetRecognizer (pRecognizer)
Void SetRecoProfile (pToken)
Void SetRecoState (NewState)
SpStreamClass

Void BindToFile (pszFileName,eMode,pFormatId,pWaveFormatEx,ullEventInterest)
Void Clone (ppstm)
Void Close
Void Commit (grfCommitFlags)
Void GetBaseStream (ppStream)
Void GetFormat (pguidFormatId,ppCoMemWaveFormatEx)
Void LockRegion (libOffset,cb,dwLockType)
Void RemoteCopyTo (pstm,cb,pcbRead,pcbWritten)
Void RemoteRead (pv,cb,pcbRead)
Void RemoteSeek (dlibMove,dwOrigin,plibNewPosition)
Void RemoteWrite (pv,cb,pcbWritten)
Void Revert
Void SetBaseStream (pStream,rguidFormat,pWaveFormatEx)
Void SetSize (libNewSize)
Void Stat (pstatstg,grfStatFlag)
Void UnlockRegion (libOffset,cb,dwLockType)
SpStreamFormatConverterClass

Void Clone (ppstm)
Void Commit (grfCommitFlags)
Void GetBaseStream (ppStream)
Void GetFormat (pguidFormatId,ppCoMemWaveFormatEx)
Void LockRegion (libOffset,cb,dwLockType)
Void RemoteCopyTo (pstm,cb,pcbRead,pcbWritten)
Void RemoteRead (pv,cb,pcbRead)
Void RemoteSeek (dlibMove,dwOrigin,plibNewPosition)
Void RemoteWrite (pv,cb,pcbWritten)
Void ResetSeekPosition
Void Revert
Void ScaleBaseToConvertedOffset (ullOffsetBaseStream,pullOffsetConvertedStream)
Void ScaleConvertedToBaseOffset (ullOffsetConvertedStream,pullOffsetBaseStream)
Void SetBaseStream (pStream,fSetFormatToBaseStreamFormat,fWriteToBaseStream)
Void SetFormat (rguidFormatIdOfConvertedStream,pWaveFormatExOfConvertedStream)
Void SetSize (libNewSize)
Void Stat (pstatstg,grfStatFlag)
Void UnlockRegion (libOffset,cb,dwLockType)
SpTextSelectionInformationClass

Int32 ActiveLength *
Int32 ActiveOffset *
Int32 SelectionLength *
Int32 SelectionOffset *
SpUnCompressedLexiconClass

Void AddPronunciation (pszWord,LangId,ePartOfSpeech,pszPronunciation)
Void AddPronunciation (bstrWord,LangId,PartOfSpeech,bstrPronunciation)
Void AddPronunciationByPhoneIds (bstrWord,LangId,PartOfSpeech,PhoneIds)
Int32 GenerationId *
Void GetGeneration (pdwGeneration)
Void GetGenerationChange (dwFlags,pdwGeneration,pWordList)
SpeechLib.ISpeechLexiconWords GetGenerationChange (GenerationId)
Void GetObjectToken (ppToken)
SpeechLib.ISpeechLexiconPronunciations GetPronunciations (bstrWord,LangId,TypeFlags)
Void GetPronunciations (pszWord,LangId,dwFlags,pWordPronunciationList)
SpeechLib.ISpeechLexiconWords GetWords (Flags,GenerationId)
Void GetWords (dwFlags,pdwGeneration,pdwCookie,pWordList)
Void RemovePronunciation (pszWord,LangId,ePartOfSpeech,pszPronunciation)
Void RemovePronunciation (bstrWord,LangId,PartOfSpeech,bstrPronunciation)
Void RemovePronunciationByPhoneIds (bstrWord,LangId,PartOfSpeech,PhoneIds)
Void SetObjectToken (pToken)
SpVoiceClass

Void add_AudioLevel
Void add_Bookmark
Void add_EndStream
Void add_EnginePrivate
Void add_Phoneme
Void add_Sentence
Void add_StartStream
Void add_Viseme
Void add_VoiceChange
Void add_Word
Void DisplayUI (hWndParent,Title,TypeOfUI,ExtraData)
Void DisplayUI (hWndParent,pszTitle,pszTypeOfUI,pvExtraData,cbExtraData)
SpeechLib.SpeechVoiceEvents AlertBoundary *
Boolean AllowAudioOutputFormatChangesOnNextSet *
SpeechLib.SpObjectToken AudioOutput *
SpeechLib.ISpeechBaseStream AudioOutputStream *
SpeechLib.SpeechVoiceEvents EventInterests *
SpeechLib.SpeechVoicePriority Priority *
Int32 Rate *
SpeechLib.ISpeechVoiceStatus Status *
Int32 SynchronousSpeakTimeout *
SpeechLib.SpObjectToken Voice *
Int32 Volume *
Void GetAlertBoundary (peBoundary)
SpeechLib.ISpeechObjectTokens GetAudioOutputs (RequiredAttributes,OptionalAttributes)
Void GetEvents (ulCount,pEventArray,pulFetched)
Void GetInfo (pInfo)
IntPtr GetNotifyEventHandle
Void GetOutputObjectToken (ppObjectToken)
Void GetOutputStream (ppStream)
Void GetPriority (pePriority)
Void GetRate (pRateAdjust)
Void GetStatus (pStatus,ppszLastBookmark)
Void GetSyncSpeakTimeout (pmsTimeout)
Void GetVoice (ppToken)
SpeechLib.ISpeechObjectTokens GetVoices (RequiredAttributes,OptionalAttributes)
Void GetVolume (pusVolume)
Void ISpVoice_Pause
Void ISpVoice_Resume
IntPtr ISpVoice_SpeakCompleteEvent
Void IsUISupported (pszTypeOfUI,pvExtraData,cbExtraData,pfSupported)
Boolean IsUISupported (TypeOfUI,ExtraData)
Void Pause
Void remove_AudioLevel
Void remove_Bookmark
Void remove_EndStream
Void remove_EnginePrivate
Void remove_Phoneme
Void remove_Sentence
Void remove_StartStream
Void remove_Viseme
Void remove_VoiceChange
Void remove_Word
Void Resume
Void SetAlertBoundary (eBoundary)
Void SetInterest (ullEventInterest,ullQueuedInterest)
Void SetNotifyCallbackFunction (pfnCallback,wParam,lParam)
Void SetNotifyCallbackInterface (pSpCallback,wParam,lParam)
Void SetNotifySink (pNotifySink)
Void SetNotifyWin32Event
Void SetNotifyWindowMessage (hWnd,Msg,wParam,lParam)
Void SetOutput (pUnkOutput,fAllowFormatChanges)
Void SetPriority (ePriority)
Void SetRate (RateAdjust)
Void SetSyncSpeakTimeout (msTimeout)
Void SetVoice (pToken)
Void SetVolume (usVolume)
Void Skip (pItemType,lNumItems,pulNumSkipped)
Int32 Skip (Type,NumItems)
Int32 Speak (Text,Flags)
Void Speak (pwcs,dwFlags,pulStreamNumber)
Int32 SpeakCompleteEvent
Int32 SpeakStream (Stream,Flags)
Void SpeakStream (pStream,dwFlags,pulStreamNumber)
Void WaitForNotifyEvent (dwMilliseconds)
Void WaitUntilDone (msTimeout)
Boolean WaitUntilDone (msTimeout)
SpWaveFormatExClass

Int32 AvgBytesPerSec *
Int16 BitsPerSample *
Int16 BlockAlign *
Int16 Channels *
Object ExtraData *
Int16 FormatTag *
Int32 SamplesPerSec *

SpeechLib enumerated types:


__MIDL_IWinTypes_0009
_FILETIME
_ISpeechRecoContextEvents_AdaptationEventHandler
_ISpeechRecoContextEvents_AudioLevelEventHandler
_ISpeechRecoContextEvents_BookmarkEventHandler
_ISpeechRecoContextEvents_EndStreamEventHandler
_ISpeechRecoContextEvents_EnginePrivateEventHandler
_ISpeechRecoContextEvents_FalseRecognitionEventHandler
_ISpeechRecoContextEvents_HypothesisEventHandler
_ISpeechRecoContextEvents_InterferenceEventHandler
_ISpeechRecoContextEvents_PhraseStartEventHandler
_ISpeechRecoContextEvents_PropertyNumberChangeEventHandler
_ISpeechRecoContextEvents_PropertyStringChangeEventHandler
_ISpeechRecoContextEvents_RecognitionEventHandler
_ISpeechRecoContextEvents_RecognitionForOtherContextEventHandler
_ISpeechRecoContextEvents_RecognizerStateChangeEventHandler
_ISpeechRecoContextEvents_RequestUIEventHandler
_ISpeechRecoContextEvents_SoundEndEventHandler
_ISpeechRecoContextEvents_SoundStartEventHandler
_ISpeechRecoContextEvents_StartStreamEventHandler
_ISpeechVoiceEvents_AudioLevelEventHandler
_ISpeechVoiceEvents_BookmarkEventHandler
_ISpeechVoiceEvents_EndStreamEventHandler
_ISpeechVoiceEvents_EnginePrivateEventHandler
_ISpeechVoiceEvents_PhonemeEventHandler
_ISpeechVoiceEvents_SentenceEventHandler
_ISpeechVoiceEvents_StartStreamEventHandler
_ISpeechVoiceEvents_VisemeEventHandler
_ISpeechVoiceEvents_VoiceChangeEventHandler
_ISpeechVoiceEvents_WordEventHandler
_LARGE_INTEGER
_RemotableHandle
_SPAUDIOSTATE
_ULARGE_INTEGER
DISPID_SpeechAudio
DISPID_SpeechAudioBufferInfo
DISPID_SpeechAudioFormat
DISPID_SpeechAudioStatus
DISPID_SpeechBaseStream
DISPID_SpeechCustomStream
DISPID_SpeechDataKey
DISPID_SpeechFileStream
DISPID_SpeechGrammarRule
DISPID_SpeechGrammarRules
DISPID_SpeechGrammarRuleState
DISPID_SpeechGrammarRuleStateTransition
DISPID_SpeechGrammarRuleStateTransitions
DISPID_SpeechLexicon
DISPID_SpeechLexiconProns
DISPID_SpeechLexiconPronunciation
DISPID_SpeechLexiconWord
DISPID_SpeechLexiconWords
DISPID_SpeechMemoryStream
DISPID_SpeechMMSysAudio
DISPID_SpeechObjectToken
DISPID_SpeechObjectTokenCategory
DISPID_SpeechObjectTokens
DISPID_SpeechPhoneConverter
DISPID_SpeechPhraseAlternate
DISPID_SpeechPhraseAlternates
DISPID_SpeechPhraseBuilder
DISPID_SpeechPhraseElement
DISPID_SpeechPhraseElements
DISPID_SpeechPhraseInfo
DISPID_SpeechPhraseProperties
DISPID_SpeechPhraseProperty
DISPID_SpeechPhraseReplacement
DISPID_SpeechPhraseReplacements
DISPID_SpeechPhraseRule
DISPID_SpeechPhraseRules
DISPID_SpeechRecoContext
DISPID_SpeechRecoContextEvents
DISPID_SpeechRecognizer
DISPID_SpeechRecognizerStatus
DISPID_SpeechRecoResult
DISPID_SpeechRecoResultTimes
DISPID_SpeechVoice
DISPID_SpeechVoiceEvent
DISPID_SpeechVoiceStatus
DISPID_SpeechWaveFormatEx
DISPIDSPRG
DISPIDSPTSI
IServiceProvider
ISpeechPhraseInfoBuilder
ISpNotifySink
SPAUDIOBUFFERINFO
SpAudioFormat
SPAUDIOOPTIONS
SPAUDIOSTATE
SPAUDIOSTATUS
SPBINARYGRAMMAR
SPBOOKMARKOPTIONS
SpCompressedLexicon
SPCONTEXTSTATE
SpCustomStream
SPDATAKEYLOCATION
SpeechAudioFormatType
SpeechAudioState
SpeechBookmarkOptions
SpeechConstants
SpeechDataKeyLocation
SpeechDiscardType
SpeechDisplayAttributes
SpeechEngineConfidence
SpeechFormatType
SpeechGrammarRuleStateTransitionType
SpeechGrammarState
SpeechGrammarWordType
SpeechInterference
SpeechLexiconType
SpeechLoadOption
SpeechPartOfSpeech
SpeechRecoContextState
SpeechRecoEvents
SpeechRecognitionType
SpeechRecognizerState
SpeechRetainedAudioOptions
SpeechRuleAttributes
SpeechRuleState
SpeechRunState
SpeechSpecialTransitionType
SpeechStreamFileMode
SpeechStreamSeekPositionType
SpeechStringConstants
SpeechTokenContext
SpeechTokenShellFolder
SpeechVisemeFeature
SpeechVisemeType
SpeechVoiceEvents
SpeechVoicePriority
SpeechVoiceSpeakFlags
SpeechWordPronounceable
SpeechWordType
SPEVENT
SPEVENTENUM
SPEVENTSOURCEINFO
SPFILEMODE
SpFileStream
SPGRAMMARSTATE
SPGRAMMARWORDTYPE
SpInProcRecoContext
SpInprocRecognizer
SPINTERFERENCE
SpLexicon
SPLEXICONTYPE
SPLOADOPTIONS
SpMemoryStream
SpMMAudioEnum
SpMMAudioIn
SpMMAudioOut
SpNotifyTranslator
SpNullPhoneConverter
SpObjectToken
SpObjectTokenCategory
SPPARTOFSPEECH
SpPhoneConverter
SPPHRASE
SPPHRASEELEMENT
SpPhraseInfoBuilder
SpPhraseInfoBuilderClass
SPPHRASEPROPERTY
SPPHRASEREPLACEMENT
SPPHRASERULE
SPPROPERTYINFO
SPRECOCONTEXTSTATUS
SPRECOGNIZERSTATUS
SPRECORESULTTIMES
SPRECOSTATE
SpRecPlayAudio
SpResourceManager
SPRULESTATE
SPSERIALIZEDPHRASE
SPSERIALIZEDRESULT
SpSharedRecoContext
SpSharedRecognizer
SpStream
SpStreamFormatConverter
SPSTREAMFORMATTYPE
SPTEXTSELECTIONINFO
SpTextSelectionInformation
SpUnCompressedLexicon
SPVISEMES
SpVoice
SPVOICESTATUS
SPVPRIORITY
SpWaveFormatEx
SPWAVEFORMATTYPE
SPWORD
SPWORDLIST
SPWORDPRONOUNCEABLE
SPWORDPRONUNCIATION
SPWORDPRONUNCIATIONLIST
SPWORDTYPE
tagSPPROPERTYINFO
tagSPTEXTSELECTIONINFO
tagSTATSTG
WaveFormatEx



SpeechLib CLSID reference: