#pragma once

/*
typedef struct _USB_DEVICE_T {
	WORD length;
	WORD USBVersion;
	WORD DeviceClass;
	WORD DeviceSubClass;
	WORD DeviceProtocol;
	WORD MaxPacketSize0;
	WORD VendorId;
	WORD ProductId;
	WORD DeviceVersion;
	WORD NumConfigurations;
	WORD ManufacturerLength;
	WORD ManufacturerOffs;
	WORD ProductLength;
	WORD ProductOffs;
	WORD SerialLength;
	WORD SerialOffs;
}USB_DEVICE_T;
*/

#include "stdafx.h"

#ifdef WIN_UMDF
typedef NTSTATUS(_stdcall *FUNC_UMDF_CB_BULK_PIPE_WRITE)(void* p_hContext, void *p_pMessage, uint32_t p_nBytesToWrite);
typedef NTSTATUS(_stdcall *FUNC_UMDF_CB_BULK_PIPE_READ)(void* p_hContext, void *p_pResponse, uint32_t* p_pnBytesRead);
typedef NTSTATUS(_stdcall *FUNC_UMDF_CB_GET_USB_INFO)(void* p_hContext, USB_DEVICE_T* p_pcUsbDeviceInfo);

typedef struct _UMDF_CALLBACK
{
	FUNC_UMDF_CB_BULK_PIPE_WRITE	m_pfCallbackBulkPipeWrite;
	FUNC_UMDF_CB_BULK_PIPE_READ		m_pfCallbackBulkPipeRead;
	FUNC_UMDF_CB_GET_USB_INFO		m_pfCallbackGetUsbInfo;
	void*							m_hContext;
} UMDF_CALLBACK, *PUMDF_CALLBACK;

#endif

