Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
godotengine
GitHub Repository: godotengine/godot
Path: blob/master/thirdparty/directx_headers/include/directx/d3dshadercacheregistration.h
14728 views
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__
57
typedef interface ID3DShaderCacheInstallerClient ID3DShaderCacheInstallerClient;
58
59
#endif /* __ID3DShaderCacheInstallerClient_FWD_DEFINED__ */
60
61
62
#ifndef __ID3DShaderCacheComponent_FWD_DEFINED__
63
#define __ID3DShaderCacheComponent_FWD_DEFINED__
64
typedef interface ID3DShaderCacheComponent ID3DShaderCacheComponent;
65
66
#endif /* __ID3DShaderCacheComponent_FWD_DEFINED__ */
67
68
69
#ifndef __ID3DShaderCacheApplication_FWD_DEFINED__
70
#define __ID3DShaderCacheApplication_FWD_DEFINED__
71
typedef interface ID3DShaderCacheApplication ID3DShaderCacheApplication;
72
73
#endif /* __ID3DShaderCacheApplication_FWD_DEFINED__ */
74
75
76
#ifndef __ID3DShaderCacheInstaller_FWD_DEFINED__
77
#define __ID3DShaderCacheInstaller_FWD_DEFINED__
78
typedef interface ID3DShaderCacheInstaller ID3DShaderCacheInstaller;
79
80
#endif /* __ID3DShaderCacheInstaller_FWD_DEFINED__ */
81
82
83
#ifndef __ID3DShaderCacheExplorer_FWD_DEFINED__
84
#define __ID3DShaderCacheExplorer_FWD_DEFINED__
85
typedef interface ID3DShaderCacheExplorer ID3DShaderCacheExplorer;
86
87
#endif /* __ID3DShaderCacheExplorer_FWD_DEFINED__ */
88
89
90
#ifndef __ID3DShaderCacheInstallerFactory_FWD_DEFINED__
91
#define __ID3DShaderCacheInstallerFactory_FWD_DEFINED__
92
typedef 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
102
extern "C"{
103
#endif
104
105
106
/* interface __MIDL_itf_d3dshadercacheregistration_0000_0000 */
107
/* [local] */
108
109
#pragma once
110
DEFINE_GUID(CLSID_D3DShaderCacheInstallerFactory, 0x16195a0b, 0x607c, 0x41f1, 0xbf, 0x03, 0xc7, 0x69, 0x4d, 0x60, 0xa8, 0xd4);
111
typedef
112
enum 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
121
extern RPC_IF_HANDLE __MIDL_itf_d3dshadercacheregistration_0000_0000_v0_0_c_ifspec;
122
extern 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
131
EXTERN_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
210
typedef 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
218
extern RPC_IF_HANDLE __MIDL_itf_d3dshadercacheregistration_0000_0001_v0_0_c_ifspec;
219
extern 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
228
EXTERN_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
353
typedef
354
enum D3D_SHADER_CACHE_TARGET_FLAGS
355
{
356
D3D_SHADER_CACHE_TARGET_FLAG_NONE = 0
357
} D3D_SHADER_CACHE_TARGET_FLAGS;
358
359
DEFINE_ENUM_FLAG_OPERATORS( D3D_SHADER_CACHE_TARGET_FLAGS )
360
typedef union D3D_VERSION_NUMBER
361
{
362
UINT64 Version;
363
UINT16 VersionParts[ 4 ];
364
} D3D_VERSION_NUMBER;
365
366
typedef 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
375
typedef 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
386
extern RPC_IF_HANDLE __MIDL_itf_d3dshadercacheregistration_0000_0002_v0_0_c_ifspec;
387
extern 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
396
EXTERN_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
579
typedef struct SC_HANDLE__ *SC_HANDLE;
580
581
582
583
extern RPC_IF_HANDLE __MIDL_itf_d3dshadercacheregistration_0000_0003_v0_0_c_ifspec;
584
extern 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
593
EXTERN_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
792
EXTERN_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
879
EXTERN_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
977
DEFINE_GUID(IID_ID3DShaderCacheInstallerClient,0xa16ee930,0xd9f6,0x4222,0xa5,0x14,0x24,0x44,0x73,0xe5,0xd2,0x66);
978
DEFINE_GUID(IID_ID3DShaderCacheComponent,0xeed1bf00,0xf5c7,0x4cf7,0x88,0x5c,0xd0,0xf9,0xc0,0xcb,0x48,0x28);
979
DEFINE_GUID(IID_ID3DShaderCacheApplication,0xfc688ee2,0x1b35,0x4913,0x93,0xbe,0x1c,0xa3,0xfa,0x7d,0xf3,0x9e);
980
DEFINE_GUID(IID_ID3DShaderCacheInstaller,0xbbe30de1,0x6318,0x4526,0xae,0x17,0x77,0x66,0x93,0x19,0x1b,0xb4);
981
DEFINE_GUID(IID_ID3DShaderCacheExplorer,0x90432322,0x32f5,0x487f,0x92,0x64,0xe9,0x39,0x0f,0xa5,0x8b,0x2a);
982
DEFINE_GUID(IID_ID3DShaderCacheInstallerFactory,0x09b2dfe4,0x840f,0x401a,0x80,0x4c,0x0d,0xd8,0xaa,0xdc,0x9e,0x9f);
983
984
985
extern RPC_IF_HANDLE __MIDL_itf_d3dshadercacheregistration_0000_0006_v0_0_c_ifspec;
986
extern 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
999
1000