📄 devctrl.c
字号:
/*++
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;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -