Path: blob/master/thirdparty/directx_headers/include/directx/d3dshadercacheregistration.h
14728 views
/*-------------------------------------------------------------------------------------1*2* Copyright (c) Microsoft Corporation3* Licensed under the MIT license4*5*-------------------------------------------------------------------------------------*/678/* this ALWAYS GENERATED file contains the definitions for the interfaces */91011/* File created by MIDL compiler version 8.01.0628 */12131415/* verify that the <rpcndr.h> version is high enough to compile this file*/16#ifndef __REQUIRED_RPCNDR_H_VERSION__17#define __REQUIRED_RPCNDR_H_VERSION__ 50018#endif1920/* verify that the <rpcsal.h> version is high enough to compile this file*/21#ifndef __REQUIRED_RPCSAL_H_VERSION__22#define __REQUIRED_RPCSAL_H_VERSION__ 10023#endif2425#include "rpc.h"26#include "rpcndr.h"2728#ifndef __RPCNDR_H_VERSION__29#error this stub requires an updated version of <rpcndr.h>30#endif /* __RPCNDR_H_VERSION__ */3132#ifndef COM_NO_WINDOWS_H33#include "windows.h"34#include "ole2.h"35#endif /*COM_NO_WINDOWS_H*/3637#ifndef __d3dshadercacheregistration_h__38#define __d3dshadercacheregistration_h__3940#if defined(_MSC_VER) && (_MSC_VER >= 1020)41#pragma once42#endif4344#ifndef DECLSPEC_XFGVIRT45#if defined(_CONTROL_FLOW_GUARD_XFG)46#define DECLSPEC_XFGVIRT(base, func) __declspec(xfg_virtual(base, func))47#else48#define DECLSPEC_XFGVIRT(base, func)49#endif50#endif5152/* Forward Declarations */5354#ifndef __ID3DShaderCacheInstallerClient_FWD_DEFINED__55#define __ID3DShaderCacheInstallerClient_FWD_DEFINED__56typedef interface ID3DShaderCacheInstallerClient ID3DShaderCacheInstallerClient;5758#endif /* __ID3DShaderCacheInstallerClient_FWD_DEFINED__ */596061#ifndef __ID3DShaderCacheComponent_FWD_DEFINED__62#define __ID3DShaderCacheComponent_FWD_DEFINED__63typedef interface ID3DShaderCacheComponent ID3DShaderCacheComponent;6465#endif /* __ID3DShaderCacheComponent_FWD_DEFINED__ */666768#ifndef __ID3DShaderCacheApplication_FWD_DEFINED__69#define __ID3DShaderCacheApplication_FWD_DEFINED__70typedef interface ID3DShaderCacheApplication ID3DShaderCacheApplication;7172#endif /* __ID3DShaderCacheApplication_FWD_DEFINED__ */737475#ifndef __ID3DShaderCacheInstaller_FWD_DEFINED__76#define __ID3DShaderCacheInstaller_FWD_DEFINED__77typedef interface ID3DShaderCacheInstaller ID3DShaderCacheInstaller;7879#endif /* __ID3DShaderCacheInstaller_FWD_DEFINED__ */808182#ifndef __ID3DShaderCacheExplorer_FWD_DEFINED__83#define __ID3DShaderCacheExplorer_FWD_DEFINED__84typedef interface ID3DShaderCacheExplorer ID3DShaderCacheExplorer;8586#endif /* __ID3DShaderCacheExplorer_FWD_DEFINED__ */878889#ifndef __ID3DShaderCacheInstallerFactory_FWD_DEFINED__90#define __ID3DShaderCacheInstallerFactory_FWD_DEFINED__91typedef interface ID3DShaderCacheInstallerFactory ID3DShaderCacheInstallerFactory;9293#endif /* __ID3DShaderCacheInstallerFactory_FWD_DEFINED__ */949596/* header files for imported files */97#include "oaidl.h"98#include "ocidl.h"99100#ifdef __cplusplus101extern "C"{102#endif103104105/* interface __MIDL_itf_d3dshadercacheregistration_0000_0000 */106/* [local] */107108#pragma once109DEFINE_GUID(CLSID_D3DShaderCacheInstallerFactory, 0x16195a0b, 0x607c, 0x41f1, 0xbf, 0x03, 0xc7, 0x69, 0x4d, 0x60, 0xa8, 0xd4);110typedef111enum D3D_SHADER_CACHE_APP_REGISTRATION_SCOPE112{113D3D_SHADER_CACHE_APP_REGISTRATION_SCOPE_USER = 0,114D3D_SHADER_CACHE_APP_REGISTRATION_SCOPE_SYSTEM = ( D3D_SHADER_CACHE_APP_REGISTRATION_SCOPE_USER + 1 )115} D3D_SHADER_CACHE_APP_REGISTRATION_SCOPE;116117118119120extern RPC_IF_HANDLE __MIDL_itf_d3dshadercacheregistration_0000_0000_v0_0_c_ifspec;121extern RPC_IF_HANDLE __MIDL_itf_d3dshadercacheregistration_0000_0000_v0_0_s_ifspec;122123#ifndef __ID3DShaderCacheInstallerClient_INTERFACE_DEFINED__124#define __ID3DShaderCacheInstallerClient_INTERFACE_DEFINED__125126/* interface ID3DShaderCacheInstallerClient */127/* [unique][local][object][uuid] */128129130EXTERN_C const IID IID_ID3DShaderCacheInstallerClient;131132#if defined(__cplusplus) && !defined(CINTERFACE)133134MIDL_INTERFACE("a16ee930-d9f6-4222-a514-244473e5d266")135ID3DShaderCacheInstallerClient136{137public:138BEGIN_INTERFACE139virtual HRESULT STDMETHODCALLTYPE GetInstallerName(140_Inout_ SIZE_T *pNameLength,141_Out_writes_opt_(*pNameLength) wchar_t *pName) = 0;142143virtual D3D_SHADER_CACHE_APP_REGISTRATION_SCOPE STDMETHODCALLTYPE GetInstallerScope( void) = 0;144145virtual HRESULT STDMETHODCALLTYPE HandleDriverUpdate(146_In_ ID3DShaderCacheInstaller *pInstaller) = 0;147148END_INTERFACE149};150151152#else /* C style interface */153154typedef struct ID3DShaderCacheInstallerClientVtbl155{156BEGIN_INTERFACE157158DECLSPEC_XFGVIRT(ID3DShaderCacheInstallerClient, GetInstallerName)159HRESULT ( STDMETHODCALLTYPE *GetInstallerName )(160ID3DShaderCacheInstallerClient * This,161_Inout_ SIZE_T *pNameLength,162_Out_writes_opt_(*pNameLength) wchar_t *pName);163164DECLSPEC_XFGVIRT(ID3DShaderCacheInstallerClient, GetInstallerScope)165D3D_SHADER_CACHE_APP_REGISTRATION_SCOPE ( STDMETHODCALLTYPE *GetInstallerScope )(166ID3DShaderCacheInstallerClient * This);167168DECLSPEC_XFGVIRT(ID3DShaderCacheInstallerClient, HandleDriverUpdate)169HRESULT ( STDMETHODCALLTYPE *HandleDriverUpdate )(170ID3DShaderCacheInstallerClient * This,171_In_ ID3DShaderCacheInstaller *pInstaller);172173END_INTERFACE174} ID3DShaderCacheInstallerClientVtbl;175176interface ID3DShaderCacheInstallerClient177{178CONST_VTBL struct ID3DShaderCacheInstallerClientVtbl *lpVtbl;179};180181182183#ifdef COBJMACROS184185186#define ID3DShaderCacheInstallerClient_GetInstallerName(This,pNameLength,pName) \187( (This)->lpVtbl -> GetInstallerName(This,pNameLength,pName) )188189#define ID3DShaderCacheInstallerClient_GetInstallerScope(This) \190( (This)->lpVtbl -> GetInstallerScope(This) )191192#define ID3DShaderCacheInstallerClient_HandleDriverUpdate(This,pInstaller) \193( (This)->lpVtbl -> HandleDriverUpdate(This,pInstaller) )194195#endif /* COBJMACROS */196197198#endif /* C style interface */199200201202203#endif /* __ID3DShaderCacheInstallerClient_INTERFACE_DEFINED__ */204205206/* interface __MIDL_itf_d3dshadercacheregistration_0000_0001 */207/* [local] */208209typedef struct D3D_SHADER_CACHE_PSDB_PROPERTIES210{211const wchar_t *pAdapterFamily;212const wchar_t *pPsdbPath;213} D3D_SHADER_CACHE_PSDB_PROPERTIES;214215216217extern RPC_IF_HANDLE __MIDL_itf_d3dshadercacheregistration_0000_0001_v0_0_c_ifspec;218extern RPC_IF_HANDLE __MIDL_itf_d3dshadercacheregistration_0000_0001_v0_0_s_ifspec;219220#ifndef __ID3DShaderCacheComponent_INTERFACE_DEFINED__221#define __ID3DShaderCacheComponent_INTERFACE_DEFINED__222223/* interface ID3DShaderCacheComponent */224/* [unique][local][object][uuid] */225226227EXTERN_C const IID IID_ID3DShaderCacheComponent;228229#if defined(__cplusplus) && !defined(CINTERFACE)230231MIDL_INTERFACE("eed1bf00-f5c7-4cf7-885c-d0f9c0cb4828")232ID3DShaderCacheComponent : public IUnknown233{234public:235virtual HRESULT STDMETHODCALLTYPE GetComponentName(236_Out_ const wchar_t **pName) = 0;237238virtual HRESULT STDMETHODCALLTYPE GetStateObjectDatabasePath(239_Out_ const wchar_t **pPath) = 0;240241virtual HRESULT STDMETHODCALLTYPE GetPrecompiledCachePath(242_In_ const wchar_t *pAdapterFamily,243_Inout_ const wchar_t **pPath) = 0;244245virtual UINT STDMETHODCALLTYPE GetPrecompiledShaderDatabaseCount( void) = 0;246247virtual HRESULT STDMETHODCALLTYPE GetPrecompiledShaderDatabases(248UINT ArraySize,249_Out_writes_(ArraySize) D3D_SHADER_CACHE_PSDB_PROPERTIES *pPSDBs) = 0;250251};252253254#else /* C style interface */255256typedef struct ID3DShaderCacheComponentVtbl257{258BEGIN_INTERFACE259260DECLSPEC_XFGVIRT(IUnknown, QueryInterface)261HRESULT ( STDMETHODCALLTYPE *QueryInterface )(262ID3DShaderCacheComponent * This,263REFIID riid,264_COM_Outptr_ void **ppvObject);265266DECLSPEC_XFGVIRT(IUnknown, AddRef)267ULONG ( STDMETHODCALLTYPE *AddRef )(268ID3DShaderCacheComponent * This);269270DECLSPEC_XFGVIRT(IUnknown, Release)271ULONG ( STDMETHODCALLTYPE *Release )(272ID3DShaderCacheComponent * This);273274DECLSPEC_XFGVIRT(ID3DShaderCacheComponent, GetComponentName)275HRESULT ( STDMETHODCALLTYPE *GetComponentName )(276ID3DShaderCacheComponent * This,277_Out_ const wchar_t **pName);278279DECLSPEC_XFGVIRT(ID3DShaderCacheComponent, GetStateObjectDatabasePath)280HRESULT ( STDMETHODCALLTYPE *GetStateObjectDatabasePath )(281ID3DShaderCacheComponent * This,282_Out_ const wchar_t **pPath);283284DECLSPEC_XFGVIRT(ID3DShaderCacheComponent, GetPrecompiledCachePath)285HRESULT ( STDMETHODCALLTYPE *GetPrecompiledCachePath )(286ID3DShaderCacheComponent * This,287_In_ const wchar_t *pAdapterFamily,288_Inout_ const wchar_t **pPath);289290DECLSPEC_XFGVIRT(ID3DShaderCacheComponent, GetPrecompiledShaderDatabaseCount)291UINT ( STDMETHODCALLTYPE *GetPrecompiledShaderDatabaseCount )(292ID3DShaderCacheComponent * This);293294DECLSPEC_XFGVIRT(ID3DShaderCacheComponent, GetPrecompiledShaderDatabases)295HRESULT ( STDMETHODCALLTYPE *GetPrecompiledShaderDatabases )(296ID3DShaderCacheComponent * This,297UINT ArraySize,298_Out_writes_(ArraySize) D3D_SHADER_CACHE_PSDB_PROPERTIES *pPSDBs);299300END_INTERFACE301} ID3DShaderCacheComponentVtbl;302303interface ID3DShaderCacheComponent304{305CONST_VTBL struct ID3DShaderCacheComponentVtbl *lpVtbl;306};307308309310#ifdef COBJMACROS311312313#define ID3DShaderCacheComponent_QueryInterface(This,riid,ppvObject) \314( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )315316#define ID3DShaderCacheComponent_AddRef(This) \317( (This)->lpVtbl -> AddRef(This) )318319#define ID3DShaderCacheComponent_Release(This) \320( (This)->lpVtbl -> Release(This) )321322323#define ID3DShaderCacheComponent_GetComponentName(This,pName) \324( (This)->lpVtbl -> GetComponentName(This,pName) )325326#define ID3DShaderCacheComponent_GetStateObjectDatabasePath(This,pPath) \327( (This)->lpVtbl -> GetStateObjectDatabasePath(This,pPath) )328329#define ID3DShaderCacheComponent_GetPrecompiledCachePath(This,pAdapterFamily,pPath) \330( (This)->lpVtbl -> GetPrecompiledCachePath(This,pAdapterFamily,pPath) )331332#define ID3DShaderCacheComponent_GetPrecompiledShaderDatabaseCount(This) \333( (This)->lpVtbl -> GetPrecompiledShaderDatabaseCount(This) )334335#define ID3DShaderCacheComponent_GetPrecompiledShaderDatabases(This,ArraySize,pPSDBs) \336( (This)->lpVtbl -> GetPrecompiledShaderDatabases(This,ArraySize,pPSDBs) )337338#endif /* COBJMACROS */339340341#endif /* C style interface */342343344345346#endif /* __ID3DShaderCacheComponent_INTERFACE_DEFINED__ */347348349/* interface __MIDL_itf_d3dshadercacheregistration_0000_0002 */350/* [local] */351352typedef353enum D3D_SHADER_CACHE_TARGET_FLAGS354{355D3D_SHADER_CACHE_TARGET_FLAG_NONE = 0356} D3D_SHADER_CACHE_TARGET_FLAGS;357358DEFINE_ENUM_FLAG_OPERATORS( D3D_SHADER_CACHE_TARGET_FLAGS )359typedef union D3D_VERSION_NUMBER360{361UINT64 Version;362UINT16 VersionParts[ 4 ];363} D3D_VERSION_NUMBER;364365typedef struct D3D_SHADER_CACHE_COMPILER_PROPERTIES366{367wchar_t szAdapterFamily[ 128 ];368UINT64 MinimumABISupportVersion;369UINT64 MaximumABISupportVersion;370D3D_VERSION_NUMBER CompilerVersion;371D3D_VERSION_NUMBER ApplicationProfileVersion;372} D3D_SHADER_CACHE_COMPILER_PROPERTIES;373374typedef struct D3D_SHADER_CACHE_APPLICATION_DESC375{376const wchar_t *pExeFilename;377const wchar_t *pName;378D3D_VERSION_NUMBER Version;379const wchar_t *pEngineName;380D3D_VERSION_NUMBER EngineVersion;381} D3D_SHADER_CACHE_APPLICATION_DESC;382383384385extern RPC_IF_HANDLE __MIDL_itf_d3dshadercacheregistration_0000_0002_v0_0_c_ifspec;386extern RPC_IF_HANDLE __MIDL_itf_d3dshadercacheregistration_0000_0002_v0_0_s_ifspec;387388#ifndef __ID3DShaderCacheApplication_INTERFACE_DEFINED__389#define __ID3DShaderCacheApplication_INTERFACE_DEFINED__390391/* interface ID3DShaderCacheApplication */392/* [unique][local][object][uuid] */393394395EXTERN_C const IID IID_ID3DShaderCacheApplication;396397#if defined(__cplusplus) && !defined(CINTERFACE)398399MIDL_INTERFACE("fc688ee2-1b35-4913-93be-1ca3fa7df39e")400ID3DShaderCacheApplication : public IUnknown401{402public:403virtual HRESULT STDMETHODCALLTYPE GetExePath(404_Out_ const wchar_t **pExePath) = 0;405406virtual HRESULT STDMETHODCALLTYPE GetDesc(407_Out_ D3D_SHADER_CACHE_APPLICATION_DESC *pApplicationDesc) = 0;408409virtual HRESULT STDMETHODCALLTYPE RegisterComponent(410_In_ const wchar_t *pName,411_In_ const wchar_t *pStateObjectDBPath,412_In_ UINT NumPSDB,413_In_reads_(NumPSDB) const D3D_SHADER_CACHE_PSDB_PROPERTIES *pPSDBs,414REFIID riid,415_COM_Outptr_ void **ppvComponent) = 0;416417virtual HRESULT STDMETHODCALLTYPE RemoveComponent(418_In_ ID3DShaderCacheComponent *pComponent) = 0;419420virtual UINT STDMETHODCALLTYPE GetComponentCount( void) = 0;421422virtual HRESULT STDMETHODCALLTYPE GetComponent(423_In_ UINT index,424REFIID riid,425_COM_Outptr_ void **ppvComponent) = 0;426427virtual UINT STDMETHODCALLTYPE GetPrecompileTargetCount(428D3D_SHADER_CACHE_TARGET_FLAGS flags) = 0;429430virtual HRESULT STDMETHODCALLTYPE GetPrecompileTargets(431_In_ UINT ArraySize,432_In_reads_(ArraySize) D3D_SHADER_CACHE_COMPILER_PROPERTIES *pArray,433D3D_SHADER_CACHE_TARGET_FLAGS flags) = 0;434435virtual HRESULT STDMETHODCALLTYPE GetInstallerName(436_Out_ const wchar_t **pInstallerName) = 0;437438};439440441#else /* C style interface */442443typedef struct ID3DShaderCacheApplicationVtbl444{445BEGIN_INTERFACE446447DECLSPEC_XFGVIRT(IUnknown, QueryInterface)448HRESULT ( STDMETHODCALLTYPE *QueryInterface )(449ID3DShaderCacheApplication * This,450REFIID riid,451_COM_Outptr_ void **ppvObject);452453DECLSPEC_XFGVIRT(IUnknown, AddRef)454ULONG ( STDMETHODCALLTYPE *AddRef )(455ID3DShaderCacheApplication * This);456457DECLSPEC_XFGVIRT(IUnknown, Release)458ULONG ( STDMETHODCALLTYPE *Release )(459ID3DShaderCacheApplication * This);460461DECLSPEC_XFGVIRT(ID3DShaderCacheApplication, GetExePath)462HRESULT ( STDMETHODCALLTYPE *GetExePath )(463ID3DShaderCacheApplication * This,464_Out_ const wchar_t **pExePath);465466DECLSPEC_XFGVIRT(ID3DShaderCacheApplication, GetDesc)467HRESULT ( STDMETHODCALLTYPE *GetDesc )(468ID3DShaderCacheApplication * This,469_Out_ D3D_SHADER_CACHE_APPLICATION_DESC *pApplicationDesc);470471DECLSPEC_XFGVIRT(ID3DShaderCacheApplication, RegisterComponent)472HRESULT ( STDMETHODCALLTYPE *RegisterComponent )(473ID3DShaderCacheApplication * This,474_In_ const wchar_t *pName,475_In_ const wchar_t *pStateObjectDBPath,476_In_ UINT NumPSDB,477_In_reads_(NumPSDB) const D3D_SHADER_CACHE_PSDB_PROPERTIES *pPSDBs,478REFIID riid,479_COM_Outptr_ void **ppvComponent);480481DECLSPEC_XFGVIRT(ID3DShaderCacheApplication, RemoveComponent)482HRESULT ( STDMETHODCALLTYPE *RemoveComponent )(483ID3DShaderCacheApplication * This,484_In_ ID3DShaderCacheComponent *pComponent);485486DECLSPEC_XFGVIRT(ID3DShaderCacheApplication, GetComponentCount)487UINT ( STDMETHODCALLTYPE *GetComponentCount )(488ID3DShaderCacheApplication * This);489490DECLSPEC_XFGVIRT(ID3DShaderCacheApplication, GetComponent)491HRESULT ( STDMETHODCALLTYPE *GetComponent )(492ID3DShaderCacheApplication * This,493_In_ UINT index,494REFIID riid,495_COM_Outptr_ void **ppvComponent);496497DECLSPEC_XFGVIRT(ID3DShaderCacheApplication, GetPrecompileTargetCount)498UINT ( STDMETHODCALLTYPE *GetPrecompileTargetCount )(499ID3DShaderCacheApplication * This,500D3D_SHADER_CACHE_TARGET_FLAGS flags);501502DECLSPEC_XFGVIRT(ID3DShaderCacheApplication, GetPrecompileTargets)503HRESULT ( STDMETHODCALLTYPE *GetPrecompileTargets )(504ID3DShaderCacheApplication * This,505_In_ UINT ArraySize,506_In_reads_(ArraySize) D3D_SHADER_CACHE_COMPILER_PROPERTIES *pArray,507D3D_SHADER_CACHE_TARGET_FLAGS flags);508509DECLSPEC_XFGVIRT(ID3DShaderCacheApplication, GetInstallerName)510HRESULT ( STDMETHODCALLTYPE *GetInstallerName )(511ID3DShaderCacheApplication * This,512_Out_ const wchar_t **pInstallerName);513514END_INTERFACE515} ID3DShaderCacheApplicationVtbl;516517interface ID3DShaderCacheApplication518{519CONST_VTBL struct ID3DShaderCacheApplicationVtbl *lpVtbl;520};521522523524#ifdef COBJMACROS525526527#define ID3DShaderCacheApplication_QueryInterface(This,riid,ppvObject) \528( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )529530#define ID3DShaderCacheApplication_AddRef(This) \531( (This)->lpVtbl -> AddRef(This) )532533#define ID3DShaderCacheApplication_Release(This) \534( (This)->lpVtbl -> Release(This) )535536537#define ID3DShaderCacheApplication_GetExePath(This,pExePath) \538( (This)->lpVtbl -> GetExePath(This,pExePath) )539540#define ID3DShaderCacheApplication_GetDesc(This,pApplicationDesc) \541( (This)->lpVtbl -> GetDesc(This,pApplicationDesc) )542543#define ID3DShaderCacheApplication_RegisterComponent(This,pName,pStateObjectDBPath,NumPSDB,pPSDBs,riid,ppvComponent) \544( (This)->lpVtbl -> RegisterComponent(This,pName,pStateObjectDBPath,NumPSDB,pPSDBs,riid,ppvComponent) )545546#define ID3DShaderCacheApplication_RemoveComponent(This,pComponent) \547( (This)->lpVtbl -> RemoveComponent(This,pComponent) )548549#define ID3DShaderCacheApplication_GetComponentCount(This) \550( (This)->lpVtbl -> GetComponentCount(This) )551552#define ID3DShaderCacheApplication_GetComponent(This,index,riid,ppvComponent) \553( (This)->lpVtbl -> GetComponent(This,index,riid,ppvComponent) )554555#define ID3DShaderCacheApplication_GetPrecompileTargetCount(This,flags) \556( (This)->lpVtbl -> GetPrecompileTargetCount(This,flags) )557558#define ID3DShaderCacheApplication_GetPrecompileTargets(This,ArraySize,pArray,flags) \559( (This)->lpVtbl -> GetPrecompileTargets(This,ArraySize,pArray,flags) )560561#define ID3DShaderCacheApplication_GetInstallerName(This,pInstallerName) \562( (This)->lpVtbl -> GetInstallerName(This,pInstallerName) )563564#endif /* COBJMACROS */565566567#endif /* C style interface */568569570571572#endif /* __ID3DShaderCacheApplication_INTERFACE_DEFINED__ */573574575/* interface __MIDL_itf_d3dshadercacheregistration_0000_0003 */576/* [local] */577578typedef struct SC_HANDLE__ *SC_HANDLE;579580581582extern RPC_IF_HANDLE __MIDL_itf_d3dshadercacheregistration_0000_0003_v0_0_c_ifspec;583extern RPC_IF_HANDLE __MIDL_itf_d3dshadercacheregistration_0000_0003_v0_0_s_ifspec;584585#ifndef __ID3DShaderCacheInstaller_INTERFACE_DEFINED__586#define __ID3DShaderCacheInstaller_INTERFACE_DEFINED__587588/* interface ID3DShaderCacheInstaller */589/* [unique][local][object][uuid] */590591592EXTERN_C const IID IID_ID3DShaderCacheInstaller;593594#if defined(__cplusplus) && !defined(CINTERFACE)595596MIDL_INTERFACE("bbe30de1-6318-4526-ae17-776693191bb4")597ID3DShaderCacheInstaller : public IUnknown598{599public:600virtual HRESULT STDMETHODCALLTYPE RegisterDriverUpdateListener( void) = 0;601602virtual HRESULT STDMETHODCALLTYPE UnregisterDriverUpdateListener( void) = 0;603604virtual HRESULT STDMETHODCALLTYPE RegisterServiceDriverUpdateTrigger(605SC_HANDLE hServiceHandle) = 0;606607virtual HRESULT STDMETHODCALLTYPE UnregisterServiceDriverUpdateTrigger(608SC_HANDLE hServiceHandle) = 0;609610virtual HRESULT STDMETHODCALLTYPE RegisterApplication(611_In_ const wchar_t *pExePath,612_In_ const D3D_SHADER_CACHE_APPLICATION_DESC *pApplicationDesc,613REFIID riid,614_COM_Outptr_ void **ppvApp) = 0;615616virtual HRESULT STDMETHODCALLTYPE RemoveApplication(617_In_ ID3DShaderCacheApplication *pApplication) = 0;618619virtual UINT STDMETHODCALLTYPE GetApplicationCount( void) = 0;620621virtual HRESULT STDMETHODCALLTYPE GetApplication(622_In_ UINT index,623REFIID riid,624_COM_Outptr_ void **ppvApp) = 0;625626virtual HRESULT STDMETHODCALLTYPE ClearAllState( void) = 0;627628virtual UINT STDMETHODCALLTYPE GetMaxPrecompileTargetCount( void) = 0;629630virtual HRESULT STDMETHODCALLTYPE GetPrecompileTargets(631_In_opt_ const D3D_SHADER_CACHE_APPLICATION_DESC *pApplicationDesc,632_Inout_ UINT *pArraySize,633_Out_writes_(*pArraySize) D3D_SHADER_CACHE_COMPILER_PROPERTIES *pArray,634D3D_SHADER_CACHE_TARGET_FLAGS flags) = 0;635636};637638639#else /* C style interface */640641typedef struct ID3DShaderCacheInstallerVtbl642{643BEGIN_INTERFACE644645DECLSPEC_XFGVIRT(IUnknown, QueryInterface)646HRESULT ( STDMETHODCALLTYPE *QueryInterface )(647ID3DShaderCacheInstaller * This,648REFIID riid,649_COM_Outptr_ void **ppvObject);650651DECLSPEC_XFGVIRT(IUnknown, AddRef)652ULONG ( STDMETHODCALLTYPE *AddRef )(653ID3DShaderCacheInstaller * This);654655DECLSPEC_XFGVIRT(IUnknown, Release)656ULONG ( STDMETHODCALLTYPE *Release )(657ID3DShaderCacheInstaller * This);658659DECLSPEC_XFGVIRT(ID3DShaderCacheInstaller, RegisterDriverUpdateListener)660HRESULT ( STDMETHODCALLTYPE *RegisterDriverUpdateListener )(661ID3DShaderCacheInstaller * This);662663DECLSPEC_XFGVIRT(ID3DShaderCacheInstaller, UnregisterDriverUpdateListener)664HRESULT ( STDMETHODCALLTYPE *UnregisterDriverUpdateListener )(665ID3DShaderCacheInstaller * This);666667DECLSPEC_XFGVIRT(ID3DShaderCacheInstaller, RegisterServiceDriverUpdateTrigger)668HRESULT ( STDMETHODCALLTYPE *RegisterServiceDriverUpdateTrigger )(669ID3DShaderCacheInstaller * This,670SC_HANDLE hServiceHandle);671672DECLSPEC_XFGVIRT(ID3DShaderCacheInstaller, UnregisterServiceDriverUpdateTrigger)673HRESULT ( STDMETHODCALLTYPE *UnregisterServiceDriverUpdateTrigger )(674ID3DShaderCacheInstaller * This,675SC_HANDLE hServiceHandle);676677DECLSPEC_XFGVIRT(ID3DShaderCacheInstaller, RegisterApplication)678HRESULT ( STDMETHODCALLTYPE *RegisterApplication )(679ID3DShaderCacheInstaller * This,680_In_ const wchar_t *pExePath,681_In_ const D3D_SHADER_CACHE_APPLICATION_DESC *pApplicationDesc,682REFIID riid,683_COM_Outptr_ void **ppvApp);684685DECLSPEC_XFGVIRT(ID3DShaderCacheInstaller, RemoveApplication)686HRESULT ( STDMETHODCALLTYPE *RemoveApplication )(687ID3DShaderCacheInstaller * This,688_In_ ID3DShaderCacheApplication *pApplication);689690DECLSPEC_XFGVIRT(ID3DShaderCacheInstaller, GetApplicationCount)691UINT ( STDMETHODCALLTYPE *GetApplicationCount )(692ID3DShaderCacheInstaller * This);693694DECLSPEC_XFGVIRT(ID3DShaderCacheInstaller, GetApplication)695HRESULT ( STDMETHODCALLTYPE *GetApplication )(696ID3DShaderCacheInstaller * This,697_In_ UINT index,698REFIID riid,699_COM_Outptr_ void **ppvApp);700701DECLSPEC_XFGVIRT(ID3DShaderCacheInstaller, ClearAllState)702HRESULT ( STDMETHODCALLTYPE *ClearAllState )(703ID3DShaderCacheInstaller * This);704705DECLSPEC_XFGVIRT(ID3DShaderCacheInstaller, GetMaxPrecompileTargetCount)706UINT ( STDMETHODCALLTYPE *GetMaxPrecompileTargetCount )(707ID3DShaderCacheInstaller * This);708709DECLSPEC_XFGVIRT(ID3DShaderCacheInstaller, GetPrecompileTargets)710HRESULT ( STDMETHODCALLTYPE *GetPrecompileTargets )(711ID3DShaderCacheInstaller * This,712_In_opt_ const D3D_SHADER_CACHE_APPLICATION_DESC *pApplicationDesc,713_Inout_ UINT *pArraySize,714_Out_writes_(*pArraySize) D3D_SHADER_CACHE_COMPILER_PROPERTIES *pArray,715D3D_SHADER_CACHE_TARGET_FLAGS flags);716717END_INTERFACE718} ID3DShaderCacheInstallerVtbl;719720interface ID3DShaderCacheInstaller721{722CONST_VTBL struct ID3DShaderCacheInstallerVtbl *lpVtbl;723};724725726727#ifdef COBJMACROS728729730#define ID3DShaderCacheInstaller_QueryInterface(This,riid,ppvObject) \731( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )732733#define ID3DShaderCacheInstaller_AddRef(This) \734( (This)->lpVtbl -> AddRef(This) )735736#define ID3DShaderCacheInstaller_Release(This) \737( (This)->lpVtbl -> Release(This) )738739740#define ID3DShaderCacheInstaller_RegisterDriverUpdateListener(This) \741( (This)->lpVtbl -> RegisterDriverUpdateListener(This) )742743#define ID3DShaderCacheInstaller_UnregisterDriverUpdateListener(This) \744( (This)->lpVtbl -> UnregisterDriverUpdateListener(This) )745746#define ID3DShaderCacheInstaller_RegisterServiceDriverUpdateTrigger(This,hServiceHandle) \747( (This)->lpVtbl -> RegisterServiceDriverUpdateTrigger(This,hServiceHandle) )748749#define ID3DShaderCacheInstaller_UnregisterServiceDriverUpdateTrigger(This,hServiceHandle) \750( (This)->lpVtbl -> UnregisterServiceDriverUpdateTrigger(This,hServiceHandle) )751752#define ID3DShaderCacheInstaller_RegisterApplication(This,pExePath,pApplicationDesc,riid,ppvApp) \753( (This)->lpVtbl -> RegisterApplication(This,pExePath,pApplicationDesc,riid,ppvApp) )754755#define ID3DShaderCacheInstaller_RemoveApplication(This,pApplication) \756( (This)->lpVtbl -> RemoveApplication(This,pApplication) )757758#define ID3DShaderCacheInstaller_GetApplicationCount(This) \759( (This)->lpVtbl -> GetApplicationCount(This) )760761#define ID3DShaderCacheInstaller_GetApplication(This,index,riid,ppvApp) \762( (This)->lpVtbl -> GetApplication(This,index,riid,ppvApp) )763764#define ID3DShaderCacheInstaller_ClearAllState(This) \765( (This)->lpVtbl -> ClearAllState(This) )766767#define ID3DShaderCacheInstaller_GetMaxPrecompileTargetCount(This) \768( (This)->lpVtbl -> GetMaxPrecompileTargetCount(This) )769770#define ID3DShaderCacheInstaller_GetPrecompileTargets(This,pApplicationDesc,pArraySize,pArray,flags) \771( (This)->lpVtbl -> GetPrecompileTargets(This,pApplicationDesc,pArraySize,pArray,flags) )772773#endif /* COBJMACROS */774775776#endif /* C style interface */777778779780781#endif /* __ID3DShaderCacheInstaller_INTERFACE_DEFINED__ */782783784#ifndef __ID3DShaderCacheExplorer_INTERFACE_DEFINED__785#define __ID3DShaderCacheExplorer_INTERFACE_DEFINED__786787/* interface ID3DShaderCacheExplorer */788/* [unique][local][object][uuid] */789790791EXTERN_C const IID IID_ID3DShaderCacheExplorer;792793#if defined(__cplusplus) && !defined(CINTERFACE)794795MIDL_INTERFACE("90432322-32f5-487f-9264-e9390fa58b2a")796ID3DShaderCacheExplorer : public IUnknown797{798public:799virtual HRESULT STDMETHODCALLTYPE GetApplicationFromExePath(800_In_ const wchar_t *pFullExePath,801REFIID riid,802_COM_Outptr_ void **ppvApp) = 0;803804};805806807#else /* C style interface */808809typedef struct ID3DShaderCacheExplorerVtbl810{811BEGIN_INTERFACE812813DECLSPEC_XFGVIRT(IUnknown, QueryInterface)814HRESULT ( STDMETHODCALLTYPE *QueryInterface )(815ID3DShaderCacheExplorer * This,816REFIID riid,817_COM_Outptr_ void **ppvObject);818819DECLSPEC_XFGVIRT(IUnknown, AddRef)820ULONG ( STDMETHODCALLTYPE *AddRef )(821ID3DShaderCacheExplorer * This);822823DECLSPEC_XFGVIRT(IUnknown, Release)824ULONG ( STDMETHODCALLTYPE *Release )(825ID3DShaderCacheExplorer * This);826827DECLSPEC_XFGVIRT(ID3DShaderCacheExplorer, GetApplicationFromExePath)828HRESULT ( STDMETHODCALLTYPE *GetApplicationFromExePath )(829ID3DShaderCacheExplorer * This,830_In_ const wchar_t *pFullExePath,831REFIID riid,832_COM_Outptr_ void **ppvApp);833834END_INTERFACE835} ID3DShaderCacheExplorerVtbl;836837interface ID3DShaderCacheExplorer838{839CONST_VTBL struct ID3DShaderCacheExplorerVtbl *lpVtbl;840};841842843844#ifdef COBJMACROS845846847#define ID3DShaderCacheExplorer_QueryInterface(This,riid,ppvObject) \848( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )849850#define ID3DShaderCacheExplorer_AddRef(This) \851( (This)->lpVtbl -> AddRef(This) )852853#define ID3DShaderCacheExplorer_Release(This) \854( (This)->lpVtbl -> Release(This) )855856857#define ID3DShaderCacheExplorer_GetApplicationFromExePath(This,pFullExePath,riid,ppvApp) \858( (This)->lpVtbl -> GetApplicationFromExePath(This,pFullExePath,riid,ppvApp) )859860#endif /* COBJMACROS */861862863#endif /* C style interface */864865866867868#endif /* __ID3DShaderCacheExplorer_INTERFACE_DEFINED__ */869870871#ifndef __ID3DShaderCacheInstallerFactory_INTERFACE_DEFINED__872#define __ID3DShaderCacheInstallerFactory_INTERFACE_DEFINED__873874/* interface ID3DShaderCacheInstallerFactory */875/* [unique][local][object][uuid] */876877878EXTERN_C const IID IID_ID3DShaderCacheInstallerFactory;879880#if defined(__cplusplus) && !defined(CINTERFACE)881882MIDL_INTERFACE("09b2dfe4-840f-401a-804c-0dd8aadc9e9f")883ID3DShaderCacheInstallerFactory : public IUnknown884{885public:886virtual HRESULT STDMETHODCALLTYPE CreateInstaller(887_In_ ID3DShaderCacheInstallerClient *pClient,888REFIID riid,889_COM_Outptr_ void **ppvInstaller) = 0;890891virtual HRESULT STDMETHODCALLTYPE CreateExplorer(892IUnknown *pUnknown,893REFIID riid,894_COM_Outptr_ void **ppvExplorer) = 0;895896};897898899#else /* C style interface */900901typedef struct ID3DShaderCacheInstallerFactoryVtbl902{903BEGIN_INTERFACE904905DECLSPEC_XFGVIRT(IUnknown, QueryInterface)906HRESULT ( STDMETHODCALLTYPE *QueryInterface )(907ID3DShaderCacheInstallerFactory * This,908REFIID riid,909_COM_Outptr_ void **ppvObject);910911DECLSPEC_XFGVIRT(IUnknown, AddRef)912ULONG ( STDMETHODCALLTYPE *AddRef )(913ID3DShaderCacheInstallerFactory * This);914915DECLSPEC_XFGVIRT(IUnknown, Release)916ULONG ( STDMETHODCALLTYPE *Release )(917ID3DShaderCacheInstallerFactory * This);918919DECLSPEC_XFGVIRT(ID3DShaderCacheInstallerFactory, CreateInstaller)920HRESULT ( STDMETHODCALLTYPE *CreateInstaller )(921ID3DShaderCacheInstallerFactory * This,922_In_ ID3DShaderCacheInstallerClient *pClient,923REFIID riid,924_COM_Outptr_ void **ppvInstaller);925926DECLSPEC_XFGVIRT(ID3DShaderCacheInstallerFactory, CreateExplorer)927HRESULT ( STDMETHODCALLTYPE *CreateExplorer )(928ID3DShaderCacheInstallerFactory * This,929IUnknown *pUnknown,930REFIID riid,931_COM_Outptr_ void **ppvExplorer);932933END_INTERFACE934} ID3DShaderCacheInstallerFactoryVtbl;935936interface ID3DShaderCacheInstallerFactory937{938CONST_VTBL struct ID3DShaderCacheInstallerFactoryVtbl *lpVtbl;939};940941942943#ifdef COBJMACROS944945946#define ID3DShaderCacheInstallerFactory_QueryInterface(This,riid,ppvObject) \947( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )948949#define ID3DShaderCacheInstallerFactory_AddRef(This) \950( (This)->lpVtbl -> AddRef(This) )951952#define ID3DShaderCacheInstallerFactory_Release(This) \953( (This)->lpVtbl -> Release(This) )954955956#define ID3DShaderCacheInstallerFactory_CreateInstaller(This,pClient,riid,ppvInstaller) \957( (This)->lpVtbl -> CreateInstaller(This,pClient,riid,ppvInstaller) )958959#define ID3DShaderCacheInstallerFactory_CreateExplorer(This,pUnknown,riid,ppvExplorer) \960( (This)->lpVtbl -> CreateExplorer(This,pUnknown,riid,ppvExplorer) )961962#endif /* COBJMACROS */963964965#endif /* C style interface */966967968969970#endif /* __ID3DShaderCacheInstallerFactory_INTERFACE_DEFINED__ */971972973/* interface __MIDL_itf_d3dshadercacheregistration_0000_0006 */974/* [local] */975976DEFINE_GUID(IID_ID3DShaderCacheInstallerClient,0xa16ee930,0xd9f6,0x4222,0xa5,0x14,0x24,0x44,0x73,0xe5,0xd2,0x66);977DEFINE_GUID(IID_ID3DShaderCacheComponent,0xeed1bf00,0xf5c7,0x4cf7,0x88,0x5c,0xd0,0xf9,0xc0,0xcb,0x48,0x28);978DEFINE_GUID(IID_ID3DShaderCacheApplication,0xfc688ee2,0x1b35,0x4913,0x93,0xbe,0x1c,0xa3,0xfa,0x7d,0xf3,0x9e);979DEFINE_GUID(IID_ID3DShaderCacheInstaller,0xbbe30de1,0x6318,0x4526,0xae,0x17,0x77,0x66,0x93,0x19,0x1b,0xb4);980DEFINE_GUID(IID_ID3DShaderCacheExplorer,0x90432322,0x32f5,0x487f,0x92,0x64,0xe9,0x39,0x0f,0xa5,0x8b,0x2a);981DEFINE_GUID(IID_ID3DShaderCacheInstallerFactory,0x09b2dfe4,0x840f,0x401a,0x80,0x4c,0x0d,0xd8,0xaa,0xdc,0x9e,0x9f);982983984extern RPC_IF_HANDLE __MIDL_itf_d3dshadercacheregistration_0000_0006_v0_0_c_ifspec;985extern RPC_IF_HANDLE __MIDL_itf_d3dshadercacheregistration_0000_0006_v0_0_s_ifspec;986987/* Additional Prototypes for ALL interfaces */988989/* end of Additional Prototypes */990991#ifdef __cplusplus992}993#endif994995#endif9969979989991000