📄 ioctl.c
字号:
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//
// Use of this source code is subject to the terms of the Microsoft end-user
// license agreement (EULA) under which you licensed this SOFTWARE PRODUCT.
// If you did not accept the terms of the EULA, you are not authorized to use
// this source code. For a copy of the EULA, please see the LICENSE.RTF on your
// install media.
//
//------------------------------------------------------------------------------
//
// File: ioctl.c
//
// This file implements the OEM's IO Control (IOCTL) functions and declares
// global variables used by the IOCTL component.
//
#include <bsp.h>
//------------------------------------------------------------------------------
//
// Global: g_oalIoctlPlatformType/OEM
//
// Platform Type/OEM
//
LPCWSTR g_oalIoCtlPlatformType = IOCTL_PLATFORM_TYPE;
LPCWSTR g_oalIoCtlPlatformOEM = IOCTL_PLATFORM_OEM;
//------------------------------------------------------------------------------
//
// Global: g_oalIoctlProcessorVendor/Name/Core
//
// Processor information
//
LPCWSTR g_oalIoCtlProcessorVendor = IOCTL_PROCESSOR_VENDOR;
LPCWSTR g_oalIoCtlProcessorName = IOCTL_PROCESSOR_NAME;
LPCWSTR g_oalIoCtlProcessorCore = IOCTL_PROCESSOR_CORE;
//------------------------------------------------------------------------------
//
// Global: g_oalIoctlInstructionSet
//
// Processor instruction set identifier
//
UINT32 g_oalIoCtlInstructionSet = IOCTL_PROCESSOR_INSTRUCTION_SET;
UINT32 g_oalIoCtlClockSpeed = IOCTL_PROCESSOR_CLOCK_SPEED;
//------------------------------------------------------------------------------
//
// Global: g_oalIoCtlTable[]
//
// IOCTL handler table. This table includes the IOCTL code/handler pairs
// defined in the IOCTL configuration file. This global array is exported
// via oal_ioctl.h and is used by the OAL IOCTL component.
//
BOOL S3C24A0IoCtlQueryDispSettings (
UINT32 code, VOID *lpInBuf, UINT32 nInBufSize, VOID *lpOutBuf,
UINT32 nOutBufSize, UINT32 *lpBytesReturned);
BOOL GetRandomSeed(UINT32 code, VOID* pInpBuffer, UINT32 inpSize, VOID* pOutBuffer,
UINT32 outSize, UINT32 *pOutSize);
BOOL SecureRegistry(UINT32 code, VOID* lpInBuf , UINT32 nInBufSize , VOID* lpOutBuf ,
UINT32 nOutBufSize , UINT32 *lpBytesReturned );
BOOL TestIOCTLa(UINT32 code, VOID* pInpBuffer, UINT32 inpSize, VOID* pOutBuffer,
UINT32 outSize, UINT32 *pOutSize)
{
RETAILMSG(1, (TEXT("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ Arrived TestIOCTLa $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\r\n")));
return TRUE;
}
BOOL TestIOCTLb(UINT32 code, VOID* pInpBuffer, UINT32 inpSize, VOID* pOutBuffer,
UINT32 outSize, UINT32 *pOutSize)
{
RETAILMSG(1, (TEXT("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ Arrived TestIOCTLb $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\r\n")));
return TRUE;
}
BOOL TestIOCTLc(UINT32 code, VOID* pInpBuffer, UINT32 inpSize, VOID* pOutBuffer,
UINT32 outSize, UINT32 *pOutSize)
{
RETAILMSG(1, (TEXT("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ Arrived TestIOCTLc $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\r\n")));
return TRUE;
}
BOOL TestIOCTLd(UINT32 code, VOID* pInpBuffer, UINT32 inpSize, VOID* pOutBuffer,
UINT32 outSize, UINT32 *pOutSize)
{
RETAILMSG(1, (TEXT("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ Arrived TestIOCTLd $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\r\n")));
return TRUE;
}
BOOL TestIOCTLe(UINT32 code, VOID* pInpBuffer, UINT32 inpSize, VOID* pOutBuffer,
UINT32 outSize, UINT32 *pOutSize)
{
RETAILMSG(1, (TEXT("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ Arrived TestIOCTLe $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\r\n")));
return TRUE;
}
BOOL TestIOCTLf(UINT32 code, VOID* pInpBuffer, UINT32 inpSize, VOID* pOutBuffer,
UINT32 outSize, UINT32 *pOutSize)
{
RETAILMSG(1, (TEXT("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ Arrived TestIOCTLf $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\r\n")));
return TRUE;
}
BOOL TestIOCTLg(UINT32 code, VOID* pInpBuffer, UINT32 inpSize, VOID* pOutBuffer,
UINT32 outSize, UINT32 *pOutSize)
{
RETAILMSG(1, (TEXT("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ Arrived TestIOCTLg $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\r\n")));
return TRUE;
}
BOOL TestIOCTLh(UINT32 code, VOID* pInpBuffer, UINT32 inpSize, VOID* pOutBuffer,
UINT32 outSize, UINT32 *pOutSize)
{
RETAILMSG(1, (TEXT("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ Arrived TestIOCTLh $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\r\n")));
return TRUE;
}
BOOL TestIOCTLi(UINT32 code, VOID* pInpBuffer, UINT32 inpSize, VOID* pOutBuffer,
UINT32 outSize, UINT32 *pOutSize)
{
RETAILMSG(1, (TEXT("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ Arrived TestIOCTLi $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\r\n")));
return TRUE;
}
BOOL TestIOCTLj(UINT32 code, VOID* pInpBuffer, UINT32 inpSize, VOID* pOutBuffer,
UINT32 outSize, UINT32 *pOutSize)
{
RETAILMSG(1, (TEXT("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ Arrived TestIOCTLj $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\r\n")));
return TRUE;
}
BOOL TestIOCTLk(UINT32 code, VOID* pInpBuffer, UINT32 inpSize, VOID* pOutBuffer,
UINT32 outSize, UINT32 *pOutSize)
{
RETAILMSG(1, (TEXT("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ Arrived TestIOCTLk $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\r\n")));
return TRUE;
}
BOOL TestIOCTLl(UINT32 code, VOID* pInpBuffer, UINT32 inpSize, VOID* pOutBuffer,
UINT32 outSize, UINT32 *pOutSize)
{
RETAILMSG(1, (TEXT("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ Arrived TestIOCTLl $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\r\n")));
return TRUE;
}
BOOL TestIOCTLm(UINT32 code, VOID* pInpBuffer, UINT32 inpSize, VOID* pOutBuffer,
UINT32 outSize, UINT32 *pOutSize)
{
RETAILMSG(1, (TEXT("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ Arrived TestIOCTLm $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\r\n")));
return TRUE;
}
BOOL TestIOCTLn(UINT32 code, VOID* pInpBuffer, UINT32 inpSize, VOID* pOutBuffer,
UINT32 outSize, UINT32 *pOutSize)
{
RETAILMSG(1, (TEXT("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ Arrived TestIOCTLn $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\r\n")));
return TRUE;
}
BOOL TestIOCTLo(UINT32 code, VOID* pInpBuffer, UINT32 inpSize, VOID* pOutBuffer,
UINT32 outSize, UINT32 *pOutSize)
{
RETAILMSG(1, (TEXT("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ Arrived TestIOCTLo $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\r\n")));
return TRUE;
}
BOOL TestIOCTLp(UINT32 code, VOID* pInpBuffer, UINT32 inpSize, VOID* pOutBuffer,
UINT32 outSize, UINT32 *pOutSize)
{
RETAILMSG(1, (TEXT("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ Arrived TestIOCTLp $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\r\n")));
return TRUE;
}
BOOL TestIOCTLq(UINT32 code, VOID* pInpBuffer, UINT32 inpSize, VOID* pOutBuffer,
UINT32 outSize, UINT32 *pOutSize)
{
RETAILMSG(1, (TEXT("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ Arrived TestIOCTLq $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\r\n")));
return TRUE;
}
BOOL TestIOCTLr(UINT32 code, VOID* pInpBuffer, UINT32 inpSize, VOID* pOutBuffer,
UINT32 outSize, UINT32 *pOutSize)
{
RETAILMSG(1, (TEXT("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ Arrived TestIOCTLr $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\r\n")));
return TRUE;
}
BOOL TestIOCTLs(UINT32 code, VOID* pInpBuffer, UINT32 inpSize, VOID* pOutBuffer,
UINT32 outSize, UINT32 *pOutSize)
{
RETAILMSG(1, (TEXT("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ Arrived TestIOCTLs $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\r\n")));
return TRUE;
}
BOOL TestIOCTLt(UINT32 code, VOID* pInpBuffer, UINT32 inpSize, VOID* pOutBuffer,
UINT32 outSize, UINT32 *pOutSize)
{
RETAILMSG(1, (TEXT("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ Arrived TestIOCTLt $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\r\n")));
return TRUE;
}
BOOL TestIOCTLu(UINT32 code, VOID* pInpBuffer, UINT32 inpSize, VOID* pOutBuffer,
UINT32 outSize, UINT32 *pOutSize)
{
RETAILMSG(1, (TEXT("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ Arrived TestIOCTLu $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\r\n")));
return TRUE;
}
BOOL TestIOCTLv(UINT32 code, VOID* pInpBuffer, UINT32 inpSize, VOID* pOutBuffer,
UINT32 outSize, UINT32 *pOutSize)
{
RETAILMSG(1, (TEXT("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ Arrived TestIOCTLv $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\r\n")));
return TRUE;
}
BOOL TestIOCTLw(UINT32 code, VOID* pInpBuffer, UINT32 inpSize, VOID* pOutBuffer,
UINT32 outSize, UINT32 *pOutSize)
{
RETAILMSG(1, (TEXT("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ Arrived TestIOCTLw $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\r\n")));
return TRUE;
}
BOOL TestIOCTLx(UINT32 code, VOID* pInpBuffer, UINT32 inpSize, VOID* pOutBuffer,
UINT32 outSize, UINT32 *pOutSize)
{
RETAILMSG(1, (TEXT("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ Arrived TestIOCTLx $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\r\n")));
return TRUE;
}
BOOL TestIOCTLy(UINT32 code, VOID* pInpBuffer, UINT32 inpSize, VOID* pOutBuffer,
UINT32 outSize, UINT32 *pOutSize)
{
RETAILMSG(1, (TEXT("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ Arrived TestIOCTLy $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\r\n")));
return TRUE;
}
BOOL TestIOCTLz(UINT32 code, VOID* pInpBuffer, UINT32 inpSize, VOID* pOutBuffer,
UINT32 outSize, UINT32 *pOutSize)
{
RETAILMSG(1, (TEXT("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ Arrived TestIOCTLz $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\r\n")));
return TRUE;
}
BOOL TestIOCTL0(UINT32 code, VOID* pInpBuffer, UINT32 inpSize, VOID* pOutBuffer,
UINT32 outSize, UINT32 *pOutSize)
{
RETAILMSG(1, (TEXT("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ Arrived TestIOCTL $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\r\n")));
return TRUE;
}
BOOL TestIOCTL1(UINT32 code, VOID* pInpBuffer, UINT32 inpSize, VOID* pOutBuffer,
UINT32 outSize, UINT32 *pOutSize)
{
RETAILMSG(1, (TEXT("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ Arrived TestIOCTL1 $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\r\n")));
return TRUE;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -