Leaked source code of windows server 2003
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.

53 lines
1.2 KiB

  1. /*++
  2. Copyright (c) Microsoft Corporation. All rights reserved.
  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. typedef struct {
  14. PDEVICE_OBJECT DeviceObject;
  15. PEPROCESS Process;
  16. PHANDLE_ENUMERATION_CALLBACK CallBack;
  17. PVOID Context;
  18. } HANDLE_ENUM_CONTEXT, *PHANDLE_ENUM_CONTEXT;
  19. LOGICAL
  20. PiHandleEnumerateHandlesAgainstDeviceObject(
  21. IN PDEVICE_OBJECT DeviceObject,
  22. IN PHANDLE_ENUMERATION_CALLBACK HandleEnumCallBack,
  23. IN PVOID Context
  24. );
  25. BOOLEAN
  26. PiHandleProcessWalkWorker(
  27. IN PHANDLE_TABLE_ENTRY ObjectTableEntry,
  28. IN HANDLE HandleId,
  29. IN PHANDLE_ENUM_CONTEXT EnumContext
  30. );
  31. //
  32. // This macro uses private information from the ntos\ex module. It should be
  33. // replaced with an inter-module define or function
  34. //
  35. #define OBJECT_FROM_EX_TABLE_ENTRY(x) \
  36. (POBJECT_HEADER)((ULONG_PTR)(x)->Object & ~7)