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.
84 lines
1.6 KiB
84 lines
1.6 KiB
/*++
|
|
|
|
Copyright (c) 1989 - 1999 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
devctrl.c
|
|
|
|
Abstract:
|
|
|
|
This module implements DeviceIoControl operations.
|
|
|
|
--*/
|
|
|
|
#include "precomp.h"
|
|
#pragma hdrstop
|
|
|
|
//
|
|
// The local debug trace level
|
|
//
|
|
|
|
RXDT_DefineCategory(DEVCTRL);
|
|
|
|
#define Dbg (DEBUG_TRACE_DEVCTRL)
|
|
|
|
|
|
//
|
|
// forwards & code allocation pragmas
|
|
//
|
|
#ifdef ALLOC_PRAGMA
|
|
#pragma alloc_text(PAGE, NulMRxIoCtl)
|
|
#endif
|
|
|
|
|
|
NTSTATUS
|
|
NulMRxIoCtl(
|
|
IN OUT PRX_CONTEXT RxContext)
|
|
/*++
|
|
|
|
Routine Description:
|
|
|
|
This routine performs an IOCTL operation.
|
|
|
|
Arguments:
|
|
|
|
RxContext - the RDBSS context
|
|
|
|
Return Value:
|
|
|
|
RXSTATUS - The return status for the operation
|
|
|
|
Notes:
|
|
|
|
|
|
--*/
|
|
{
|
|
NTSTATUS Status = STATUS_INVALID_DEVICE_REQUEST;
|
|
RxCaptureFcb;
|
|
RxCaptureFobx;
|
|
PMRX_SRV_OPEN pSrvOpen = capFobx->pSrvOpen;
|
|
NulMRxGetFcbExtension(capFcb,pFcbExtension);
|
|
PMRX_NET_ROOT pNetRoot = capFcb->pNetRoot;
|
|
PMRX_SRV_CALL pSrvCall = pNetRoot->pSrvCall;
|
|
UNICODE_STRING RootName;
|
|
NulMRxGetDeviceExtension(RxContext,pDeviceExtension);
|
|
PLOWIO_CONTEXT LowIoContext = &RxContext->LowIoContext;
|
|
ULONG IoControlCode = LowIoContext->ParamsFor.FsCtl.FsControlCode;
|
|
PUNICODE_STRING RemainingName = pSrvOpen->pAlreadyPrefixedName;
|
|
UNICODE_STRING StatsFile;
|
|
NulMRxGetNetRootExtension(pNetRoot,pNetRootExtension);
|
|
|
|
RxTraceEnter("NulMRxIoCtl");
|
|
PAGED_CODE();
|
|
|
|
switch (IoControlCode) {
|
|
|
|
default:
|
|
//ASSERT(!"unimplemented major function");
|
|
break;
|
|
}
|
|
|
|
RxTraceLeave(Status);
|
|
return Status;
|
|
}
|