Leaked source code of windows server 2003
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) 1992 Microsoft Corporation
Module Name:
init.c
Abstract:
Author:
Thomas J. Dimitri (TommyD) 08-May-1992
Environment:
Kernel Mode - Or whatever is the equivalent on OS/2 and DOS.
Revision History:
--*/ #include "asyncall.h"
// asyncmac.c will define the global parameters.
#include "globals.h"
#include "init.h"
#ifdef MY_DEVICE_OBJECT
VOID AsyncSetupExternalNaming( PDRIVER_OBJECT DriverObject )
/*++
Routine Description:
This routine will be used to create a symbolic link to the driver name in the given object directory.
It will also create an entry in the device map for this device.
Arguments:
MacName - The NDIS Mac Name in Open Adapter
Return Value:
None.
--*/
{ NDIS_STRING SymbolicName = NDIS_STRING_CONST("\\DosDevices\\ASYNCMAC"); NDIS_STRING Name = NDIS_STRING_CONST("\\Device\\ASYNCMAC"); NTSTATUS Status;
AsyncDeviceObject = NULL;
Status = IoCreateDevice(DriverObject, sizeof(LIST_ENTRY), &Name, FILE_DEVICE_ASYMAC, 0, FALSE, (PDEVICE_OBJECT*)&AsyncDeviceObject);
if (Status != STATUS_SUCCESS) { #if DBG
DbgPrint("ASYNCMAC: IoCreateDevice Failed %4.4x\n", Status); #endif
return; }
AsyncDeviceObject->Flags |= DO_BUFFERED_IO;
IoCreateSymbolicLink(&SymbolicName, &Name); }
VOID AsyncCleanupExternalNaming( VOID )
/*++
Routine Description:
This routine will be used to delete a symbolic link to the driver name in the given object directory.
It will also delete an entry in the device map for this device.
Arguments:
MacName - The NDIS Mac Name in Open Adapter
Return Value:
None.
--*/
{ NDIS_STRING SymbolicName = NDIS_STRING_CONST("\\DosDevices\\ASYNCMAC");
DbgTracef(1, ("ASYNC: In SerialCleanupExternalNaming\n"));
if (AsyncDeviceObject == NULL) { return; }
IoDeleteSymbolicLink(&SymbolicName);
IoDeleteDevice(AsyncDeviceObject);
AsyncDeviceObject = NULL; }
#endif
|