DeviceControl.h
上传用户:xjjlds
上传日期:2015-12-05
资源大小:22823k
文件大小:2k
源码类别:

多媒体编程

开发平台:

Visual C++

  1. /*
  2.      File:       DeviceControl.h
  3.  
  4.      Contains:   Component API for doing AVC transactions.
  5.  
  6.      Version:    Technology: xxx put version here xxx
  7.                  Release:    QuickTime 6.0.2
  8.  
  9.      Copyright:  (c) 1999-2001 by Apple Computer, Inc., all rights reserved.
  10.  
  11.      Bugs?:      For bug reports, consult the following page on
  12.                  the World Wide Web:
  13.  
  14.                      http://developer.apple.com/bugreporter/
  15.  
  16. */
  17. #ifndef __DEVICECONTROL__
  18. #define __DEVICECONTROL__
  19. #ifndef __MACTYPES__
  20. #include "MacTypes.h"
  21. #endif
  22. #ifndef __COMPONENTS__
  23. #include "Components.h"
  24. #endif
  25. #if PRAGMA_ONCE
  26. #pragma once
  27. #endif
  28. #ifdef __cplusplus
  29. extern "C" {
  30. #endif
  31. #if PRAGMA_IMPORT
  32. #pragma import on
  33. #endif
  34. #if PRAGMA_STRUCT_ALIGN
  35.     #pragma options align=mac68k
  36. #elif PRAGMA_STRUCT_PACKPUSH
  37.     #pragma pack(push, 2)
  38. #elif PRAGMA_STRUCT_PACK
  39.     #pragma pack(2)
  40. #endif
  41. typedef CALLBACK_API_C( UInt32 , DCResponseHandler )(UInt32 fwCommandObjectID, Ptr responseBuffer, UInt32 responseLength);
  42. struct DVCTransactionParams {
  43.     Ptr                             commandBufferPtr;
  44.     UInt32                          commandLength;
  45.     Ptr                             responseBufferPtr;
  46.     UInt32                          responseBufferSize;
  47.     DCResponseHandler *             responseHandler;
  48. };
  49. typedef struct DVCTransactionParams     DVCTransactionParams;
  50. #if CALL_NOT_IN_CARBON
  51. EXTERN_API( ComponentResult )
  52. DeviceControlDoAVCTransaction   (ComponentInstance      instance,
  53.                                  DVCTransactionParams * params)                             FIVEWORDINLINE(0x2F3C, 0x0004, 0x0001, 0x7000, 0xA82A);
  54. /* selectors for component calls */
  55. enum {
  56.     kDeviceControlDoAVCTransactionSelect       = 0x0001
  57. };
  58. #endif  /* CALL_NOT_IN_CARBON */
  59. #if PRAGMA_STRUCT_ALIGN
  60.     #pragma options align=reset
  61. #elif PRAGMA_STRUCT_PACKPUSH
  62.     #pragma pack(pop)
  63. #elif PRAGMA_STRUCT_PACK
  64.     #pragma pack()
  65. #endif
  66. #ifdef PRAGMA_IMPORT_OFF
  67. #pragma import off
  68. #elif PRAGMA_IMPORT
  69. #pragma import reset
  70. #endif
  71. #ifdef __cplusplus
  72. }
  73. #endif
  74. #endif /* __DEVICECONTROL__ */