From be37726f56a2066fe7e142d50f82ef3b222f0ab6 Mon Sep 17 00:00:00 2001
From: Shogo Ishigami <29514220+nusu-github@users.noreply.github.com>
Date: Thu, 27 Jun 2024 23:15:52 +0900
Subject: [PATCH] =?UTF-8?q?CLSID=E8=87=AA=E5=8B=95=E7=94=9F=E6=88=90?=
=?UTF-8?q?=E3=80=81Vec=E3=81=B8=E3=81=AE=E5=A4=89=E6=8F=9B=E4=BD=9C?=
=?UTF-8?q?=E6=A5=AD=E3=82=92=E5=8A=B9=E7=8E=87=E5=8C=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../.metadata/CeVIO.Talk.RemoteService2.IDL | 690 ++--
crates/cevio-sys/.metadata/generate.proj | 6 +-
.../winmd/CeVIO.Talk.RemoteService2.winmd | Bin 5632 -> 6144 bytes
crates/cevio-sys/build.rs | 2 +
crates/cevio-sys/src/bindings.rs | 2780 -----------------
crates/cevio-sys/src/lib.rs | 18 +-
crates/cevio/src/cevio.rs | 52 +-
7 files changed, 453 insertions(+), 3095 deletions(-)
delete mode 100644 crates/cevio-sys/src/bindings.rs
diff --git a/crates/cevio-sys/.metadata/CeVIO.Talk.RemoteService2.IDL b/crates/cevio-sys/.metadata/CeVIO.Talk.RemoteService2.IDL
index 2d2ce73..abd065c 100644
--- a/crates/cevio-sys/.metadata/CeVIO.Talk.RemoteService2.IDL
+++ b/crates/cevio-sys/.metadata/CeVIO.Talk.RemoteService2.IDL
@@ -1,291 +1,431 @@
+// Generated .IDL file (by the OLE/COM Object Viewer)
+//
+// typelib filename: CeVIO.Talk.RemoteService2.tlb
+
import "objidl.idl";
-import "oaidl.idl";
-import "propidl.idl";
[
- odl,
- uuid(A409140F-B7A5-48EF-893E-8B971420E05A),
- version(1.0),
- dual,
- oleautomation,
+ uuid(7E3B8901-0A65-44A0-9A9A-5F9F822D0716),
+ version(3.0),
]
-interface IPhonemeData2 : IDispatch {
- [id(0x60020000), propget]
- HRESULT Phoneme([out, retval] BSTR* pRetVal);
- [id(0x60020001), propget]
- HRESULT StartTime([out, retval] double* pRetVal);
- [id(0x60020002), propget]
- HRESULT EndTime([out, retval] double* pRetVal);
-};
+library CeVIO_Talk_RemoteService2
+{
+ // Forward declare all types defined in this typelib
+ interface IPhonemeData2;
+ interface ISpeakingState2;
+ interface ITalkerComponent2;
+ interface ITalkerComponentArray2;
+ interface IStringArray2;
+ interface IPhonemeDataArray2;
+ interface IServiceControl2;
+ interface IServiceControl2V40;
+ interface IServiceControl2V40Part;
+ interface ITalker2;
+ interface ITalker2V40;
+ interface ITalker2V40Part;
-[
- odl,
- uuid(EE2E846D-0120-4A31-A95B-14004D7CF730),
- version(1.0),
- dual,
- oleautomation,
-]
-interface ISpeakingState2 : IDispatch {
- [id(0x60020000), propget]
- HRESULT IsSucceeded([out, retval] VARIANT_BOOL* pRetVal);
- [id(0x60020001), propget]
- HRESULT IsCompleted([out, retval] VARIANT_BOOL* pRetVal);
- [id(0x60020002)]
- HRESULT Wait();
- [id(0x60020003)]
- HRESULT Wait_2([in] double timeoutSeconds);
-};
+ [
+ odl,
+ uuid(A409140F-B7A5-48EF-893E-8B971420E05A),
+ version(1.0),
+ dual,
+ oleautomation,
+ custom(0F21F359-AB84-41E8-9A78-36D110E6D2F9, "CeVIO.Talk.RemoteService2.IPhonemeData2")
+ ]
+ interface IPhonemeData2 : IDispatch {
+ [id(0x60020000), propget]
+ HRESULT Phoneme([out, retval] BSTR* pRetVal);
+ [id(0x60020001), propget]
+ HRESULT StartTime([out, retval] double* pRetVal);
+ [id(0x60020002), propget]
+ HRESULT EndTime([out, retval] double* pRetVal);
+ };
-[
- odl,
- uuid(0FB8C1A2-4895-4EF1-9AC5-71CC45EC61B9),
- version(1.0),
- dual,
- oleautomation,
-]
-interface ITalkerComponent2 : IDispatch {
- [id(0x60020000), propget]
- HRESULT Id([out, retval] BSTR* pRetVal);
- [id(0x60020001), propget]
- HRESULT Name([out, retval] BSTR* pRetVal);
- [id(00000000), propget]
- HRESULT Value([out, retval] unsigned long* pRetVal);
- [id(00000000), propput]
- HRESULT Value([in] unsigned long pRetVal);
-};
+ [
+ uuid(9FF8647A-C6C9-49E6-88B9-1FC19EC13C13),
+ version(1.0),
+ noncreatable,
+ custom(0F21F359-AB84-41E8-9A78-36D110E6D2F9, "CeVIO.Talk.RemoteService2.PhonemeData2")
+ ]
+ coclass PhonemeData2 {
+ [default] interface IPhonemeData2;
+ };
-[
- odl,
- uuid(50D7AB4E-0D5E-4FCE-B809-E784C58E5355),
- version(1.0),
- dual,
- oleautomation,
-]
-interface ITalkerComponentArray2 : IDispatch {
- [id(0x60020000), propget]
- HRESULT Length([out, retval] long* pRetVal);
- [id(0x60020001)]
- HRESULT At(
- [in] long index,
- [out, retval] ITalkerComponent2** pRetVal);
- [id(0x60020002)]
- HRESULT ByName(
- [in] BSTR Name,
- [out, retval] ITalkerComponent2** pRetVal);
- [id(0x60020003)]
- HRESULT Duplicate([out, retval] ITalkerComponentArray2** pRetVal);
-};
+ [
+ odl,
+ uuid(EE2E846D-0120-4A31-A95B-14004D7CF730),
+ version(1.0),
+ dual,
+ oleautomation,
+ custom(0F21F359-AB84-41E8-9A78-36D110E6D2F9, "CeVIO.Talk.RemoteService2.ISpeakingState2")
+ ]
+ interface ISpeakingState2 : IDispatch {
+ [id(0x60020000), propget]
+ HRESULT IsSucceeded([out, retval] VARIANT_BOOL* pRetVal);
+ [id(0x60020001), propget]
+ HRESULT IsCompleted([out, retval] VARIANT_BOOL* pRetVal);
+ [id(0x60020002)]
+ HRESULT Wait();
+ [id(0x60020003), custom(0F21F359-AB84-41E8-9A78-36D110E6D2F9, "Wait")]
+ HRESULT Wait_2([in] double timeoutSeconds);
+ };
-[
- odl,
- uuid(37F03F6E-9C51-4E32-BF31-761C6BC87AAC),
- version(1.0),
- dual,
- oleautomation,
-]
-interface IStringArray2 : IDispatch {
- [id(0x60020000), propget]
- HRESULT Length([out, retval] long* pRetVal);
- [id(0x60020001)]
- HRESULT At(
- [in] long index,
- [out, retval] BSTR* pRetVal);
- [id(0x60020002)]
- HRESULT Duplicate([out, retval] IStringArray2** pRetVal);
-};
+ [
+ uuid(9C404814-1CF6-4D35-8078-006BD6548C6B),
+ version(1.0),
+ noncreatable,
+ custom(0F21F359-AB84-41E8-9A78-36D110E6D2F9, "CeVIO.Talk.RemoteService2.SpeakingState2")
+ ]
+ coclass SpeakingState2 {
+ [default] interface ISpeakingState2;
+ };
-[
- odl,
- uuid(96C207D5-B547-485F-8538-96A5BE0C73B6),
- version(1.0),
- dual,
- oleautomation,
-]
-interface IPhonemeDataArray2 : IDispatch {
- [id(0x60020000), propget]
- HRESULT Length([out, retval] long* pRetVal);
- [id(0x60020001)]
- HRESULT At(
- [in] long index,
- [out, retval] IPhonemeData2** pRetVal);
- [id(0x60020002)]
- HRESULT Duplicate([out, retval] IPhonemeDataArray2** pRetVal);
-};
+ [
+ odl,
+ uuid(0FB8C1A2-4895-4EF1-9AC5-71CC45EC61B9),
+ version(1.0),
+ dual,
+ oleautomation,
+ custom(0F21F359-AB84-41E8-9A78-36D110E6D2F9, "CeVIO.Talk.RemoteService2.ITalkerComponent2")
+ ]
+ interface ITalkerComponent2 : IDispatch {
+ [id(0x60020000), propget]
+ HRESULT Id([out, retval] BSTR* pRetVal);
+ [id(0x60020001), propget]
+ HRESULT Name([out, retval] BSTR* pRetVal);
+ [id(00000000), propget]
+ HRESULT Value([out, retval] unsigned long* pRetVal);
+ [id(00000000), propput]
+ HRESULT Value([in] unsigned long pRetVal);
+ };
-[
- odl,
- uuid(F726D3E2-5A0F-4CA7-9029-D3549D594350),
- version(1.0),
- dual,
- oleautomation,
-]
-interface IServiceControl2 : IDispatch {
- [id(0x60020000), propget]
- HRESULT IsHostStarted([out, retval] VARIANT_BOOL* pRetVal);
- [id(0x60020001)]
- HRESULT StartHost(
- [in] VARIANT_BOOL noWait,
- [out, retval] long* pRetVal);
- [id(0x60020002)]
- HRESULT CloseHost([in] long mode);
-};
+ [
+ uuid(5958DBCF-0DFD-41C6-9852-ACAC4ACC9E9D),
+ version(1.0),
+ noncreatable,
+ custom(0F21F359-AB84-41E8-9A78-36D110E6D2F9, "CeVIO.Talk.RemoteService2.TalkerComponent2")
+ ]
+ coclass TalkerComponent2 {
+ [default] interface ITalkerComponent2;
+ };
-[
- odl,
- uuid(5318F2D5-9973-4A11-A2D7-80FB823B7F9F),
- version(1.0),
- dual,
- oleautomation,
-]
-interface IServiceControl2V40 : IDispatch {
- [id(0x60020000), propget]
- HRESULT HostVersion([out, retval] BSTR* pRetVal);
- [id(0x60020001), propget]
- HRESULT InterfaceVersion([out, retval] BSTR* pRetVal);
- [id(0x60020002), propget]
- HRESULT IsHostStarted([out, retval] VARIANT_BOOL* pRetVal);
- [id(0x60020003)]
- HRESULT StartHost(
- [in] VARIANT_BOOL noWait,
- [out, retval] long* pRetVal);
- [id(0x60020004)]
- HRESULT CloseHost([in] long mode);
-};
+ [
+ odl,
+ uuid(50D7AB4E-0D5E-4FCE-B809-E784C58E5355),
+ version(1.0),
+ dual,
+ oleautomation,
+ custom(0F21F359-AB84-41E8-9A78-36D110E6D2F9, "CeVIO.Talk.RemoteService2.ITalkerComponentArray2")
+ ]
+ interface ITalkerComponentArray2 : IDispatch {
+ [id(0x60020000), propget]
+ HRESULT Length([out, retval] long* pRetVal);
+ [id(0x60020001)]
+ HRESULT At(
+ [in] long index,
+ [out, retval] ITalkerComponent2** pRetVal);
+ [id(0x60020002)]
+ HRESULT ByName(
+ [in] BSTR Name,
+ [out, retval] ITalkerComponent2** pRetVal);
+ [id(0x60020003)]
+ HRESULT Duplicate([out, retval] ITalkerComponentArray2** pRetVal);
+ };
-[
- odl,
- uuid(0D1EF04D-07EE-4CAF-A424-E7819BE41516),
- version(1.0),
- dual,
- oleautomation,
-]
-interface IServiceControl2V40Part : IDispatch {
- [id(0x60020000), propget]
- HRESULT HostVersion([out, retval] BSTR* pRetVal);
- [id(0x60020001), propget]
- HRESULT InterfaceVersion([out, retval] BSTR* pRetVal);
-};
+ [
+ uuid(134FD50F-8E05-42D3-A7E2-099758DE3811),
+ version(1.0),
+ noncreatable,
+ custom(0F21F359-AB84-41E8-9A78-36D110E6D2F9, "CeVIO.Talk.RemoteService2.TalkerComponentCollection2")
+ ]
+ coclass TalkerComponentCollection2 {
+ [default] interface ITalkerComponentArray2;
+ };
-[
- odl,
- uuid(F5EED82F-A947-4B66-9411-4074EA111879),
- version(1.0),
- dual,
- oleautomation,
-]
-interface ITalker2 : IDispatch {
- [id(0x60020000), propget]
- HRESULT Volume([out, retval] unsigned long* pRetVal);
- [id(0x60020000), propput]
- HRESULT Volume([in] unsigned long pRetVal);
- [id(0x60020002), propget]
- HRESULT Speed([out, retval] unsigned long* pRetVal);
- [id(0x60020002), propput]
- HRESULT Speed([in] unsigned long pRetVal);
- [id(0x60020004), propget]
- HRESULT Tone([out, retval] unsigned long* pRetVal);
- [id(0x60020004), propput]
- HRESULT Tone([in] unsigned long pRetVal);
- [id(0x60020006), propget]
- HRESULT Alpha([out, retval] unsigned long* pRetVal);
- [id(0x60020006), propput]
- HRESULT Alpha([in] unsigned long pRetVal);
- [id(0x60020008), propget]
- HRESULT Components([out, retval] ITalkerComponentArray2** pRetVal);
- [id(0x60020009), propget]
- HRESULT Cast([out, retval] BSTR* pRetVal);
- [id(0x60020009), propput]
- HRESULT Cast([in] BSTR pRetVal);
- [id(0x6002000b), propget]
- HRESULT AvailableCasts([out, retval] IStringArray2** pRetVal);
- [id(0x6002000c)]
- HRESULT Speak(
- [in] BSTR text,
- [out, retval] ISpeakingState2** pRetVal);
- [id(0x6002000d)]
- HRESULT Stop([out, retval] VARIANT_BOOL* pRetVal);
- [id(0x6002000e)]
- HRESULT GetTextDuration(
- [in] BSTR text,
- [out, retval] double* pRetVal);
- [id(0x6002000f)]
- HRESULT GetPhonemes(
- [in] BSTR text,
- [out, retval] IPhonemeDataArray2** pRetVal);
- [id(0x60020010)]
- HRESULT OutputWaveToFile(
- [in] BSTR text,
- [in] BSTR path,
- [out, retval] VARIANT_BOOL* pRetVal);
-};
+ [
+ odl,
+ uuid(37F03F6E-9C51-4E32-BF31-761C6BC87AAC),
+ version(1.0),
+ dual,
+ oleautomation,
+ custom(0F21F359-AB84-41E8-9A78-36D110E6D2F9, "CeVIO.Talk.RemoteService2.InteroperableComponents.IStringArray2")
+ ]
+ interface IStringArray2 : IDispatch {
+ [id(0x60020000), propget]
+ HRESULT Length([out, retval] long* pRetVal);
+ [id(0x60020001)]
+ HRESULT At(
+ [in] long index,
+ [out, retval] BSTR* pRetVal);
+ [id(0x60020002)]
+ HRESULT Duplicate([out, retval] IStringArray2** pRetVal);
+ };
-[
- odl,
- uuid(38C647A8-39EC-433E-94C2-83E532F10CA1),
- version(1.0),
- dual,
- oleautomation,
-]
-interface ITalker2V40 : IDispatch {
- [id(0x60020000), propget]
- HRESULT Volume([out, retval] unsigned long* pRetVal);
- [id(0x60020000), propput]
- HRESULT Volume([in] unsigned long pRetVal);
- [id(0x60020002), propget]
- HRESULT Speed([out, retval] unsigned long* pRetVal);
- [id(0x60020002), propput]
- HRESULT Speed([in] unsigned long pRetVal);
- [id(0x60020004), propget]
- HRESULT Tone([out, retval] unsigned long* pRetVal);
- [id(0x60020004), propput]
- HRESULT Tone([in] unsigned long pRetVal);
- [id(0x60020006), propget]
- HRESULT Alpha([out, retval] unsigned long* pRetVal);
- [id(0x60020006), propput]
- HRESULT Alpha([in] unsigned long pRetVal);
- [id(0x60020008), propget]
- HRESULT ToneScale([out, retval] unsigned long* pRetVal);
- [id(0x60020008), propput]
- HRESULT ToneScale([in] unsigned long pRetVal);
- [id(0x6002000a), propget]
- HRESULT Components([out, retval] ITalkerComponentArray2** pRetVal);
- [id(0x6002000b), propget]
- HRESULT Cast([out, retval] BSTR* pRetVal);
- [id(0x6002000b), propput]
- HRESULT Cast([in] BSTR pRetVal);
- [id(0x6002000d), propget]
- HRESULT AvailableCasts([out, retval] IStringArray2** pRetVal);
- [id(0x6002000e)]
- HRESULT Speak(
- [in] BSTR text,
- [out, retval] ISpeakingState2** pRetVal);
- [id(0x6002000f)]
- HRESULT Stop([out, retval] VARIANT_BOOL* pRetVal);
- [id(0x60020010)]
- HRESULT GetTextDuration(
- [in] BSTR text,
- [out, retval] double* pRetVal);
- [id(0x60020011)]
- HRESULT GetPhonemes(
- [in] BSTR text,
- [out, retval] IPhonemeDataArray2** pRetVal);
- [id(0x60020012)]
- HRESULT OutputWaveToFile(
- [in] BSTR text,
- [in] BSTR path,
- [out, retval] VARIANT_BOOL* pRetVal);
-};
+ [
+ uuid(F877DB3C-B2FD-4A97-9F55-355C94350E9B),
+ version(1.0),
+ noncreatable,
+ custom(0F21F359-AB84-41E8-9A78-36D110E6D2F9, "CeVIO.Talk.RemoteService2.InteroperableComponents.StringArray2")
+ ]
+ coclass StringArray2 {
+ [default] interface IStringArray2;
+ };
-[
- odl,
- uuid(247E9BBE-530B-4E02-94F9-22AEC45B7AD5),
- version(1.0),
- dual,
- oleautomation,
-]
-interface ITalker2V40Part : IDispatch {
- [id(0x60020000), propget]
- HRESULT ToneScale([out, retval] unsigned long* pRetVal);
- [id(0x60020000), propput]
- HRESULT ToneScale([in] unsigned long pRetVal);
+ [
+ odl,
+ uuid(96C207D5-B547-485F-8538-96A5BE0C73B6),
+ version(1.0),
+ dual,
+ oleautomation,
+ custom(0F21F359-AB84-41E8-9A78-36D110E6D2F9, "CeVIO.Talk.RemoteService2.InteroperableComponents.IPhonemeDataArray2")
+ ]
+ interface IPhonemeDataArray2 : IDispatch {
+ [id(0x60020000), propget]
+ HRESULT Length([out, retval] long* pRetVal);
+ [id(0x60020001)]
+ HRESULT At(
+ [in] long index,
+ [out, retval] IPhonemeData2** pRetVal);
+ [id(0x60020002)]
+ HRESULT Duplicate([out, retval] IPhonemeDataArray2** pRetVal);
+ };
+
+ [
+ uuid(8C732FD9-C313-4F9B-BA0B-5E60A73A9A30),
+ version(1.0),
+ noncreatable,
+ custom(0F21F359-AB84-41E8-9A78-36D110E6D2F9, "CeVIO.Talk.RemoteService2.InteroperableComponents.PhonemeDataArray2")
+ ]
+ coclass PhonemeDataArray2 {
+ [default] interface IPhonemeDataArray2;
+ };
+
+ [
+ odl,
+ uuid(F726D3E2-5A0F-4CA7-9029-D3549D594350),
+ version(1.0),
+ dual,
+ oleautomation,
+ custom(0F21F359-AB84-41E8-9A78-36D110E6D2F9, "CeVIO.Talk.RemoteService2.InteroperableComponents.IServiceControl2")
+ ]
+ interface IServiceControl2 : IDispatch {
+ [id(0x60020000), propget]
+ HRESULT IsHostStarted([out, retval] VARIANT_BOOL* pRetVal);
+ [id(0x60020001)]
+ HRESULT StartHost(
+ [in] VARIANT_BOOL noWait,
+ [out, retval] long* pRetVal);
+ [id(0x60020002)]
+ HRESULT CloseHost([in] long mode);
+ };
+
+ [
+ odl,
+ uuid(5318F2D5-9973-4A11-A2D7-80FB823B7F9F),
+ version(1.0),
+ dual,
+ oleautomation,
+ custom(0F21F359-AB84-41E8-9A78-36D110E6D2F9, "CeVIO.Talk.RemoteService2.InteroperableComponents.IServiceControl2V40")
+
+ ]
+ interface IServiceControl2V40 : IDispatch {
+ [id(0x60020000), propget]
+ HRESULT HostVersion([out, retval] BSTR* pRetVal);
+ [id(0x60020001), propget]
+ HRESULT InterfaceVersion([out, retval] BSTR* pRetVal);
+ [id(0x60020002), propget]
+ HRESULT IsHostStarted([out, retval] VARIANT_BOOL* pRetVal);
+ [id(0x60020003)]
+ HRESULT StartHost(
+ [in] VARIANT_BOOL noWait,
+ [out, retval] long* pRetVal);
+ [id(0x60020004)]
+ HRESULT CloseHost([in] long mode);
+ };
+
+ [
+ odl,
+ uuid(0D1EF04D-07EE-4CAF-A424-E7819BE41516),
+ version(1.0),
+ dual,
+ oleautomation,
+ custom(0F21F359-AB84-41E8-9A78-36D110E6D2F9, "CeVIO.Talk.RemoteService2.InteroperableComponents.IServiceControl2V40Part")
+ ]
+ interface IServiceControl2V40Part : IDispatch {
+ [id(0x60020000), propget]
+ HRESULT HostVersion([out, retval] BSTR* pRetVal);
+ [id(0x60020001), propget]
+ HRESULT InterfaceVersion([out, retval] BSTR* pRetVal);
+ };
+
+ [
+ uuid(B75AFE5E-DD52-42E9-A6F5-7BE5F6FE8EDB),
+ version(1.0),
+ custom(0F21F359-AB84-41E8-9A78-36D110E6D2F9, "CeVIO.Talk.RemoteService2.InteroperableComponents.ServiceControl2")
+ ]
+ coclass ServiceControl2 {
+ [default] interface IServiceControl2;
+ interface IServiceControl2V40;
+ interface IServiceControl2V40Part;
+ };
+
+ [
+ uuid(3D882C2B-9C6D-480A-8E7E-1F017EE3D580),
+ version(1.0),
+ custom(0F21F359-AB84-41E8-9A78-36D110E6D2F9, "CeVIO.Talk.RemoteService2.InteroperableComponents.ServiceControl2V40")
+ ]
+ coclass ServiceControl2V40 {
+ interface IServiceControl2;
+ [default] interface IServiceControl2V40;
+ interface IServiceControl2V40Part;
+ };
+
+ [
+ odl,
+ uuid(F5EED82F-A947-4B66-9411-4074EA111879),
+ version(1.0),
+ dual,
+ oleautomation,
+ custom(0F21F359-AB84-41E8-9A78-36D110E6D2F9, "CeVIO.Talk.RemoteService2.InteroperableComponents.ITalker2")
+ ]
+ interface ITalker2 : IDispatch {
+ [id(0x60020000), propget]
+ HRESULT Volume([out, retval] unsigned long* pRetVal);
+ [id(0x60020000), propput]
+ HRESULT Volume([in] unsigned long pRetVal);
+ [id(0x60020002), propget]
+ HRESULT Speed([out, retval] unsigned long* pRetVal);
+ [id(0x60020002), propput]
+ HRESULT Speed([in] unsigned long pRetVal);
+ [id(0x60020004), propget]
+ HRESULT Tone([out, retval] unsigned long* pRetVal);
+ [id(0x60020004), propput]
+ HRESULT Tone([in] unsigned long pRetVal);
+ [id(0x60020006), propget]
+ HRESULT Alpha([out, retval] unsigned long* pRetVal);
+ [id(0x60020006), propput]
+ HRESULT Alpha([in] unsigned long pRetVal);
+ [id(0x60020008), propget]
+ HRESULT Components([out, retval] ITalkerComponentArray2** pRetVal);
+ [id(0x60020009), propget]
+ HRESULT Cast([out, retval] BSTR* pRetVal);
+ [id(0x60020009), propput]
+ HRESULT Cast([in] BSTR pRetVal);
+ [id(0x6002000b), propget]
+ HRESULT AvailableCasts([out, retval] IStringArray2** pRetVal);
+ [id(0x6002000c)]
+ HRESULT Speak(
+ [in] BSTR text,
+ [out, retval] ISpeakingState2** pRetVal);
+ [id(0x6002000d)]
+ HRESULT Stop([out, retval] VARIANT_BOOL* pRetVal);
+ [id(0x6002000e)]
+ HRESULT GetTextDuration(
+ [in] BSTR text,
+ [out, retval] double* pRetVal);
+ [id(0x6002000f)]
+ HRESULT GetPhonemes(
+ [in] BSTR text,
+ [out, retval] IPhonemeDataArray2** pRetVal);
+ [id(0x60020010)]
+ HRESULT OutputWaveToFile(
+ [in] BSTR text,
+ [in] BSTR path,
+ [out, retval] VARIANT_BOOL* pRetVal);
+ };
+
+ [
+ odl,
+ uuid(38C647A8-39EC-433E-94C2-83E532F10CA1),
+ version(1.0),
+ dual,
+ oleautomation,
+ custom(0F21F359-AB84-41E8-9A78-36D110E6D2F9, "CeVIO.Talk.RemoteService2.InteroperableComponents.ITalker2V40")
+ ]
+ interface ITalker2V40 : IDispatch {
+ [id(0x60020000), propget]
+ HRESULT Volume([out, retval] unsigned long* pRetVal);
+ [id(0x60020000), propput]
+ HRESULT Volume([in] unsigned long pRetVal);
+ [id(0x60020002), propget]
+ HRESULT Speed([out, retval] unsigned long* pRetVal);
+ [id(0x60020002), propput]
+ HRESULT Speed([in] unsigned long pRetVal);
+ [id(0x60020004), propget]
+ HRESULT Tone([out, retval] unsigned long* pRetVal);
+ [id(0x60020004), propput]
+ HRESULT Tone([in] unsigned long pRetVal);
+ [id(0x60020006), propget]
+ HRESULT Alpha([out, retval] unsigned long* pRetVal);
+ [id(0x60020006), propput]
+ HRESULT Alpha([in] unsigned long pRetVal);
+ [id(0x60020008), propget]
+ HRESULT ToneScale([out, retval] unsigned long* pRetVal);
+ [id(0x60020008), propput]
+ HRESULT ToneScale([in] unsigned long pRetVal);
+ [id(0x6002000a), propget]
+ HRESULT Components([out, retval] ITalkerComponentArray2** pRetVal);
+ [id(0x6002000b), propget]
+ HRESULT Cast([out, retval] BSTR* pRetVal);
+ [id(0x6002000b), propput]
+ HRESULT Cast([in] BSTR pRetVal);
+ [id(0x6002000d), propget]
+ HRESULT AvailableCasts([out, retval] IStringArray2** pRetVal);
+ [id(0x6002000e)]
+ HRESULT Speak(
+ [in] BSTR text,
+ [out, retval] ISpeakingState2** pRetVal);
+ [id(0x6002000f)]
+ HRESULT Stop([out, retval] VARIANT_BOOL* pRetVal);
+ [id(0x60020010)]
+ HRESULT GetTextDuration(
+ [in] BSTR text,
+ [out, retval] double* pRetVal);
+ [id(0x60020011)]
+ HRESULT GetPhonemes(
+ [in] BSTR text,
+ [out, retval] IPhonemeDataArray2** pRetVal);
+ [id(0x60020012)]
+ HRESULT OutputWaveToFile(
+ [in] BSTR text,
+ [in] BSTR path,
+ [out, retval] VARIANT_BOOL* pRetVal);
+ };
+
+ [
+ odl,
+ uuid(247E9BBE-530B-4E02-94F9-22AEC45B7AD5),
+ version(1.0),
+ dual,
+ oleautomation,
+ custom(0F21F359-AB84-41E8-9A78-36D110E6D2F9, "CeVIO.Talk.RemoteService2.InteroperableComponents.ITalker2V40Part")
+ ]
+ interface ITalker2V40Part : IDispatch {
+ [id(0x60020000), propget]
+ HRESULT ToneScale([out, retval] unsigned long* pRetVal);
+ [id(0x60020000), propput]
+ HRESULT ToneScale([in] unsigned long pRetVal);
+ };
+
+ [
+ uuid(EFBCD077-659B-4E6B-A8A9-FE88BE66308C),
+ version(1.0),
+ custom(0F21F359-AB84-41E8-9A78-36D110E6D2F9, "CeVIO.Talk.RemoteService2.InteroperableComponents.Talker2")
+ ]
+ coclass Talker2 {
+ [default] interface ITalker2;
+ interface ITalker2V40;
+ interface ITalker2V40Part;
+ };
+
+ [
+ uuid(60698BB3-F7BD-4119-B79E-482FF352EF3F),
+ version(1.0),
+ custom(0F21F359-AB84-41E8-9A78-36D110E6D2F9, "CeVIO.Talk.RemoteService2.InteroperableComponents.Talker2V40")
+ ]
+ coclass Talker2V40 {
+ interface ITalker2;
+ [default] interface ITalker2V40;
+ interface ITalker2V40Part;
+ };
};
diff --git a/crates/cevio-sys/.metadata/generate.proj b/crates/cevio-sys/.metadata/generate.proj
index bb418aa..3aca2b7 100644
--- a/crates/cevio-sys/.metadata/generate.proj
+++ b/crates/cevio-sys/.metadata/generate.proj
@@ -4,13 +4,15 @@
../.windows/winmd/CeVIO.Talk.RemoteService2.winmd
255.255.255.255
$(CompiledHeadersDir)
+ false
-
-
+
+
@(Headers)
CeVIO.Talk.RemoteService2
+ true
diff --git a/crates/cevio-sys/.windows/winmd/CeVIO.Talk.RemoteService2.winmd b/crates/cevio-sys/.windows/winmd/CeVIO.Talk.RemoteService2.winmd
index b3c5c23cee9617a6b88160b183d6f6adf8518f94..51de2e6468a12c269577e659a89a39d8a70c8d4f 100644
GIT binary patch
literal 6144
zcmeHLdvH|c6+idhU9y{G6E;C=MhgoGZJFu?uBf#*&BB6
z@>C2Z3{){<2SEivC5TeS&R8v|EiDkY>R`*1q0*tYj>Jbh7PK9N+6q1A+y~hRj*QH-
zfAoXz-19r%Ip;g)e2=|1wR1Lt1OPVd7cTRu&2qL`Dde1_0
zws%1Eegvvb6w%`TwP-0m%qk4f?Iu
z*~`;1fZWTEe7V#E;OM8}KwRAqdo^X5hPbB?36Ay86%jWNzv1EuwOe;3eedPUx}>q>K%rQ1uM}CxOp|@l+d%9bLoq*l~Noqu41H)P?ETX`FZ*5%fFnoCCw
z2D0(k!v=CNBEO`W%ZU6F8qA31Aymj{zJZ1^5)4$t=s`)>9L8vaG3H@(oq@(N+HGk1
z!6^)e(Kt35XQ*T}BLi*DK#McbD;emS3?yeDF#|o2freUWwNL;vF|wOE7EBsj+LeX%
z)z^s7aPbDdt@N=%M0VDrv8h5OWLYSTi1!3}vEL`v@s40S`v?eHXFBbgC}cyPWp@q{
z?Kx^`*E%r{co?{)T@Q&VKBffIu07&L>ma7>tE4Tw-+0Up;uCNKThZ(-;vN`gBDV9G
z26iBQ4Y-9)(dRV$E-x2sQtP>!dgG`6=9FB3BZ#^_s|jOez%c_T-kfzb@T~$HG9a
z^H|Rb7CMFKHVcs#KBg#1vzOb=G4?XWMC_%^Lgb~wLN{a0=(JM9>SE0*b%3Z|h+DT{
z+BI890i8!`X_pV}YIK082JPxBB%)n|g>uoZ(L!^jJrJ_cJ}DcTE%Yl%7G_zfO*#s5
zOk{siY!&8OXq;3DEfyLfB?Q?*cSMf?v@uT)cO$j@Mn#Ejk&0DX4uF52Sy&
z8A<-GB%%*E`U
zQ=6S65vDy%`HI7k9nrHeCCHQbr4t(ar
zzC$d4wS4!`-ZPs3FPR_^R1!;~Va2D$wS*cgZN6nJ1VVDGO-V36Q;upar4VRnRpUy#
z;+HkK6nsi^px#Sb-bSTe)fB@C>IFL#xeed^gPN=mm-Ekiu-;H$S`TV(Tq+ioX27wWZlc~5(U
zanql@YY5cdeGWfebeB%naH7Uj2lwYcT>VMiW3MhgGVLSzB~!!U@Q7}^Bfns6_>GuQcUmAXJ`@zYDEF4l@w(Zj!C)9Q>gSOv?
zHsGfX`uy$5S+hTPrOO{_+`D)Bk?oJOF#mXcp}qT9#qM{VTW0-fqML=2PcA+G`SV+*
z?`WDZchiKttt|Y*nB<1S!&~cL&Y3rV_xB#d^+liaF3j22`1W5ao<6(sy-zQ6pJd^8
zZ(4sx`?l=r?p4EuRi}=3vT*6qpP$*PwADTH?1l9Q7LLWQ5j6kl{n7cqI9F7@Z+rEa
ze>9$%YW`aNH=mmMnTqEGAkNZWPgTEC&?i>8(~wP;sd%UUTT5(<@vUDw?!0oo-Qj&U9H#P4L>k+s%3N-8mn8p9&cNdZowojwq
zE{DA`Z2+jea?jgKHGsebjR4}d2{>XK_t}WgsYtMIVy=j|X#ndZc_U*b-545BOu5a$
zYeH)PXqo`u75gKqD>jNv20wIbxCXFf5(y`?0P5|WfUm|j#aA^+t~J$dXjx=QWa*Nn
zwYQUnA2LXX%K>V3;5<|SjNsy{iQDMv{x>G1{m&nhO|hcKb9&*SV;c(SxpL6n06~
zP>1MN9H9lrp;iiAkjfD|trYUf^Z9IW`u;A>$NBU6!cq&A3Dky&X8AB7s)Or(m&%So8fJLd`#6ZJbu}uaN%+AMjAJDnbqaJIOz0Nq5)`3FpykRDNC@<>QVzWW
z9a41ZZh=~qQ?SlM{(bVGbgw{_N(=M}^e;It=>pxXY?o33{ZiU14R|O-*=`buvds!a
z*;)cowwnc_Z25RWNhw6x7DXRryG0<%cB??oq0j9Cy@WnLDG*iS0fDFzy9A<2>=uYB
zfe#{XC9cG$1foiORv@axLjqAHz90});$aVkD6)eBQDl$0NX8v}&^g}llzVr)~g(oZoRWg1mTGR$<8Y1l`SJxoWK`uuFgbeQQV)94J6k1+L>5g%nb%rqQe
zE2hIt!$Fb^GYywB&vcY&s)8gVOnsGX%XEZkG(?g;Onoz%XX>kBo~aLCHZcaKBTU08
zNm5Kln1-uKGR$<8DV>00?jP~=#t85+yjQ^s$5{Xy`TU^u<24B$9|y6xksnGYjb_WV
z^H!#=ci9q%CG^ZDBhUOAJ#F{ZL9BbwGL5Ve)or~FnvLFASA?`8Jx12D4c7_k#dC(f
z3E!6Ewr(4QC%YHEJ*L^p=FqcgPadN&pVzmNIlp>)$camsxZ;m?SgB&hsE6Lho>*gN
zqOYl|s~wu+i5_U{Ss7p5o`3Ka-o+Oip+mbf3sjJs9
z;`Ez_U9feGE1v@TGUZSbSgv?d&lo)XIO;0e7|$Ag$VgZ%Y3!z$I`ympOMxeYSQo2k$Bm?ArV6C#7Ont|xpaZY
z5X;bkjYE1mqxWZwX1!penhjn38;zt5rbT;b+D^cY){QH}+XuAS7*oB-1y`Dx=8RP^
zC?kvzEtuoab6mj2ea^0aF?aIv!2bH!{a8bD-n?xA5b_aT#QdAZk4IlcQB%Y`fI?rI$CKSb0JJfu|7&XtL@LR8`Lk
z5~Bu@bH=E?3C%jc`D*tkLci)d8a%(}<_2s(GAJ-1u
zxasHHz9qD(1FqI$)Ow}t_`%la``Y&2cJT1A%EI?uEp=X1fWr)+&hJm({8rVvuea~J
z^>pGZYn$<#f(-vMH(q#5UG>zfJ1;+Y#{*BWu;a}Ip^IhDwGW5S?>aPk9e(L?%4$&L
zQOTiVMj;_uT%jqHBns7e==nouF8;OknGJUyP#f$&s&nx*9);g%E!}qE_WI@n$9KO`
zcd7D879KmaBU}-eI}iM0(X%7>Y!dit8Jd^D5k
r(9{W
diff --git a/crates/cevio-sys/build.rs b/crates/cevio-sys/build.rs
index c906738..485abea 100644
--- a/crates/cevio-sys/build.rs
+++ b/crates/cevio-sys/build.rs
@@ -11,6 +11,8 @@ fn main() {
"CeVIO.Talk.RemoteService2",
"--config",
"implement",
+ "--config",
+ "vtbl",
])
.unwrap();
}
diff --git a/crates/cevio-sys/src/bindings.rs b/crates/cevio-sys/src/bindings.rs
deleted file mode 100644
index 3fd491b..0000000
--- a/crates/cevio-sys/src/bindings.rs
+++ /dev/null
@@ -1,2780 +0,0 @@
-// Bindings generated by `windows-bindgen` 0.57.0
-
-#![allow(
- non_snake_case,
- non_upper_case_globals,
- non_camel_case_types,
- dead_code,
- clippy::all
-)]
-pub mod Talk {
- pub mod RemoteService2 {
- windows_core::imp::define_interface!(
- IPhonemeData2,
- IPhonemeData2_Vtbl,
- 0xa409140f_b7a5_48ef_893e_8b971420e05a
- );
- impl core::ops::Deref for IPhonemeData2 {
- type Target = windows::Win32::System::Com::IDispatch;
- fn deref(&self) -> &Self::Target {
- unsafe { core::mem::transmute(self) }
- }
- }
- windows_core::imp::interface_hierarchy!(
- IPhonemeData2,
- windows_core::IUnknown,
- windows::Win32::System::Com::IDispatch
- );
- impl IPhonemeData2 {
- pub unsafe fn Phoneme(&self) -> windows_core::Result {
- let mut result__ = core::mem::zeroed();
- (windows_core::Interface::vtable(self).Phoneme)(
- windows_core::Interface::as_raw(self),
- &mut result__,
- )
- .and_then(|| windows_core::Type::from_abi(result__))
- }
- pub unsafe fn StartTime(&self) -> windows_core::Result {
- let mut result__ = core::mem::zeroed();
- (windows_core::Interface::vtable(self).StartTime)(
- windows_core::Interface::as_raw(self),
- &mut result__,
- )
- .map(|| result__)
- }
- pub unsafe fn EndTime(&self) -> windows_core::Result {
- let mut result__ = core::mem::zeroed();
- (windows_core::Interface::vtable(self).EndTime)(
- windows_core::Interface::as_raw(self),
- &mut result__,
- )
- .map(|| result__)
- }
- }
- #[repr(C)]
- pub struct IPhonemeData2_Vtbl {
- pub base__: windows::Win32::System::Com::IDispatch_Vtbl,
- pub Phoneme: unsafe extern "system" fn(
- *mut core::ffi::c_void,
- *mut core::mem::MaybeUninit,
- ) -> windows_core::HRESULT,
- pub StartTime: unsafe extern "system" fn(
- *mut core::ffi::c_void,
- *mut f64,
- ) -> windows_core::HRESULT,
- pub EndTime: unsafe extern "system" fn(
- *mut core::ffi::c_void,
- *mut f64,
- ) -> windows_core::HRESULT,
- }
- windows_core::imp::define_interface!(
- IPhonemeDataArray2,
- IPhonemeDataArray2_Vtbl,
- 0x96c207d5_b547_485f_8538_96a5be0c73b6
- );
- impl core::ops::Deref for IPhonemeDataArray2 {
- type Target = windows::Win32::System::Com::IDispatch;
- fn deref(&self) -> &Self::Target {
- unsafe { core::mem::transmute(self) }
- }
- }
- windows_core::imp::interface_hierarchy!(
- IPhonemeDataArray2,
- windows_core::IUnknown,
- windows::Win32::System::Com::IDispatch
- );
- impl IPhonemeDataArray2 {
- pub unsafe fn Length(&self) -> windows_core::Result {
- let mut result__ = core::mem::zeroed();
- (windows_core::Interface::vtable(self).Length)(
- windows_core::Interface::as_raw(self),
- &mut result__,
- )
- .map(|| result__)
- }
- pub unsafe fn At(&self, index: i32) -> windows_core::Result {
- let mut result__ = core::mem::zeroed();
- (windows_core::Interface::vtable(self).At)(
- windows_core::Interface::as_raw(self),
- index,
- &mut result__,
- )
- .and_then(|| windows_core::Type::from_abi(result__))
- }
- pub unsafe fn Duplicate(&self) -> windows_core::Result {
- let mut result__ = core::mem::zeroed();
- (windows_core::Interface::vtable(self).Duplicate)(
- windows_core::Interface::as_raw(self),
- &mut result__,
- )
- .and_then(|| windows_core::Type::from_abi(result__))
- }
- }
- #[repr(C)]
- pub struct IPhonemeDataArray2_Vtbl {
- pub base__: windows::Win32::System::Com::IDispatch_Vtbl,
- pub Length: unsafe extern "system" fn(
- *mut core::ffi::c_void,
- *mut i32,
- ) -> windows_core::HRESULT,
- pub At: unsafe extern "system" fn(
- *mut core::ffi::c_void,
- i32,
- *mut *mut core::ffi::c_void,
- ) -> windows_core::HRESULT,
- pub Duplicate: unsafe extern "system" fn(
- *mut core::ffi::c_void,
- *mut *mut core::ffi::c_void,
- ) -> windows_core::HRESULT,
- }
- windows_core::imp::define_interface!(
- IServiceControl2,
- IServiceControl2_Vtbl,
- 0xf726d3e2_5a0f_4ca7_9029_d3549d594350
- );
- impl core::ops::Deref for IServiceControl2 {
- type Target = windows::Win32::System::Com::IDispatch;
- fn deref(&self) -> &Self::Target {
- unsafe { core::mem::transmute(self) }
- }
- }
- windows_core::imp::interface_hierarchy!(
- IServiceControl2,
- windows_core::IUnknown,
- windows::Win32::System::Com::IDispatch
- );
- impl IServiceControl2 {
- pub unsafe fn IsHostStarted(
- &self,
- ) -> windows_core::Result {
- let mut result__ = core::mem::zeroed();
- (windows_core::Interface::vtable(self).IsHostStarted)(
- windows_core::Interface::as_raw(self),
- &mut result__,
- )
- .map(|| result__)
- }
- pub unsafe fn StartHost(&self, nowait: P0) -> windows_core::Result
- where
- P0: windows_core::Param,
- {
- let mut result__ = core::mem::zeroed();
- (windows_core::Interface::vtable(self).StartHost)(
- windows_core::Interface::as_raw(self),
- nowait.param().abi(),
- &mut result__,
- )
- .map(|| result__)
- }
- pub unsafe fn CloseHost(&self, mode: i32) -> windows_core::Result<()> {
- (windows_core::Interface::vtable(self).CloseHost)(
- windows_core::Interface::as_raw(self),
- mode,
- )
- .ok()
- }
- }
- #[repr(C)]
- pub struct IServiceControl2_Vtbl {
- pub base__: windows::Win32::System::Com::IDispatch_Vtbl,
- pub IsHostStarted: unsafe extern "system" fn(
- *mut core::ffi::c_void,
- *mut windows::Win32::Foundation::VARIANT_BOOL,
- ) -> windows_core::HRESULT,
- pub StartHost: unsafe extern "system" fn(
- *mut core::ffi::c_void,
- windows::Win32::Foundation::VARIANT_BOOL,
- *mut i32,
- ) -> windows_core::HRESULT,
- pub CloseHost:
- unsafe extern "system" fn(*mut core::ffi::c_void, i32) -> windows_core::HRESULT,
- }
- windows_core::imp::define_interface!(
- IServiceControl2V40,
- IServiceControl2V40_Vtbl,
- 0x5318f2d5_9973_4a11_a2d7_80fb823b7f9f
- );
- impl core::ops::Deref for IServiceControl2V40 {
- type Target = windows::Win32::System::Com::IDispatch;
- fn deref(&self) -> &Self::Target {
- unsafe { core::mem::transmute(self) }
- }
- }
- windows_core::imp::interface_hierarchy!(
- IServiceControl2V40,
- windows_core::IUnknown,
- windows::Win32::System::Com::IDispatch
- );
- impl IServiceControl2V40 {
- pub unsafe fn HostVersion(&self) -> windows_core::Result {
- let mut result__ = core::mem::zeroed();
- (windows_core::Interface::vtable(self).HostVersion)(
- windows_core::Interface::as_raw(self),
- &mut result__,
- )
- .and_then(|| windows_core::Type::from_abi(result__))
- }
- pub unsafe fn InterfaceVersion(&self) -> windows_core::Result {
- let mut result__ = core::mem::zeroed();
- (windows_core::Interface::vtable(self).InterfaceVersion)(
- windows_core::Interface::as_raw(self),
- &mut result__,
- )
- .and_then(|| windows_core::Type::from_abi(result__))
- }
- pub unsafe fn IsHostStarted(
- &self,
- ) -> windows_core::Result {
- let mut result__ = core::mem::zeroed();
- (windows_core::Interface::vtable(self).IsHostStarted)(
- windows_core::Interface::as_raw(self),
- &mut result__,
- )
- .map(|| result__)
- }
- pub unsafe fn StartHost(&self, nowait: P0) -> windows_core::Result
- where
- P0: windows_core::Param,
- {
- let mut result__ = core::mem::zeroed();
- (windows_core::Interface::vtable(self).StartHost)(
- windows_core::Interface::as_raw(self),
- nowait.param().abi(),
- &mut result__,
- )
- .map(|| result__)
- }
- pub unsafe fn CloseHost(&self, mode: i32) -> windows_core::Result<()> {
- (windows_core::Interface::vtable(self).CloseHost)(
- windows_core::Interface::as_raw(self),
- mode,
- )
- .ok()
- }
- }
- #[repr(C)]
- pub struct IServiceControl2V40_Vtbl {
- pub base__: windows::Win32::System::Com::IDispatch_Vtbl,
- pub HostVersion: unsafe extern "system" fn(
- *mut core::ffi::c_void,
- *mut core::mem::MaybeUninit,
- ) -> windows_core::HRESULT,
- pub InterfaceVersion: unsafe extern "system" fn(
- *mut core::ffi::c_void,
- *mut core::mem::MaybeUninit,
- ) -> windows_core::HRESULT,
- pub IsHostStarted: unsafe extern "system" fn(
- *mut core::ffi::c_void,
- *mut windows::Win32::Foundation::VARIANT_BOOL,
- ) -> windows_core::HRESULT,
- pub StartHost: unsafe extern "system" fn(
- *mut core::ffi::c_void,
- windows::Win32::Foundation::VARIANT_BOOL,
- *mut i32,
- ) -> windows_core::HRESULT,
- pub CloseHost:
- unsafe extern "system" fn(*mut core::ffi::c_void, i32) -> windows_core::HRESULT,
- }
- windows_core::imp::define_interface!(
- IServiceControl2V40Part,
- IServiceControl2V40Part_Vtbl,
- 0x0d1ef04d_07ee_4caf_a424_e7819be41516
- );
- impl core::ops::Deref for IServiceControl2V40Part {
- type Target = windows::Win32::System::Com::IDispatch;
- fn deref(&self) -> &Self::Target {
- unsafe { core::mem::transmute(self) }
- }
- }
- windows_core::imp::interface_hierarchy!(
- IServiceControl2V40Part,
- windows_core::IUnknown,
- windows::Win32::System::Com::IDispatch
- );
- impl IServiceControl2V40Part {
- pub unsafe fn HostVersion(&self) -> windows_core::Result {
- let mut result__ = core::mem::zeroed();
- (windows_core::Interface::vtable(self).HostVersion)(
- windows_core::Interface::as_raw(self),
- &mut result__,
- )
- .and_then(|| windows_core::Type::from_abi(result__))
- }
- pub unsafe fn InterfaceVersion(&self) -> windows_core::Result {
- let mut result__ = core::mem::zeroed();
- (windows_core::Interface::vtable(self).InterfaceVersion)(
- windows_core::Interface::as_raw(self),
- &mut result__,
- )
- .and_then(|| windows_core::Type::from_abi(result__))
- }
- }
- #[repr(C)]
- pub struct IServiceControl2V40Part_Vtbl {
- pub base__: windows::Win32::System::Com::IDispatch_Vtbl,
- pub HostVersion: unsafe extern "system" fn(
- *mut core::ffi::c_void,
- *mut core::mem::MaybeUninit,
- ) -> windows_core::HRESULT,
- pub InterfaceVersion: unsafe extern "system" fn(
- *mut core::ffi::c_void,
- *mut core::mem::MaybeUninit,
- ) -> windows_core::HRESULT,
- }
- windows_core::imp::define_interface!(
- ISpeakingState2,
- ISpeakingState2_Vtbl,
- 0xee2e846d_0120_4a31_a95b_14004d7cf730
- );
- impl core::ops::Deref for ISpeakingState2 {
- type Target = windows::Win32::System::Com::IDispatch;
- fn deref(&self) -> &Self::Target {
- unsafe { core::mem::transmute(self) }
- }
- }
- windows_core::imp::interface_hierarchy!(
- ISpeakingState2,
- windows_core::IUnknown,
- windows::Win32::System::Com::IDispatch
- );
- impl ISpeakingState2 {
- pub unsafe fn IsSucceeded(
- &self,
- ) -> windows_core::Result {
- let mut result__ = core::mem::zeroed();
- (windows_core::Interface::vtable(self).IsSucceeded)(
- windows_core::Interface::as_raw(self),
- &mut result__,
- )
- .map(|| result__)
- }
- pub unsafe fn IsCompleted(
- &self,
- ) -> windows_core::Result {
- let mut result__ = core::mem::zeroed();
- (windows_core::Interface::vtable(self).IsCompleted)(
- windows_core::Interface::as_raw(self),
- &mut result__,
- )
- .map(|| result__)
- }
- pub unsafe fn Wait(&self) -> windows_core::Result<()> {
- (windows_core::Interface::vtable(self).Wait)(windows_core::Interface::as_raw(self))
- .ok()
- }
- pub unsafe fn Wait_2(&self, timeoutseconds: f64) -> windows_core::Result<()> {
- (windows_core::Interface::vtable(self).Wait_2)(
- windows_core::Interface::as_raw(self),
- timeoutseconds,
- )
- .ok()
- }
- }
- #[repr(C)]
- pub struct ISpeakingState2_Vtbl {
- pub base__: windows::Win32::System::Com::IDispatch_Vtbl,
- pub IsSucceeded: unsafe extern "system" fn(
- *mut core::ffi::c_void,
- *mut windows::Win32::Foundation::VARIANT_BOOL,
- ) -> windows_core::HRESULT,
- pub IsCompleted: unsafe extern "system" fn(
- *mut core::ffi::c_void,
- *mut windows::Win32::Foundation::VARIANT_BOOL,
- ) -> windows_core::HRESULT,
- pub Wait: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
- pub Wait_2:
- unsafe extern "system" fn(*mut core::ffi::c_void, f64) -> windows_core::HRESULT,
- }
- windows_core::imp::define_interface!(
- IStringArray2,
- IStringArray2_Vtbl,
- 0x37f03f6e_9c51_4e32_bf31_761c6bc87aac
- );
- impl core::ops::Deref for IStringArray2 {
- type Target = windows::Win32::System::Com::IDispatch;
- fn deref(&self) -> &Self::Target {
- unsafe { core::mem::transmute(self) }
- }
- }
- windows_core::imp::interface_hierarchy!(
- IStringArray2,
- windows_core::IUnknown,
- windows::Win32::System::Com::IDispatch
- );
- impl IStringArray2 {
- pub unsafe fn Length(&self) -> windows_core::Result {
- let mut result__ = core::mem::zeroed();
- (windows_core::Interface::vtable(self).Length)(
- windows_core::Interface::as_raw(self),
- &mut result__,
- )
- .map(|| result__)
- }
- pub unsafe fn At(&self, index: i32) -> windows_core::Result {
- let mut result__ = core::mem::zeroed();
- (windows_core::Interface::vtable(self).At)(
- windows_core::Interface::as_raw(self),
- index,
- &mut result__,
- )
- .and_then(|| windows_core::Type::from_abi(result__))
- }
- pub unsafe fn Duplicate(&self) -> windows_core::Result {
- let mut result__ = core::mem::zeroed();
- (windows_core::Interface::vtable(self).Duplicate)(
- windows_core::Interface::as_raw(self),
- &mut result__,
- )
- .and_then(|| windows_core::Type::from_abi(result__))
- }
- }
- #[repr(C)]
- pub struct IStringArray2_Vtbl {
- pub base__: windows::Win32::System::Com::IDispatch_Vtbl,
- pub Length: unsafe extern "system" fn(
- *mut core::ffi::c_void,
- *mut i32,
- ) -> windows_core::HRESULT,
- pub At: unsafe extern "system" fn(
- *mut core::ffi::c_void,
- i32,
- *mut core::mem::MaybeUninit,
- ) -> windows_core::HRESULT,
- pub Duplicate: unsafe extern "system" fn(
- *mut core::ffi::c_void,
- *mut *mut core::ffi::c_void,
- ) -> windows_core::HRESULT,
- }
- windows_core::imp::define_interface!(
- ITalker2,
- ITalker2_Vtbl,
- 0xf5eed82f_a947_4b66_9411_4074ea111879
- );
- impl core::ops::Deref for ITalker2 {
- type Target = windows::Win32::System::Com::IDispatch;
- fn deref(&self) -> &Self::Target {
- unsafe { core::mem::transmute(self) }
- }
- }
- windows_core::imp::interface_hierarchy!(
- ITalker2,
- windows_core::IUnknown,
- windows::Win32::System::Com::IDispatch
- );
- impl ITalker2 {
- pub unsafe fn Volume(&self) -> windows_core::Result {
- let mut result__ = core::mem::zeroed();
- (windows_core::Interface::vtable(self).Volume)(
- windows_core::Interface::as_raw(self),
- &mut result__,
- )
- .map(|| result__)
- }
- pub unsafe fn SetVolume(&self, pretval: u32) -> windows_core::Result<()> {
- (windows_core::Interface::vtable(self).SetVolume)(
- windows_core::Interface::as_raw(self),
- pretval,
- )
- .ok()
- }
- pub unsafe fn Speed(&self) -> windows_core::Result {
- let mut result__ = core::mem::zeroed();
- (windows_core::Interface::vtable(self).Speed)(
- windows_core::Interface::as_raw(self),
- &mut result__,
- )
- .map(|| result__)
- }
- pub unsafe fn SetSpeed(&self, pretval: u32) -> windows_core::Result<()> {
- (windows_core::Interface::vtable(self).SetSpeed)(
- windows_core::Interface::as_raw(self),
- pretval,
- )
- .ok()
- }
- pub unsafe fn Tone(&self) -> windows_core::Result {
- let mut result__ = core::mem::zeroed();
- (windows_core::Interface::vtable(self).Tone)(
- windows_core::Interface::as_raw(self),
- &mut result__,
- )
- .map(|| result__)
- }
- pub unsafe fn SetTone(&self, pretval: u32) -> windows_core::Result<()> {
- (windows_core::Interface::vtable(self).SetTone)(
- windows_core::Interface::as_raw(self),
- pretval,
- )
- .ok()
- }
- pub unsafe fn Alpha(&self) -> windows_core::Result {
- let mut result__ = core::mem::zeroed();
- (windows_core::Interface::vtable(self).Alpha)(
- windows_core::Interface::as_raw(self),
- &mut result__,
- )
- .map(|| result__)
- }
- pub unsafe fn SetAlpha(&self, pretval: u32) -> windows_core::Result<()> {
- (windows_core::Interface::vtable(self).SetAlpha)(
- windows_core::Interface::as_raw(self),
- pretval,
- )
- .ok()
- }
- pub unsafe fn Components(&self) -> windows_core::Result {
- let mut result__ = core::mem::zeroed();
- (windows_core::Interface::vtable(self).Components)(
- windows_core::Interface::as_raw(self),
- &mut result__,
- )
- .and_then(|| windows_core::Type::from_abi(result__))
- }
- pub unsafe fn Cast(&self) -> windows_core::Result {
- let mut result__ = core::mem::zeroed();
- (windows_core::Interface::vtable(self).Cast)(
- windows_core::Interface::as_raw(self),
- &mut result__,
- )
- .and_then(|| windows_core::Type::from_abi(result__))
- }
- pub unsafe fn SetCast(&self, pretval: P0) -> windows_core::Result<()>
- where
- P0: windows_core::Param,
- {
- (windows_core::Interface::vtable(self).SetCast)(
- windows_core::Interface::as_raw(self),
- pretval.param().abi(),
- )
- .ok()
- }
- pub unsafe fn AvailableCasts(&self) -> windows_core::Result {
- let mut result__ = core::mem::zeroed();
- (windows_core::Interface::vtable(self).AvailableCasts)(
- windows_core::Interface::as_raw(self),
- &mut result__,
- )
- .and_then(|| windows_core::Type::from_abi(result__))
- }
- pub unsafe fn Speak(&self, text: P0) -> windows_core::Result
- where
- P0: windows_core::Param,
- {
- let mut result__ = core::mem::zeroed();
- (windows_core::Interface::vtable(self).Speak)(
- windows_core::Interface::as_raw(self),
- text.param().abi(),
- &mut result__,
- )
- .and_then(|| windows_core::Type::from_abi(result__))
- }
- pub unsafe fn Stop(
- &self,
- ) -> windows_core::Result {
- let mut result__ = core::mem::zeroed();
- (windows_core::Interface::vtable(self).Stop)(
- windows_core::Interface::as_raw(self),
- &mut result__,
- )
- .map(|| result__)
- }
- pub unsafe fn GetTextDuration(&self, text: P0) -> windows_core::Result
- where
- P0: windows_core::Param,
- {
- let mut result__ = core::mem::zeroed();
- (windows_core::Interface::vtable(self).GetTextDuration)(
- windows_core::Interface::as_raw(self),
- text.param().abi(),
- &mut result__,
- )
- .map(|| result__)
- }
- pub unsafe fn GetPhonemes(
- &self,
- text: P0,
- ) -> windows_core::Result
- where
- P0: windows_core::Param,
- {
- let mut result__ = core::mem::zeroed();
- (windows_core::Interface::vtable(self).GetPhonemes)(
- windows_core::Interface::as_raw(self),
- text.param().abi(),
- &mut result__,
- )
- .and_then(|| windows_core::Type::from_abi(result__))
- }
- pub unsafe fn OutputWaveToFile(
- &self,
- text: P0,
- path: P1,
- ) -> windows_core::Result
- where
- P0: windows_core::Param,
- P1: windows_core::Param,
- {
- let mut result__ = core::mem::zeroed();
- (windows_core::Interface::vtable(self).OutputWaveToFile)(
- windows_core::Interface::as_raw(self),
- text.param().abi(),
- path.param().abi(),
- &mut result__,
- )
- .map(|| result__)
- }
- }
- #[repr(C)]
- pub struct ITalker2_Vtbl {
- pub base__: windows::Win32::System::Com::IDispatch_Vtbl,
- pub Volume: unsafe extern "system" fn(
- *mut core::ffi::c_void,
- *mut u32,
- ) -> windows_core::HRESULT,
- pub SetVolume:
- unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
- pub Speed: unsafe extern "system" fn(
- *mut core::ffi::c_void,
- *mut u32,
- ) -> windows_core::HRESULT,
- pub SetSpeed:
- unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
- pub Tone: unsafe extern "system" fn(
- *mut core::ffi::c_void,
- *mut u32,
- ) -> windows_core::HRESULT,
- pub SetTone:
- unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
- pub Alpha: unsafe extern "system" fn(
- *mut core::ffi::c_void,
- *mut u32,
- ) -> windows_core::HRESULT,
- pub SetAlpha:
- unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
- pub Components: unsafe extern "system" fn(
- *mut core::ffi::c_void,
- *mut *mut core::ffi::c_void,
- ) -> windows_core::HRESULT,
- pub Cast: unsafe extern "system" fn(
- *mut core::ffi::c_void,
- *mut core::mem::MaybeUninit,
- ) -> windows_core::HRESULT,
- pub SetCast: unsafe extern "system" fn(
- *mut core::ffi::c_void,
- core::mem::MaybeUninit,
- ) -> windows_core::HRESULT,
- pub AvailableCasts: unsafe extern "system" fn(
- *mut core::ffi::c_void,
- *mut *mut core::ffi::c_void,
- ) -> windows_core::HRESULT,
- pub Speak: unsafe extern "system" fn(
- *mut core::ffi::c_void,
- core::mem::MaybeUninit,
- *mut *mut core::ffi::c_void,
- ) -> windows_core::HRESULT,
- pub Stop: unsafe extern "system" fn(
- *mut core::ffi::c_void,
- *mut windows::Win32::Foundation::VARIANT_BOOL,
- ) -> windows_core::HRESULT,
- pub GetTextDuration: unsafe extern "system" fn(
- *mut core::ffi::c_void,
- core::mem::MaybeUninit,
- *mut f64,
- ) -> windows_core::HRESULT,
- pub GetPhonemes: unsafe extern "system" fn(
- *mut core::ffi::c_void,
- core::mem::MaybeUninit,
- *mut *mut core::ffi::c_void,
- ) -> windows_core::HRESULT,
- pub OutputWaveToFile: unsafe extern "system" fn(
- *mut core::ffi::c_void,
- core::mem::MaybeUninit,
- core::mem::MaybeUninit,
- *mut windows::Win32::Foundation::VARIANT_BOOL,
- ) -> windows_core::HRESULT,
- }
- windows_core::imp::define_interface!(
- ITalker2V40,
- ITalker2V40_Vtbl,
- 0x38c647a8_39ec_433e_94c2_83e532f10ca1
- );
- impl core::ops::Deref for ITalker2V40 {
- type Target = windows::Win32::System::Com::IDispatch;
- fn deref(&self) -> &Self::Target {
- unsafe { core::mem::transmute(self) }
- }
- }
- windows_core::imp::interface_hierarchy!(
- ITalker2V40,
- windows_core::IUnknown,
- windows::Win32::System::Com::IDispatch
- );
- impl ITalker2V40 {
- pub unsafe fn Volume(&self) -> windows_core::Result {
- let mut result__ = core::mem::zeroed();
- (windows_core::Interface::vtable(self).Volume)(
- windows_core::Interface::as_raw(self),
- &mut result__,
- )
- .map(|| result__)
- }
- pub unsafe fn SetVolume(&self, pretval: u32) -> windows_core::Result<()> {
- (windows_core::Interface::vtable(self).SetVolume)(
- windows_core::Interface::as_raw(self),
- pretval,
- )
- .ok()
- }
- pub unsafe fn Speed(&self) -> windows_core::Result {
- let mut result__ = core::mem::zeroed();
- (windows_core::Interface::vtable(self).Speed)(
- windows_core::Interface::as_raw(self),
- &mut result__,
- )
- .map(|| result__)
- }
- pub unsafe fn SetSpeed(&self, pretval: u32) -> windows_core::Result<()> {
- (windows_core::Interface::vtable(self).SetSpeed)(
- windows_core::Interface::as_raw(self),
- pretval,
- )
- .ok()
- }
- pub unsafe fn Tone(&self) -> windows_core::Result {
- let mut result__ = core::mem::zeroed();
- (windows_core::Interface::vtable(self).Tone)(
- windows_core::Interface::as_raw(self),
- &mut result__,
- )
- .map(|| result__)
- }
- pub unsafe fn SetTone(&self, pretval: u32) -> windows_core::Result<()> {
- (windows_core::Interface::vtable(self).SetTone)(
- windows_core::Interface::as_raw(self),
- pretval,
- )
- .ok()
- }
- pub unsafe fn Alpha(&self) -> windows_core::Result {
- let mut result__ = core::mem::zeroed();
- (windows_core::Interface::vtable(self).Alpha)(
- windows_core::Interface::as_raw(self),
- &mut result__,
- )
- .map(|| result__)
- }
- pub unsafe fn SetAlpha(&self, pretval: u32) -> windows_core::Result<()> {
- (windows_core::Interface::vtable(self).SetAlpha)(
- windows_core::Interface::as_raw(self),
- pretval,
- )
- .ok()
- }
- pub unsafe fn ToneScale(&self) -> windows_core::Result {
- let mut result__ = core::mem::zeroed();
- (windows_core::Interface::vtable(self).ToneScale)(
- windows_core::Interface::as_raw(self),
- &mut result__,
- )
- .map(|| result__)
- }
- pub unsafe fn SetToneScale(&self, pretval: u32) -> windows_core::Result<()> {
- (windows_core::Interface::vtable(self).SetToneScale)(
- windows_core::Interface::as_raw(self),
- pretval,
- )
- .ok()
- }
- pub unsafe fn Components(&self) -> windows_core::Result {
- let mut result__ = core::mem::zeroed();
- (windows_core::Interface::vtable(self).Components)(
- windows_core::Interface::as_raw(self),
- &mut result__,
- )
- .and_then(|| windows_core::Type::from_abi(result__))
- }
- pub unsafe fn Cast(&self) -> windows_core::Result {
- let mut result__ = core::mem::zeroed();
- (windows_core::Interface::vtable(self).Cast)(
- windows_core::Interface::as_raw(self),
- &mut result__,
- )
- .and_then(|| windows_core::Type::from_abi(result__))
- }
- pub unsafe fn SetCast(&self, pretval: P0) -> windows_core::Result<()>
- where
- P0: windows_core::Param,
- {
- (windows_core::Interface::vtable(self).SetCast)(
- windows_core::Interface::as_raw(self),
- pretval.param().abi(),
- )
- .ok()
- }
- pub unsafe fn AvailableCasts(&self) -> windows_core::Result {
- let mut result__ = core::mem::zeroed();
- (windows_core::Interface::vtable(self).AvailableCasts)(
- windows_core::Interface::as_raw(self),
- &mut result__,
- )
- .and_then(|| windows_core::Type::from_abi(result__))
- }
- pub unsafe fn Speak(&self, text: P0) -> windows_core::Result
- where
- P0: windows_core::Param,
- {
- let mut result__ = core::mem::zeroed();
- (windows_core::Interface::vtable(self).Speak)(
- windows_core::Interface::as_raw(self),
- text.param().abi(),
- &mut result__,
- )
- .and_then(|| windows_core::Type::from_abi(result__))
- }
- pub unsafe fn Stop(
- &self,
- ) -> windows_core::Result {
- let mut result__ = core::mem::zeroed();
- (windows_core::Interface::vtable(self).Stop)(
- windows_core::Interface::as_raw(self),
- &mut result__,
- )
- .map(|| result__)
- }
- pub unsafe fn GetTextDuration(&self, text: P0) -> windows_core::Result
- where
- P0: windows_core::Param,
- {
- let mut result__ = core::mem::zeroed();
- (windows_core::Interface::vtable(self).GetTextDuration)(
- windows_core::Interface::as_raw(self),
- text.param().abi(),
- &mut result__,
- )
- .map(|| result__)
- }
- pub unsafe fn GetPhonemes(
- &self,
- text: P0,
- ) -> windows_core::Result
- where
- P0: windows_core::Param,
- {
- let mut result__ = core::mem::zeroed();
- (windows_core::Interface::vtable(self).GetPhonemes)(
- windows_core::Interface::as_raw(self),
- text.param().abi(),
- &mut result__,
- )
- .and_then(|| windows_core::Type::from_abi(result__))
- }
- pub unsafe fn OutputWaveToFile(
- &self,
- text: P0,
- path: P1,
- ) -> windows_core::Result
- where
- P0: windows_core::Param,
- P1: windows_core::Param,
- {
- let mut result__ = core::mem::zeroed();
- (windows_core::Interface::vtable(self).OutputWaveToFile)(
- windows_core::Interface::as_raw(self),
- text.param().abi(),
- path.param().abi(),
- &mut result__,
- )
- .map(|| result__)
- }
- }
- #[repr(C)]
- pub struct ITalker2V40_Vtbl {
- pub base__: windows::Win32::System::Com::IDispatch_Vtbl,
- pub Volume: unsafe extern "system" fn(
- *mut core::ffi::c_void,
- *mut u32,
- ) -> windows_core::HRESULT,
- pub SetVolume:
- unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
- pub Speed: unsafe extern "system" fn(
- *mut core::ffi::c_void,
- *mut u32,
- ) -> windows_core::HRESULT,
- pub SetSpeed:
- unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
- pub Tone: unsafe extern "system" fn(
- *mut core::ffi::c_void,
- *mut u32,
- ) -> windows_core::HRESULT,
- pub SetTone:
- unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
- pub Alpha: unsafe extern "system" fn(
- *mut core::ffi::c_void,
- *mut u32,
- ) -> windows_core::HRESULT,
- pub SetAlpha:
- unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
- pub ToneScale: unsafe extern "system" fn(
- *mut core::ffi::c_void,
- *mut u32,
- ) -> windows_core::HRESULT,
- pub SetToneScale:
- unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
- pub Components: unsafe extern "system" fn(
- *mut core::ffi::c_void,
- *mut *mut core::ffi::c_void,
- ) -> windows_core::HRESULT,
- pub Cast: unsafe extern "system" fn(
- *mut core::ffi::c_void,
- *mut core::mem::MaybeUninit,
- ) -> windows_core::HRESULT,
- pub SetCast: unsafe extern "system" fn(
- *mut core::ffi::c_void,
- core::mem::MaybeUninit,
- ) -> windows_core::HRESULT,
- pub AvailableCasts: unsafe extern "system" fn(
- *mut core::ffi::c_void,
- *mut *mut core::ffi::c_void,
- ) -> windows_core::HRESULT,
- pub Speak: unsafe extern "system" fn(
- *mut core::ffi::c_void,
- core::mem::MaybeUninit,
- *mut *mut core::ffi::c_void,
- ) -> windows_core::HRESULT,
- pub Stop: unsafe extern "system" fn(
- *mut core::ffi::c_void,
- *mut windows::Win32::Foundation::VARIANT_BOOL,
- ) -> windows_core::HRESULT,
- pub GetTextDuration: unsafe extern "system" fn(
- *mut core::ffi::c_void,
- core::mem::MaybeUninit,
- *mut f64,
- ) -> windows_core::HRESULT,
- pub GetPhonemes: unsafe extern "system" fn(
- *mut core::ffi::c_void,
- core::mem::MaybeUninit,
- *mut *mut core::ffi::c_void,
- ) -> windows_core::HRESULT,
- pub OutputWaveToFile: unsafe extern "system" fn(
- *mut core::ffi::c_void,
- core::mem::MaybeUninit,
- core::mem::MaybeUninit,
- *mut windows::Win32::Foundation::VARIANT_BOOL,
- ) -> windows_core::HRESULT,
- }
- windows_core::imp::define_interface!(
- ITalker2V40Part,
- ITalker2V40Part_Vtbl,
- 0x247e9bbe_530b_4e02_94f9_22aec45b7ad5
- );
- impl core::ops::Deref for ITalker2V40Part {
- type Target = windows::Win32::System::Com::IDispatch;
- fn deref(&self) -> &Self::Target {
- unsafe { core::mem::transmute(self) }
- }
- }
- windows_core::imp::interface_hierarchy!(
- ITalker2V40Part,
- windows_core::IUnknown,
- windows::Win32::System::Com::IDispatch
- );
- impl ITalker2V40Part {
- pub unsafe fn ToneScale(&self) -> windows_core::Result {
- let mut result__ = core::mem::zeroed();
- (windows_core::Interface::vtable(self).ToneScale)(
- windows_core::Interface::as_raw(self),
- &mut result__,
- )
- .map(|| result__)
- }
- pub unsafe fn SetToneScale(&self, pretval: u32) -> windows_core::Result<()> {
- (windows_core::Interface::vtable(self).SetToneScale)(
- windows_core::Interface::as_raw(self),
- pretval,
- )
- .ok()
- }
- }
- #[repr(C)]
- pub struct ITalker2V40Part_Vtbl {
- pub base__: windows::Win32::System::Com::IDispatch_Vtbl,
- pub ToneScale: unsafe extern "system" fn(
- *mut core::ffi::c_void,
- *mut u32,
- ) -> windows_core::HRESULT,
- pub SetToneScale:
- unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
- }
- windows_core::imp::define_interface!(
- ITalkerComponent2,
- ITalkerComponent2_Vtbl,
- 0x0fb8c1a2_4895_4ef1_9ac5_71cc45ec61b9
- );
- impl core::ops::Deref for ITalkerComponent2 {
- type Target = windows::Win32::System::Com::IDispatch;
- fn deref(&self) -> &Self::Target {
- unsafe { core::mem::transmute(self) }
- }
- }
- windows_core::imp::interface_hierarchy!(
- ITalkerComponent2,
- windows_core::IUnknown,
- windows::Win32::System::Com::IDispatch
- );
- impl ITalkerComponent2 {
- pub unsafe fn Id(&self) -> windows_core::Result {
- let mut result__ = core::mem::zeroed();
- (windows_core::Interface::vtable(self).Id)(
- windows_core::Interface::as_raw(self),
- &mut result__,
- )
- .and_then(|| windows_core::Type::from_abi(result__))
- }
- pub unsafe fn Name(&self) -> windows_core::Result {
- let mut result__ = core::mem::zeroed();
- (windows_core::Interface::vtable(self).Name)(
- windows_core::Interface::as_raw(self),
- &mut result__,
- )
- .and_then(|| windows_core::Type::from_abi(result__))
- }
- pub unsafe fn Value(&self) -> windows_core::Result {
- let mut result__ = core::mem::zeroed();
- (windows_core::Interface::vtable(self).Value)(
- windows_core::Interface::as_raw(self),
- &mut result__,
- )
- .map(|| result__)
- }
- pub unsafe fn SetValue(&self, pretval: u32) -> windows_core::Result<()> {
- (windows_core::Interface::vtable(self).SetValue)(
- windows_core::Interface::as_raw(self),
- pretval,
- )
- .ok()
- }
- }
- #[repr(C)]
- pub struct ITalkerComponent2_Vtbl {
- pub base__: windows::Win32::System::Com::IDispatch_Vtbl,
- pub Id: unsafe extern "system" fn(
- *mut core::ffi::c_void,
- *mut core::mem::MaybeUninit,
- ) -> windows_core::HRESULT,
- pub Name: unsafe extern "system" fn(
- *mut core::ffi::c_void,
- *mut core::mem::MaybeUninit,
- ) -> windows_core::HRESULT,
- pub Value: unsafe extern "system" fn(
- *mut core::ffi::c_void,
- *mut u32,
- ) -> windows_core::HRESULT,
- pub SetValue:
- unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
- }
- windows_core::imp::define_interface!(
- ITalkerComponentArray2,
- ITalkerComponentArray2_Vtbl,
- 0x50d7ab4e_0d5e_4fce_b809_e784c58e5355
- );
- impl core::ops::Deref for ITalkerComponentArray2 {
- type Target = windows::Win32::System::Com::IDispatch;
- fn deref(&self) -> &Self::Target {
- unsafe { core::mem::transmute(self) }
- }
- }
- windows_core::imp::interface_hierarchy!(
- ITalkerComponentArray2,
- windows_core::IUnknown,
- windows::Win32::System::Com::IDispatch
- );
- impl ITalkerComponentArray2 {
- pub unsafe fn Length(&self) -> windows_core::Result {
- let mut result__ = core::mem::zeroed();
- (windows_core::Interface::vtable(self).Length)(
- windows_core::Interface::as_raw(self),
- &mut result__,
- )
- .map(|| result__)
- }
- pub unsafe fn At(&self, index: i32) -> windows_core::Result {
- let mut result__ = core::mem::zeroed();
- (windows_core::Interface::vtable(self).At)(
- windows_core::Interface::as_raw(self),
- index,
- &mut result__,
- )
- .and_then(|| windows_core::Type::from_abi(result__))
- }
- pub unsafe fn ByName(&self, name: P0) -> windows_core::Result
- where
- P0: windows_core::Param,
- {
- let mut result__ = core::mem::zeroed();
- (windows_core::Interface::vtable(self).ByName)(
- windows_core::Interface::as_raw(self),
- name.param().abi(),
- &mut result__,
- )
- .and_then(|| windows_core::Type::from_abi(result__))
- }
- pub unsafe fn Duplicate(&self) -> windows_core::Result {
- let mut result__ = core::mem::zeroed();
- (windows_core::Interface::vtable(self).Duplicate)(
- windows_core::Interface::as_raw(self),
- &mut result__,
- )
- .and_then(|| windows_core::Type::from_abi(result__))
- }
- }
- #[repr(C)]
- pub struct ITalkerComponentArray2_Vtbl {
- pub base__: windows::Win32::System::Com::IDispatch_Vtbl,
- pub Length: unsafe extern "system" fn(
- *mut core::ffi::c_void,
- *mut i32,
- ) -> windows_core::HRESULT,
- pub At: unsafe extern "system" fn(
- *mut core::ffi::c_void,
- i32,
- *mut *mut core::ffi::c_void,
- ) -> windows_core::HRESULT,
- pub ByName: unsafe extern "system" fn(
- *mut core::ffi::c_void,
- core::mem::MaybeUninit,
- *mut *mut core::ffi::c_void,
- ) -> windows_core::HRESULT,
- pub Duplicate: unsafe extern "system" fn(
- *mut core::ffi::c_void,
- *mut *mut core::ffi::c_void,
- ) -> windows_core::HRESULT,
- }
- pub trait IPhonemeData2_Impl: Sized + windows::Win32::System::Com::IDispatch_Impl {
- fn Phoneme(&self) -> windows_core::Result;
- fn StartTime(&self) -> windows_core::Result;
- fn EndTime(&self) -> windows_core::Result;
- }
- impl windows_core::RuntimeName for IPhonemeData2 {}
- impl IPhonemeData2_Vtbl {
- pub const fn new<
- Identity: windows_core::IUnknownImpl,
- Impl: IPhonemeData2_Impl,
- const OFFSET: isize,
- >() -> IPhonemeData2_Vtbl {
- unsafe extern "system" fn Phoneme<
- Identity: windows_core::IUnknownImpl,
- Impl: IPhonemeData2_Impl,
- const OFFSET: isize,
- >(
- this: *mut core::ffi::c_void,
- pretval: *mut core::mem::MaybeUninit,
- ) -> windows_core::HRESULT {
- let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
- let this = (*this).get_impl();
- match IPhonemeData2_Impl::Phoneme(this) {
- Ok(ok__) => {
- core::ptr::write(pretval, core::mem::transmute(ok__));
- windows_core::HRESULT(0)
- }
- Err(err) => err.into(),
- }
- }
- unsafe extern "system" fn StartTime<
- Identity: windows_core::IUnknownImpl,
- Impl: IPhonemeData2_Impl,
- const OFFSET: isize,
- >(
- this: *mut core::ffi::c_void,
- pretval: *mut f64,
- ) -> windows_core::HRESULT {
- let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
- let this = (*this).get_impl();
- match IPhonemeData2_Impl::StartTime(this) {
- Ok(ok__) => {
- core::ptr::write(pretval, core::mem::transmute(ok__));
- windows_core::HRESULT(0)
- }
- Err(err) => err.into(),
- }
- }
- unsafe extern "system" fn EndTime<
- Identity: windows_core::IUnknownImpl,
- Impl: IPhonemeData2_Impl,
- const OFFSET: isize,
- >(
- this: *mut core::ffi::c_void,
- pretval: *mut f64,
- ) -> windows_core::HRESULT {
- let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
- let this = (*this).get_impl();
- match IPhonemeData2_Impl::EndTime(this) {
- Ok(ok__) => {
- core::ptr::write(pretval, core::mem::transmute(ok__));
- windows_core::HRESULT(0)
- }
- Err(err) => err.into(),
- }
- }
- Self {
- base__: windows::Win32::System::Com::IDispatch_Vtbl::new::<
- Identity,
- Impl,
- OFFSET,
- >(),
- Phoneme: Phoneme::,
- StartTime: StartTime::,
- EndTime: EndTime::,
- }
- }
- pub fn matches(iid: &windows_core::GUID) -> bool {
- iid == &::IID
- || iid
- == &::IID
- }
- }
- pub trait IPhonemeDataArray2_Impl:
- Sized + windows::Win32::System::Com::IDispatch_Impl
- {
- fn Length(&self) -> windows_core::Result;
- fn At(&self, index: i32) -> windows_core::Result;
- fn Duplicate(&self) -> windows_core::Result;
- }
- impl windows_core::RuntimeName for IPhonemeDataArray2 {}
- impl IPhonemeDataArray2_Vtbl {
- pub const fn new<
- Identity: windows_core::IUnknownImpl,
- Impl: IPhonemeDataArray2_Impl,
- const OFFSET: isize,
- >() -> IPhonemeDataArray2_Vtbl {
- unsafe extern "system" fn Length<
- Identity: windows_core::IUnknownImpl,
- Impl: IPhonemeDataArray2_Impl,
- const OFFSET: isize,
- >(
- this: *mut core::ffi::c_void,
- pretval: *mut i32,
- ) -> windows_core::HRESULT {
- let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
- let this = (*this).get_impl();
- match IPhonemeDataArray2_Impl::Length(this) {
- Ok(ok__) => {
- core::ptr::write(pretval, core::mem::transmute(ok__));
- windows_core::HRESULT(0)
- }
- Err(err) => err.into(),
- }
- }
- unsafe extern "system" fn At<
- Identity: windows_core::IUnknownImpl,
- Impl: IPhonemeDataArray2_Impl,
- const OFFSET: isize,
- >(
- this: *mut core::ffi::c_void,
- index: i32,
- pretval: *mut *mut core::ffi::c_void,
- ) -> windows_core::HRESULT {
- let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
- let this = (*this).get_impl();
- match IPhonemeDataArray2_Impl::At(this, core::mem::transmute_copy(&index)) {
- Ok(ok__) => {
- core::ptr::write(pretval, core::mem::transmute(ok__));
- windows_core::HRESULT(0)
- }
- Err(err) => err.into(),
- }
- }
- unsafe extern "system" fn Duplicate<
- Identity: windows_core::IUnknownImpl,
- Impl: IPhonemeDataArray2_Impl,
- const OFFSET: isize,
- >(
- this: *mut core::ffi::c_void,
- pretval: *mut *mut core::ffi::c_void,
- ) -> windows_core::HRESULT {
- let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
- let this = (*this).get_impl();
- match IPhonemeDataArray2_Impl::Duplicate(this) {
- Ok(ok__) => {
- core::ptr::write(pretval, core::mem::transmute(ok__));
- windows_core::HRESULT(0)
- }
- Err(err) => err.into(),
- }
- }
- Self {
- base__: windows::Win32::System::Com::IDispatch_Vtbl::new::<
- Identity,
- Impl,
- OFFSET,
- >(),
- Length: Length::,
- At: At::,
- Duplicate: Duplicate::,
- }
- }
- pub fn matches(iid: &windows_core::GUID) -> bool {
- iid == &::IID
- || iid
- == &::IID
- }
- }
- pub trait IServiceControl2_Impl:
- Sized + windows::Win32::System::Com::IDispatch_Impl
- {
- fn IsHostStarted(
- &self,
- ) -> windows_core::Result;
- fn StartHost(
- &self,
- nowait: windows::Win32::Foundation::VARIANT_BOOL,
- ) -> windows_core::Result;
- fn CloseHost(&self, mode: i32) -> windows_core::Result<()>;
- }
- impl windows_core::RuntimeName for IServiceControl2 {}
- impl IServiceControl2_Vtbl {
- pub const fn new<
- Identity: windows_core::IUnknownImpl,
- Impl: IServiceControl2_Impl,
- const OFFSET: isize,
- >() -> IServiceControl2_Vtbl {
- unsafe extern "system" fn IsHostStarted<
- Identity: windows_core::IUnknownImpl,
- Impl: IServiceControl2_Impl,
- const OFFSET: isize,
- >(
- this: *mut core::ffi::c_void,
- pretval: *mut windows::Win32::Foundation::VARIANT_BOOL,
- ) -> windows_core::HRESULT {
- let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
- let this = (*this).get_impl();
- match IServiceControl2_Impl::IsHostStarted(this) {
- Ok(ok__) => {
- core::ptr::write(pretval, core::mem::transmute(ok__));
- windows_core::HRESULT(0)
- }
- Err(err) => err.into(),
- }
- }
- unsafe extern "system" fn StartHost<
- Identity: windows_core::IUnknownImpl,
- Impl: IServiceControl2_Impl,
- const OFFSET: isize,
- >(
- this: *mut core::ffi::c_void,
- nowait: windows::Win32::Foundation::VARIANT_BOOL,
- pretval: *mut i32,
- ) -> windows_core::HRESULT {
- let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
- let this = (*this).get_impl();
- match IServiceControl2_Impl::StartHost(this, core::mem::transmute_copy(&nowait))
- {
- Ok(ok__) => {
- core::ptr::write(pretval, core::mem::transmute(ok__));
- windows_core::HRESULT(0)
- }
- Err(err) => err.into(),
- }
- }
- unsafe extern "system" fn CloseHost<
- Identity: windows_core::IUnknownImpl,
- Impl: IServiceControl2_Impl,
- const OFFSET: isize,
- >(
- this: *mut core::ffi::c_void,
- mode: i32,
- ) -> windows_core::HRESULT {
- let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
- let this = (*this).get_impl();
- IServiceControl2_Impl::CloseHost(this, core::mem::transmute_copy(&mode)).into()
- }
- Self {
- base__: windows::Win32::System::Com::IDispatch_Vtbl::new::<
- Identity,
- Impl,
- OFFSET,
- >(),
- IsHostStarted: IsHostStarted::,
- StartHost: StartHost::,
- CloseHost: CloseHost::,
- }
- }
- pub fn matches(iid: &windows_core::GUID) -> bool {
- iid == &::IID
- || iid
- == &::IID
- }
- }
- pub trait IServiceControl2V40_Impl:
- Sized + windows::Win32::System::Com::IDispatch_Impl
- {
- fn HostVersion(&self) -> windows_core::Result;
- fn InterfaceVersion(&self) -> windows_core::Result;
- fn IsHostStarted(
- &self,
- ) -> windows_core::Result;
- fn StartHost(
- &self,
- nowait: windows::Win32::Foundation::VARIANT_BOOL,
- ) -> windows_core::Result;
- fn CloseHost(&self, mode: i32) -> windows_core::Result<()>;
- }
- impl windows_core::RuntimeName for IServiceControl2V40 {}
- impl IServiceControl2V40_Vtbl {
- pub const fn new<
- Identity: windows_core::IUnknownImpl,
- Impl: IServiceControl2V40_Impl,
- const OFFSET: isize,
- >() -> IServiceControl2V40_Vtbl {
- unsafe extern "system" fn HostVersion<
- Identity: windows_core::IUnknownImpl,
- Impl: IServiceControl2V40_Impl,
- const OFFSET: isize,
- >(
- this: *mut core::ffi::c_void,
- pretval: *mut core::mem::MaybeUninit,
- ) -> windows_core::HRESULT {
- let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
- let this = (*this).get_impl();
- match IServiceControl2V40_Impl::HostVersion(this) {
- Ok(ok__) => {
- core::ptr::write(pretval, core::mem::transmute(ok__));
- windows_core::HRESULT(0)
- }
- Err(err) => err.into(),
- }
- }
- unsafe extern "system" fn InterfaceVersion<
- Identity: windows_core::IUnknownImpl,
- Impl: IServiceControl2V40_Impl,
- const OFFSET: isize,
- >(
- this: *mut core::ffi::c_void,
- pretval: *mut core::mem::MaybeUninit,
- ) -> windows_core::HRESULT {
- let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
- let this = (*this).get_impl();
- match IServiceControl2V40_Impl::InterfaceVersion(this) {
- Ok(ok__) => {
- core::ptr::write(pretval, core::mem::transmute(ok__));
- windows_core::HRESULT(0)
- }
- Err(err) => err.into(),
- }
- }
- unsafe extern "system" fn IsHostStarted<
- Identity: windows_core::IUnknownImpl,
- Impl: IServiceControl2V40_Impl,
- const OFFSET: isize,
- >(
- this: *mut core::ffi::c_void,
- pretval: *mut windows::Win32::Foundation::VARIANT_BOOL,
- ) -> windows_core::HRESULT {
- let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
- let this = (*this).get_impl();
- match IServiceControl2V40_Impl::IsHostStarted(this) {
- Ok(ok__) => {
- core::ptr::write(pretval, core::mem::transmute(ok__));
- windows_core::HRESULT(0)
- }
- Err(err) => err.into(),
- }
- }
- unsafe extern "system" fn StartHost<
- Identity: windows_core::IUnknownImpl,
- Impl: IServiceControl2V40_Impl,
- const OFFSET: isize,
- >(
- this: *mut core::ffi::c_void,
- nowait: windows::Win32::Foundation::VARIANT_BOOL,
- pretval: *mut i32,
- ) -> windows_core::HRESULT {
- let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
- let this = (*this).get_impl();
- match IServiceControl2V40_Impl::StartHost(
- this,
- core::mem::transmute_copy(&nowait),
- ) {
- Ok(ok__) => {
- core::ptr::write(pretval, core::mem::transmute(ok__));
- windows_core::HRESULT(0)
- }
- Err(err) => err.into(),
- }
- }
- unsafe extern "system" fn CloseHost<
- Identity: windows_core::IUnknownImpl,
- Impl: IServiceControl2V40_Impl,
- const OFFSET: isize,
- >(
- this: *mut core::ffi::c_void,
- mode: i32,
- ) -> windows_core::HRESULT {
- let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
- let this = (*this).get_impl();
- IServiceControl2V40_Impl::CloseHost(this, core::mem::transmute_copy(&mode))
- .into()
- }
- Self {
- base__: windows::Win32::System::Com::IDispatch_Vtbl::new::<
- Identity,
- Impl,
- OFFSET,
- >(),
- HostVersion: HostVersion::,
- InterfaceVersion: InterfaceVersion::,
- IsHostStarted: IsHostStarted::,
- StartHost: StartHost::,
- CloseHost: CloseHost::,
- }
- }
- pub fn matches(iid: &windows_core::GUID) -> bool {
- iid == &::IID
- || iid
- == &::IID
- }
- }
- pub trait IServiceControl2V40Part_Impl:
- Sized + windows::Win32::System::Com::IDispatch_Impl
- {
- fn HostVersion(&self) -> windows_core::Result;
- fn InterfaceVersion(&self) -> windows_core::Result;
- }
- impl windows_core::RuntimeName for IServiceControl2V40Part {}
- impl IServiceControl2V40Part_Vtbl {
- pub const fn new<
- Identity: windows_core::IUnknownImpl,
- Impl: IServiceControl2V40Part_Impl,
- const OFFSET: isize,
- >() -> IServiceControl2V40Part_Vtbl {
- unsafe extern "system" fn HostVersion<
- Identity: windows_core::IUnknownImpl,
- Impl: IServiceControl2V40Part_Impl,
- const OFFSET: isize,
- >(
- this: *mut core::ffi::c_void,
- pretval: *mut core::mem::MaybeUninit,
- ) -> windows_core::HRESULT {
- let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
- let this = (*this).get_impl();
- match IServiceControl2V40Part_Impl::HostVersion(this) {
- Ok(ok__) => {
- core::ptr::write(pretval, core::mem::transmute(ok__));
- windows_core::HRESULT(0)
- }
- Err(err) => err.into(),
- }
- }
- unsafe extern "system" fn InterfaceVersion<
- Identity: windows_core::IUnknownImpl,
- Impl: IServiceControl2V40Part_Impl,
- const OFFSET: isize,
- >(
- this: *mut core::ffi::c_void,
- pretval: *mut core::mem::MaybeUninit,
- ) -> windows_core::HRESULT {
- let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
- let this = (*this).get_impl();
- match IServiceControl2V40Part_Impl::InterfaceVersion(this) {
- Ok(ok__) => {
- core::ptr::write(pretval, core::mem::transmute(ok__));
- windows_core::HRESULT(0)
- }
- Err(err) => err.into(),
- }
- }
- Self {
- base__: windows::Win32::System::Com::IDispatch_Vtbl::new::<
- Identity,
- Impl,
- OFFSET,
- >(),
- HostVersion: HostVersion::,
- InterfaceVersion: InterfaceVersion::,
- }
- }
- pub fn matches(iid: &windows_core::GUID) -> bool {
- iid == &::IID
- || iid
- == &::IID
- }
- }
- pub trait ISpeakingState2_Impl:
- Sized + windows::Win32::System::Com::IDispatch_Impl
- {
- fn IsSucceeded(&self)
- -> windows_core::Result;
- fn IsCompleted(&self)
- -> windows_core::Result;
- fn Wait(&self) -> windows_core::Result<()>;
- fn Wait_2(&self, timeoutseconds: f64) -> windows_core::Result<()>;
- }
- impl windows_core::RuntimeName for ISpeakingState2 {}
- impl ISpeakingState2_Vtbl {
- pub const fn new<
- Identity: windows_core::IUnknownImpl,
- Impl: ISpeakingState2_Impl,
- const OFFSET: isize,
- >() -> ISpeakingState2_Vtbl {
- unsafe extern "system" fn IsSucceeded<
- Identity: windows_core::IUnknownImpl,
- Impl: ISpeakingState2_Impl,
- const OFFSET: isize,
- >(
- this: *mut core::ffi::c_void,
- pretval: *mut windows::Win32::Foundation::VARIANT_BOOL,
- ) -> windows_core::HRESULT {
- let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
- let this = (*this).get_impl();
- match ISpeakingState2_Impl::IsSucceeded(this) {
- Ok(ok__) => {
- core::ptr::write(pretval, core::mem::transmute(ok__));
- windows_core::HRESULT(0)
- }
- Err(err) => err.into(),
- }
- }
- unsafe extern "system" fn IsCompleted<
- Identity: windows_core::IUnknownImpl,
- Impl: ISpeakingState2_Impl,
- const OFFSET: isize,
- >(
- this: *mut core::ffi::c_void,
- pretval: *mut windows::Win32::Foundation::VARIANT_BOOL,
- ) -> windows_core::HRESULT {
- let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
- let this = (*this).get_impl();
- match ISpeakingState2_Impl::IsCompleted(this) {
- Ok(ok__) => {
- core::ptr::write(pretval, core::mem::transmute(ok__));
- windows_core::HRESULT(0)
- }
- Err(err) => err.into(),
- }
- }
- unsafe extern "system" fn Wait<
- Identity: windows_core::IUnknownImpl,
- Impl: ISpeakingState2_Impl,
- const OFFSET: isize,
- >(
- this: *mut core::ffi::c_void,
- ) -> windows_core::HRESULT {
- let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
- let this = (*this).get_impl();
- ISpeakingState2_Impl::Wait(this).into()
- }
- unsafe extern "system" fn Wait_2<
- Identity: windows_core::IUnknownImpl,
- Impl: ISpeakingState2_Impl,
- const OFFSET: isize,
- >(
- this: *mut core::ffi::c_void,
- timeoutseconds: f64,
- ) -> windows_core::HRESULT {
- let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
- let this = (*this).get_impl();
- ISpeakingState2_Impl::Wait_2(this, core::mem::transmute_copy(&timeoutseconds))
- .into()
- }
- Self {
- base__: windows::Win32::System::Com::IDispatch_Vtbl::new::<
- Identity,
- Impl,
- OFFSET,
- >(),
- IsSucceeded: IsSucceeded::,
- IsCompleted: IsCompleted::,
- Wait: Wait::,
- Wait_2: Wait_2::,
- }
- }
- pub fn matches(iid: &windows_core::GUID) -> bool {
- iid == &::IID
- || iid
- == &::IID
- }
- }
- pub trait IStringArray2_Impl: Sized + windows::Win32::System::Com::IDispatch_Impl {
- fn Length(&self) -> windows_core::Result;
- fn At(&self, index: i32) -> windows_core::Result;
- fn Duplicate(&self) -> windows_core::Result;
- }
- impl windows_core::RuntimeName for IStringArray2 {}
- impl IStringArray2_Vtbl {
- pub const fn new<
- Identity: windows_core::IUnknownImpl,
- Impl: IStringArray2_Impl,
- const OFFSET: isize,
- >() -> IStringArray2_Vtbl {
- unsafe extern "system" fn Length<
- Identity: windows_core::IUnknownImpl,
- Impl: IStringArray2_Impl,
- const OFFSET: isize,
- >(
- this: *mut core::ffi::c_void,
- pretval: *mut i32,
- ) -> windows_core::HRESULT {
- let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
- let this = (*this).get_impl();
- match IStringArray2_Impl::Length(this) {
- Ok(ok__) => {
- core::ptr::write(pretval, core::mem::transmute(ok__));
- windows_core::HRESULT(0)
- }
- Err(err) => err.into(),
- }
- }
- unsafe extern "system" fn At<
- Identity: windows_core::IUnknownImpl,
- Impl: IStringArray2_Impl,
- const OFFSET: isize,
- >(
- this: *mut core::ffi::c_void,
- index: i32,
- pretval: *mut core::mem::MaybeUninit,
- ) -> windows_core::HRESULT {
- let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
- let this = (*this).get_impl();
- match IStringArray2_Impl::At(this, core::mem::transmute_copy(&index)) {
- Ok(ok__) => {
- core::ptr::write(pretval, core::mem::transmute(ok__));
- windows_core::HRESULT(0)
- }
- Err(err) => err.into(),
- }
- }
- unsafe extern "system" fn Duplicate<
- Identity: windows_core::IUnknownImpl,
- Impl: IStringArray2_Impl,
- const OFFSET: isize,
- >(
- this: *mut core::ffi::c_void,
- pretval: *mut *mut core::ffi::c_void,
- ) -> windows_core::HRESULT {
- let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
- let this = (*this).get_impl();
- match IStringArray2_Impl::Duplicate(this) {
- Ok(ok__) => {
- core::ptr::write(pretval, core::mem::transmute(ok__));
- windows_core::HRESULT(0)
- }
- Err(err) => err.into(),
- }
- }
- Self {
- base__: windows::Win32::System::Com::IDispatch_Vtbl::new::<
- Identity,
- Impl,
- OFFSET,
- >(),
- Length: Length::,
- At: At::,
- Duplicate: Duplicate::,
- }
- }
- pub fn matches(iid: &windows_core::GUID) -> bool {
- iid == &::IID
- || iid
- == &::IID
- }
- }
- pub trait ITalker2_Impl: Sized + windows::Win32::System::Com::IDispatch_Impl {
- fn Volume(&self) -> windows_core::Result;
- fn SetVolume(&self, pretval: u32) -> windows_core::Result<()>;
- fn Speed(&self) -> windows_core::Result;
- fn SetSpeed(&self, pretval: u32) -> windows_core::Result<()>;
- fn Tone(&self) -> windows_core::Result;
- fn SetTone(&self, pretval: u32) -> windows_core::Result<()>;
- fn Alpha(&self) -> windows_core::Result;
- fn SetAlpha(&self, pretval: u32) -> windows_core::Result<()>;
- fn Components(&self) -> windows_core::Result;
- fn Cast(&self) -> windows_core::Result;
- fn SetCast(&self, pretval: &windows_core::BSTR) -> windows_core::Result<()>;
- fn AvailableCasts(&self) -> windows_core::Result;
- fn Speak(&self, text: &windows_core::BSTR) -> windows_core::Result;
- fn Stop(&self) -> windows_core::Result;
- fn GetTextDuration(&self, text: &windows_core::BSTR) -> windows_core::Result;
- fn GetPhonemes(
- &self,
- text: &windows_core::BSTR,
- ) -> windows_core::Result;
- fn OutputWaveToFile(
- &self,
- text: &windows_core::BSTR,
- path: &windows_core::BSTR,
- ) -> windows_core::Result;
- }
- impl windows_core::RuntimeName for ITalker2 {}
- impl ITalker2_Vtbl {
- pub const fn new<
- Identity: windows_core::IUnknownImpl,
- Impl: ITalker2_Impl,
- const OFFSET: isize,
- >() -> ITalker2_Vtbl {
- unsafe extern "system" fn Volume<
- Identity: windows_core::IUnknownImpl,
- Impl: ITalker2_Impl,
- const OFFSET: isize,
- >(
- this: *mut core::ffi::c_void,
- pretval: *mut u32,
- ) -> windows_core::HRESULT {
- let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
- let this = (*this).get_impl();
- match ITalker2_Impl::Volume(this) {
- Ok(ok__) => {
- core::ptr::write(pretval, core::mem::transmute(ok__));
- windows_core::HRESULT(0)
- }
- Err(err) => err.into(),
- }
- }
- unsafe extern "system" fn SetVolume<
- Identity: windows_core::IUnknownImpl,
- Impl: ITalker2_Impl,
- const OFFSET: isize,
- >(
- this: *mut core::ffi::c_void,
- pretval: u32,
- ) -> windows_core::HRESULT {
- let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
- let this = (*this).get_impl();
- ITalker2_Impl::SetVolume(this, core::mem::transmute_copy(&pretval)).into()
- }
- unsafe extern "system" fn Speed<
- Identity: windows_core::IUnknownImpl,
- Impl: ITalker2_Impl,
- const OFFSET: isize,
- >(
- this: *mut core::ffi::c_void,
- pretval: *mut u32,
- ) -> windows_core::HRESULT {
- let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
- let this = (*this).get_impl();
- match ITalker2_Impl::Speed(this) {
- Ok(ok__) => {
- core::ptr::write(pretval, core::mem::transmute(ok__));
- windows_core::HRESULT(0)
- }
- Err(err) => err.into(),
- }
- }
- unsafe extern "system" fn SetSpeed<
- Identity: windows_core::IUnknownImpl,
- Impl: ITalker2_Impl,
- const OFFSET: isize,
- >(
- this: *mut core::ffi::c_void,
- pretval: u32,
- ) -> windows_core::HRESULT {
- let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
- let this = (*this).get_impl();
- ITalker2_Impl::SetSpeed(this, core::mem::transmute_copy(&pretval)).into()
- }
- unsafe extern "system" fn Tone<
- Identity: windows_core::IUnknownImpl,
- Impl: ITalker2_Impl,
- const OFFSET: isize,
- >(
- this: *mut core::ffi::c_void,
- pretval: *mut u32,
- ) -> windows_core::HRESULT {
- let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
- let this = (*this).get_impl();
- match ITalker2_Impl::Tone(this) {
- Ok(ok__) => {
- core::ptr::write(pretval, core::mem::transmute(ok__));
- windows_core::HRESULT(0)
- }
- Err(err) => err.into(),
- }
- }
- unsafe extern "system" fn SetTone<
- Identity: windows_core::IUnknownImpl,
- Impl: ITalker2_Impl,
- const OFFSET: isize,
- >(
- this: *mut core::ffi::c_void,
- pretval: u32,
- ) -> windows_core::HRESULT {
- let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
- let this = (*this).get_impl();
- ITalker2_Impl::SetTone(this, core::mem::transmute_copy(&pretval)).into()
- }
- unsafe extern "system" fn Alpha<
- Identity: windows_core::IUnknownImpl,
- Impl: ITalker2_Impl,
- const OFFSET: isize,
- >(
- this: *mut core::ffi::c_void,
- pretval: *mut u32,
- ) -> windows_core::HRESULT {
- let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
- let this = (*this).get_impl();
- match ITalker2_Impl::Alpha(this) {
- Ok(ok__) => {
- core::ptr::write(pretval, core::mem::transmute(ok__));
- windows_core::HRESULT(0)
- }
- Err(err) => err.into(),
- }
- }
- unsafe extern "system" fn SetAlpha<
- Identity: windows_core::IUnknownImpl,
- Impl: ITalker2_Impl,
- const OFFSET: isize,
- >(
- this: *mut core::ffi::c_void,
- pretval: u32,
- ) -> windows_core::HRESULT {
- let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
- let this = (*this).get_impl();
- ITalker2_Impl::SetAlpha(this, core::mem::transmute_copy(&pretval)).into()
- }
- unsafe extern "system" fn Components<
- Identity: windows_core::IUnknownImpl,
- Impl: ITalker2_Impl,
- const OFFSET: isize,
- >(
- this: *mut core::ffi::c_void,
- pretval: *mut *mut core::ffi::c_void,
- ) -> windows_core::HRESULT {
- let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
- let this = (*this).get_impl();
- match ITalker2_Impl::Components(this) {
- Ok(ok__) => {
- core::ptr::write(pretval, core::mem::transmute(ok__));
- windows_core::HRESULT(0)
- }
- Err(err) => err.into(),
- }
- }
- unsafe extern "system" fn Cast<
- Identity: windows_core::IUnknownImpl,
- Impl: ITalker2_Impl,
- const OFFSET: isize,
- >(
- this: *mut core::ffi::c_void,
- pretval: *mut core::mem::MaybeUninit,
- ) -> windows_core::HRESULT {
- let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
- let this = (*this).get_impl();
- match ITalker2_Impl::Cast(this) {
- Ok(ok__) => {
- core::ptr::write(pretval, core::mem::transmute(ok__));
- windows_core::HRESULT(0)
- }
- Err(err) => err.into(),
- }
- }
- unsafe extern "system" fn SetCast<
- Identity: windows_core::IUnknownImpl,
- Impl: ITalker2_Impl,
- const OFFSET: isize,
- >(
- this: *mut core::ffi::c_void,
- pretval: core::mem::MaybeUninit,
- ) -> windows_core::HRESULT {
- let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
- let this = (*this).get_impl();
- ITalker2_Impl::SetCast(this, core::mem::transmute(&pretval)).into()
- }
- unsafe extern "system" fn AvailableCasts<
- Identity: windows_core::IUnknownImpl,
- Impl: ITalker2_Impl,
- const OFFSET: isize,
- >(
- this: *mut core::ffi::c_void,
- pretval: *mut *mut core::ffi::c_void,
- ) -> windows_core::HRESULT {
- let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
- let this = (*this).get_impl();
- match ITalker2_Impl::AvailableCasts(this) {
- Ok(ok__) => {
- core::ptr::write(pretval, core::mem::transmute(ok__));
- windows_core::HRESULT(0)
- }
- Err(err) => err.into(),
- }
- }
- unsafe extern "system" fn Speak<
- Identity: windows_core::IUnknownImpl,
- Impl: ITalker2_Impl,
- const OFFSET: isize,
- >(
- this: *mut core::ffi::c_void,
- text: core::mem::MaybeUninit,
- pretval: *mut *mut core::ffi::c_void,
- ) -> windows_core::HRESULT {
- let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
- let this = (*this).get_impl();
- match ITalker2_Impl::Speak(this, core::mem::transmute(&text)) {
- Ok(ok__) => {
- core::ptr::write(pretval, core::mem::transmute(ok__));
- windows_core::HRESULT(0)
- }
- Err(err) => err.into(),
- }
- }
- unsafe extern "system" fn Stop<
- Identity: windows_core::IUnknownImpl,
- Impl: ITalker2_Impl,
- const OFFSET: isize,
- >(
- this: *mut core::ffi::c_void,
- pretval: *mut windows::Win32::Foundation::VARIANT_BOOL,
- ) -> windows_core::HRESULT {
- let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
- let this = (*this).get_impl();
- match ITalker2_Impl::Stop(this) {
- Ok(ok__) => {
- core::ptr::write(pretval, core::mem::transmute(ok__));
- windows_core::HRESULT(0)
- }
- Err(err) => err.into(),
- }
- }
- unsafe extern "system" fn GetTextDuration<
- Identity: windows_core::IUnknownImpl,
- Impl: ITalker2_Impl,
- const OFFSET: isize,
- >(
- this: *mut core::ffi::c_void,
- text: core::mem::MaybeUninit,
- pretval: *mut f64,
- ) -> windows_core::HRESULT {
- let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
- let this = (*this).get_impl();
- match ITalker2_Impl::GetTextDuration(this, core::mem::transmute(&text)) {
- Ok(ok__) => {
- core::ptr::write(pretval, core::mem::transmute(ok__));
- windows_core::HRESULT(0)
- }
- Err(err) => err.into(),
- }
- }
- unsafe extern "system" fn GetPhonemes<
- Identity: windows_core::IUnknownImpl,
- Impl: ITalker2_Impl,
- const OFFSET: isize,
- >(
- this: *mut core::ffi::c_void,
- text: core::mem::MaybeUninit,
- pretval: *mut *mut core::ffi::c_void,
- ) -> windows_core::HRESULT {
- let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
- let this = (*this).get_impl();
- match ITalker2_Impl::GetPhonemes(this, core::mem::transmute(&text)) {
- Ok(ok__) => {
- core::ptr::write(pretval, core::mem::transmute(ok__));
- windows_core::HRESULT(0)
- }
- Err(err) => err.into(),
- }
- }
- unsafe extern "system" fn OutputWaveToFile<
- Identity: windows_core::IUnknownImpl