; 
; Exports of file NARRHOOK.dll
;
; Autogenerated by gen_exportdef
; Written by Kai Tietz, 2007
;
LIBRARY NARRHOOK.dll
EXPORTS
; void __cdecl BackToApplication(void)
?BackToApplication@@YAXXZ
; int __cdecl GetAnnounceMenu(void)
?GetAnnounceMenu@@YAHXZ
; int __cdecl GetAnnouncePopup(void)
?GetAnnouncePopup@@YAHXZ
; int __cdecl GetAnnounceToolTips(void)
?GetAnnounceToolTips@@YAHXZ
; int __cdecl GetAnnounceWindow(void)
?GetAnnounceWindow@@YAHXZ
; void __cdecl GetCurrentText(unsigned short * __ptr64,int)
?GetCurrentText@@YAXPEAGH@Z
; int __cdecl GetEchoChars(void)
?GetEchoChars@@YAHXZ
; int __cdecl GetReviewLevel(void)
?GetReviewLevel@@YAHXZ
; int __cdecl GetReviewStyle(void)
?GetReviewStyle@@YAHXZ
; int __cdecl GetTrackCaret(void)
?GetTrackCaret@@YAHXZ
; int __cdecl GetTrackInputFocus(void)
?GetTrackInputFocus@@YAHXZ
; int __cdecl GetTrackSecondary(void)
?GetTrackSecondary@@YAHXZ
; int __cdecl InitKeys(struct HWND__ * __ptr64)
?InitKeys@@YAHPEAUHWND__@@@Z
; int __cdecl InitMSAA(void)
?InitMSAA@@YAHXZ
; void __cdecl SetAnnounceMenu(int)
?SetAnnounceMenu@@YAXH@Z
; void __cdecl SetAnnouncePopup(int)
?SetAnnouncePopup@@YAXH@Z
; void __cdecl SetAnnounceToolTips(int)
?SetAnnounceToolTips@@YAXH@Z
; void __cdecl SetAnnounceWindow(int)
?SetAnnounceWindow@@YAXH@Z
; void __cdecl SetCurrentText(unsigned short const * __ptr64)
?SetCurrentText@@YAXPEBG@Z
; void __cdecl SetEchoChars(int)
?SetEchoChars@@YAXH@Z
; void __cdecl SetReviewLevel(int)
?SetReviewLevel@@YAXH@Z
; void __cdecl SetReviewStyle(int)
?SetReviewStyle@@YAXH@Z
; void __cdecl SetTrackCaret(int)
?SetTrackCaret@@YAXH@Z
; void __cdecl SetTrackInputFocus(int)
?SetTrackInputFocus@@YAXH@Z
; void __cdecl SetTrackSecondary(int)
?SetTrackSecondary@@YAXH@Z
; int __cdecl UnInitMSAA(void)
?UnInitMSAA@@YAHXZ
; int __cdecl UninitKeys(void)
?UninitKeys@@YAHXZ
; unsigned short * __ptr64 __cdecl lstrcatn(unsigned short * __ptr64,unsigned short * __ptr64,int)
?lstrcatn@@YAPEAGPEAG0H@Z
