~ubuntu-branches/ubuntu/feisty/fpc/feisty

« back to all changes in this revision

Viewing changes to packages/extra/winunits/jwaioevent.pas

  • Committer: Bazaar Package Importer
  • Author(s): Torsten Werner
  • Date: 2007-01-27 20:08:50 UTC
  • mfrom: (1.2.3 upstream)
  • Revision ID: james.westby@ubuntu.com-20070127200850-9mrptaqqjsx9nwa7
Tags: 2.0.4-5
* Fixed Build-Depends.
* Add myself to Uploaders in debian/control.
* Make sure that the sources are really patched before building them.
* Build unit 'libc' on powerpc too.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
{******************************************************************************}
2
 
{                                                                              }
3
 
{ IO Events API interface Unit for Object Pascal                               }
4
 
{                                                                              }
5
 
{ Portions created by Microsoft are Copyright (C) 1995-2001 Microsoft          }
6
 
{ Corporation. All Rights Reserved.                                            }
7
 
{                                                                              }
8
 
{ The original file is: Ioevent.h, released June 2000. The original Pascal     }
9
 
{ code is: IoEvent.pas, released December 2000. The initial developer of the   }
10
 
{ Pascal code is Marcel van Brakel (brakelm att chello dott nl).               }
11
 
{                                                                              }
12
 
{ Portions created by Marcel van Brakel are Copyright (C) 1999-2001            }
13
 
{ Marcel van Brakel. All Rights Reserved.                                      }
14
 
{                                                                              }
15
 
{ Obtained through: Joint Endeavour of Delphi Innovators (Project JEDI)        }
16
 
{                                                                              }
17
 
{ You may retrieve the latest version of this file at the Project JEDI         }
18
 
{ APILIB home page, located at http://jedi-apilib.sourceforge.net              }
19
 
{                                                                              }
20
 
{ The contents of this file are used with permission, subject to the Mozilla   }
21
 
{ Public License Version 1.1 (the "License"); you may not use this file except }
22
 
{ in compliance with the License. You may obtain a copy of the License at      }
23
 
{ http://www.mozilla.org/MPL/MPL-1.1.html                                      }
24
 
{                                                                              }
25
 
{ Software distributed under the License is distributed on an "AS IS" basis,   }
26
 
{ WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for }
27
 
{ the specific language governing rights and limitations under the License.    }
28
 
{                                                                              }
29
 
{ Alternatively, the contents of this file may be used under the terms of the  }
30
 
{ GNU Lesser General Public License (the  "LGPL License"), in which case the   }
31
 
{ provisions of the LGPL License are applicable instead of those above.        }
32
 
{ If you wish to allow use of your version of this file only under the terms   }
33
 
{ of the LGPL License and not to allow others to use your version of this file }
34
 
{ under the MPL, indicate your decision by deleting  the provisions above and  }
35
 
{ replace  them with the notice and other provisions required by the LGPL      }
36
 
{ License.  If you do not delete the provisions above, a recipient may use     }
37
 
{ your version of this file under either the MPL or the LGPL License.          }
38
 
{                                                                              }
39
 
{ For more information about the LGPL: http://www.gnu.org/copyleft/lesser.html }
40
 
{                                                                              }
41
 
{******************************************************************************}
42
 
 
43
 
// $Id: jwaioevent.pas,v 1.1 2005/04/04 07:56:10 marco Exp $
44
 
 
45
 
unit JwaIoEvent;
46
 
 
47
 
{$WEAKPACKAGEUNIT}
48
 
 
49
 
{$HPPEMIT ''}
50
 
{$HPPEMIT '#include "Ioevent.h"'}
51
 
{$HPPEMIT ''}
52
 
 
53
 
{$I jediapilib.inc}
54
 
 
55
 
interface
56
 
 
57
 
uses
58
 
  JwaWinType;
59
 
 
60
 
//
61
 
//  Label change event.  This event is signalled upon successful completion
62
 
//  of a label change.  There is no additional data.
63
 
//
64
 
 
65
 
const
66
 
  GUID_IO_VOLUME_CHANGE: TGUID = (D1:$7373654a; D2:$812a; D3:$11d0; D4:($be, $c7, $08, $00, $2b, $e2, $09, $2f));
67
 
  {$EXTERNALSYM  GUID_IO_VOLUME_CHANGE}
68
 
 
69
 
//
70
 
//  Volume dismount event.  This event is signalled when an attempt is made to
71
 
//  dismount a volume.  There is no additional data.  Note that this will not
72
 
//  necessarily be preceded by a GUID_IO_VOLUME_LOCK notification.
73
 
//
74
 
 
75
 
  GUID_IO_VOLUME_DISMOUNT: TGUID = (D1:$d16a55e8; D2:$1059; D3:$11d2; D4:($8f, $fd, $00, $a0, $c9, $a0, $6d, $32));
76
 
  {$EXTERNALSYM GUID_IO_VOLUME_DISMOUNT}
77
 
 
78
 
//
79
 
//  Volume dismount failed event.  This event is signalled when a volume dismount fails.
80
 
//  There is no additional data.
81
 
//
82
 
 
83
 
  GUID_IO_VOLUME_DISMOUNT_FAILED: TGUID = (D1:$e3c5b178; D2:$105d; D3:$11d2; D4:($8f, $fd, $00, $a0, $c9, $a0, $6d, $32));
84
 
  {$EXTERNALSYM GUID_IO_VOLUME_DISMOUNT_FAILED}
85
 
 
86
 
//
87
 
//  Volume mount event.  This event is signalled when a volume mount occurs.
88
 
//  There is no additional data.
89
 
//
90
 
 
91
 
  GUID_IO_VOLUME_MOUNT: TGUID = (D1:$b5804878; D2:$1a96; D3:$11d2; D4:($8f, $fd, $00, $a0, $c9, $a0, $6d, $32));
92
 
  {$EXTERNALSYM GUID_IO_VOLUME_MOUNT}
93
 
 
94
 
//
95
 
//  Volume lock event.  This event is signalled when an attempt is made to
96
 
//  lock a volume.  There is no additional data.
97
 
//
98
 
 
99
 
  GUID_IO_VOLUME_LOCK: TGUID = (D1:$50708874; D2:$c9af; D3:$11d1; D4:($8f, $ef, $00, $a0, $c9, $a0, $6d, $32));
100
 
  {$EXTERNALSYM GUID_IO_VOLUME_LOCK}
101
 
 
102
 
//
103
 
//  Volume lock failed event.  This event is signalled when an attempt is made to
104
 
//  lock a volume, but it fails.  There is no additional data.
105
 
//
106
 
 
107
 
  GUID_IO_VOLUME_LOCK_FAILED: TGUID = (D1:$ae2eed10; D2:$0ba8; D3:$11d2; D4:($8f, $fb, $00, $a0, $c9, $a0, $6d, $32));
108
 
  {$EXTERNALSYM GUID_IO_VOLUME_LOCK_FAILED}
109
 
 
110
 
//
111
 
//  Volume unlock event.  This event is signalled when an attempt is made to
112
 
//  unlock a volume.  There is no additional data.
113
 
//
114
 
 
115
 
  GUID_IO_VOLUME_UNLOCK: TGUID = (D1:$9a8c3d68; D2:$d0cb; D3:$11d1; D4:($8f, $ef, $00, $a0, $c9, $a0, $6d, $32));
116
 
  {$EXTERNALSYM GUID_IO_VOLUME_UNLOCK}
117
 
 
118
 
//
119
 
//  Volume name change.  This event is signalled when the list of persistent
120
 
//  names (like drive letters) for a volume changes.  There is no additional
121
 
//  data.
122
 
//
123
 
 
124
 
  GUID_IO_VOLUME_NAME_CHANGE: TGUID = (D1:$2de97f83; D2:$4c06; D3:$11d2; D4:($a5, $32, $0, $60, $97, $13, $5, $5a));
125
 
  {$EXTERNALSYM GUID_IO_VOLUME_NAME_CHANGE}
126
 
 
127
 
//
128
 
//  Volume physical configuration change.  This event is signalled when the
129
 
//  physical makeup or current physical state of the volume changes.
130
 
//
131
 
 
132
 
  GUID_IO_VOLUME_PHYSICAL_CONFIGURATION_CHANGE: TGUID = (D1:$2de97f84; D2:$4c06; D3:$11d2; D4:($a5, $32, $0, $60, $97, $13, $5, $5a));
133
 
  {$EXTERNALSYM GUID_IO_VOLUME_PHYSICAL_CONFIGURATION_CHANGE}
134
 
 
135
 
//
136
 
//  Volume device interface.  This is a device interface GUID that appears
137
 
//  when the device object associated with a volume is created and disappears
138
 
//  when the device object associated with the volume is destroyed.
139
 
//
140
 
 
141
 
  GUID_IO_VOLUME_DEVICE_INTERFACE: TGUID = (D1:$53f5630d; D2:$b6bf; D3:$11d0; D4:($94, $f2, $00, $a0, $c9, $1e, $fb, $8b));
142
 
  {$EXTERNALSYM GUID_IO_VOLUME_DEVICE_INTERFACE}
143
 
 
144
 
//
145
 
//  Sent when the removable media is changed (added, removed) from a device
146
 
//  (such as a CDROM, tape, changer, etc).
147
 
//
148
 
//  The additional data is a DWORD representing the data event.
149
 
//
150
 
 
151
 
  GUID_IO_MEDIA_ARRIVAL: TGUID = (D1:$d07433c0; D2:$a98e; D3:$11d2; D4:($91, $7a, $00, $a0, $c9, $06, $8f, $f3));
152
 
  {$EXTERNALSYM GUID_IO_MEDIA_ARRIVAL}
153
 
  GUID_IO_MEDIA_REMOVAL: TGUID = (D1:$d07433c1; D2:$a98e; D3:$11d2; D4:($91, $7a, $00, $a0, $c9, $06, $8f, $f3));
154
 
  {$EXTERNALSYM GUID_IO_MEDIA_REMOVAL}
155
 
 
156
 
//
157
 
// Sent when the media is returning that it is not ready right now, but will
158
 
// be ready soon. This can be because the drive has spun down to save power
159
 
// or because new media has been inserted but is not ready for access yet.
160
 
//
161
 
 
162
 
  GUID_IO_DEVICE_BECOMING_READY: TGUID = (D1:$d07433f0; D2:$a98e; D3:$11d2; D4:($91, $7a, $00, $a0, $c9, $06, $8f, $f3));
163
 
  {$EXTERNALSYM GUID_IO_DEVICE_BECOMING_READY}
164
 
 
165
 
type
166
 
  _DEVICE_EVENT_BECOMING_READY = record
167
 
    Version: ULONG;
168
 
    Reason: ULONG;
169
 
    Estimated100msToReady: ULONG;
170
 
  end;
171
 
  {$EXTERNALSYM _DEVICE_EVENT_BECOMING_READY}
172
 
  DEVICE_EVENT_BECOMING_READY = _DEVICE_EVENT_BECOMING_READY;
173
 
  {$EXTERNALSYM DEVICE_EVENT_BECOMING_READY}
174
 
  PDEVICE_EVENT_BECOMING_READY = ^DEVICE_EVENT_BECOMING_READY;
175
 
  {$EXTERNALSYM PDEVICE_EVENT_BECOMING_READY}
176
 
  TDeviceEventBecomingReady = DEVICE_EVENT_BECOMING_READY;
177
 
  PDeviceEventBecomingReady = PDEVICE_EVENT_BECOMING_READY;
178
 
 
179
 
//
180
 
// Sent when the user presses the eject button on the front of the drive,
181
 
// or when other buttons on the front are pressed via GESN command polling
182
 
// (GESN support to be added)
183
 
//
184
 
 
185
 
const
186
 
  GUID_IO_DEVICE_EXTERNAL_REQUEST: TGUID = (D1:$d07433d0; D2:$a98e; D3:$11d2; D4:($91, $7a, $00, $a0, $c9, $06, $8f, $f3));
187
 
  {$EXTERNALSYM GUID_IO_DEVICE_EXTERNAL_REQUEST}
188
 
  GUID_IO_MEDIA_EJECT_REQUEST: TGUID = (D1:$d07433d1; D2:$a98e; D3:$11d2; D4:($91, $7a, $00, $a0, $c9, $06, $8f, $f3));
189
 
  {$EXTERNALSYM GUID_IO_MEDIA_EJECT_REQUEST}
190
 
 
191
 
type
192
 
  PDEVICE_EVENT_EXTERNAL_REQUEST = ^DEVICE_EVENT_EXTERNAL_REQUEST;
193
 
  {$EXTERNALSYM PDEVICE_EVENT_EXTERNAL_REQUEST}
194
 
  _DEVICE_EVENT_EXTERNAL_REQUEST = record
195
 
    Version: ULONG;
196
 
    DeviceClass: ULONG; // 0 == MMC Storage Devices
197
 
    ButtonStatus: USHORT; // 1 == down, 2 == up
198
 
    Request: USHORT;
199
 
    SystemTime: LARGE_INTEGER; // for time-related info
200
 
  end;
201
 
  {$EXTERNALSYM _DEVICE_EVENT_EXTERNAL_REQUEST}
202
 
  DEVICE_EVENT_EXTERNAL_REQUEST = _DEVICE_EVENT_EXTERNAL_REQUEST;
203
 
  {$EXTERNALSYM DEVICE_EVENT_EXTERNAL_REQUEST}
204
 
  TDeviceEventExternalRequest = DEVICE_EVENT_EXTERNAL_REQUEST;
205
 
  PDeviceEventExternalRequest = PDEVICE_EVENT_EXTERNAL_REQUEST;
206
 
 
207
 
//
208
 
// Sent when a tape drive requires cleaning
209
 
//
210
 
 
211
 
const
212
 
  GUID_IO_DRIVE_REQUIRES_CLEANING: TGUID = (D1:$7207877c; D2:$90ed; D3:$44e5; D4:($a0, $0, $81, $42, $8d, $4c, $79, $bb));
213
 
  {$EXTERNALSYM GUID_IO_DRIVE_REQUIRES_CLEANING}
214
 
 
215
 
//
216
 
// Sent when a tape is erased
217
 
//
218
 
 
219
 
  GUID_IO_TAPE_ERASE: TGUID = (D1:$852d11eb; D2:$4bb8; D3:$4507; D4:($9d, $9b, $41, $7c, $c2, $b1, $b4, $38));
220
 
  {$EXTERNALSYM GUID_IO_TAPE_ERASE}
221
 
 
222
 
type
223
 
  _DEVICE_EVENT_GENERIC_DATA = record
224
 
    EventNumber: ULONG;
225
 
  end;
226
 
  {$EXTERNALSYM _DEVICE_EVENT_GENERIC_DATA}
227
 
  DEVICE_EVENT_GENERIC_DATA = _DEVICE_EVENT_GENERIC_DATA;
228
 
  {$EXTERNALSYM DEVICE_EVENT_GENERIC_DATA}
229
 
  PDEVICE_EVENT_GENERIC_DATA = ^DEVICE_EVENT_GENERIC_DATA;
230
 
  {$EXTERNALSYM PDEVICE_EVENT_GENERIC_DATA}
231
 
  TDeviceEventGenericData = DEVICE_EVENT_GENERIC_DATA;
232
 
  PDeviceEventGenericData = PDEVICE_EVENT_GENERIC_DATA;
233
 
 
234
 
//
235
 
//  Represents any asynchronous notification coming from a device driver whose
236
 
//  notification protocol is RBC
237
 
//  Additional data is provided
238
 
 
239
 
const
240
 
  GUID_DEVICE_EVENT_RBC: TGUID = (D1:$d0744792; D2:$a98e; D3:$11d2; D4:($91, $7a, $00, $a0, $c9, $06, $8f, $f3));
241
 
  {$EXTERNALSYM GUID_DEVICE_EVENT_RBC}
242
 
 
243
 
type
244
 
  _DEVICE_EVENT_RBC_DATA = record
245
 
    EventNumber: ULONG;
246
 
    SenseQualifier: UCHAR;
247
 
    SenseCode: UCHAR;
248
 
    SenseKey: UCHAR;
249
 
    Reserved: UCHAR;
250
 
    Information: ULONG;
251
 
  end;
252
 
  {$EXTERNALSYM _DEVICE_EVENT_RBC_DATA}
253
 
  DEVICE_EVENT_RBC_DATA = _DEVICE_EVENT_RBC_DATA;
254
 
  {$EXTERNALSYM DEVICE_EVENT_RBC_DATA}
255
 
  PDEVICE_EVENT_RBC_DATA = ^DEVICE_EVENT_RBC_DATA;
256
 
  {$EXTERNALSYM PDEVICE_EVENT_RBC_DATA}
257
 
  TDeviceEventRbcData = DEVICE_EVENT_RBC_DATA;
258
 
  PDeviceEventRbcData = PDEVICE_EVENT_RBC_DATA;
259
 
 
260
 
//
261
 
//  A clone of this disk has just arrived in the system.
262
 
//
263
 
 
264
 
const
265
 
  GUID_IO_DISK_CLONE_ARRIVAL: TGUID = (D1:$6a61885b; D2:$7c39; D3:$43dd; D4:($9b, $56, $b8, $ac, $22, $a5, $49, $aa));
266
 
  {$EXTERNALSYM GUID_IO_DISK_CLONE_ARRIVAL}
267
 
 
268
 
type
269
 
  _GUID_IO_DISK_CLONE_ARRIVAL_INFORMATION = record
270
 
    DiskNumber: ULONG; // The disk number of the new disk arriving in the system.
271
 
  end;
272
 
  {$EXTERNALSYM _GUID_IO_DISK_CLONE_ARRIVAL_INFORMATION}
273
 
  GUID_IO_DISK_CLONE_ARRIVAL_INFORMATION = _GUID_IO_DISK_CLONE_ARRIVAL_INFORMATION;
274
 
  {$EXTERNALSYM GUID_IO_DISK_CLONE_ARRIVAL_INFORMATION}
275
 
  PGUID_IO_DISK_CLONE_ARRIVAL_INFORMATION = ^GUID_IO_DISK_CLONE_ARRIVAL_INFORMATION;
276
 
  {$EXTERNALSYM PGUID_IO_DISK_CLONE_ARRIVAL_INFORMATION}
277
 
  TGuidIoDiskCloneArrivalInformation = GUID_IO_DISK_CLONE_ARRIVAL_INFORMATION;
278
 
  PGuidIoDiskCloneArrivalInformation = PGUID_IO_DISK_CLONE_ARRIVAL_INFORMATION;
279
 
 
280
 
//
281
 
// The disk layout has changed
282
 
//
283
 
 
284
 
const
285
 
  GUID_IO_DISK_LAYOUT_CHANGE: TGUID = (D1:$11dff54c; D2:$8469; D3:$41f9; D4:($b3, $de, $ef, $83, $64, $87, $c5, $4a));
286
 
  {$EXTERNALSYM GUID_IO_DISK_LAYOUT_CHANGE}
287
 
 
288
 
implementation
289
 
 
290
 
end.
 
1
{******************************************************************************}
 
2
{                                                                              }
 
3
{ IO Events API interface Unit for Object Pascal                               }
 
4
{                                                                              }
 
5
{ Portions created by Microsoft are Copyright (C) 1995-2001 Microsoft          }
 
6
{ Corporation. All Rights Reserved.                                            }
 
7
{                                                                              }
 
8
{ The original file is: Ioevent.h, released June 2000. The original Pascal     }
 
9
{ code is: IoEvent.pas, released December 2000. The initial developer of the   }
 
10
{ Pascal code is Marcel van Brakel (brakelm att chello dott nl).               }
 
11
{                                                                              }
 
12
{ Portions created by Marcel van Brakel are Copyright (C) 1999-2001            }
 
13
{ Marcel van Brakel. All Rights Reserved.                                      }
 
14
{                                                                              }
 
15
{ Obtained through: Joint Endeavour of Delphi Innovators (Project JEDI)        }
 
16
{                                                                              }
 
17
{ You may retrieve the latest version of this file at the Project JEDI         }
 
18
{ APILIB home page, located at http://jedi-apilib.sourceforge.net              }
 
19
{                                                                              }
 
20
{ The contents of this file are used with permission, subject to the Mozilla   }
 
21
{ Public License Version 1.1 (the "License"); you may not use this file except }
 
22
{ in compliance with the License. You may obtain a copy of the License at      }
 
23
{ http://www.mozilla.org/MPL/MPL-1.1.html                                      }
 
24
{                                                                              }
 
25
{ Software distributed under the License is distributed on an "AS IS" basis,   }
 
26
{ WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for }
 
27
{ the specific language governing rights and limitations under the License.    }
 
28
{                                                                              }
 
29
{ Alternatively, the contents of this file may be used under the terms of the  }
 
30
{ GNU Lesser General Public License (the  "LGPL License"), in which case the   }
 
31
{ provisions of the LGPL License are applicable instead of those above.        }
 
32
{ If you wish to allow use of your version of this file only under the terms   }
 
33
{ of the LGPL License and not to allow others to use your version of this file }
 
34
{ under the MPL, indicate your decision by deleting  the provisions above and  }
 
35
{ replace  them with the notice and other provisions required by the LGPL      }
 
36
{ License.  If you do not delete the provisions above, a recipient may use     }
 
37
{ your version of this file under either the MPL or the LGPL License.          }
 
38
{                                                                              }
 
39
{ For more information about the LGPL: http://www.gnu.org/copyleft/lesser.html }
 
40
{                                                                              }
 
41
{******************************************************************************}
 
42
 
 
43
 
 
44
unit JwaIoEvent;
 
45
 
 
46
{$WEAKPACKAGEUNIT}
 
47
 
 
48
{$HPPEMIT ''}
 
49
{$HPPEMIT '#include "Ioevent.h"'}
 
50
{$HPPEMIT ''}
 
51
 
 
52
{$I jediapilib.inc}
 
53
 
 
54
interface
 
55
 
 
56
uses
 
57
  JwaWinType;
 
58
 
 
59
//
 
60
//  Label change event.  This event is signalled upon successful completion
 
61
//  of a label change.  There is no additional data.
 
62
//
 
63
 
 
64
const
 
65
  GUID_IO_VOLUME_CHANGE: TGUID = (D1:$7373654a; D2:$812a; D3:$11d0; D4:($be, $c7, $08, $00, $2b, $e2, $09, $2f));
 
66
  {$EXTERNALSYM  GUID_IO_VOLUME_CHANGE}
 
67
 
 
68
//
 
69
//  Volume dismount event.  This event is signalled when an attempt is made to
 
70
//  dismount a volume.  There is no additional data.  Note that this will not
 
71
//  necessarily be preceded by a GUID_IO_VOLUME_LOCK notification.
 
72
//
 
73
 
 
74
  GUID_IO_VOLUME_DISMOUNT: TGUID = (D1:$d16a55e8; D2:$1059; D3:$11d2; D4:($8f, $fd, $00, $a0, $c9, $a0, $6d, $32));
 
75
  {$EXTERNALSYM GUID_IO_VOLUME_DISMOUNT}
 
76
 
 
77
//
 
78
//  Volume dismount failed event.  This event is signalled when a volume dismount fails.
 
79
//  There is no additional data.
 
80
//
 
81
 
 
82
  GUID_IO_VOLUME_DISMOUNT_FAILED: TGUID = (D1:$e3c5b178; D2:$105d; D3:$11d2; D4:($8f, $fd, $00, $a0, $c9, $a0, $6d, $32));
 
83
  {$EXTERNALSYM GUID_IO_VOLUME_DISMOUNT_FAILED}
 
84
 
 
85
//
 
86
//  Volume mount event.  This event is signalled when a volume mount occurs.
 
87
//  There is no additional data.
 
88
//
 
89
 
 
90
  GUID_IO_VOLUME_MOUNT: TGUID = (D1:$b5804878; D2:$1a96; D3:$11d2; D4:($8f, $fd, $00, $a0, $c9, $a0, $6d, $32));
 
91
  {$EXTERNALSYM GUID_IO_VOLUME_MOUNT}
 
92
 
 
93
//
 
94
//  Volume lock event.  This event is signalled when an attempt is made to
 
95
//  lock a volume.  There is no additional data.
 
96
//
 
97
 
 
98
  GUID_IO_VOLUME_LOCK: TGUID = (D1:$50708874; D2:$c9af; D3:$11d1; D4:($8f, $ef, $00, $a0, $c9, $a0, $6d, $32));
 
99
  {$EXTERNALSYM GUID_IO_VOLUME_LOCK}
 
100
 
 
101
//
 
102
//  Volume lock failed event.  This event is signalled when an attempt is made to
 
103
//  lock a volume, but it fails.  There is no additional data.
 
104
//
 
105
 
 
106
  GUID_IO_VOLUME_LOCK_FAILED: TGUID = (D1:$ae2eed10; D2:$0ba8; D3:$11d2; D4:($8f, $fb, $00, $a0, $c9, $a0, $6d, $32));
 
107
  {$EXTERNALSYM GUID_IO_VOLUME_LOCK_FAILED}
 
108
 
 
109
//
 
110
//  Volume unlock event.  This event is signalled when an attempt is made to
 
111
//  unlock a volume.  There is no additional data.
 
112
//
 
113
 
 
114
  GUID_IO_VOLUME_UNLOCK: TGUID = (D1:$9a8c3d68; D2:$d0cb; D3:$11d1; D4:($8f, $ef, $00, $a0, $c9, $a0, $6d, $32));
 
115
  {$EXTERNALSYM GUID_IO_VOLUME_UNLOCK}
 
116
 
 
117
//
 
118
//  Volume name change.  This event is signalled when the list of persistent
 
119
//  names (like drive letters) for a volume changes.  There is no additional
 
120
//  data.
 
121
//
 
122
 
 
123
  GUID_IO_VOLUME_NAME_CHANGE: TGUID = (D1:$2de97f83; D2:$4c06; D3:$11d2; D4:($a5, $32, $0, $60, $97, $13, $5, $5a));
 
124
  {$EXTERNALSYM GUID_IO_VOLUME_NAME_CHANGE}
 
125
 
 
126
//
 
127
//  Volume physical configuration change.  This event is signalled when the
 
128
//  physical makeup or current physical state of the volume changes.
 
129
//
 
130
 
 
131
  GUID_IO_VOLUME_PHYSICAL_CONFIGURATION_CHANGE: TGUID = (D1:$2de97f84; D2:$4c06; D3:$11d2; D4:($a5, $32, $0, $60, $97, $13, $5, $5a));
 
132
  {$EXTERNALSYM GUID_IO_VOLUME_PHYSICAL_CONFIGURATION_CHANGE}
 
133
 
 
134
//
 
135
//  Volume device interface.  This is a device interface GUID that appears
 
136
//  when the device object associated with a volume is created and disappears
 
137
//  when the device object associated with the volume is destroyed.
 
138
//
 
139
 
 
140
  GUID_IO_VOLUME_DEVICE_INTERFACE: TGUID = (D1:$53f5630d; D2:$b6bf; D3:$11d0; D4:($94, $f2, $00, $a0, $c9, $1e, $fb, $8b));
 
141
  {$EXTERNALSYM GUID_IO_VOLUME_DEVICE_INTERFACE}
 
142
 
 
143
//
 
144
//  Sent when the removable media is changed (added, removed) from a device
 
145
//  (such as a CDROM, tape, changer, etc).
 
146
//
 
147
//  The additional data is a DWORD representing the data event.
 
148
//
 
149
 
 
150
  GUID_IO_MEDIA_ARRIVAL: TGUID = (D1:$d07433c0; D2:$a98e; D3:$11d2; D4:($91, $7a, $00, $a0, $c9, $06, $8f, $f3));
 
151
  {$EXTERNALSYM GUID_IO_MEDIA_ARRIVAL}
 
152
  GUID_IO_MEDIA_REMOVAL: TGUID = (D1:$d07433c1; D2:$a98e; D3:$11d2; D4:($91, $7a, $00, $a0, $c9, $06, $8f, $f3));
 
153
  {$EXTERNALSYM GUID_IO_MEDIA_REMOVAL}
 
154
 
 
155
//
 
156
// Sent when the media is returning that it is not ready right now, but will
 
157
// be ready soon. This can be because the drive has spun down to save power
 
158
// or because new media has been inserted but is not ready for access yet.
 
159
//
 
160
 
 
161
  GUID_IO_DEVICE_BECOMING_READY: TGUID = (D1:$d07433f0; D2:$a98e; D3:$11d2; D4:($91, $7a, $00, $a0, $c9, $06, $8f, $f3));
 
162
  {$EXTERNALSYM GUID_IO_DEVICE_BECOMING_READY}
 
163
 
 
164
type
 
165
  _DEVICE_EVENT_BECOMING_READY = record
 
166
    Version: ULONG;
 
167
    Reason: ULONG;
 
168
    Estimated100msToReady: ULONG;
 
169
  end;
 
170
  {$EXTERNALSYM _DEVICE_EVENT_BECOMING_READY}
 
171
  DEVICE_EVENT_BECOMING_READY = _DEVICE_EVENT_BECOMING_READY;
 
172
  {$EXTERNALSYM DEVICE_EVENT_BECOMING_READY}
 
173
  PDEVICE_EVENT_BECOMING_READY = ^DEVICE_EVENT_BECOMING_READY;
 
174
  {$EXTERNALSYM PDEVICE_EVENT_BECOMING_READY}
 
175
  TDeviceEventBecomingReady = DEVICE_EVENT_BECOMING_READY;
 
176
  PDeviceEventBecomingReady = PDEVICE_EVENT_BECOMING_READY;
 
177
 
 
178
//
 
179
// Sent when the user presses the eject button on the front of the drive,
 
180
// or when other buttons on the front are pressed via GESN command polling
 
181
// (GESN support to be added)
 
182
//
 
183
 
 
184
const
 
185
  GUID_IO_DEVICE_EXTERNAL_REQUEST: TGUID = (D1:$d07433d0; D2:$a98e; D3:$11d2; D4:($91, $7a, $00, $a0, $c9, $06, $8f, $f3));
 
186
  {$EXTERNALSYM GUID_IO_DEVICE_EXTERNAL_REQUEST}
 
187
  GUID_IO_MEDIA_EJECT_REQUEST: TGUID = (D1:$d07433d1; D2:$a98e; D3:$11d2; D4:($91, $7a, $00, $a0, $c9, $06, $8f, $f3));
 
188
  {$EXTERNALSYM GUID_IO_MEDIA_EJECT_REQUEST}
 
189
 
 
190
type
 
191
  PDEVICE_EVENT_EXTERNAL_REQUEST = ^DEVICE_EVENT_EXTERNAL_REQUEST;
 
192
  {$EXTERNALSYM PDEVICE_EVENT_EXTERNAL_REQUEST}
 
193
  _DEVICE_EVENT_EXTERNAL_REQUEST = record
 
194
    Version: ULONG;
 
195
    DeviceClass: ULONG; // 0 == MMC Storage Devices
 
196
    ButtonStatus: USHORT; // 1 == down, 2 == up
 
197
    Request: USHORT;
 
198
    SystemTime: LARGE_INTEGER; // for time-related info
 
199
  end;
 
200
  {$EXTERNALSYM _DEVICE_EVENT_EXTERNAL_REQUEST}
 
201
  DEVICE_EVENT_EXTERNAL_REQUEST = _DEVICE_EVENT_EXTERNAL_REQUEST;
 
202
  {$EXTERNALSYM DEVICE_EVENT_EXTERNAL_REQUEST}
 
203
  TDeviceEventExternalRequest = DEVICE_EVENT_EXTERNAL_REQUEST;
 
204
  PDeviceEventExternalRequest = PDEVICE_EVENT_EXTERNAL_REQUEST;
 
205
 
 
206
//
 
207
// Sent when a tape drive requires cleaning
 
208
//
 
209
 
 
210
const
 
211
  GUID_IO_DRIVE_REQUIRES_CLEANING: TGUID = (D1:$7207877c; D2:$90ed; D3:$44e5; D4:($a0, $0, $81, $42, $8d, $4c, $79, $bb));
 
212
  {$EXTERNALSYM GUID_IO_DRIVE_REQUIRES_CLEANING}
 
213
 
 
214
//
 
215
// Sent when a tape is erased
 
216
//
 
217
 
 
218
  GUID_IO_TAPE_ERASE: TGUID = (D1:$852d11eb; D2:$4bb8; D3:$4507; D4:($9d, $9b, $41, $7c, $c2, $b1, $b4, $38));
 
219
  {$EXTERNALSYM GUID_IO_TAPE_ERASE}
 
220
 
 
221
type
 
222
  _DEVICE_EVENT_GENERIC_DATA = record
 
223
    EventNumber: ULONG;
 
224
  end;
 
225
  {$EXTERNALSYM _DEVICE_EVENT_GENERIC_DATA}
 
226
  DEVICE_EVENT_GENERIC_DATA = _DEVICE_EVENT_GENERIC_DATA;
 
227
  {$EXTERNALSYM DEVICE_EVENT_GENERIC_DATA}
 
228
  PDEVICE_EVENT_GENERIC_DATA = ^DEVICE_EVENT_GENERIC_DATA;
 
229
  {$EXTERNALSYM PDEVICE_EVENT_GENERIC_DATA}
 
230
  TDeviceEventGenericData = DEVICE_EVENT_GENERIC_DATA;
 
231
  PDeviceEventGenericData = PDEVICE_EVENT_GENERIC_DATA;
 
232
 
 
233
//
 
234
//  Represents any asynchronous notification coming from a device driver whose
 
235
//  notification protocol is RBC
 
236
//  Additional data is provided
 
237
 
 
238
const
 
239
  GUID_DEVICE_EVENT_RBC: TGUID = (D1:$d0744792; D2:$a98e; D3:$11d2; D4:($91, $7a, $00, $a0, $c9, $06, $8f, $f3));
 
240
  {$EXTERNALSYM GUID_DEVICE_EVENT_RBC}
 
241
 
 
242
type
 
243
  _DEVICE_EVENT_RBC_DATA = record
 
244
    EventNumber: ULONG;
 
245
    SenseQualifier: UCHAR;
 
246
    SenseCode: UCHAR;
 
247
    SenseKey: UCHAR;
 
248
    Reserved: UCHAR;
 
249
    Information: ULONG;
 
250
  end;
 
251
  {$EXTERNALSYM _DEVICE_EVENT_RBC_DATA}
 
252
  DEVICE_EVENT_RBC_DATA = _DEVICE_EVENT_RBC_DATA;
 
253
  {$EXTERNALSYM DEVICE_EVENT_RBC_DATA}
 
254
  PDEVICE_EVENT_RBC_DATA = ^DEVICE_EVENT_RBC_DATA;
 
255
  {$EXTERNALSYM PDEVICE_EVENT_RBC_DATA}
 
256
  TDeviceEventRbcData = DEVICE_EVENT_RBC_DATA;
 
257
  PDeviceEventRbcData = PDEVICE_EVENT_RBC_DATA;
 
258
 
 
259
//
 
260
//  A clone of this disk has just arrived in the system.
 
261
//
 
262
 
 
263
const
 
264
  GUID_IO_DISK_CLONE_ARRIVAL: TGUID = (D1:$6a61885b; D2:$7c39; D3:$43dd; D4:($9b, $56, $b8, $ac, $22, $a5, $49, $aa));
 
265
  {$EXTERNALSYM GUID_IO_DISK_CLONE_ARRIVAL}
 
266
 
 
267
type
 
268
  _GUID_IO_DISK_CLONE_ARRIVAL_INFORMATION = record
 
269
    DiskNumber: ULONG; // The disk number of the new disk arriving in the system.
 
270
  end;
 
271
  {$EXTERNALSYM _GUID_IO_DISK_CLONE_ARRIVAL_INFORMATION}
 
272
  GUID_IO_DISK_CLONE_ARRIVAL_INFORMATION = _GUID_IO_DISK_CLONE_ARRIVAL_INFORMATION;
 
273
  {$EXTERNALSYM GUID_IO_DISK_CLONE_ARRIVAL_INFORMATION}
 
274
  PGUID_IO_DISK_CLONE_ARRIVAL_INFORMATION = ^GUID_IO_DISK_CLONE_ARRIVAL_INFORMATION;
 
275
  {$EXTERNALSYM PGUID_IO_DISK_CLONE_ARRIVAL_INFORMATION}
 
276
  TGuidIoDiskCloneArrivalInformation = GUID_IO_DISK_CLONE_ARRIVAL_INFORMATION;
 
277
  PGuidIoDiskCloneArrivalInformation = PGUID_IO_DISK_CLONE_ARRIVAL_INFORMATION;
 
278
 
 
279
//
 
280
// The disk layout has changed
 
281
//
 
282
 
 
283
const
 
284
  GUID_IO_DISK_LAYOUT_CHANGE: TGUID = (D1:$11dff54c; D2:$8469; D3:$41f9; D4:($b3, $de, $ef, $83, $64, $87, $c5, $4a));
 
285
  {$EXTERNALSYM GUID_IO_DISK_LAYOUT_CHANGE}
 
286
 
 
287
implementation
 
288
 
 
289
end.