source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/portabledevicetypes.idl

Last change on this file was 1166, checked in by rossy, 3 years ago

Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File size: 6.3 KB
Line 
1/**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6
7import "oaidl.idl";
8import "ocidl.idl";
9import "propsys.idl";
10
11interface IPortableDeviceKeyCollection;
12interface IPortableDevicePropVariantCollection;
13interface IPortableDeviceValuesCollection;
14
15[
16 uuid(6848f6f2-3155-4f86-b6f5-263eeeab3143),
17 object
18]
19interface IPortableDeviceValues : IUnknown {
20 HRESULT GetCount([in] DWORD *pcelt);
21
22 HRESULT GetAt(
23 [in] const DWORD index,
24 [unique, out, in] PROPERTYKEY *pKey,
25 [unique, out, in] PROPVARIANT *pValue);
26
27 HRESULT SetValue(
28 [in] REFPROPERTYKEY key,
29 [in] const PROPVARIANT *pValue);
30
31 HRESULT GetValue(
32 [in] REFPROPERTYKEY key,
33 [out] PROPVARIANT *pValue);
34
35 HRESULT SetStringValue(
36 [in] REFPROPERTYKEY key,
37 [in] LPCWSTR Value);
38
39 HRESULT GetStringValue(
40 [in] REFPROPERTYKEY key,
41 [out] LPWSTR *pValue);
42
43 HRESULT SetUnsignedIntegerValue(
44 [in] REFPROPERTYKEY key,
45 [in] const ULONG Value);
46
47 HRESULT GetUnsignedIntegerValue(
48 [in] REFPROPERTYKEY key,
49 [out] ULONG *pValue);
50
51 HRESULT SetSignedIntegerValue(
52 [in] REFPROPERTYKEY key,
53 [in] const LONG Value);
54
55 HRESULT GetSignedIntegerValue(
56 [in] REFPROPERTYKEY key,
57 [out] LONG *pValue);
58
59 HRESULT SetUnsignedLargeIntegerValue(
60 [in] REFPROPERTYKEY key,
61 [in] const ULONGLONG Value);
62
63 HRESULT GetUnsignedLargeIntegerValue(
64 [in] REFPROPERTYKEY key,
65 [out] ULONGLONG *pValue);
66
67 HRESULT SetSignedLargeIntegerValue(
68 [in] REFPROPERTYKEY key,
69 [in] const LONGLONG Value) = 0;
70
71 HRESULT GetSignedLargeIntegerValue(
72 [in] REFPROPERTYKEY key,
73 [out] LONGLONG *pValue);
74
75 HRESULT SetFloatValue(
76 [in] REFPROPERTYKEY key,
77 [in] const FLOAT Value);
78
79 HRESULT GetFloatValue(
80 [in] REFPROPERTYKEY key,
81 [out] FLOAT *pValue);
82
83 HRESULT SetErrorValue(
84 [in] REFPROPERTYKEY key,
85 [in] const HRESULT Value);
86
87 HRESULT GetErrorValue(
88 [in] REFPROPERTYKEY key,
89 [out] HRESULT *pValue);
90
91 HRESULT SetKeyValue(
92 [in] REFPROPERTYKEY key,
93 [in] REFPROPERTYKEY Value);
94
95 HRESULT GetKeyValue(
96 [in] REFPROPERTYKEY key,
97 [out] PROPERTYKEY *pValue);
98
99 HRESULT SetBoolValue(
100 [in] REFPROPERTYKEY key,
101 [in] const BOOL Value);
102
103 HRESULT GetBoolValue(
104 [in] REFPROPERTYKEY key,
105 [out] BOOL *pValue);
106
107 HRESULT SetIUnknownValue(
108 [in] REFPROPERTYKEY key,
109 [in] IUnknown *pValue);
110
111 HRESULT GetIUnknownValue(
112 [in] REFPROPERTYKEY key,
113 [out] IUnknown **ppValue);
114
115 HRESULT SetGuidValue(
116 [in] REFPROPERTYKEY key,
117 [in] REFGUID Value);
118
119 HRESULT GetGuidValue(
120 [in] REFPROPERTYKEY key,
121 [out] GUID *pValue);
122
123 HRESULT SetBufferValue(
124 [in] REFPROPERTYKEY key,
125 [size_is(cbValue), in] BYTE *pValue,
126 [in] DWORD cbValue);
127
128 HRESULT GetBufferValue(
129 [in] REFPROPERTYKEY key,
130 [size_is(*pcbValue), out] BYTE **ppValue,
131 [out] DWORD *pcbValue);
132
133 HRESULT SetIPortableDeviceValuesValue(
134 [in] REFPROPERTYKEY key,
135 [in] IPortableDeviceValues *pValue);
136
137 HRESULT GetIPortableDeviceValuesValue(
138 [in] REFPROPERTYKEY key,
139 [out] IPortableDeviceValues **ppValue);
140
141 HRESULT SetIPortableDevicePropVariantCollectionValue(
142 [in] REFPROPERTYKEY key,
143 [in] IPortableDevicePropVariantCollection *pValue);
144
145 HRESULT GetIPortableDevicePropVariantCollectionValue(
146 [in] REFPROPERTYKEY key,
147 [out] IPortableDevicePropVariantCollection **ppValue);
148
149 HRESULT SetIPortableDeviceKeyCollectionValue(
150 [in] REFPROPERTYKEY key,
151 [in] IPortableDeviceKeyCollection *pValue);
152
153 HRESULT GetIPortableDeviceKeyCollectionValue(
154 [in] REFPROPERTYKEY key,
155 [out] IPortableDeviceKeyCollection **ppValue);
156
157 HRESULT SetIPortableDeviceValuesCollectionValue(
158 [in] REFPROPERTYKEY key,
159 [in] IPortableDeviceValuesCollection *pValue);
160
161 HRESULT GetIPortableDeviceValuesCollectionValue(
162 [in] REFPROPERTYKEY key,
163 [out] IPortableDeviceValuesCollection **ppValue);
164
165 HRESULT RemoveValue([in] REFPROPERTYKEY key);
166 HRESULT CopyValuesFromPropertyStore([in] IPropertyStore *pStore);
167 HRESULT CopyValuesToPropertyStore([in] IPropertyStore *pStore);
168 HRESULT Clear();
169}
170
171[
172 uuid(dada2357-e0ad-492e-98db-dd61c53ba353),
173 object
174]
175interface IPortableDeviceKeyCollection : IUnknown
176{
177 HRESULT GetCount([in] DWORD *pcElems);
178
179 HRESULT GetAt(
180 [in] const DWORD dwIndex,
181 [in] PROPERTYKEY *pKey);
182
183 HRESULT Add([in] REFPROPERTYKEY Key);
184 HRESULT Clear();
185 HRESULT RemoveAt([in] const DWORD dwIndex);
186}
187
188[
189 uuid(89b2e422-4f1b-4316-bcef-a44afea83eb3),
190 object
191]
192interface IPortableDevicePropVariantCollection : IUnknown
193{
194 HRESULT GetCount([out] DWORD *pcElems);
195
196 HRESULT GetAt(
197 [in] const DWORD dwIndex,
198 [in] PROPVARIANT *pValue);
199
200 HRESULT Add([in] const PROPVARIANT *pValue);
201 HRESULT GetType([out] VARTYPE *pvt);
202 HRESULT ChangeType([in] const VARTYPE vt);
203 HRESULT Clear();
204 HRESULT RemoveAt([in] const DWORD dwIndex);
205}
206
207[
208 uuid(6e3f2d79-4e07-48c4-8208-d8c2e5af4a99),
209 object
210]
211interface IPortableDeviceValuesCollection : IUnknown
212{
213 HRESULT GetCount([out] DWORD *pcElems);
214
215 HRESULT GetAt(
216 [in] DWORD dwIndex,
217 [out] IPortableDeviceValues **ppValues);
218
219 HRESULT Add([in] IPortableDeviceValues *pValues);
220 HRESULT Clear();
221 HRESULT RemoveAt([in] const DWORD dwIndex);
222}
223
224[
225 uuid(2b00ba2f-e750-4beb-9235-97142ede1d3e)
226]
227library PortableDeviceTypesLib
228{
229 [
230 uuid(0c15d503-d017-47ce-9016-7b3f978721cc)
231 ]
232 coclass PortableDeviceValues {
233 interface IPortableDeviceValues;
234 }
235}
Note: See TracBrowser for help on using the repository browser.