| use shared::minwindef::{BOOL, BYTE, DWORD}; |
| use shared::ntdef::{LPCWSTR, LPWSTR, ULONG}; |
| use shared::winerror::HRESULT; |
| use um::objidlbase::IEnumString; |
| use um::unknwnbase::{IUnknown, IUnknownVtbl}; |
| ENUM!{enum WORDLIST_TYPE { |
| WORDLIST_TYPE_IGNORE = 0, |
| WORDLIST_TYPE_ADD = 1, |
| WORDLIST_TYPE_EXCLUDE = 2, |
| WORDLIST_TYPE_AUTOCORRECT = 3, |
| }} |
| ENUM!{enum CORRECTIVE_ACTION { |
| CORRECTIVE_ACTION_NONE = 0, |
| CORRECTIVE_ACTION_GET_SUGGESTIONS = 1, |
| CORRECTIVE_ACTION_REPLACE = 2, |
| CORRECTIVE_ACTION_DELETE = 3, |
| }} |
| RIDL!{#[uuid(0xb7c82d61, 0xfbe8, 0x4b47, 0x9b, 0x27, 0x6c, 0x0d, 0x2e, 0x0d, 0xe0, 0xa3)] |
| interface ISpellingError(ISpellingErrorVtbl): IUnknown(IUnknownVtbl) { |
| fn get_StartIndex( |
| value: *mut ULONG, |
| ) -> HRESULT, |
| fn get_Length( |
| value: *mut ULONG, |
| ) -> HRESULT, |
| fn get_CorrectiveAction( |
| value: *mut CORRECTIVE_ACTION, |
| ) -> HRESULT, |
| fn get_Replacement( |
| value: *mut LPWSTR, |
| ) -> HRESULT, |
| }} |
| RIDL!{#[uuid(0x803e3bd4, 0x2828, 0x4410, 0x82, 0x90, 0x41, 0x8d, 0x1d, 0x73, 0xc7, 0x62)] |
| interface IEnumSpellingError(IEnumSpellingErrorVtbl): IUnknown(IUnknownVtbl) { |
| fn Next( |
| value: *mut *mut ISpellingError, |
| ) -> HRESULT, |
| }} |
| RIDL!{#[uuid(0x432e5f85, 0x35cf, 0x4606, 0xa8, 0x01, 0x6f, 0x70, 0x27, 0x7e, 0x1d, 0x7a)] |
| interface IOptionDescription(IOptionDescriptionVtbl): IUnknown(IUnknownVtbl) { |
| fn Id( |
| value: *mut LPWSTR, |
| ) -> HRESULT, |
| fn Heading( |
| value: *mut LPWSTR, |
| ) -> HRESULT, |
| fn Description( |
| value: *mut LPWSTR, |
| ) -> HRESULT, |
| fn Labels( |
| value: *mut *mut IEnumString, |
| ) -> HRESULT, |
| }} |
| RIDL!{#[uuid(0x0b83a5b0, 0x792f, 0x4eab, 0x97, 0x99, 0xac, 0xf5, 0x2c, 0x5e, 0xd0, 0x8a)] |
| interface ISpellCheckerChangedEventHandler(ISpellCheckerChangedEventHandlerVtbl): |
| IUnknown(IUnknownVtbl) { |
| fn Invoke( |
| sender: *const ISpellChecker, |
| ) -> HRESULT, |
| }} |
| RIDL!{#[uuid(0xb6fd0b71, 0xe2bc, 0x4653, 0x8d, 0x05, 0xf1, 0x97, 0xe4, 0x12, 0x77, 0x0b)] |
| interface ISpellChecker(ISpellCheckerVtbl): IUnknown(IUnknownVtbl) { |
| fn get_LanguageTag( |
| value: *mut LPWSTR, |
| ) -> HRESULT, |
| fn Check( |
| text: LPCWSTR, |
| value: *mut *mut IEnumSpellingError, |
| ) -> HRESULT, |
| fn Suggest( |
| word: LPCWSTR, |
| value: *mut *mut IEnumString, |
| ) -> HRESULT, |
| fn Add( |
| word: LPCWSTR, |
| ) -> HRESULT, |
| fn Ignore( |
| word: LPCWSTR, |
| ) -> HRESULT, |
| fn AutoCorrect( |
| from: LPCWSTR, |
| to: LPCWSTR, |
| ) -> HRESULT, |
| fn GetOptionValue( |
| optionId: LPCWSTR, |
| value: *mut BYTE, |
| ) -> HRESULT, |
| fn Get_OptionIds( |
| value: *mut *mut IEnumString, |
| ) -> HRESULT, |
| fn Get_Id( |
| value: *mut LPWSTR, |
| ) -> HRESULT, |
| fn Get_LocalizedName( |
| value: *mut LPWSTR, |
| ) -> HRESULT, |
| fn add_SpellCheckerChanged( |
| handler: *const ISpellCheckerChangedEventHandler, |
| eventCookie: *mut DWORD, |
| ) -> HRESULT, |
| fn remove_SpellCheckerChanged( |
| eventCookie: DWORD, |
| ) -> HRESULT, |
| fn GetOptionDescription( |
| optionId: LPCWSTR, |
| value: *mut *mut IOptionDescription, |
| ) -> HRESULT, |
| fn ComprehensiveCheck( |
| text: LPCWSTR, |
| value: *mut *mut IEnumSpellingError, |
| ) -> HRESULT, |
| }} |
| RIDL!{#[uuid(0xe7ed1c71, 0x87f7, 0x4378, 0xa8, 0x40, 0xc9, 0x20, 0x0d, 0xac, 0xee, 0x47)] |
| interface ISpellChecker2(ISpellChecker2Vtbl): ISpellChecker(ISpellCheckerVtbl) { |
| fn Remove( |
| word: LPCWSTR, |
| ) -> HRESULT, |
| }} |
| RIDL!{#[uuid(0x8e018a9d, 0x2415, 0x4677, 0xbf, 0x08, 0x79, 0x4e, 0xa6, 0x1f, 0x94, 0xbb)] |
| interface ISpellCheckerFactory(ISpellCheckerFactoryVtbl): IUnknown(IUnknownVtbl) { |
| fn SupportedLanguages( |
| value: *mut *mut IEnumString, |
| ) -> HRESULT, |
| fn IsSupported( |
| languageTag: LPCWSTR, |
| value: *mut BOOL, |
| ) -> HRESULT, |
| fn CreateSpellChecker( |
| languageTag: LPCWSTR, |
| value: *mut *mut ISpellChecker, |
| ) -> HRESULT, |
| }} |
| RIDL!{#[uuid(0xaa176b85, 0x0e12, 0x4844, 0x8e, 0x1a, 0xee, 0xf1, 0xda, 0x77, 0xf5, 0x86)] |
| interface IUserDictionariesRegistrar(IUserDictionariesRegistrarVtbl): IUnknown(IUnknownVtbl) { |
| fn RegisterUserDictionary( |
| dictionaryPath: LPCWSTR, |
| languageTag: LPCWSTR, |
| ) -> HRESULT, |
| fn UnregisterUserDictionary( |
| dictionaryPath: LPCWSTR, |
| languageTag: LPCWSTR, |
| ) -> HRESULT, |
| }} |
| RIDL!{#[uuid(0x7ab36653, 0x1796, 0x484b, 0xbd, 0xfa, 0xe7, 0x4f, 0x1d, 0xb7, 0xc1, 0xdc)] |
| class SpellCheckerFactory; |
| } |