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.

64 lines
1.4 KiB

  1. /*************************************************************************
  2. *
  3. * video.c
  4. *
  5. * This module contains routines for managing the ICA video channel.
  6. *
  7. * Copyright 1998, Microsoft.
  8. *
  9. *************************************************************************/
  10. /*
  11. * Includes
  12. */
  13. #include <precomp.h>
  14. #pragma hdrstop
  15. NTSTATUS
  16. IcaDeviceControlVideo(
  17. IN PICA_CHANNEL pChannel,
  18. IN PIRP Irp,
  19. IN PIO_STACK_LOCATION IrpSp
  20. )
  21. /*++
  22. Routine Description:
  23. This is the DeviceControl routine for the ICA video channel.
  24. Arguments:
  25. pChannel -- pointer to ICA_CHANNEL object
  26. Irp - Pointer to I/O request packet
  27. IrpSp - pointer to the stack location to use for this request.
  28. Return Value:
  29. NTSTATUS -- Indicates whether the request was successfully queued.
  30. --*/
  31. {
  32. SD_IOCTL SdIoctl;
  33. NTSTATUS Status;
  34. SdIoctl.BytesReturned = 0;
  35. SdIoctl.IoControlCode = IrpSp->Parameters.DeviceIoControl.IoControlCode;
  36. SdIoctl.InputBuffer = Irp->AssociatedIrp.SystemBuffer;
  37. SdIoctl.InputBufferLength = IrpSp->Parameters.DeviceIoControl.InputBufferLength;
  38. SdIoctl.OutputBuffer = Irp->AssociatedIrp.SystemBuffer;
  39. SdIoctl.OutputBufferLength = IrpSp->Parameters.DeviceIoControl.OutputBufferLength;
  40. Status = IcaCallDriver( pChannel, SD$IOCTL, &SdIoctl );
  41. Irp->IoStatus.Information = SdIoctl.BytesReturned;
  42. return( Status );
  43. }