Apply .gitattributes normalization to convert all CRLF line endings inherited from Windows-origin source files to Unix LF. 175 files, zero content changes.
138 lines
4.7 KiB
C++
138 lines
4.7 KiB
C++
/*****************************************************************************
|
|
Company : Shree Ganesha Inc.
|
|
File Name : SkyWalker1Main.cpp
|
|
Author :
|
|
Date :
|
|
Purpose : This file contains the Entry Point of the Device Driver.
|
|
The File also defines various Dispatch Routine pointers
|
|
|
|
Revision History:
|
|
===============================================================================
|
|
DATE VERSION AUTHOR REMARK
|
|
===============================================================================
|
|
|
|
XXth April,2009 01 Initial Version
|
|
|
|
*****************************************************************************/
|
|
|
|
/* Include the Library and Other header file */
|
|
|
|
#include "SkyWalker1Main.h" //Common For all the Definitions,
|
|
//Declarations and Library Routines
|
|
|
|
/* End of Inclusion the Library and Other header file */
|
|
|
|
/* Macro Definitions */
|
|
/* End of Macro Definitions */
|
|
|
|
/* Global & Static variables Declaration */
|
|
|
|
//Device Dispatch Table : Lists the dispatch routines for the
|
|
//major events in the life of Device
|
|
const KSDEVICE_DISPATCH SkyWalker1DispatchTable = {
|
|
/* Add */ SkyWalker1AddDevice,
|
|
/* Start */ SkyWalker1Start,
|
|
/* PostStart */ NULL,
|
|
/* QueryStop */ SkyWalker1QueryStop,
|
|
/* CancelStop */ NULL,
|
|
/* Stop */ SkyWalker1Stop,
|
|
/* QueryRemove */ NULL, /*QueryRemoveUsbDevice,*/
|
|
/* CancelRemove */ NULL,
|
|
/* Remove */ SkyWalker1Remove,
|
|
/* QueryCapabilities */ NULL,
|
|
/* SurpriseRemoval */ NULL,
|
|
/* QueryPower */ NULL,
|
|
/* SetPower */ SkyWalker1SetPower
|
|
};
|
|
|
|
//Array of Filter Descriptors supported by the Current Driver
|
|
// Hold all the filter descriptors in an array
|
|
DEFINE_KSFILTER_DESCRIPTOR_TABLE(FilterDescriptors)
|
|
{
|
|
&SkyWalker1CaptureFilterDescriptor //Only Capture filter is a Kernel Streaming Filter
|
|
};
|
|
|
|
//Device Descriptor : It Describes the Device with all it's dispatch
|
|
//functions and Filters
|
|
const KSDEVICE_DESCRIPTOR SkyWalker1DeviceDescriptor =
|
|
{
|
|
&SkyWalker1DispatchTable,
|
|
SIZEOF_ARRAY(FilterDescriptors), //Filter Descriptor Count
|
|
FilterDescriptors, //Filter Descriptor Table
|
|
KSDEVICE_DESCRIPTOR_VERSION
|
|
};
|
|
|
|
/* End of Global & Static variables Declaration */
|
|
|
|
/* External Variable Declaration */
|
|
/* End of External Variable Declaration */
|
|
|
|
/* Declare Enumerations here */
|
|
/* End of Enumeration declaration */
|
|
|
|
/* Function Prototypes */
|
|
/* End of Function prototype definitions */
|
|
|
|
/*****************************************************************************
|
|
Function : DriverEntry
|
|
Description : This is a Entry Point function of the Windows Device Driver
|
|
It defines various dispatch routine Entry Point for the Driver
|
|
IN PARAM : <PDRIVER_OBJECT > Pointer to Driver Object which is called
|
|
<PUNICODE_STRING> Pointer to the Registry Entry of the Driver
|
|
OUT PARAM : <NTSTATUS> Status of the Driver Entry routine
|
|
STATUS_SUCCESS always
|
|
PreCondition : Driver is Unloaded
|
|
PostCondtion : Driver is Loaded with various Entry Point defined
|
|
Logic : NONE
|
|
Assumption : NONE
|
|
Note : NONE
|
|
Revision History: <REVISION HISTORY OF THE FUNCTION, MUST BE MAINTAINED BY MAINTAINER >
|
|
*****************************************************************************/
|
|
extern "C" NTSTATUS DriverEntry(IN PDRIVER_OBJECT pDriverObject,
|
|
IN PUNICODE_STRING pRegistryPath)
|
|
{
|
|
NTSTATUS ntEntryStatus = STATUS_SUCCESS;
|
|
|
|
PrintFunctionEntry(__FUNCTION__);
|
|
|
|
SkyWalkerDebugPrint(ENTRY_LEVEL, ("SkyWalker1 Driver Compiled on Date = %s, Time = %s\n",__DATE__,__TIME__));
|
|
SkyWalkerDebugPrint(ENTRY_LEVEL, ("Debug Level = %u\n",nCurrentDebugLevel));
|
|
|
|
//As this is an AVStream Minidriver it should call the KsInitializeDriver()
|
|
ntEntryStatus = KsInitializeDriver(
|
|
pDriverObject,
|
|
pRegistryPath,
|
|
&SkyWalker1DeviceDescriptor);
|
|
|
|
PrintFunctionExit(__FUNCTION__,ntEntryStatus);
|
|
|
|
return ntEntryStatus;
|
|
}
|
|
|
|
/*****************************************************************************
|
|
Function : SkyWalker1DriverUnload
|
|
Description : This is a Exit Point function of the Windows Device Driver
|
|
It does not usedful job for the PnP Driver but required to
|
|
unload the Driver from the Running System.
|
|
IN PARAM : <PDRIVER_OBJECT > Pointer to Driver Object which is to be Unloaded
|
|
OUT PARAM : NONE
|
|
PreCondition : Driver is Loaded
|
|
PostCondtion : Driver is Unloaded
|
|
Logic : NONE
|
|
Assumption : NONE
|
|
Note : NONE
|
|
Revision History: <REVISION HISTORY OF THE FUNCTION, MUST BE MAINTAINED BY MAINTAINER >
|
|
*****************************************************************************/
|
|
VOID SkyWalker1DriverUnload(PDRIVER_OBJECT pDriverObject)
|
|
{
|
|
PrintFunctionEntry(__FUNCTION__);
|
|
|
|
//No Processing
|
|
|
|
PrintFunctionExit(__FUNCTION__,STATUS_SUCCESS);
|
|
|
|
}
|
|
|
|
|
|
|