Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

110 lines
1.9 KiB

/*++
Copyright (c) 1997-2000 Microsoft Corporation
Module Name:
init.c
Abstract:
This module provides the initialization and unload functions.
Author:
Andy Thornton (andrewth) 20-Oct-97
Revision History:
--*/
#include "mfp.h"
NTSTATUS
DriverEntry(
IN PDRIVER_OBJECT DriverObject,
IN PUNICODE_STRING RegistryPath
);
VOID
MfUnload(
IN PDRIVER_OBJECT DriverObject
);
#ifdef ALLOC_PRAGMA
#pragma alloc_text(INIT, DriverEntry)
#pragma alloc_text(PAGE, MfUnload)
#endif
PDRIVER_OBJECT MfDriverObject;
NTSTATUS
DriverEntry(
IN PDRIVER_OBJECT DriverObject,
IN PUNICODE_STRING RegistryPath
)
/*++
Routine Description:
This is the entry point to MF.SYS and performs initialization.
Arguments:
DriverObject - The system owned driver object for MF
RegistryPath - The path to MF's service entry
Return Value:
STATUS_SUCCESS
--*/
{
DriverObject->DriverExtension->AddDevice = MfAddDevice;
DriverObject->MajorFunction[IRP_MJ_PNP] = MfDispatchPnp;
DriverObject->MajorFunction[IRP_MJ_POWER] = MfDispatchPower;
DriverObject->MajorFunction[IRP_MJ_DEVICE_CONTROL] = MfDispatchNop;
DriverObject->MajorFunction[IRP_MJ_SYSTEM_CONTROL] = MfDispatchNop;
DriverObject->DriverUnload = MfUnload;
//
// Remember the driver object
//
MfDriverObject = DriverObject;
DEBUG_MSG(1, ("Completed DriverEntry for Driver 0x%08x\n", DriverObject));
return STATUS_SUCCESS;
}
VOID
MfUnload(
IN PDRIVER_OBJECT DriverObject
)
/*++
Routine Description:
This is called to reverse any operations performed in DriverEntry before a
driver is unloaded.
Arguments:
DriverObject - The system owned driver object for MF
Return Value:
STATUS_SUCCESS
--*/
{
PAGED_CODE();
DEBUG_MSG(1, ("Completed Unload for Driver 0x%08x\n", DriverObject));
return;
}