Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

56 lines
1.2 KiB

  1. /*++
  2. Copyright (c) 2001 Microsoft Corporation
  3. Module Name:
  4. PiHandle.h
  5. Abstract:
  6. This header contains private information to implement handle walking
  7. support in the PNP subsystem. This file is meant to be included only by
  8. pphandle.c.
  9. Author:
  10. Adrian J. Oney - April 4, 2001
  11. Revision History:
  12. --*/
  13. #if DBG
  14. typedef struct {
  15. PDEVICE_OBJECT DeviceObject;
  16. PEPROCESS Process;
  17. PHANDLE_ENUMERATION_CALLBACK CallBack;
  18. PVOID Context;
  19. } HANDLE_ENUM_CONTEXT, *PHANDLE_ENUM_CONTEXT;
  20. BOOLEAN
  21. PiHandleEnumerateHandlesAgainstDeviceObject(
  22. IN PDEVICE_OBJECT DeviceObject,
  23. IN PHANDLE_ENUMERATION_CALLBACK HandleEnumCallBack,
  24. IN PVOID Context
  25. );
  26. BOOLEAN
  27. PiHandleProcessWalkWorker(
  28. IN PHANDLE_TABLE_ENTRY ObjectTableEntry,
  29. IN HANDLE HandleId,
  30. IN PHANDLE_ENUM_CONTEXT EnumContext
  31. );
  32. //
  33. // This macro uses private information from the ntos\ex module. It should be
  34. // replaced with an inter-module define or function
  35. //
  36. #define OBJECT_FROM_EX_TABLE_ENTRY(x) \
  37. (POBJECT_HEADER)((ULONG_PTR)(x)->Object & ~7)
  38. #endif // DBG