; 
; Exports of file NARRHOOK.dll
;
; Autogenerated by gen_exportdef
; Written by Kai Tietz, 2007
;
LIBRARY NARRHOOK.dll
EXPORTS
; void __stdcall BackToApplication(void)
?BackToApplication@@YGXXZ
; int __stdcall GetAnnounceMenu(void)
?GetAnnounceMenu@@YGHXZ
; int __stdcall GetAnnouncePopup(void)
?GetAnnouncePopup@@YGHXZ
; int __stdcall GetAnnounceToolTips(void)
?GetAnnounceToolTips@@YGHXZ
; int __stdcall GetAnnounceWindow(void)
?GetAnnounceWindow@@YGHXZ
; void __stdcall GetCurrentText(unsigned short *,int)
?GetCurrentText@@YGXPAGH@Z
; int __stdcall GetEchoChars(void)
?GetEchoChars@@YGHXZ
; int __stdcall GetReviewLevel(void)
?GetReviewLevel@@YGHXZ
; int __stdcall GetReviewStyle(void)
?GetReviewStyle@@YGHXZ
; int __stdcall GetTrackCaret(void)
?GetTrackCaret@@YGHXZ
; int __stdcall GetTrackInputFocus(void)
?GetTrackInputFocus@@YGHXZ
; int __stdcall GetTrackSecondary(void)
?GetTrackSecondary@@YGHXZ
; int __stdcall InitKeys(struct HWND__ *)
?InitKeys@@YGHPAUHWND__@@@Z
; int __stdcall InitMSAA(void)
?InitMSAA@@YGHXZ
; void __stdcall SetAnnounceMenu(int)
?SetAnnounceMenu@@YGXH@Z
; void __stdcall SetAnnouncePopup(int)
?SetAnnouncePopup@@YGXH@Z
; void __stdcall SetAnnounceToolTips(int)
?SetAnnounceToolTips@@YGXH@Z
; void __stdcall SetAnnounceWindow(int)
?SetAnnounceWindow@@YGXH@Z
; void __stdcall SetCurrentText(unsigned short const *)
?SetCurrentText@@YGXPBG@Z
; void __stdcall SetEchoChars(int)
?SetEchoChars@@YGXH@Z
; void __stdcall SetReviewLevel(int)
?SetReviewLevel@@YGXH@Z
; void __stdcall SetReviewStyle(int)
?SetReviewStyle@@YGXH@Z
; void __stdcall SetTrackCaret(int)
?SetTrackCaret@@YGXH@Z
; void __stdcall SetTrackInputFocus(int)
?SetTrackInputFocus@@YGXH@Z
; void __stdcall SetTrackSecondary(int)
?SetTrackSecondary@@YGXH@Z
; int __stdcall UnInitMSAA(void)
?UnInitMSAA@@YGHXZ
; int __stdcall UninitKeys(void)
?UninitKeys@@YGHXZ
; unsigned short * __stdcall lstrcatn(unsigned short *,unsigned short *,int)
?lstrcatn@@YGPAGPAG0H@Z
