pnp.pas 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. unit PnP;
  2. {$mode objfpc}
  3. (*
  4. (pnp.h)
  5. *)
  6. //
  7. // Copyright (c) Microsoft Corporation. All rights reserved.
  8. //
  9. //
  10. // Use of this source code is subject to the terms of the Microsoft end-user
  11. // license agreement (EULA) under which you licensed this SOFTWARE PRODUCT.
  12. // If you did not accept the terms of the EULA, you are not authorized to use
  13. // this source code. For a copy of the EULA, please see the LICENSE.RTF on your
  14. // install media.
  15. //
  16. // --------------------------------------------------------------------------
  17. interface
  18. uses
  19. Windows;
  20. const
  21. // Maximum size of a device interface name. The choice of value is arbitrary
  22. // but necessary for componenents that want to browse available interfaces
  23. // so that they can set up their message queues. This value does not include
  24. // the (required) terminating zero - that's already counted in DEVDETAIL.
  25. MAX_DEVCLASS_NAMELEN = 64;
  26. // Indicates an ordinary "stream" interface: open/read/write/iocontrol/close.
  27. // Devices that do not specify anything else and which expose a "ABCN:"
  28. // type of name automatically generate a notification with this GUID and
  29. // and a name equal to the device name (e.g., "FOO2:").
  30. DEVCLASS_STREAM_STRING = '{f8a6ba98-087a-43ac-a9d8-b7f13c5bae31}';
  31. DEVCLASS_STREAM_GUID: GUID = '{f8a6ba98-087a-43ac-a9d8-b7f13c5bae31}';
  32. type
  33. DEVDETAIL = record
  34. guidDevClass: GUID; // the device interface id for this notification
  35. dwReserved: DWORD; // do not use this
  36. fAttached: BOOL; // true if the di is present, false otherwise
  37. cbName: LongInt; // byte count of the interface's name
  38. szName: TCHAR; // beginning of the interface's name
  39. end;
  40. TDEVDETAIL = DEVDETAIL;
  41. PDEVDETAIL = ^DEVDETAIL;
  42. implementation
  43. end.