ViewVC Help
View File | Revision Log | View Changeset | Root Listing
root/Oni2/Daodan/MSYS2/mingw32/i686-w64-mingw32/include/ddk/bdasup.h
Revision: 1166
Committed: Tue Oct 26 14:22:36 2021 UTC (4 years ago) by rossy
Content type: text/x-chdr
File size: 4140 byte(s)
Log Message:
Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File Contents

# Content
1 #pragma once
2
3 #if (NTDDI_VERSION >= NTDDI_WINXP)
4
5 #if defined(__cplusplus)
6 extern "C" {
7 #endif
8
9 #if defined(_ARM_)
10 #define STDMETHODCALLTYPE
11 #else
12 #define STDMETHODCALLTYPE __stdcall
13 #endif
14
15 #ifndef _WDMDDK_
16 typedef GUID *PGUID;
17 #endif
18
19 /* Types */
20
21 typedef ULONG BDA_TOPOLOGY_JOINT, *PBDA_TOPOLOGY_JOINT;
22
23 typedef struct _BDA_PIN_PAIRING {
24 ULONG ulInputPin;
25 ULONG ulOutputPin;
26 ULONG ulcMaxInputsPerOutput;
27 ULONG ulcMinInputsPerOutput;
28 ULONG ulcMaxOutputsPerInput;
29 ULONG ulcMinOutputsPerInput;
30 ULONG ulcTopologyJoints;
31 const ULONG *pTopologyJoints;
32 } BDA_PIN_PAIRING, *PBDA_PIN_PAIRING;
33
34 typedef struct _BDA_FILTER_TEMPLATE {
35 const KSFILTER_DESCRIPTOR *pFilterDescriptor;
36 ULONG ulcPinPairs;
37 const BDA_PIN_PAIRING *pPinPairs;
38 } BDA_FILTER_TEMPLATE, *PBDA_FILTER_TEMPLATE;
39
40 typedef struct _KSM_PIN_PAIR {
41 KSMETHOD Method;
42 ULONG InputPinId;
43 ULONG OutputPinId;
44 ULONG Reserved;
45 } KSM_PIN_PAIR, * PKSM_PIN_PAIR;
46
47 typedef struct _KSM_PIN {
48 KSMETHOD Method;
49 __GNU_EXTENSION union {
50 ULONG PinId;
51 ULONG PinType;
52 };
53 ULONG Reserved;
54 } KSM_PIN, * PKSM_PIN;
55
56 /* Functions */
57
58 STDMETHODIMP_(NTSTATUS)
59 BdaCheckChanges(
60 IN PIRP Irp);
61
62 STDMETHODIMP_(NTSTATUS)
63 BdaCommitChanges(
64 IN PIRP Irp);
65
66 STDMETHODIMP_(NTSTATUS)
67 BdaCreateFilterFactory(
68 IN PKSDEVICE pKSDevice,
69 IN const KSFILTER_DESCRIPTOR *pFilterDescriptor,
70 IN const BDA_FILTER_TEMPLATE *pBdaFilterTemplate);
71
72 STDMETHODIMP_(NTSTATUS)
73 BdaCreateFilterFactoryEx(
74 IN PKSDEVICE pKSDevice,
75 IN const KSFILTER_DESCRIPTOR *pFilterDescriptor,
76 IN const BDA_FILTER_TEMPLATE *pBdaFilterTemplate,
77 OUT PKSFILTERFACTORY *ppKSFilterFactory);
78
79 STDMETHODIMP_(NTSTATUS)
80 BdaCreatePin(
81 IN PKSFILTER pKSFilter,
82 IN ULONG ulPinType,
83 OUT ULONG *pulPinId);
84
85 STDMETHODIMP_(NTSTATUS)
86 BdaCreateTopology(
87 IN PKSFILTER pKSFilter,
88 IN ULONG InputPinId,
89 IN ULONG OutputPinId);
90
91 STDMETHODIMP_(NTSTATUS)
92 BdaDeletePin(
93 IN PKSFILTER pKSFilter,
94 IN ULONG *pulPinId);
95
96 STDMETHODIMP_(NTSTATUS)
97 BdaFilterFactoryUpdateCacheData(
98 IN PKSFILTERFACTORY pFilterFactory,
99 IN const KSFILTER_DESCRIPTOR *pFilterDescriptor OPTIONAL);
100
101 STDMETHODIMP_(NTSTATUS)
102 BdaGetChangeState(
103 IN PIRP Irp,
104 OUT BDA_CHANGE_STATE *pChangeState);
105
106 STDMETHODIMP_(NTSTATUS)
107 BdaInitFilter(
108 IN PKSFILTER pKSFilter,
109 IN const BDA_FILTER_TEMPLATE *pBdaFilterTemplate);
110
111 STDMETHODIMP_(NTSTATUS)
112 BdaMethodCreatePin(
113 IN PIRP Irp,
114 IN KSMETHOD *pKSMethod,
115 OUT ULONG *pulPinFactoryID);
116
117 STDMETHODIMP_(NTSTATUS)
118 BdaMethodCreateTopology(
119 IN PIRP Irp,
120 IN KSMETHOD *pKSMethod,
121 OPTIONAL PVOID pvIgnored);
122
123 STDMETHODIMP_(NTSTATUS)
124 BdaMethodDeletePin(
125 IN PIRP Irp,
126 IN KSMETHOD *pKSMethod,
127 OPTIONAL PVOID pvIgnored);
128
129 STDMETHODIMP_(NTSTATUS)
130 BdaPropertyGetControllingPinId(
131 IN PIRP Irp,
132 IN KSP_BDA_NODE_PIN *pProperty,
133 OUT ULONG *pulControllingPinId);
134
135 STDMETHODIMP_(NTSTATUS)
136 BdaPropertyGetPinControl(
137 IN PIRP Irp,
138 IN KSPROPERTY *pKSProperty,
139 OUT ULONG *pulProperty);
140
141 STDMETHODIMP_(NTSTATUS)
142 BdaPropertyNodeDescriptors(
143 IN PIRP Irp,
144 IN KSPROPERTY *pKSProperty,
145 OUT BDANODE_DESCRIPTOR *pNodeDescriptorProperty);
146
147 STDMETHODIMP_(NTSTATUS)
148 BdaPropertyNodeEvents(
149 IN PIRP Irp,
150 IN KSP_NODE *pKSProperty,
151 OUT GUID *pguidProperty);
152
153 STDMETHODIMP_(NTSTATUS)
154 BdaPropertyNodeMethods(
155 IN PIRP Irp,
156 IN KSP_NODE *pKSProperty,
157 OUT GUID *pguidProperty);
158
159 STDMETHODIMP_(NTSTATUS)
160 BdaPropertyNodeProperties(
161 IN PIRP Irp,
162 IN KSP_NODE *pKSProperty,
163 OUT GUID *pguidProperty);
164
165 STDMETHODIMP_(NTSTATUS)
166 BdaPropertyNodeTypes(
167 IN PIRP Irp,
168 IN KSPROPERTY *pKSProperty,
169 OUT ULONG *pulProperty);
170
171 STDMETHODIMP_(NTSTATUS)
172 BdaPropertyPinTypes(
173 IN PIRP Irp,
174 IN KSPROPERTY *pKSProperty,
175 OUT ULONG *pulProperty);
176
177 STDMETHODIMP_(NTSTATUS)
178 BdaPropertyTemplateConnections(
179 IN PIRP Irp,
180 IN KSPROPERTY *pKSProperty,
181 OUT KSTOPOLOGY_CONNECTION *pConnectionProperty);
182
183 STDMETHODIMP_(NTSTATUS)
184 BdaStartChanges(
185 IN PIRP Irp);
186
187 STDMETHODIMP_(NTSTATUS)
188 BdaUninitFilter(
189 IN PKSFILTER pKSFilter);
190
191 STDMETHODIMP_(NTSTATUS)
192 BdaValidateNodeProperty(
193 IN PIRP Irp,
194 IN KSPROPERTY *pKSProperty);
195
196 #if defined(__cplusplus)
197 }
198 #endif
199
200 #endif /* (NTDDI_VERSION >= NTDDI_WINXP) */