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.
|
|
/*++
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; }
|