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.

86 lines
2.5 KiB

  1. /*************************************************************************
  2. *
  3. * ctxdd.h
  4. *
  5. * Prototypes for functions to perform kernel level I/O using file object.
  6. *
  7. * Copyright Microsoft Corporation, 1998
  8. *
  9. *
  10. *************************************************************************/
  11. /*
  12. * Read file using a FileObject instead of a handle.
  13. * If the caller does not specify a wait KEVENT, then this is
  14. * a synchronous read operation. Otherwise, it is the caller's
  15. * responsibility to wait on the specified event if necessary.
  16. */
  17. NTSTATUS
  18. CtxReadFile(
  19. IN PFILE_OBJECT fileObject,
  20. IN PVOID Buffer,
  21. IN ULONG Length,
  22. IN PKEVENT pEvent OPTIONAL,
  23. OUT PIO_STATUS_BLOCK pIosb OPTIONAL,
  24. OUT PIRP *ppIrp OPTIONAL
  25. );
  26. /*
  27. * Write file using a FileObject instead of a handle.
  28. * If the caller does not specify a wait KEVENT, then this is
  29. * a synchronous read operation. Otherwise, it is the caller's
  30. * responsibility to wait on the specified event if necessary.
  31. */
  32. NTSTATUS
  33. CtxWriteFile(
  34. IN PFILE_OBJECT fileObject,
  35. IN PVOID Buffer,
  36. IN ULONG Length,
  37. IN PKEVENT pEvent OPTIONAL,
  38. OUT PIO_STATUS_BLOCK pIosb OPTIONAL,
  39. OUT PIRP *ppIrp OPTIONAL
  40. );
  41. /*
  42. * DeviceIoControl using a FileObject instead of a handle.
  43. * If the caller does not specify a wait KEVENT, then this is
  44. * a synchronous read operation. Otherwise, it is the caller's
  45. * responsibility to wait on the specified event if necessary.
  46. */
  47. NTSTATUS
  48. CtxDeviceIoControlFile(
  49. IN PFILE_OBJECT fileObject,
  50. IN ULONG IoControlCode,
  51. IN PVOID InputBuffer OPTIONAL,
  52. IN ULONG InputBufferLength,
  53. OUT PVOID OutputBuffer OPTIONAL,
  54. IN ULONG OutputBufferLength,
  55. IN BOOLEAN InternalDeviceIoControl,
  56. IN PKEVENT pEvent OPTIONAL,
  57. OUT PIO_STATUS_BLOCK pIosb OPTIONAL,
  58. OUT PIRP *ppIrp OPTIONAL
  59. );
  60. /*
  61. * DeviceIoControl using a FileObject instead of a handle.
  62. * If the caller does not specify a wait KEVENT, then this is
  63. * a synchronous read operation. Otherwise, it is the caller's
  64. * responsibility to wait on the specified event if necessary.
  65. */
  66. NTSTATUS
  67. CtxInternalDeviceIoControlFile(
  68. IN PFILE_OBJECT FileObject,
  69. IN PVOID IrpParameters,
  70. IN ULONG IrpParametersLength,
  71. IN PVOID MdlBuffer OPTIONAL,
  72. IN ULONG MdlBufferLength,
  73. IN UCHAR MinorFunction,
  74. IN PKEVENT pEvent OPTIONAL,
  75. OUT PIO_STATUS_BLOCK pIosb OPTIONAL,
  76. OUT PIRP *ppIrp OPTIONAL
  77. );