aboutsummaryrefslogtreecommitdiff
path: root/contrib/DirectX-Headers-1.618.2/include/directx/d3dshadercacheregistration.h
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/DirectX-Headers-1.618.2/include/directx/d3dshadercacheregistration.h')
-rw-r--r--contrib/DirectX-Headers-1.618.2/include/directx/d3dshadercacheregistration.h998
1 files changed, 998 insertions, 0 deletions
diff --git a/contrib/DirectX-Headers-1.618.2/include/directx/d3dshadercacheregistration.h b/contrib/DirectX-Headers-1.618.2/include/directx/d3dshadercacheregistration.h
new file mode 100644
index 0000000..671866a
--- /dev/null
+++ b/contrib/DirectX-Headers-1.618.2/include/directx/d3dshadercacheregistration.h
@@ -0,0 +1,998 @@
1/*-------------------------------------------------------------------------------------
2 *
3 * Copyright (c) Microsoft Corporation
4 * Licensed under the MIT license
5 *
6 *-------------------------------------------------------------------------------------*/
7
8
9/* this ALWAYS GENERATED file contains the definitions for the interfaces */
10
11
12 /* File created by MIDL compiler version 8.01.0628 */
13
14
15
16/* verify that the <rpcndr.h> version is high enough to compile this file*/
17#ifndef __REQUIRED_RPCNDR_H_VERSION__
18#define __REQUIRED_RPCNDR_H_VERSION__ 500
19#endif
20
21/* verify that the <rpcsal.h> version is high enough to compile this file*/
22#ifndef __REQUIRED_RPCSAL_H_VERSION__
23#define __REQUIRED_RPCSAL_H_VERSION__ 100
24#endif
25
26#include "rpc.h"
27#include "rpcndr.h"
28
29#ifndef __RPCNDR_H_VERSION__
30#error this stub requires an updated version of <rpcndr.h>
31#endif /* __RPCNDR_H_VERSION__ */
32
33#ifndef COM_NO_WINDOWS_H
34#include "windows.h"
35#include "ole2.h"
36#endif /*COM_NO_WINDOWS_H*/
37
38#ifndef __d3dshadercacheregistration_h__
39#define __d3dshadercacheregistration_h__
40
41#if defined(_MSC_VER) && (_MSC_VER >= 1020)
42#pragma once
43#endif
44
45#ifndef DECLSPEC_XFGVIRT
46#if defined(_CONTROL_FLOW_GUARD_XFG)
47#define DECLSPEC_XFGVIRT(base, func) __declspec(xfg_virtual(base, func))
48#else
49#define DECLSPEC_XFGVIRT(base, func)
50#endif
51#endif
52
53/* Forward Declarations */
54
55#ifndef __ID3DShaderCacheInstallerClient_FWD_DEFINED__
56#define __ID3DShaderCacheInstallerClient_FWD_DEFINED__
57typedef interface ID3DShaderCacheInstallerClient ID3DShaderCacheInstallerClient;
58
59#endif /* __ID3DShaderCacheInstallerClient_FWD_DEFINED__ */
60
61
62#ifndef __ID3DShaderCacheComponent_FWD_DEFINED__
63#define __ID3DShaderCacheComponent_FWD_DEFINED__
64typedef interface ID3DShaderCacheComponent ID3DShaderCacheComponent;
65
66#endif /* __ID3DShaderCacheComponent_FWD_DEFINED__ */
67
68
69#ifndef __ID3DShaderCacheApplication_FWD_DEFINED__
70#define __ID3DShaderCacheApplication_FWD_DEFINED__
71typedef interface ID3DShaderCacheApplication ID3DShaderCacheApplication;
72
73#endif /* __ID3DShaderCacheApplication_FWD_DEFINED__ */
74
75
76#ifndef __ID3DShaderCacheInstaller_FWD_DEFINED__
77#define __ID3DShaderCacheInstaller_FWD_DEFINED__
78typedef interface ID3DShaderCacheInstaller ID3DShaderCacheInstaller;
79
80#endif /* __ID3DShaderCacheInstaller_FWD_DEFINED__ */
81
82
83#ifndef __ID3DShaderCacheExplorer_FWD_DEFINED__
84#define __ID3DShaderCacheExplorer_FWD_DEFINED__
85typedef interface ID3DShaderCacheExplorer ID3DShaderCacheExplorer;
86
87#endif /* __ID3DShaderCacheExplorer_FWD_DEFINED__ */
88
89
90#ifndef __ID3DShaderCacheInstallerFactory_FWD_DEFINED__
91#define __ID3DShaderCacheInstallerFactory_FWD_DEFINED__
92typedef interface ID3DShaderCacheInstallerFactory ID3DShaderCacheInstallerFactory;
93
94#endif /* __ID3DShaderCacheInstallerFactory_FWD_DEFINED__ */
95
96
97/* header files for imported files */
98#include "oaidl.h"
99#include "ocidl.h"
100
101#ifdef __cplusplus
102extern "C"{
103#endif
104
105
106/* interface __MIDL_itf_d3dshadercacheregistration_0000_0000 */
107/* [local] */
108
109#pragma once
110DEFINE_GUID(CLSID_D3DShaderCacheInstallerFactory, 0x16195a0b, 0x607c, 0x41f1, 0xbf, 0x03, 0xc7, 0x69, 0x4d, 0x60, 0xa8, 0xd4);
111typedef
112enum D3D_SHADER_CACHE_APP_REGISTRATION_SCOPE
113 {
114 D3D_SHADER_CACHE_APP_REGISTRATION_SCOPE_USER = 0,
115 D3D_SHADER_CACHE_APP_REGISTRATION_SCOPE_SYSTEM = ( D3D_SHADER_CACHE_APP_REGISTRATION_SCOPE_USER + 1 )
116 } D3D_SHADER_CACHE_APP_REGISTRATION_SCOPE;
117
118
119
120
121extern RPC_IF_HANDLE __MIDL_itf_d3dshadercacheregistration_0000_0000_v0_0_c_ifspec;
122extern RPC_IF_HANDLE __MIDL_itf_d3dshadercacheregistration_0000_0000_v0_0_s_ifspec;
123
124#ifndef __ID3DShaderCacheInstallerClient_INTERFACE_DEFINED__
125#define __ID3DShaderCacheInstallerClient_INTERFACE_DEFINED__
126
127/* interface ID3DShaderCacheInstallerClient */
128/* [unique][local][object][uuid] */
129
130
131EXTERN_C const IID IID_ID3DShaderCacheInstallerClient;
132
133#if defined(__cplusplus) && !defined(CINTERFACE)
134
135 MIDL_INTERFACE("a16ee930-d9f6-4222-a514-244473e5d266")
136 ID3DShaderCacheInstallerClient
137 {
138 public:
139 BEGIN_INTERFACE
140 virtual HRESULT STDMETHODCALLTYPE GetInstallerName(
141 _Inout_ SIZE_T *pNameLength,
142 _Out_writes_opt_(*pNameLength) wchar_t *pName) = 0;
143
144 virtual D3D_SHADER_CACHE_APP_REGISTRATION_SCOPE STDMETHODCALLTYPE GetInstallerScope( void) = 0;
145
146 virtual HRESULT STDMETHODCALLTYPE HandleDriverUpdate(
147 _In_ ID3DShaderCacheInstaller *pInstaller) = 0;
148
149 END_INTERFACE
150 };
151
152
153#else /* C style interface */
154
155 typedef struct ID3DShaderCacheInstallerClientVtbl
156 {
157 BEGIN_INTERFACE
158
159 DECLSPEC_XFGVIRT(ID3DShaderCacheInstallerClient, GetInstallerName)
160 HRESULT ( STDMETHODCALLTYPE *GetInstallerName )(
161 ID3DShaderCacheInstallerClient * This,
162 _Inout_ SIZE_T *pNameLength,
163 _Out_writes_opt_(*pNameLength) wchar_t *pName);
164
165 DECLSPEC_XFGVIRT(ID3DShaderCacheInstallerClient, GetInstallerScope)
166 D3D_SHADER_CACHE_APP_REGISTRATION_SCOPE ( STDMETHODCALLTYPE *GetInstallerScope )(
167 ID3DShaderCacheInstallerClient * This);
168
169 DECLSPEC_XFGVIRT(ID3DShaderCacheInstallerClient, HandleDriverUpdate)
170 HRESULT ( STDMETHODCALLTYPE *HandleDriverUpdate )(
171 ID3DShaderCacheInstallerClient * This,
172 _In_ ID3DShaderCacheInstaller *pInstaller);
173
174 END_INTERFACE
175 } ID3DShaderCacheInstallerClientVtbl;
176
177 interface ID3DShaderCacheInstallerClient
178 {
179 CONST_VTBL struct ID3DShaderCacheInstallerClientVtbl *lpVtbl;
180 };
181
182
183
184#ifdef COBJMACROS
185
186
187#define ID3DShaderCacheInstallerClient_GetInstallerName(This,pNameLength,pName) \
188 ( (This)->lpVtbl -> GetInstallerName(This,pNameLength,pName) )
189
190#define ID3DShaderCacheInstallerClient_GetInstallerScope(This) \
191 ( (This)->lpVtbl -> GetInstallerScope(This) )
192
193#define ID3DShaderCacheInstallerClient_HandleDriverUpdate(This,pInstaller) \
194 ( (This)->lpVtbl -> HandleDriverUpdate(This,pInstaller) )
195
196#endif /* COBJMACROS */
197
198
199#endif /* C style interface */
200
201
202
203
204#endif /* __ID3DShaderCacheInstallerClient_INTERFACE_DEFINED__ */
205
206
207/* interface __MIDL_itf_d3dshadercacheregistration_0000_0001 */
208/* [local] */
209
210typedef struct D3D_SHADER_CACHE_PSDB_PROPERTIES
211 {
212 const wchar_t *pAdapterFamily;
213 const wchar_t *pPsdbPath;
214 } D3D_SHADER_CACHE_PSDB_PROPERTIES;
215
216
217
218extern RPC_IF_HANDLE __MIDL_itf_d3dshadercacheregistration_0000_0001_v0_0_c_ifspec;
219extern RPC_IF_HANDLE __MIDL_itf_d3dshadercacheregistration_0000_0001_v0_0_s_ifspec;
220
221#ifndef __ID3DShaderCacheComponent_INTERFACE_DEFINED__
222#define __ID3DShaderCacheComponent_INTERFACE_DEFINED__
223
224/* interface ID3DShaderCacheComponent */
225/* [unique][local][object][uuid] */
226
227
228EXTERN_C const IID IID_ID3DShaderCacheComponent;
229
230#if defined(__cplusplus) && !defined(CINTERFACE)
231
232 MIDL_INTERFACE("eed1bf00-f5c7-4cf7-885c-d0f9c0cb4828")
233 ID3DShaderCacheComponent : public IUnknown
234 {
235 public:
236 virtual HRESULT STDMETHODCALLTYPE GetComponentName(
237 _Out_ const wchar_t **pName) = 0;
238
239 virtual HRESULT STDMETHODCALLTYPE GetStateObjectDatabasePath(
240 _Out_ const wchar_t **pPath) = 0;
241
242 virtual HRESULT STDMETHODCALLTYPE GetPrecompiledCachePath(
243 _In_ const wchar_t *pAdapterFamily,
244 _Inout_ const wchar_t **pPath) = 0;
245
246 virtual UINT STDMETHODCALLTYPE GetPrecompiledShaderDatabaseCount( void) = 0;
247
248 virtual HRESULT STDMETHODCALLTYPE GetPrecompiledShaderDatabases(
249 UINT ArraySize,
250 _Out_writes_(ArraySize) D3D_SHADER_CACHE_PSDB_PROPERTIES *pPSDBs) = 0;
251
252 };
253
254
255#else /* C style interface */
256
257 typedef struct ID3DShaderCacheComponentVtbl
258 {
259 BEGIN_INTERFACE
260
261 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
262 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
263 ID3DShaderCacheComponent * This,
264 REFIID riid,
265 _COM_Outptr_ void **ppvObject);
266
267 DECLSPEC_XFGVIRT(IUnknown, AddRef)
268 ULONG ( STDMETHODCALLTYPE *AddRef )(
269 ID3DShaderCacheComponent * This);
270
271 DECLSPEC_XFGVIRT(IUnknown, Release)
272 ULONG ( STDMETHODCALLTYPE *Release )(
273 ID3DShaderCacheComponent * This);
274
275 DECLSPEC_XFGVIRT(ID3DShaderCacheComponent, GetComponentName)
276 HRESULT ( STDMETHODCALLTYPE *GetComponentName )(
277 ID3DShaderCacheComponent * This,
278 _Out_ const wchar_t **pName);
279
280 DECLSPEC_XFGVIRT(ID3DShaderCacheComponent, GetStateObjectDatabasePath)
281 HRESULT ( STDMETHODCALLTYPE *GetStateObjectDatabasePath )(
282 ID3DShaderCacheComponent * This,
283 _Out_ const wchar_t **pPath);
284
285 DECLSPEC_XFGVIRT(ID3DShaderCacheComponent, GetPrecompiledCachePath)
286 HRESULT ( STDMETHODCALLTYPE *GetPrecompiledCachePath )(
287 ID3DShaderCacheComponent * This,
288 _In_ const wchar_t *pAdapterFamily,
289 _Inout_ const wchar_t **pPath);
290
291 DECLSPEC_XFGVIRT(ID3DShaderCacheComponent, GetPrecompiledShaderDatabaseCount)
292 UINT ( STDMETHODCALLTYPE *GetPrecompiledShaderDatabaseCount )(
293 ID3DShaderCacheComponent * This);
294
295 DECLSPEC_XFGVIRT(ID3DShaderCacheComponent, GetPrecompiledShaderDatabases)
296 HRESULT ( STDMETHODCALLTYPE *GetPrecompiledShaderDatabases )(
297 ID3DShaderCacheComponent * This,
298 UINT ArraySize,
299 _Out_writes_(ArraySize) D3D_SHADER_CACHE_PSDB_PROPERTIES *pPSDBs);
300
301 END_INTERFACE
302 } ID3DShaderCacheComponentVtbl;
303
304 interface ID3DShaderCacheComponent
305 {
306 CONST_VTBL struct ID3DShaderCacheComponentVtbl *lpVtbl;
307 };
308
309
310
311#ifdef COBJMACROS
312
313
314#define ID3DShaderCacheComponent_QueryInterface(This,riid,ppvObject) \
315 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
316
317#define ID3DShaderCacheComponent_AddRef(This) \
318 ( (This)->lpVtbl -> AddRef(This) )
319
320#define ID3DShaderCacheComponent_Release(This) \
321 ( (This)->lpVtbl -> Release(This) )
322
323
324#define ID3DShaderCacheComponent_GetComponentName(This,pName) \
325 ( (This)->lpVtbl -> GetComponentName(This,pName) )
326
327#define ID3DShaderCacheComponent_GetStateObjectDatabasePath(This,pPath) \
328 ( (This)->lpVtbl -> GetStateObjectDatabasePath(This,pPath) )
329
330#define ID3DShaderCacheComponent_GetPrecompiledCachePath(This,pAdapterFamily,pPath) \
331 ( (This)->lpVtbl -> GetPrecompiledCachePath(This,pAdapterFamily,pPath) )
332
333#define ID3DShaderCacheComponent_GetPrecompiledShaderDatabaseCount(This) \
334 ( (This)->lpVtbl -> GetPrecompiledShaderDatabaseCount(This) )
335
336#define ID3DShaderCacheComponent_GetPrecompiledShaderDatabases(This,ArraySize,pPSDBs) \
337 ( (This)->lpVtbl -> GetPrecompiledShaderDatabases(This,ArraySize,pPSDBs) )
338
339#endif /* COBJMACROS */
340
341
342#endif /* C style interface */
343
344
345
346
347#endif /* __ID3DShaderCacheComponent_INTERFACE_DEFINED__ */
348
349
350/* interface __MIDL_itf_d3dshadercacheregistration_0000_0002 */
351/* [local] */
352
353typedef
354enum D3D_SHADER_CACHE_TARGET_FLAGS
355 {
356 D3D_SHADER_CACHE_TARGET_FLAG_NONE = 0
357 } D3D_SHADER_CACHE_TARGET_FLAGS;
358
359DEFINE_ENUM_FLAG_OPERATORS( D3D_SHADER_CACHE_TARGET_FLAGS )
360typedef union D3D_VERSION_NUMBER
361 {
362 UINT64 Version;
363 UINT16 VersionParts[ 4 ];
364 } D3D_VERSION_NUMBER;
365
366typedef struct D3D_SHADER_CACHE_COMPILER_PROPERTIES
367 {
368 wchar_t szAdapterFamily[ 128 ];
369 UINT64 MinimumABISupportVersion;
370 UINT64 MaximumABISupportVersion;
371 D3D_VERSION_NUMBER CompilerVersion;
372 D3D_VERSION_NUMBER ApplicationProfileVersion;
373 } D3D_SHADER_CACHE_COMPILER_PROPERTIES;
374
375typedef struct D3D_SHADER_CACHE_APPLICATION_DESC
376 {
377 const wchar_t *pExeFilename;
378 const wchar_t *pName;
379 D3D_VERSION_NUMBER Version;
380 const wchar_t *pEngineName;
381 D3D_VERSION_NUMBER EngineVersion;
382 } D3D_SHADER_CACHE_APPLICATION_DESC;
383
384
385
386extern RPC_IF_HANDLE __MIDL_itf_d3dshadercacheregistration_0000_0002_v0_0_c_ifspec;
387extern RPC_IF_HANDLE __MIDL_itf_d3dshadercacheregistration_0000_0002_v0_0_s_ifspec;
388
389#ifndef __ID3DShaderCacheApplication_INTERFACE_DEFINED__
390#define __ID3DShaderCacheApplication_INTERFACE_DEFINED__
391
392/* interface ID3DShaderCacheApplication */
393/* [unique][local][object][uuid] */
394
395
396EXTERN_C const IID IID_ID3DShaderCacheApplication;
397
398#if defined(__cplusplus) && !defined(CINTERFACE)
399
400 MIDL_INTERFACE("fc688ee2-1b35-4913-93be-1ca3fa7df39e")
401 ID3DShaderCacheApplication : public IUnknown
402 {
403 public:
404 virtual HRESULT STDMETHODCALLTYPE GetExePath(
405 _Out_ const wchar_t **pExePath) = 0;
406
407 virtual HRESULT STDMETHODCALLTYPE GetDesc(
408 _Out_ D3D_SHADER_CACHE_APPLICATION_DESC *pApplicationDesc) = 0;
409
410 virtual HRESULT STDMETHODCALLTYPE RegisterComponent(
411 _In_ const wchar_t *pName,
412 _In_ const wchar_t *pStateObjectDBPath,
413 _In_ UINT NumPSDB,
414 _In_reads_(NumPSDB) const D3D_SHADER_CACHE_PSDB_PROPERTIES *pPSDBs,
415 REFIID riid,
416 _COM_Outptr_ void **ppvComponent) = 0;
417
418 virtual HRESULT STDMETHODCALLTYPE RemoveComponent(
419 _In_ ID3DShaderCacheComponent *pComponent) = 0;
420
421 virtual UINT STDMETHODCALLTYPE GetComponentCount( void) = 0;
422
423 virtual HRESULT STDMETHODCALLTYPE GetComponent(
424 _In_ UINT index,
425 REFIID riid,
426 _COM_Outptr_ void **ppvComponent) = 0;
427
428 virtual UINT STDMETHODCALLTYPE GetPrecompileTargetCount(
429 D3D_SHADER_CACHE_TARGET_FLAGS flags) = 0;
430
431 virtual HRESULT STDMETHODCALLTYPE GetPrecompileTargets(
432 _In_ UINT ArraySize,
433 _In_reads_(ArraySize) D3D_SHADER_CACHE_COMPILER_PROPERTIES *pArray,
434 D3D_SHADER_CACHE_TARGET_FLAGS flags) = 0;
435
436 virtual HRESULT STDMETHODCALLTYPE GetInstallerName(
437 _Out_ const wchar_t **pInstallerName) = 0;
438
439 };
440
441
442#else /* C style interface */
443
444 typedef struct ID3DShaderCacheApplicationVtbl
445 {
446 BEGIN_INTERFACE
447
448 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
449 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
450 ID3DShaderCacheApplication * This,
451 REFIID riid,
452 _COM_Outptr_ void **ppvObject);
453
454 DECLSPEC_XFGVIRT(IUnknown, AddRef)
455 ULONG ( STDMETHODCALLTYPE *AddRef )(
456 ID3DShaderCacheApplication * This);
457
458 DECLSPEC_XFGVIRT(IUnknown, Release)
459 ULONG ( STDMETHODCALLTYPE *Release )(
460 ID3DShaderCacheApplication * This);
461
462 DECLSPEC_XFGVIRT(ID3DShaderCacheApplication, GetExePath)
463 HRESULT ( STDMETHODCALLTYPE *GetExePath )(
464 ID3DShaderCacheApplication * This,
465 _Out_ const wchar_t **pExePath);
466
467 DECLSPEC_XFGVIRT(ID3DShaderCacheApplication, GetDesc)
468 HRESULT ( STDMETHODCALLTYPE *GetDesc )(
469 ID3DShaderCacheApplication * This,
470 _Out_ D3D_SHADER_CACHE_APPLICATION_DESC *pApplicationDesc);
471
472 DECLSPEC_XFGVIRT(ID3DShaderCacheApplication, RegisterComponent)
473 HRESULT ( STDMETHODCALLTYPE *RegisterComponent )(
474 ID3DShaderCacheApplication * This,
475 _In_ const wchar_t *pName,
476 _In_ const wchar_t *pStateObjectDBPath,
477 _In_ UINT NumPSDB,
478 _In_reads_(NumPSDB) const D3D_SHADER_CACHE_PSDB_PROPERTIES *pPSDBs,
479 REFIID riid,
480 _COM_Outptr_ void **ppvComponent);
481
482 DECLSPEC_XFGVIRT(ID3DShaderCacheApplication, RemoveComponent)
483 HRESULT ( STDMETHODCALLTYPE *RemoveComponent )(
484 ID3DShaderCacheApplication * This,
485 _In_ ID3DShaderCacheComponent *pComponent);
486
487 DECLSPEC_XFGVIRT(ID3DShaderCacheApplication, GetComponentCount)
488 UINT ( STDMETHODCALLTYPE *GetComponentCount )(
489 ID3DShaderCacheApplication * This);
490
491 DECLSPEC_XFGVIRT(ID3DShaderCacheApplication, GetComponent)
492 HRESULT ( STDMETHODCALLTYPE *GetComponent )(
493 ID3DShaderCacheApplication * This,
494 _In_ UINT index,
495 REFIID riid,
496 _COM_Outptr_ void **ppvComponent);
497
498 DECLSPEC_XFGVIRT(ID3DShaderCacheApplication, GetPrecompileTargetCount)
499 UINT ( STDMETHODCALLTYPE *GetPrecompileTargetCount )(
500 ID3DShaderCacheApplication * This,
501 D3D_SHADER_CACHE_TARGET_FLAGS flags);
502
503 DECLSPEC_XFGVIRT(ID3DShaderCacheApplication, GetPrecompileTargets)
504 HRESULT ( STDMETHODCALLTYPE *GetPrecompileTargets )(
505 ID3DShaderCacheApplication * This,
506 _In_ UINT ArraySize,
507 _In_reads_(ArraySize) D3D_SHADER_CACHE_COMPILER_PROPERTIES *pArray,
508 D3D_SHADER_CACHE_TARGET_FLAGS flags);
509
510 DECLSPEC_XFGVIRT(ID3DShaderCacheApplication, GetInstallerName)
511 HRESULT ( STDMETHODCALLTYPE *GetInstallerName )(
512 ID3DShaderCacheApplication * This,
513 _Out_ const wchar_t **pInstallerName);
514
515 END_INTERFACE
516 } ID3DShaderCacheApplicationVtbl;
517
518 interface ID3DShaderCacheApplication
519 {
520 CONST_VTBL struct ID3DShaderCacheApplicationVtbl *lpVtbl;
521 };
522
523
524
525#ifdef COBJMACROS
526
527
528#define ID3DShaderCacheApplication_QueryInterface(This,riid,ppvObject) \
529 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
530
531#define ID3DShaderCacheApplication_AddRef(This) \
532 ( (This)->lpVtbl -> AddRef(This) )
533
534#define ID3DShaderCacheApplication_Release(This) \
535 ( (This)->lpVtbl -> Release(This) )
536
537
538#define ID3DShaderCacheApplication_GetExePath(This,pExePath) \
539 ( (This)->lpVtbl -> GetExePath(This,pExePath) )
540
541#define ID3DShaderCacheApplication_GetDesc(This,pApplicationDesc) \
542 ( (This)->lpVtbl -> GetDesc(This,pApplicationDesc) )
543
544#define ID3DShaderCacheApplication_RegisterComponent(This,pName,pStateObjectDBPath,NumPSDB,pPSDBs,riid,ppvComponent) \
545 ( (This)->lpVtbl -> RegisterComponent(This,pName,pStateObjectDBPath,NumPSDB,pPSDBs,riid,ppvComponent) )
546
547#define ID3DShaderCacheApplication_RemoveComponent(This,pComponent) \
548 ( (This)->lpVtbl -> RemoveComponent(This,pComponent) )
549
550#define ID3DShaderCacheApplication_GetComponentCount(This) \
551 ( (This)->lpVtbl -> GetComponentCount(This) )
552
553#define ID3DShaderCacheApplication_GetComponent(This,index,riid,ppvComponent) \
554 ( (This)->lpVtbl -> GetComponent(This,index,riid,ppvComponent) )
555
556#define ID3DShaderCacheApplication_GetPrecompileTargetCount(This,flags) \
557 ( (This)->lpVtbl -> GetPrecompileTargetCount(This,flags) )
558
559#define ID3DShaderCacheApplication_GetPrecompileTargets(This,ArraySize,pArray,flags) \
560 ( (This)->lpVtbl -> GetPrecompileTargets(This,ArraySize,pArray,flags) )
561
562#define ID3DShaderCacheApplication_GetInstallerName(This,pInstallerName) \
563 ( (This)->lpVtbl -> GetInstallerName(This,pInstallerName) )
564
565#endif /* COBJMACROS */
566
567
568#endif /* C style interface */
569
570
571
572
573#endif /* __ID3DShaderCacheApplication_INTERFACE_DEFINED__ */
574
575
576/* interface __MIDL_itf_d3dshadercacheregistration_0000_0003 */
577/* [local] */
578
579typedef struct SC_HANDLE__ *SC_HANDLE;
580
581
582
583extern RPC_IF_HANDLE __MIDL_itf_d3dshadercacheregistration_0000_0003_v0_0_c_ifspec;
584extern RPC_IF_HANDLE __MIDL_itf_d3dshadercacheregistration_0000_0003_v0_0_s_ifspec;
585
586#ifndef __ID3DShaderCacheInstaller_INTERFACE_DEFINED__
587#define __ID3DShaderCacheInstaller_INTERFACE_DEFINED__
588
589/* interface ID3DShaderCacheInstaller */
590/* [unique][local][object][uuid] */
591
592
593EXTERN_C const IID IID_ID3DShaderCacheInstaller;
594
595#if defined(__cplusplus) && !defined(CINTERFACE)
596
597 MIDL_INTERFACE("bbe30de1-6318-4526-ae17-776693191bb4")
598 ID3DShaderCacheInstaller : public IUnknown
599 {
600 public:
601 virtual HRESULT STDMETHODCALLTYPE RegisterDriverUpdateListener( void) = 0;
602
603 virtual HRESULT STDMETHODCALLTYPE UnregisterDriverUpdateListener( void) = 0;
604
605 virtual HRESULT STDMETHODCALLTYPE RegisterServiceDriverUpdateTrigger(
606 SC_HANDLE hServiceHandle) = 0;
607
608 virtual HRESULT STDMETHODCALLTYPE UnregisterServiceDriverUpdateTrigger(
609 SC_HANDLE hServiceHandle) = 0;
610
611 virtual HRESULT STDMETHODCALLTYPE RegisterApplication(
612 _In_ const wchar_t *pExePath,
613 _In_ const D3D_SHADER_CACHE_APPLICATION_DESC *pApplicationDesc,
614 REFIID riid,
615 _COM_Outptr_ void **ppvApp) = 0;
616
617 virtual HRESULT STDMETHODCALLTYPE RemoveApplication(
618 _In_ ID3DShaderCacheApplication *pApplication) = 0;
619
620 virtual UINT STDMETHODCALLTYPE GetApplicationCount( void) = 0;
621
622 virtual HRESULT STDMETHODCALLTYPE GetApplication(
623 _In_ UINT index,
624 REFIID riid,
625 _COM_Outptr_ void **ppvApp) = 0;
626
627 virtual HRESULT STDMETHODCALLTYPE ClearAllState( void) = 0;
628
629 virtual UINT STDMETHODCALLTYPE GetMaxPrecompileTargetCount( void) = 0;
630
631 virtual HRESULT STDMETHODCALLTYPE GetPrecompileTargets(
632 _In_opt_ const D3D_SHADER_CACHE_APPLICATION_DESC *pApplicationDesc,
633 _Inout_ UINT *pArraySize,
634 _Out_writes_(*pArraySize) D3D_SHADER_CACHE_COMPILER_PROPERTIES *pArray,
635 D3D_SHADER_CACHE_TARGET_FLAGS flags) = 0;
636
637 };
638
639
640#else /* C style interface */
641
642 typedef struct ID3DShaderCacheInstallerVtbl
643 {
644 BEGIN_INTERFACE
645
646 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
647 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
648 ID3DShaderCacheInstaller * This,
649 REFIID riid,
650 _COM_Outptr_ void **ppvObject);
651
652 DECLSPEC_XFGVIRT(IUnknown, AddRef)
653 ULONG ( STDMETHODCALLTYPE *AddRef )(
654 ID3DShaderCacheInstaller * This);
655
656 DECLSPEC_XFGVIRT(IUnknown, Release)
657 ULONG ( STDMETHODCALLTYPE *Release )(
658 ID3DShaderCacheInstaller * This);
659
660 DECLSPEC_XFGVIRT(ID3DShaderCacheInstaller, RegisterDriverUpdateListener)
661 HRESULT ( STDMETHODCALLTYPE *RegisterDriverUpdateListener )(
662 ID3DShaderCacheInstaller * This);
663
664 DECLSPEC_XFGVIRT(ID3DShaderCacheInstaller, UnregisterDriverUpdateListener)
665 HRESULT ( STDMETHODCALLTYPE *UnregisterDriverUpdateListener )(
666 ID3DShaderCacheInstaller * This);
667
668 DECLSPEC_XFGVIRT(ID3DShaderCacheInstaller, RegisterServiceDriverUpdateTrigger)
669 HRESULT ( STDMETHODCALLTYPE *RegisterServiceDriverUpdateTrigger )(
670 ID3DShaderCacheInstaller * This,
671 SC_HANDLE hServiceHandle);
672
673 DECLSPEC_XFGVIRT(ID3DShaderCacheInstaller, UnregisterServiceDriverUpdateTrigger)
674 HRESULT ( STDMETHODCALLTYPE *UnregisterServiceDriverUpdateTrigger )(
675 ID3DShaderCacheInstaller * This,
676 SC_HANDLE hServiceHandle);
677
678 DECLSPEC_XFGVIRT(ID3DShaderCacheInstaller, RegisterApplication)
679 HRESULT ( STDMETHODCALLTYPE *RegisterApplication )(
680 ID3DShaderCacheInstaller * This,
681 _In_ const wchar_t *pExePath,
682 _In_ const D3D_SHADER_CACHE_APPLICATION_DESC *pApplicationDesc,
683 REFIID riid,
684 _COM_Outptr_ void **ppvApp);
685
686 DECLSPEC_XFGVIRT(ID3DShaderCacheInstaller, RemoveApplication)
687 HRESULT ( STDMETHODCALLTYPE *RemoveApplication )(
688 ID3DShaderCacheInstaller * This,
689 _In_ ID3DShaderCacheApplication *pApplication);
690
691 DECLSPEC_XFGVIRT(ID3DShaderCacheInstaller, GetApplicationCount)
692 UINT ( STDMETHODCALLTYPE *GetApplicationCount )(
693 ID3DShaderCacheInstaller * This);
694
695 DECLSPEC_XFGVIRT(ID3DShaderCacheInstaller, GetApplication)
696 HRESULT ( STDMETHODCALLTYPE *GetApplication )(
697 ID3DShaderCacheInstaller * This,
698 _In_ UINT index,
699 REFIID riid,
700 _COM_Outptr_ void **ppvApp);
701
702 DECLSPEC_XFGVIRT(ID3DShaderCacheInstaller, ClearAllState)
703 HRESULT ( STDMETHODCALLTYPE *ClearAllState )(
704 ID3DShaderCacheInstaller * This);
705
706 DECLSPEC_XFGVIRT(ID3DShaderCacheInstaller, GetMaxPrecompileTargetCount)
707 UINT ( STDMETHODCALLTYPE *GetMaxPrecompileTargetCount )(
708 ID3DShaderCacheInstaller * This);
709
710 DECLSPEC_XFGVIRT(ID3DShaderCacheInstaller, GetPrecompileTargets)
711 HRESULT ( STDMETHODCALLTYPE *GetPrecompileTargets )(
712 ID3DShaderCacheInstaller * This,
713 _In_opt_ const D3D_SHADER_CACHE_APPLICATION_DESC *pApplicationDesc,
714 _Inout_ UINT *pArraySize,
715 _Out_writes_(*pArraySize) D3D_SHADER_CACHE_COMPILER_PROPERTIES *pArray,
716 D3D_SHADER_CACHE_TARGET_FLAGS flags);
717
718 END_INTERFACE
719 } ID3DShaderCacheInstallerVtbl;
720
721 interface ID3DShaderCacheInstaller
722 {
723 CONST_VTBL struct ID3DShaderCacheInstallerVtbl *lpVtbl;
724 };
725
726
727
728#ifdef COBJMACROS
729
730
731#define ID3DShaderCacheInstaller_QueryInterface(This,riid,ppvObject) \
732 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
733
734#define ID3DShaderCacheInstaller_AddRef(This) \
735 ( (This)->lpVtbl -> AddRef(This) )
736
737#define ID3DShaderCacheInstaller_Release(This) \
738 ( (This)->lpVtbl -> Release(This) )
739
740
741#define ID3DShaderCacheInstaller_RegisterDriverUpdateListener(This) \
742 ( (This)->lpVtbl -> RegisterDriverUpdateListener(This) )
743
744#define ID3DShaderCacheInstaller_UnregisterDriverUpdateListener(This) \
745 ( (This)->lpVtbl -> UnregisterDriverUpdateListener(This) )
746
747#define ID3DShaderCacheInstaller_RegisterServiceDriverUpdateTrigger(This,hServiceHandle) \
748 ( (This)->lpVtbl -> RegisterServiceDriverUpdateTrigger(This,hServiceHandle) )
749
750#define ID3DShaderCacheInstaller_UnregisterServiceDriverUpdateTrigger(This,hServiceHandle) \
751 ( (This)->lpVtbl -> UnregisterServiceDriverUpdateTrigger(This,hServiceHandle) )
752
753#define ID3DShaderCacheInstaller_RegisterApplication(This,pExePath,pApplicationDesc,riid,ppvApp) \
754 ( (This)->lpVtbl -> RegisterApplication(This,pExePath,pApplicationDesc,riid,ppvApp) )
755
756#define ID3DShaderCacheInstaller_RemoveApplication(This,pApplication) \
757 ( (This)->lpVtbl -> RemoveApplication(This,pApplication) )
758
759#define ID3DShaderCacheInstaller_GetApplicationCount(This) \
760 ( (This)->lpVtbl -> GetApplicationCount(This) )
761
762#define ID3DShaderCacheInstaller_GetApplication(This,index,riid,ppvApp) \
763 ( (This)->lpVtbl -> GetApplication(This,index,riid,ppvApp) )
764
765#define ID3DShaderCacheInstaller_ClearAllState(This) \
766 ( (This)->lpVtbl -> ClearAllState(This) )
767
768#define ID3DShaderCacheInstaller_GetMaxPrecompileTargetCount(This) \
769 ( (This)->lpVtbl -> GetMaxPrecompileTargetCount(This) )
770
771#define ID3DShaderCacheInstaller_GetPrecompileTargets(This,pApplicationDesc,pArraySize,pArray,flags) \
772 ( (This)->lpVtbl -> GetPrecompileTargets(This,pApplicationDesc,pArraySize,pArray,flags) )
773
774#endif /* COBJMACROS */
775
776
777#endif /* C style interface */
778
779
780
781
782#endif /* __ID3DShaderCacheInstaller_INTERFACE_DEFINED__ */
783
784
785#ifndef __ID3DShaderCacheExplorer_INTERFACE_DEFINED__
786#define __ID3DShaderCacheExplorer_INTERFACE_DEFINED__
787
788/* interface ID3DShaderCacheExplorer */
789/* [unique][local][object][uuid] */
790
791
792EXTERN_C const IID IID_ID3DShaderCacheExplorer;
793
794#if defined(__cplusplus) && !defined(CINTERFACE)
795
796 MIDL_INTERFACE("90432322-32f5-487f-9264-e9390fa58b2a")
797 ID3DShaderCacheExplorer : public IUnknown
798 {
799 public:
800 virtual HRESULT STDMETHODCALLTYPE GetApplicationFromExePath(
801 _In_ const wchar_t *pFullExePath,
802 REFIID riid,
803 _COM_Outptr_ void **ppvApp) = 0;
804
805 };
806
807
808#else /* C style interface */
809
810 typedef struct ID3DShaderCacheExplorerVtbl
811 {
812 BEGIN_INTERFACE
813
814 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
815 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
816 ID3DShaderCacheExplorer * This,
817 REFIID riid,
818 _COM_Outptr_ void **ppvObject);
819
820 DECLSPEC_XFGVIRT(IUnknown, AddRef)
821 ULONG ( STDMETHODCALLTYPE *AddRef )(
822 ID3DShaderCacheExplorer * This);
823
824 DECLSPEC_XFGVIRT(IUnknown, Release)
825 ULONG ( STDMETHODCALLTYPE *Release )(
826 ID3DShaderCacheExplorer * This);
827
828 DECLSPEC_XFGVIRT(ID3DShaderCacheExplorer, GetApplicationFromExePath)
829 HRESULT ( STDMETHODCALLTYPE *GetApplicationFromExePath )(
830 ID3DShaderCacheExplorer * This,
831 _In_ const wchar_t *pFullExePath,
832 REFIID riid,
833 _COM_Outptr_ void **ppvApp);
834
835 END_INTERFACE
836 } ID3DShaderCacheExplorerVtbl;
837
838 interface ID3DShaderCacheExplorer
839 {
840 CONST_VTBL struct ID3DShaderCacheExplorerVtbl *lpVtbl;
841 };
842
843
844
845#ifdef COBJMACROS
846
847
848#define ID3DShaderCacheExplorer_QueryInterface(This,riid,ppvObject) \
849 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
850
851#define ID3DShaderCacheExplorer_AddRef(This) \
852 ( (This)->lpVtbl -> AddRef(This) )
853
854#define ID3DShaderCacheExplorer_Release(This) \
855 ( (This)->lpVtbl -> Release(This) )
856
857
858#define ID3DShaderCacheExplorer_GetApplicationFromExePath(This,pFullExePath,riid,ppvApp) \
859 ( (This)->lpVtbl -> GetApplicationFromExePath(This,pFullExePath,riid,ppvApp) )
860
861#endif /* COBJMACROS */
862
863
864#endif /* C style interface */
865
866
867
868
869#endif /* __ID3DShaderCacheExplorer_INTERFACE_DEFINED__ */
870
871
872#ifndef __ID3DShaderCacheInstallerFactory_INTERFACE_DEFINED__
873#define __ID3DShaderCacheInstallerFactory_INTERFACE_DEFINED__
874
875/* interface ID3DShaderCacheInstallerFactory */
876/* [unique][local][object][uuid] */
877
878
879EXTERN_C const IID IID_ID3DShaderCacheInstallerFactory;
880
881#if defined(__cplusplus) && !defined(CINTERFACE)
882
883 MIDL_INTERFACE("09b2dfe4-840f-401a-804c-0dd8aadc9e9f")
884 ID3DShaderCacheInstallerFactory : public IUnknown
885 {
886 public:
887 virtual HRESULT STDMETHODCALLTYPE CreateInstaller(
888 _In_ ID3DShaderCacheInstallerClient *pClient,
889 REFIID riid,
890 _COM_Outptr_ void **ppvInstaller) = 0;
891
892 virtual HRESULT STDMETHODCALLTYPE CreateExplorer(
893 IUnknown *pUnknown,
894 REFIID riid,
895 _COM_Outptr_ void **ppvExplorer) = 0;
896
897 };
898
899
900#else /* C style interface */
901
902 typedef struct ID3DShaderCacheInstallerFactoryVtbl
903 {
904 BEGIN_INTERFACE
905
906 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
907 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
908 ID3DShaderCacheInstallerFactory * This,
909 REFIID riid,
910 _COM_Outptr_ void **ppvObject);
911
912 DECLSPEC_XFGVIRT(IUnknown, AddRef)
913 ULONG ( STDMETHODCALLTYPE *AddRef )(
914 ID3DShaderCacheInstallerFactory * This);
915
916 DECLSPEC_XFGVIRT(IUnknown, Release)
917 ULONG ( STDMETHODCALLTYPE *Release )(
918 ID3DShaderCacheInstallerFactory * This);
919
920 DECLSPEC_XFGVIRT(ID3DShaderCacheInstallerFactory, CreateInstaller)
921 HRESULT ( STDMETHODCALLTYPE *CreateInstaller )(
922 ID3DShaderCacheInstallerFactory * This,
923 _In_ ID3DShaderCacheInstallerClient *pClient,
924 REFIID riid,
925 _COM_Outptr_ void **ppvInstaller);
926
927 DECLSPEC_XFGVIRT(ID3DShaderCacheInstallerFactory, CreateExplorer)
928 HRESULT ( STDMETHODCALLTYPE *CreateExplorer )(
929 ID3DShaderCacheInstallerFactory * This,
930 IUnknown *pUnknown,
931 REFIID riid,
932 _COM_Outptr_ void **ppvExplorer);
933
934 END_INTERFACE
935 } ID3DShaderCacheInstallerFactoryVtbl;
936
937 interface ID3DShaderCacheInstallerFactory
938 {
939 CONST_VTBL struct ID3DShaderCacheInstallerFactoryVtbl *lpVtbl;
940 };
941
942
943
944#ifdef COBJMACROS
945
946
947#define ID3DShaderCacheInstallerFactory_QueryInterface(This,riid,ppvObject) \
948 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
949
950#define ID3DShaderCacheInstallerFactory_AddRef(This) \
951 ( (This)->lpVtbl -> AddRef(This) )
952
953#define ID3DShaderCacheInstallerFactory_Release(This) \
954 ( (This)->lpVtbl -> Release(This) )
955
956
957#define ID3DShaderCacheInstallerFactory_CreateInstaller(This,pClient,riid,ppvInstaller) \
958 ( (This)->lpVtbl -> CreateInstaller(This,pClient,riid,ppvInstaller) )
959
960#define ID3DShaderCacheInstallerFactory_CreateExplorer(This,pUnknown,riid,ppvExplorer) \
961 ( (This)->lpVtbl -> CreateExplorer(This,pUnknown,riid,ppvExplorer) )
962
963#endif /* COBJMACROS */
964
965
966#endif /* C style interface */
967
968
969
970
971#endif /* __ID3DShaderCacheInstallerFactory_INTERFACE_DEFINED__ */
972
973
974/* interface __MIDL_itf_d3dshadercacheregistration_0000_0006 */
975/* [local] */
976
977DEFINE_GUID(IID_ID3DShaderCacheInstallerClient,0xa16ee930,0xd9f6,0x4222,0xa5,0x14,0x24,0x44,0x73,0xe5,0xd2,0x66);
978DEFINE_GUID(IID_ID3DShaderCacheComponent,0xeed1bf00,0xf5c7,0x4cf7,0x88,0x5c,0xd0,0xf9,0xc0,0xcb,0x48,0x28);
979DEFINE_GUID(IID_ID3DShaderCacheApplication,0xfc688ee2,0x1b35,0x4913,0x93,0xbe,0x1c,0xa3,0xfa,0x7d,0xf3,0x9e);
980DEFINE_GUID(IID_ID3DShaderCacheInstaller,0xbbe30de1,0x6318,0x4526,0xae,0x17,0x77,0x66,0x93,0x19,0x1b,0xb4);
981DEFINE_GUID(IID_ID3DShaderCacheExplorer,0x90432322,0x32f5,0x487f,0x92,0x64,0xe9,0x39,0x0f,0xa5,0x8b,0x2a);
982DEFINE_GUID(IID_ID3DShaderCacheInstallerFactory,0x09b2dfe4,0x840f,0x401a,0x80,0x4c,0x0d,0xd8,0xaa,0xdc,0x9e,0x9f);
983
984
985extern RPC_IF_HANDLE __MIDL_itf_d3dshadercacheregistration_0000_0006_v0_0_c_ifspec;
986extern RPC_IF_HANDLE __MIDL_itf_d3dshadercacheregistration_0000_0006_v0_0_s_ifspec;
987
988/* Additional Prototypes for ALL interfaces */
989
990/* end of Additional Prototypes */
991
992#ifdef __cplusplus
993}
994#endif
995
996#endif
997
998