ReactOS  0.4.15-dev-2704-gd5265b0
usbcamdi.h
Go to the documentation of this file.
1 /*
2  * usbcamdi.h
3  *
4  * USB Camera driver interface.
5  *
6  * This file is part of the ReactOS PSDK package.
7  *
8  * Contributors:
9  * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
10  *
11  * THIS SOFTWARE IS NOT COPYRIGHTED
12  *
13  * This source code is offered for use in the public domain. You may
14  * use, modify or distribute it freely.
15  *
16  * This code is distributed in the hope that it will be useful but
17  * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
18  * DISCLAIMED. This includes but is not limited to warranties of
19  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
20  *
21  */
22 
23 #pragma once
24 
25 #ifdef __cplusplus
26 extern "C" {
27 #endif
28 
29 #if defined(_BATTERYCLASS_)
30  #define USBCAMAPI
31 #else
32  #define USBCAMAPI DECLSPEC_IMPORT
33 #endif
34 
35 typedef struct _pipe_config_descriptor {
39 
40 #define USBCAMD_DATA_PIPE 0x0001
41 #define USBCAMD_MULTIPLEX_PIPE 0x0002
42 #define USBCAMD_SYNC_PIPE 0x0004
43 #define USBCAMD_DONT_CARE_PIPE 0x0008
44 
45 #define USBCAMD_VIDEO_STREAM 0x1
46 #define USBCAMD_STILL_STREAM 0x2
47 #define USBCAMD_VIDEO_STILL_STREAM (USBCAMD_VIDEO_STREAM | USBCAMD_STILL_STREAM)
48 
49 #define USBCAMD_PROCESSPACKETEX_DropFrame 0x0002
50 #define USBCAMD_PROCESSPACKETEX_NextFrameIsStill 0x0004
51 #define USBCAMD_PROCESSPACKETEX_CurrentFrameIsStill 0x0008
52 
53 #define USBCAMD_STOP_STREAM 0x00000001
54 #define USBCAMD_START_STREAM 0x00000000
55 
56 typedef enum {
62 
63 typedef NTSTATUS
66  IN OUT PVOID CommandContext,
67  IN NTSTATUS NtStatus);
68 
69 typedef VOID
71  IN PVOID Srb,
73  IN PBOOLEAN Completed);
74 
75 typedef NTSTATUS
77  PDEVICE_OBJECT BusDeviceObject,
79 
80 typedef NTSTATUS
82  IN PDEVICE_OBJECT BusDeviceObject,
85  IN PUSB_CONFIGURATION_DESCRIPTOR ConfigurationDescriptor,
86  IN PLONG DataPipeIndex,
87  IN PLONG SyncPipeIndex);
88 
89 typedef NTSTATUS
91  IN PDEVICE_OBJECT BusDeviceObject,
94  IN PUSB_CONFIGURATION_DESCRIPTOR ConfigurationDescriptor,
95  IN ULONG PipeConfigListSize,
98 
99 typedef NTSTATUS
101  IN PDEVICE_OBJECT BusDeviceObject,
103 
104 typedef NTSTATUS
106  IN PDEVICE_OBJECT BusDeviceObject,
108  IN ULONG StreamNumber);
109 
110 typedef NTSTATUS
112  IN PDEVICE_OBJECT BusDeviceObject,
114  IN PULONG RawFrameLength,
115  IN PVOID Format);
116 
117 typedef NTSTATUS
119  IN PDEVICE_OBJECT BusDeviceObject,
121  IN PULONG RawFrameLength,
122  IN PVOID Format,
123  IN ULONG StreamNumber);
124 
125 typedef NTSTATUS
127  IN PDEVICE_OBJECT BusDeviceObject,
129 
130 typedef NTSTATUS
132  IN PDEVICE_OBJECT BusDeviceObject,
134  IN ULONG StreamNumber);
135 
136 typedef VOID
139 
140 typedef NTSTATUS
142  IN PDEVICE_OBJECT BusDeviceObject,
144 
145 typedef NTSTATUS
147  IN PDEVICE_OBJECT BusDeviceObject,
149  IN ULONG StreamNumber);
150 
151 typedef ULONG
153  IN PDEVICE_OBJECT BusDeviceObject,
155  IN PVOID CurrentFrameContext,
157  IN PVOID SyncBuffer OPTIONAL,
159  IN OUT PVOID DataBuffer,
160  OUT PBOOLEAN FrameComplete,
161  OUT PBOOLEAN NextFrameIsStill);
162 
163 typedef ULONG
165  IN PDEVICE_OBJECT BusDeviceObject,
167  IN PVOID CurrentFrameContext,
169  IN PVOID SyncBuffer OPTIONAL,
171  IN OUT PVOID DataBuffer,
172  OUT PBOOLEAN FrameComplete,
173  OUT PULONG PacketFlag,
174  OUT PULONG ValidDataOffset);
175 
176 typedef VOID
179  IN PVOID FrameContext);
180 
181 typedef VOID
184  IN PVOID FrameContext,
185  IN ULONG StreamNumber,
186  OUT PULONG FrameLength);
187 
188 typedef NTSTATUS
190  IN PDEVICE_OBJECT BusDeviceObject,
192  IN PVOID FrameContext,
194  IN ULONG FrameLength,
195  OUT PVOID RawFrameBuffer,
196  IN ULONG RawFrameLength,
199 
200 typedef NTSTATUS
202  IN PDEVICE_OBJECT BusDeviceObject,
204  IN PVOID FrameContext,
206  IN ULONG FrameLength,
207  OUT PVOID RawFrameBuffer,
208  IN ULONG RawFrameLength,
211  IN ULONG ActualRawFrameLength,
212  IN ULONG StreamNumber);
213 
214 typedef NTSTATUS
216  IN PDEVICE_OBJECT BusDeviceObject,
218 
219 #if defined(DEBUG_LOG)
220 
221 USBCAMAPI
222 VOID
223 NTAPI
224 USBCAMD_Debug_LogEntry(
225  IN CHAR *Name,
226  IN ULONG Info1,
227  IN ULONG Info2,
228  IN ULONG Info3);
229 
230 #define ILOGENTRY(sig, info1, info2, info3) \
231  USBCAMD_Debug_LogEntry(sig, (ULONG)info1, (ULONG)info2, (ULONG)info3)
232 
233 #else
234 
235 #define ILOGENTRY(sig, info1, info2, info3)
236 
237 #endif /* DEBUG_LOG */
238 
239 typedef struct _USBCAMD_DEVICE_DATA {
254 
255 typedef struct _USBCAMD_DEVICE_DATA2 {
270 
271 DEFINE_GUID(GUID_USBCAMD_INTERFACE,
272  0x2bcb75c0, 0xb27f, 0x11d1, 0xba, 0x41, 0x0, 0xa0, 0xc9, 0xd, 0x2b, 0x5);
273 
274 typedef NTSTATUS
278 
279 typedef NTSTATUS
283  IN PVOID Buffer,
285  IN PCOMMAND_COMPLETE_FUNCTION EventComplete,
286  IN PVOID EventContext,
287  IN BOOLEAN LoopBack);
288 
289 typedef NTSTATUS
292  IN ULONG PipeIndex);
293 
294 typedef NTSTATUS
297  IN ULONG PipeStateFlags);
298 
299 typedef NTSTATUS
303  IN PVOID Buffer,
305  IN PCOMMAND_COMPLETE_FUNCTION CommandComplete,
306  IN PVOID CommandContext);
307 
308 #define USBCAMD_VERSION_200 0x200
309 
310 typedef struct _USBCAMD_INTERFACE {
318 
319 /* FIXME : Do we need USBCAMAPI here ? */
320 
321 USBCAMAPI
322 ULONG
323 NTAPI
325  IN PVOID Context1,
326  IN PVOID Context2,
327  IN ULONG DeviceContextSize,
328  IN ULONG FrameContextSize,
329  IN PADAPTER_RECEIVE_PACKET_ROUTINE ReceivePacket);
330 
331 USBCAMAPI
332 PVOID
333 NTAPI
338  IN BOOLEAN NeedsCompletion);
339 
340 USBCAMAPI
341 NTSTATUS
342 NTAPI
345  IN UCHAR Request,
346  IN USHORT Value,
347  IN USHORT Index,
348  IN OUT PVOID Buffer,
351  IN PCOMMAND_COMPLETE_FUNCTION CommandComplete OPTIONAL,
352  IN PVOID CommandContext OPTIONAL);
353 
354 USBCAMAPI
355 NTSTATUS
356 NTAPI
359  IN OUT PUSBD_INTERFACE_INFORMATION RequestInterface);
360 
361 USBCAMAPI
362 NTSTATUS
363 NTAPI
365  IN HANDLE Handle,
366  IN PWCHAR KeyNameString,
367  IN ULONG KeyNameStringLength,
368  IN PVOID Data,
370 
371 USBCAMAPI
372 ULONG
373 NTAPI
377  IN ULONG Version,
378  IN ULONG CamControlFlag);
379 
380 #ifdef __cplusplus
381 }
382 #endif
383 
384 #endif /* !defined(__USB_H) && !defined(__USBDI_H) */
_In_ PPNDIS_PACKET _In_ UINT NumberOfPackets
Definition: ndis.h:5120
USBCAMAPI ULONG NTAPI USBCAMD_DriverEntry(IN PVOID Context1, IN PVOID Context2, IN ULONG DeviceContextSize, IN ULONG FrameContextSize, IN PADAPTER_RECEIVE_PACKET_ROUTINE ReceivePacket)
#define IN
Definition: typedefs.h:39
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ ULONG BufferLength
Definition: wdfdevice.h:3767
struct _USBCAMD_DEVICE_DATA * PUSBCAMD_DEVICE_DATA
PCAM_INITIALIZE_ROUTINE CamUnInitialize
Definition: usbcamdi.h:242
GLint x0
Definition: linetemp.h:95
struct _pipe_config_descriptor USBCAMD_Pipe_Config_Descriptor
PCAM_START_CAPTURE_ROUTINE_EX CamStartCaptureEx
Definition: usbcamdi.h:262
IN BOOLEAN OUT PSTR Buffer
Definition: progress.h:34
USBCAMAPI NTSTATUS NTAPI USBCAMD_SelectAlternateInterface(IN PVOID DeviceContext, IN OUT PUSBD_INTERFACE_INFORMATION RequestInterface)
NTSTATUS(NTAPI * PCAM_START_CAPTURE_ROUTINE)(IN PDEVICE_OBJECT BusDeviceObject, IN PVOID DeviceContext)
Definition: usbcamdi.h:100
char CHAR
Definition: xmlstorage.h:175
#define USBCAMAPI
Definition: usbcamdi.h:32
LONG NTSTATUS
Definition: precomp.h:26
PFNUSBCAMD_SetVideoFormat USBCAMD_SetVideoFormat
Definition: usbcamdi.h:314
NTSTATUS(NTAPI * PCAM_START_CAPTURE_ROUTINE_EX)(IN PDEVICE_OBJECT BusDeviceObject, IN PVOID DeviceContext, IN ULONG StreamNumber)
Definition: usbcamdi.h:105
PCAM_NEW_FRAME_ROUTINE CamNewVideoFrame
Definition: usbcamdi.h:244
NTSTATUS(NTAPI * PCAM_PROCESS_RAW_FRAME_ROUTINE_EX)(IN PDEVICE_OBJECT BusDeviceObject, IN PVOID DeviceContext, IN PVOID FrameContext, IN PVOID FrameBuffer, IN ULONG FrameLength, OUT PVOID RawFrameBuffer, IN ULONG RawFrameLength, IN ULONG NumberOfPackets, OUT PULONG BytesReturned, IN ULONG ActualRawFrameLength, IN ULONG StreamNumber)
Definition: usbcamdi.h:201
PCAM_NEW_FRAME_ROUTINE_EX CamNewVideoFrameEx
Definition: usbcamdi.h:260
_In_ WDFREQUEST Request
Definition: wdfdevice.h:547
NTSTATUS(NTAPI * PCAM_FREE_BW_ROUTINE)(IN PDEVICE_OBJECT BusDeviceObject, IN PVOID DeviceContext)
Definition: usbcamdi.h:126
NTSTATUS(NTAPI * PFNUSBCAMD_SetVideoFormat)(IN PVOID DeviceContext, IN PHW_STREAM_REQUEST_BLOCK pSrb)
Definition: usbcamdi.h:275
INTERFACE Interface
Definition: usbcamdi.h:311
uint16_t * PWCHAR
Definition: typedefs.h:56
PCAM_PROCESS_RAW_FRAME_ROUTINE_EX CamProcessRawVideoFrameEx
Definition: usbcamdi.h:261
PCAM_ALLOCATE_BW_ROUTINE_EX CamAllocateBandwidthEx
Definition: usbcamdi.h:267
ULONG(NTAPI * PCAM_PROCESS_PACKET_ROUTINE_EX)(IN PDEVICE_OBJECT BusDeviceObject, IN PVOID DeviceContext, IN PVOID CurrentFrameContext, IN PUSBD_ISO_PACKET_DESCRIPTOR SyncPacket OPTIONAL, IN PVOID SyncBuffer OPTIONAL, IN PUSBD_ISO_PACKET_DESCRIPTOR DataPacket OPTIONAL, IN OUT PVOID DataBuffer, OUT PBOOLEAN FrameComplete, OUT PULONG PacketFlag, OUT PULONG ValidDataOffset)
Definition: usbcamdi.h:164
NTSTATUS(NTAPI * PCAM_ALLOCATE_BW_ROUTINE)(IN PDEVICE_OBJECT BusDeviceObject, IN PVOID DeviceContext, IN PULONG RawFrameLength, IN PVOID Format)
Definition: usbcamdi.h:111
PCAM_PROCESS_PACKET_ROUTINE_EX CamProcessUSBPacketEx
Definition: usbcamdi.h:259
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_ ULONG _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PWDF_REQUEST_SEND_OPTIONS _Out_opt_ PULONG_PTR BytesReturned
Definition: wdfiotarget.h:1039
PCAM_PROCESS_RAW_FRAME_ROUTINE CamProcessRawVideoFrame
Definition: usbcamdi.h:245
struct _USBCAMD_INTERFACE * PUSBCAMD_INTERFACE
NTSTATUS(NTAPI * PFNUSBCAMD_SetIsoPipeState)(IN PVOID DeviceContext, IN ULONG PipeStateFlags)
Definition: usbcamdi.h:295
PCAM_STATE_ROUTINE CamRestoreState
Definition: usbcamdi.h:266
NTSTATUS(NTAPI * PFNUSBCAMD_WaitOnDeviceEvent)(IN PVOID DeviceContext, IN ULONG PipeIndex, IN PVOID Buffer, IN ULONG BufferLength, IN PCOMMAND_COMPLETE_FUNCTION EventComplete, IN PVOID EventContext, IN BOOLEAN LoopBack)
Definition: usbcamdi.h:280
VOID(NTAPI * PSTREAM_RECEIVE_PACKET)(IN PVOID Srb, IN PVOID DeviceContext, IN PBOOLEAN Completed)
Definition: usbcamdi.h:70
_In_ WDFUSBINTERFACE _In_ UCHAR PipeIndex
Definition: wdfusb.h:2538
_In_ PDEVICE_OBJECT DeviceObject
Definition: wdfdevice.h:2055
PCAM_INITIALIZE_ROUTINE CamInitialize
Definition: usbcamdi.h:241
NTSTATUS(NTAPI * PCAM_STATE_ROUTINE)(IN PDEVICE_OBJECT BusDeviceObject, IN PVOID DeviceContext)
Definition: usbcamdi.h:215
struct _pipe_config_descriptor * PUSBCAMD_Pipe_Config_Descriptor
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
Definition: IoEaTest.cpp:117
DEFINE_GUID(GUID_USBCAMD_INTERFACE, 0x2bcb75c0, 0xb27f, 0x11d1, 0xba, 0x41, 0x0, 0xa0, 0xc9, 0xd, 0x2b, 0x5)
unsigned char BOOLEAN
NTSTATUS(NTAPI * PCAM_CONFIGURE_ROUTINE_EX)(IN PDEVICE_OBJECT BusDeviceObject, IN PVOID DeviceContext, IN PUSBD_INTERFACE_INFORMATION Interface, IN PUSB_CONFIGURATION_DESCRIPTOR ConfigurationDescriptor, IN ULONG PipeConfigListSize, IN PUSBCAMD_Pipe_Config_Descriptor PipeConfig, IN PUSB_DEVICE_DESCRIPTOR DeviceDescriptor)
Definition: usbcamdi.h:90
VOID(NTAPI * PCAM_NEW_FRAME_ROUTINE_EX)(IN PVOID DeviceContext, IN PVOID FrameContext, IN ULONG StreamNumber, OUT PULONG FrameLength)
Definition: usbcamdi.h:182
_In_ ULONG _In_opt_ WDFREQUEST _In_opt_ PVOID _In_ size_t _In_ PVOID _In_ size_t _Out_ size_t * DataLength
Definition: cdrom.h:1437
Definition: bufpool.h:45
PCAM_CONFIGURE_ROUTINE_EX CamConfigureEx
Definition: usbcamdi.h:264
PCAM_STATE_ROUTINE CamRestoreState
Definition: usbcamdi.h:250
NTSTATUS(NTAPI * PCAM_STOP_CAPTURE_ROUTINE)(IN PDEVICE_OBJECT BusDeviceObject, IN PVOID DeviceContext)
Definition: usbcamdi.h:141
PCAM_STATE_ROUTINE CamSaveState
Definition: usbcamdi.h:265
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
Definition: wdfregistry.h:406
const KSDEVICE_DESCRIPTOR DeviceDescriptor
Definition: splitter.c:257
PCAM_STOP_CAPTURE_ROUTINE CamStopCapture
Definition: usbcamdi.h:247
PFNUSBCAMD_SetIsoPipeState USBCAMD_SetIsoPipeState
Definition: usbcamdi.h:315
NTSTATUS(NTAPI * PFNUSBCAMD_BulkReadWrite)(IN PVOID DeviceContext, IN USHORT PipeIndex, IN PVOID Buffer, IN ULONG BufferLength, IN PCOMMAND_COMPLETE_FUNCTION CommandComplete, IN PVOID CommandContext)
Definition: usbcamdi.h:300
_In_ WDFCOLLECTION _In_ ULONG Index
NTSTATUS(NTAPI * PFNUSBCAMD_CancelBulkReadWrite)(IN PVOID DeviceContext, IN ULONG PipeIndex)
Definition: usbcamdi.h:290
NTSTATUS(NTAPI * PCAM_STOP_CAPTURE_ROUTINE_EX)(IN PDEVICE_OBJECT BusDeviceObject, IN PVOID DeviceContext, IN ULONG StreamNumber)
Definition: usbcamdi.h:146
NTSTATUS(NTAPI * PCOMMAND_COMPLETE_FUNCTION)(IN PVOID DeviceContext, IN OUT PVOID CommandContext, IN NTSTATUS NtStatus)
Definition: usbcamdi.h:64
PCAM_FREE_BW_ROUTINE CamFreeBandwidth
Definition: usbcamdi.h:252
USBCAMAPI ULONG NTAPI USBCAMD_InitializeNewInterface(IN PVOID DeviceContext, IN PVOID DeviceData, IN ULONG Version, IN ULONG CamControlFlag)
PCAM_STATE_ROUTINE CamSaveState
Definition: usbcamdi.h:249
IN PVOID IN PVOID IN USHORT Version
Definition: pci.h:361
PFNUSBCAMD_BulkReadWrite USBCAMD_BulkReadWrite
Definition: usbcamdi.h:313
NTSTATUS(NTAPI * PCAM_INITIALIZE_ROUTINE)(PDEVICE_OBJECT BusDeviceObject, PVOID DeviceContext)
Definition: usbcamdi.h:76
USBCAMD_CamControlFlags
Definition: usbcamdi.h:56
PVOID FrameBuffer
Definition: xboxvideo.c:28
unsigned char UCHAR
Definition: xmlstorage.h:181
char * PBOOLEAN
Definition: retypes.h:11
PFNUSBCAMD_CancelBulkReadWrite USBCAMD_CancelBulkReadWrite
Definition: usbcamdi.h:316
struct _USBCAMD_INTERFACE USBCAMD_INTERFACE
USBCAMAPI NTSTATUS NTAPI USBCAMD_GetRegistryKeyValue(IN HANDLE Handle, IN PWCHAR KeyNameString, IN ULONG KeyNameStringLength, IN PVOID Data, IN ULONG DataLength)
_In_ PNDIS_STRING _In_opt_ NDIS_HANDLE DeviceContext
Definition: ndis.h:5245
#define NTSTATUS
Definition: precomp.h:20
#define VOID
Definition: acefi.h:82
NTSTATUS(NTAPI * PCAM_PROCESS_RAW_FRAME_ROUTINE)(IN PDEVICE_OBJECT BusDeviceObject, IN PVOID DeviceContext, IN PVOID FrameContext, IN PVOID FrameBuffer, IN ULONG FrameLength, OUT PVOID RawFrameBuffer, IN ULONG RawFrameLength, IN ULONG NumberOfPackets, OUT PULONG BytesReturned)
Definition: usbcamdi.h:189
NTSTATUS(NTAPI * PCAM_ALLOCATE_BW_ROUTINE_EX)(IN PDEVICE_OBJECT BusDeviceObject, IN PVOID DeviceContext, IN PULONG RawFrameLength, IN PVOID Format, IN ULONG StreamNumber)
Definition: usbcamdi.h:118
_In_ PNET_PNP_EVENT _In_ PTDI_PNP_CONTEXT _In_ PTDI_PNP_CONTEXT Context2
Definition: tdikrnl.h:1094
PCAM_STOP_CAPTURE_ROUTINE_EX CamStopCaptureEx
Definition: usbcamdi.h:263
struct _USBCAMD_DEVICE_DATA2 * PUSBCAMD_DEVICE_DATA2
IN PVOID IN PVOID IN USHORT IN USHORT IN PINTERFACE Interface
Definition: pci.h:361
unsigned short USHORT
Definition: pedump.c:61
struct _USBCAMD_DEVICE_DATA USBCAMD_DEVICE_DATA
static BYTE * GetData(BYTE *pData, ULONG *pLength)
Definition: assembly.c:114
_In_ PNET_PNP_EVENT _In_ PTDI_PNP_CONTEXT Context1
Definition: tdikrnl.h:1094
PCAM_INITIALIZE_ROUTINE CamInitialize
Definition: usbcamdi.h:257
#define OPTIONAL
Definition: typedefs.h:41
unsigned int * PULONG
Definition: retypes.h:1
PCAM_INITIALIZE_ROUTINE CamUnInitialize
Definition: usbcamdi.h:258
VOID(NTAPI * PCAM_NEW_FRAME_ROUTINE)(IN PVOID DeviceContext, IN PVOID FrameContext)
Definition: usbcamdi.h:177
struct _USBCAMD_DEVICE_DATA2 USBCAMD_DEVICE_DATA2
USBCAMAPI PVOID NTAPI USBCAMD_AdapterReceivePacket(IN PHW_STREAM_REQUEST_BLOCK Srb, IN PUSBCAMD_DEVICE_DATA DeviceData, IN PDEVICE_OBJECT *DeviceObject, IN BOOLEAN NeedsCompletion)
_In_ HANDLE Handle
Definition: extypes.h:390
#define OUT
Definition: typedefs.h:40
ULONG(NTAPI * PCAM_PROCESS_PACKET_ROUTINE)(IN PDEVICE_OBJECT BusDeviceObject, IN PVOID DeviceContext, IN PVOID CurrentFrameContext, IN PUSBD_ISO_PACKET_DESCRIPTOR SyncPacket OPTIONAL, IN PVOID SyncBuffer OPTIONAL, IN PUSBD_ISO_PACKET_DESCRIPTOR DataPacket OPTIONAL, IN OUT PVOID DataBuffer, OUT PBOOLEAN FrameComplete, OUT PBOOLEAN NextFrameIsStill)
Definition: usbcamdi.h:152
PFNUSBCAMD_WaitOnDeviceEvent USBCAMD_WaitOnDeviceEvent
Definition: usbcamdi.h:312
PCAM_ALLOCATE_BW_ROUTINE CamAllocateBandwidth
Definition: usbcamdi.h:251
unsigned int ULONG
Definition: retypes.h:1
USBCAMAPI NTSTATUS NTAPI USBCAMD_ControlVendorCommand(IN PVOID DeviceContext, IN UCHAR Request, IN USHORT Value, IN USHORT Index, IN OUT PVOID Buffer, IN OUT PULONG BufferLength, IN BOOLEAN GetData, IN PCOMMAND_COMPLETE_FUNCTION CommandComplete OPTIONAL, IN PVOID CommandContext OPTIONAL)
PCAM_CONFIGURE_ROUTINE CamConfigure
Definition: usbcamdi.h:248
VOID(NTAPI * PADAPTER_RECEIVE_PACKET_ROUTINE)(IN OUT PHW_STREAM_REQUEST_BLOCK Srb)
Definition: usbcamdi.h:137
PCAM_PROCESS_PACKET_ROUTINE CamProcessUSBPacket
Definition: usbcamdi.h:243
NTSTATUS(NTAPI * PCAM_FREE_BW_ROUTINE_EX)(IN PDEVICE_OBJECT BusDeviceObject, IN PVOID DeviceContext, IN ULONG StreamNumber)
Definition: usbcamdi.h:131
IN PSCSI_REQUEST_BLOCK Srb
Definition: class2.h:49
PCAM_START_CAPTURE_ROUTINE CamStartCapture
Definition: usbcamdi.h:246
signed int * PLONG
Definition: retypes.h:5
PCAM_FREE_BW_ROUTINE_EX CamFreeBandwidthEx
Definition: usbcamdi.h:268
NTSTATUS(NTAPI * PCAM_CONFIGURE_ROUTINE)(IN PDEVICE_OBJECT BusDeviceObject, IN PVOID DeviceContext, IN PUSBD_INTERFACE_INFORMATION Interface, IN PUSB_CONFIGURATION_DESCRIPTOR ConfigurationDescriptor, IN PLONG DataPipeIndex, IN PLONG SyncPipeIndex)
Definition: usbcamdi.h:81
ACPI_BUFFER *RetBuffer ACPI_BUFFER *RetBuffer char ACPI_WALK_RESOURCE_CALLBACK void *Context ACPI_BUFFER *RetBuffer UINT16 ACPI_RESOURCE **ResourcePtr ACPI_GENERIC_ADDRESS *Reg UINT32 *ReturnValue UINT8 UINT8 *Slp_TypB ACPI_PHYSICAL_ADDRESS PhysicalAddress64 UINT32 UINT32 *TimeElapsed UINT32 ACPI_STATUS const char * Format
Definition: acpixf.h:1216
PULONG MinorVersion OPTIONAL
Definition: CrossNt.h:68