82 lines
2.4 KiB
C
82 lines
2.4 KiB
C
|
/*++
|
||
|
|
||
|
Copyright (c) 1997 Microsoft Corporation
|
||
|
|
||
|
Module Name:
|
||
|
|
||
|
VfWExt.h
|
||
|
|
||
|
Abstract:
|
||
|
|
||
|
Constants and function prototypes needed to create IHV's extension DLL
|
||
|
and constants used to programatically open a target capture device.
|
||
|
|
||
|
|
||
|
Author:
|
||
|
|
||
|
Yee J. Wu (ezuwu) 15-September-97
|
||
|
|
||
|
Environment:
|
||
|
|
||
|
User mode only
|
||
|
|
||
|
Revision History:
|
||
|
|
||
|
--*/
|
||
|
|
||
|
#include <prsht.h>
|
||
|
|
||
|
#define VFW_HIDE_SETTINGS_PAGE 0x00000001
|
||
|
#define VFW_HIDE_VIDEOSRC_PAGE 0x00000002
|
||
|
#define VFW_HIDE_CAMERACONTROL_PAGE 0x00000004
|
||
|
#define VFW_HIDE_ALL_PAGES (VFW_HIDE_SETTINGS_PAGE |\
|
||
|
VFW_HIDE_VIDEOSRC_PAGE |\
|
||
|
VFW_HIDE_CAMERACONTROL_PAGE)
|
||
|
#define VFW_OEM_ADD_PAGE 0x80000000 // If OEM has added any page
|
||
|
|
||
|
|
||
|
#define VFW_USE_DEVICE_HANDLE 0x00000001
|
||
|
#define VFW_USE_STREAM_HANDLE 0x00000002
|
||
|
#define VFW_QUERY_DEV_CHANGED 0x00000100 // if selected_dev == streaming_dev
|
||
|
|
||
|
|
||
|
//
|
||
|
// This is the function pointer that vfwwdm mapper calls to add an page
|
||
|
//
|
||
|
typedef
|
||
|
DWORD (CALLBACK FAR * VFWWDMExtensionProc)(
|
||
|
LPVOID pfnDeviceIoControl,
|
||
|
LPFNADDPROPSHEETPAGE pfnAddPropertyPage,
|
||
|
LPARAM lParam);
|
||
|
|
||
|
//
|
||
|
// This is the function pointer that you can call to make DeviceIoControl() calls.
|
||
|
//
|
||
|
typedef
|
||
|
BOOL (CALLBACK FAR * LPFNEXTDEVIO)(
|
||
|
LPARAM lParam,
|
||
|
DWORD dwFlags,
|
||
|
DWORD dwIoControlCode,
|
||
|
LPVOID lpInBuffer,
|
||
|
DWORD nInBufferSize,
|
||
|
LPVOID lpOutBuffer,
|
||
|
DWORD nOutBufferSize,
|
||
|
LPDWORD lpBytesReturned,
|
||
|
LPOVERLAPPED lpOverlapped);
|
||
|
|
||
|
|
||
|
//
|
||
|
// HLM\System\CurrentControlSet\Control\MediaResources\msvideo\MSVideo.VFWWDM
|
||
|
//
|
||
|
// Registry values used to allow a VfW client application to programatically
|
||
|
// open a target capture device. The first is the FriendlyName of the capture
|
||
|
// device; and the 2nd flag if set, vfwwdm mapper will open only; if failed,
|
||
|
// no attempt will be made by VfWWDM mapper to open other WDM capture device.
|
||
|
//
|
||
|
// Both registry value should be clear after capDriverConnect(). VfWWDM mapper
|
||
|
// will not clear them unless video source dialog box is chosen.
|
||
|
//
|
||
|
#define TARGET_DEVICE_FRIENDLY_NAME "TargetDeviceFriendlyName" // REG_SZ
|
||
|
#define TARGET_DEVICE_OPEN_EXCLUSIVELY "TargetDeviceOpenExclusively" // REG_DWORD
|
||
|
|