// Created by Microsoft (R) C/C++ Compiler Version 14.22.27905.0 (39c98f37).
//
// F:\TP2\VSTX\test\d32\vstx32.tlh
//
// C++ source equivalent of Win32 type library ..\\vstx32.dll
// compiler-generated file created 08/28/19 at 09:54:29 - DO NOT EDIT!

#pragma once
#pragma pack(push, 8)

#include <comdef.h>

namespace vstxlib {

//
// Forward references and typedefs
//

struct __declspec(uuid("fe14be28-c287-454c-9e5e-bd69fa312f03"))
/* LIBID */ __vstxlib;
struct __declspec(uuid("f193efc3-2d9a-4b39-9af8-ea7a6868c61d"))
/* dual interface */ VSTNOTIFICATION;
struct __declspec(uuid("f193efc3-2d9a-4b39-9af8-ea7a6868c61a"))
/* dual interface */ VSTZ;
struct __declspec(uuid("f193efc3-2d9a-4b39-9af8-ea7a6868c61b"))
/* dual interface */ VSTZ2;
struct __declspec(uuid("f193efc3-2d9a-4b39-9af8-ea7a6868c61c"))
/* dual interface */ VSTZ3;
#if !defined(_WIN64)
typedef __w64 unsigned long ULONG_PTR;
#else
typedef unsigned __int64 ULONG_PTR;
#endif

//
// Smart pointer typedef declarations
//

_COM_SMARTPTR_TYPEDEF(VSTNOTIFICATION, __uuidof(VSTNOTIFICATION));
_COM_SMARTPTR_TYPEDEF(VSTZ, __uuidof(VSTZ));
_COM_SMARTPTR_TYPEDEF(VSTZ2, __uuidof(VSTZ2));
_COM_SMARTPTR_TYPEDEF(VSTZ3, __uuidof(VSTZ3));

//
// Type library items
//

struct __declspec(uuid("f193efc3-2d9a-4b39-9af8-ea7a6868c61d"))
VSTNOTIFICATION : IUnknown
{
    //
    // Raw methods provided by interface
    //

      virtual HRESULT __stdcall ParameterChanged (
        int pidx,
        float v ) = 0;
      virtual HRESULT __stdcall SetDirty (
        int __MIDL__VSTNOTIFICATION0000 ) = 0;
      virtual HRESULT __stdcall BeforeDelete (
        IUnknown * __MIDL__VSTNOTIFICATION0001 ) = 0;
      virtual HRESULT __stdcall ReceiveMidi (
        SAFEARRAY * s ) = 0;
};

struct __declspec(uuid("f193efc3-2d9a-4b39-9af8-ea7a6868c61a"))
VSTZ : IDispatch
{
    //
    // Raw methods provided by interface
    //

      virtual HRESULT __stdcall get_Bitrate (
        /*[out,retval]*/ int * pBr ) = 0;
      virtual HRESULT __stdcall put_Bitrate (
        /*[in]*/ int pBr ) = 0;
      virtual HRESULT __stdcall get_SamplingRate (
        /*[out,retval]*/ int * pSr ) = 0;
      virtual HRESULT __stdcall put_SamplingRate (
        /*[in]*/ int pSr ) = 0;
      virtual HRESULT __stdcall get_BufferSize (
        /*[out,retval]*/ int * pBs ) = 0;
      virtual HRESULT __stdcall put_BufferSize (
        /*[in]*/ int pBs ) = 0;
      virtual HRESULT __stdcall get_Program (
        /*[out,retval]*/ int * pPr ) = 0;
      virtual HRESULT __stdcall put_Program (
        /*[in]*/ int pPr ) = 0;
      virtual HRESULT __stdcall get_State (
        /*[in]*/ int IsPreset,
        /*[out,retval]*/ BSTR * pPr ) = 0;
      virtual HRESULT __stdcall put_State (
        /*[in]*/ int IsPreset,
        /*[in]*/ BSTR pPr ) = 0;
      virtual HRESULT __stdcall get_Bypass (
        /*[out,retval]*/ int * pI ) = 0;
      virtual HRESULT __stdcall put_Bypass (
        /*[in]*/ int pI ) = 0;
      virtual HRESULT __stdcall get_Silence (
        /*[out,retval]*/ int * pI ) = 0;
      virtual HRESULT __stdcall put_Silence (
        /*[in]*/ int pI ) = 0;
      virtual HRESULT __stdcall get_Parameter (
        /*[in]*/ int idx,
        /*[out,retval]*/ float * pPr ) = 0;
      virtual HRESULT __stdcall put_Parameter (
        /*[in]*/ int idx,
        /*[in]*/ float pPr ) = 0;
      virtual HRESULT __stdcall get_Dirty (
        /*[out,retval]*/ int * pPr ) = 0;
      virtual HRESULT __stdcall get_Unit (
        /*[out,retval]*/ int * pPr ) = 0;
      virtual HRESULT __stdcall put_Unit (
        /*[in]*/ int pPr ) = 0;
      virtual HRESULT __stdcall get_Names (
        /*[in]*/ int Typ,
        /*[out,retval]*/ SAFEARRAY * * pPr ) = 0;
      virtual HRESULT __stdcall get_Ports (
        /*[out]*/ int * nwi,
        /*[out]*/ int * nwo,
        /*[out]*/ int * nmi,
        /*[out]*/ int * nmo ) = 0;
      virtual HRESULT __stdcall get_Instantiation (
        /*[out,retval]*/ int * pPr ) = 0;
      virtual HRESULT __stdcall put_Instantiation (
        /*[in]*/ int pPr ) = 0;
      virtual HRESULT __stdcall get_UACVirtualization (
        /*[out,retval]*/ int * pPr ) = 0;
      virtual HRESULT __stdcall put_UACVirtualization (
        /*[in]*/ int pPr ) = 0;
      virtual HRESULT __stdcall InstallHandler (
        struct VSTNOTIFICATION * __MIDL__VSTZ0000 ) = 0;
      virtual HRESULT __stdcall RemoveHandler (
        struct VSTNOTIFICATION * __MIDL__VSTZ0001 ) = 0;
      virtual HRESULT __stdcall Load (
        BSTR File,
        ULONG_PTR hDLL ) = 0;
      virtual HRESULT __stdcall Show (
        ULONG_PTR hwnd,
        int Rib ) = 0;
      virtual HRESULT __stdcall GetVSTVersion (
        int * v ) = 0;
      virtual HRESULT __stdcall Unload ( ) = 0;
      virtual HRESULT __stdcall Suspend (
        int killAp ) = 0;
      virtual HRESULT __stdcall Resume (
        int restoreAP ) = 0;
      virtual HRESULT __stdcall GetNameAndVendor (
        BSTR * p1,
        BSTR * p2 ) = 0;
      virtual HRESULT __stdcall KeyDown (
        int ww,
        int ll ) = 0;
      virtual HRESULT __stdcall KeyUp (
        int ww,
        int ll ) = 0;
      virtual HRESULT __stdcall DeleteBuffers ( ) = 0;
      virtual HRESULT __stdcall ClearIn ( ) = 0;
      virtual HRESULT __stdcall ClearOut ( ) = 0;
      virtual HRESULT __stdcall CopyIO ( ) = 0;
      virtual HRESULT __stdcall ListOfParametersDirect (
        char * dr ) = 0;
      virtual HRESULT __stdcall ListOfParametersArray (
        SAFEARRAY * * sr ) = 0;
      virtual HRESULT __stdcall CreateBuffers1 ( ) = 0;
      virtual HRESULT __stdcall CreateBuffers2 (
        BSTR * SharedMap ) = 0;
      virtual HRESULT __stdcall CreateBuffers3 (
        char * * inb,
        char * * outb ) = 0;
      virtual HRESULT __stdcall Reconfigure (
        int sr,
        int bs,
        int br,
        int buffrecreate ) = 0;
      virtual HRESULT __stdcall ShowCustom (
        ULONG_PTR target ) = 0;
      virtual HRESULT __stdcall GetDirectBuffers (
        char * * inb,
        char * * outb ) = 0;
      virtual HRESULT __stdcall CanBitrate (
        int br ) = 0;
      virtual HRESULT __stdcall InputDirect (
        char * * b ) = 0;
      virtual HRESULT __stdcall Process ( ) = 0;
      virtual HRESULT __stdcall OutputDirect (
        char * * b ) = 0;
      virtual HRESULT __stdcall InputArray (
        SAFEARRAY * s ) = 0;
      virtual HRESULT __stdcall OutputArray (
        SAFEARRAY * * s ) = 0;
      virtual HRESULT __stdcall SendMidiDirect (
        char * p,
        int n ) = 0;
      virtual HRESULT __stdcall SendMidiArray (
        SAFEARRAY * __MIDL__VSTZ0002,
        int n ) = 0;
      virtual HRESULT __stdcall RequestInterface (
        /*[in]*/ BSTR iid,
        /*[out]*/ ULONG_PTR * r ) = 0;
};

struct __declspec(uuid("f193efc3-2d9a-4b39-9af8-ea7a6868c61b"))
VSTZ2 : VSTZ
{};

struct __declspec(uuid("f193efc3-2d9a-4b39-9af8-ea7a6868c61c"))
VSTZ3 : VSTZ
{};

} // namespace vstxlib

#pragma pack(pop)
