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.

81 lines
2.4 KiB

  1. /*++
  2. Copyright (c) 1997 Microsoft Corporation
  3. Module Name:
  4. VfWExt.h
  5. Abstract:
  6. Constants and function prototypes needed to create IHV's extension DLL
  7. and constants used to programatically open a target capture device.
  8. Author:
  9. Yee J. Wu (ezuwu) 15-September-97
  10. Environment:
  11. User mode only
  12. Revision History:
  13. --*/
  14. #include <prsht.h>
  15. #define VFW_HIDE_SETTINGS_PAGE 0x00000001
  16. #define VFW_HIDE_VIDEOSRC_PAGE 0x00000002
  17. #define VFW_HIDE_CAMERACONTROL_PAGE 0x00000004
  18. #define VFW_HIDE_ALL_PAGES (VFW_HIDE_SETTINGS_PAGE |\
  19. VFW_HIDE_VIDEOSRC_PAGE |\
  20. VFW_HIDE_CAMERACONTROL_PAGE)
  21. #define VFW_OEM_ADD_PAGE 0x80000000 // If OEM has added any page
  22. #define VFW_USE_DEVICE_HANDLE 0x00000001
  23. #define VFW_USE_STREAM_HANDLE 0x00000002
  24. #define VFW_QUERY_DEV_CHANGED 0x00000100 // if selected_dev == streaming_dev
  25. //
  26. // This is the function pointer that vfwwdm mapper calls to add an page
  27. //
  28. typedef
  29. DWORD (CALLBACK FAR * VFWWDMExtensionProc)(
  30. LPVOID pfnDeviceIoControl,
  31. LPFNADDPROPSHEETPAGE pfnAddPropertyPage,
  32. LPARAM lParam);
  33. //
  34. // This is the function pointer that you can call to make DeviceIoControl() calls.
  35. //
  36. typedef
  37. BOOL (CALLBACK FAR * LPFNEXTDEVIO)(
  38. LPARAM lParam,
  39. DWORD dwFlags,
  40. DWORD dwIoControlCode,
  41. LPVOID lpInBuffer,
  42. DWORD nInBufferSize,
  43. LPVOID lpOutBuffer,
  44. DWORD nOutBufferSize,
  45. LPDWORD lpBytesReturned,
  46. LPOVERLAPPED lpOverlapped);
  47. //
  48. // HLM\System\CurrentControlSet\Control\MediaResources\msvideo\MSVideo.VFWWDM
  49. //
  50. // Registry values used to allow a VfW client application to programatically
  51. // open a target capture device. The first is the FriendlyName of the capture
  52. // device; and the 2nd flag if set, vfwwdm mapper will open only; if failed,
  53. // no attempt will be made by VfWWDM mapper to open other WDM capture device.
  54. //
  55. // Both registry value should be clear after capDriverConnect(). VfWWDM mapper
  56. // will not clear them unless video source dialog box is chosen.
  57. //
  58. #define TARGET_DEVICE_FRIENDLY_NAME "TargetDeviceFriendlyName" // REG_SZ
  59. #define TARGET_DEVICE_OPEN_EXCLUSIVELY "TargetDeviceOpenExclusively" // REG_DWORD