181 lines
2.2 KiB
C
181 lines
2.2 KiB
C
|
/*++
|
||
|
|
||
|
Copyright (c) 1998 Microsoft Corporation
|
||
|
|
||
|
Module Name:
|
||
|
|
||
|
DBCLIB.H
|
||
|
|
||
|
Abstract:
|
||
|
|
||
|
common structures for DBC port drivers.
|
||
|
|
||
|
Environment:
|
||
|
|
||
|
Kernel & user mode
|
||
|
|
||
|
Revision History:
|
||
|
|
||
|
04-13-98 : created
|
||
|
|
||
|
--*/
|
||
|
|
||
|
#ifndef __DBCLIB_H__
|
||
|
#define __DBCLIB_H__
|
||
|
|
||
|
#define DBCLASS_VERSION 0x10000002
|
||
|
|
||
|
#ifndef DBCLASS
|
||
|
|
||
|
/*
|
||
|
Services
|
||
|
*/
|
||
|
|
||
|
DECLSPEC_IMPORT
|
||
|
NTSTATUS
|
||
|
DBCLASS_RegisterController(
|
||
|
IN ULONG DbclassVersion,
|
||
|
IN PDEVICE_OBJECT ControllerFdo,
|
||
|
IN PDEVICE_OBJECT TopOfStack,
|
||
|
IN PDEVICE_OBJECT ControllerPdo,
|
||
|
IN ULONG ControllerSig
|
||
|
);
|
||
|
/*++
|
||
|
|
||
|
Routine Description:
|
||
|
|
||
|
This function registers a Device Bay contoller
|
||
|
driver or filter with the class driver
|
||
|
|
||
|
Arguments:
|
||
|
|
||
|
ControllerFdo -
|
||
|
|
||
|
TopOfStack -
|
||
|
|
||
|
Return Value:
|
||
|
|
||
|
|
||
|
--*/
|
||
|
|
||
|
|
||
|
DECLSPEC_IMPORT
|
||
|
NTSTATUS
|
||
|
DBCLASS_UnRegisterController(
|
||
|
IN PDEVICE_OBJECT ControllerFdo,
|
||
|
IN PDEVICE_OBJECT TopOfStack
|
||
|
);
|
||
|
/*++
|
||
|
|
||
|
Routine Description:
|
||
|
|
||
|
This function registers a Device Bay contoller
|
||
|
driver or filter with the class driver
|
||
|
|
||
|
Arguments:
|
||
|
|
||
|
ControllerFdo -
|
||
|
|
||
|
TopOfStack -
|
||
|
|
||
|
Return Value:
|
||
|
|
||
|
|
||
|
--*/
|
||
|
|
||
|
|
||
|
DECLSPEC_IMPORT
|
||
|
NTSTATUS
|
||
|
DBCLASS_ClassDispatch(
|
||
|
IN PDEVICE_OBJECT ControllerFdo,
|
||
|
IN PIRP Irp,
|
||
|
IN PBOOLEAN HandledByClass
|
||
|
);
|
||
|
/*++
|
||
|
|
||
|
Routine Description:
|
||
|
|
||
|
Only called by port driver,
|
||
|
|
||
|
Arguments:
|
||
|
|
||
|
ControllerFdo -
|
||
|
|
||
|
Return Value:
|
||
|
|
||
|
|
||
|
--*/
|
||
|
|
||
|
|
||
|
DECLSPEC_IMPORT
|
||
|
NTSTATUS
|
||
|
DBCLASS_FilterDispatch(
|
||
|
IN PDEVICE_OBJECT ControllerFdo,
|
||
|
IN PIRP Irp
|
||
|
);
|
||
|
/*++
|
||
|
|
||
|
Routine Description:
|
||
|
|
||
|
Only called by filter driver,
|
||
|
|
||
|
Arguments:
|
||
|
|
||
|
ControllerFdo -
|
||
|
|
||
|
Return Value:
|
||
|
|
||
|
|
||
|
--*/
|
||
|
|
||
|
|
||
|
DECLSPEC_IMPORT
|
||
|
NTSTATUS
|
||
|
DBCLASS_SetD0_Complete(
|
||
|
PDEVICE_OBJECT DeviceObject,
|
||
|
PIRP Irp
|
||
|
);
|
||
|
|
||
|
/*++
|
||
|
|
||
|
Routine Description:
|
||
|
|
||
|
called by port driver when set D0 power Irp completes
|
||
|
|
||
|
Arguments:
|
||
|
|
||
|
ControllerFdo -
|
||
|
|
||
|
Return Value:
|
||
|
|
||
|
|
||
|
--*/
|
||
|
|
||
|
|
||
|
DECLSPEC_IMPORT
|
||
|
NTSTATUS
|
||
|
DBCLASS_RegisterBusFilter(
|
||
|
IN ULONG DbclassVersion,
|
||
|
IN PDRIVER_OBJECT BusFilterDriverObject,
|
||
|
IN PDEVICE_OBJECT FilterFdo
|
||
|
);
|
||
|
|
||
|
/*++
|
||
|
|
||
|
Routine Description:
|
||
|
|
||
|
Register a filter PDO with the class driver
|
||
|
|
||
|
Arguments:
|
||
|
|
||
|
FilterFdo -
|
||
|
|
||
|
Return Value:
|
||
|
|
||
|
|
||
|
--*/
|
||
|
|
||
|
#endif /* DBCLASS */
|
||
|
|
||
|
#endif /* __DBCLIB_H__ */
|