www.pudn.com > camera.rar > qcibus.h


// 
// Copyright (c) Microsoft Corporation.  All rights reserved. 
// 
// 
// Use of this sample source code is subject to the terms of the Microsoft 
// license agreement under which you licensed this sample source code. If 
// you did not accept the terms of the license agreement, you are not 
// authorized to use this sample source code. For the terms of the license, 
// please see the license agreement between you and Microsoft or, if applicable, 
// see the LICENSE.RTF on your install media or the root of your tools installation. 
// THE SAMPLE SOURCE CODE IS PROVIDED "AS IS", WITH NO WARRANTIES OR INDEMNITIES. 
// 
// 
// (C) Copyright 2006 Marvell International Ltd. 
// All Rights Reserved 
// 
 
#ifndef __QCIBUS_H_ 
#define __QCIBUS_H_ 
 
#define MAX_INITPARAM 0x20 
#include  
 
class SensorFolder : public DeviceFolder{ 
public: 
    SensorFolder(LPCTSTR lpBusName,LPCTSTR lpTemplateRegPath,DWORD dwBusType, DWORD BusNumber,PCI_SLOT_NUMBER SlotNumber,HANDLE hParent); 
    ~SensorFolder(); 
    // Sensor Power Handling; 
    BOOL SetPowerState(CEDEVICE_POWER_STATE newPowerState); 
private: 
}; 
 
class QciBus : public  DefaultBusDriver { 
public: 
    QciBus(LPCTSTR lpActiveRegPath); 
    ~QciBus(); 
    virtual BOOL Init();  
    virtual BOOL PostInit() ; 
    virtual DWORD GetBusNamePrefix(LPTSTR lpReturnBusName,DWORD dwSizeInUnit); 
    BOOL FastIOControl(DWORD dwCode, PBYTE pBufIn, DWORD dwLenIn, PBYTE pBufOut, DWORD dwLenOut, 
                       PDWORD pdwActualOut,DeviceFolder **ppDeviceFoler); 
 
private: 
    BOOL AssignChildDriver(); 
    BOOL ActiveAllChildDriver(); 
    LPTSTR  m_lpActiveRegPath; 
    CRegistryEdit m_DeviceKey; 
    DWORD   m_dwDeviceIndex; 
 
    DWORD   m_dwBusType; 
    LPTSTR  m_lpBusName; 
    DWORD   m_dwBusNumber;     
 
    CEDEVICE_POWER_STATE m_PowerState; 
     
    LPTSTR  m_lpStrInitParam; 
    DWORD   m_dwNumOfInitParam; 
    LPTSTR  m_lpInitParamArray[MAX_INITPARAM]; 
     
}; 
 
#endif