PiCMDeleteDeviceInterfaceKey
INT64 __stdcall PiCMDeleteDeviceInterfaceKey(
PVOID IoctlInputBuffer,
UINT64 IoctlInputBufferSize,
PVOID IoctlOutputBuffer,
UINT64 IoctlOutputBufferSize,
UINT64 *BytesUsed){
unsigned int v5;
int v7;
__int64 v8;
unsigned int v9;
INT64 v11[2];
__int128 v12;
UINT64 ExpectedOutputSize;
UINT64 *v14;
v5 = IoctlOutputBufferSize;
*(_DWORD *)v14 = 0;
*(_OWORD *)v11 = 0i64;
v12 = 0i64;
ExpectedOutputSize = 0i64;
v7 = PiCMCaptureObjectInputData((UINT64)IoctlInputBuffer, IoctlInputBufferSize, (unsigned int)BytesUsed, (INT64)v11);
if( v7 >= 0 )
{
if( PiAuDoesClientHaveAccess(2ui64) )
{
if( (_QWORD)v12 && *(INT64 *)((char *)v11 + 4) == 0x400000000i64 && !HIDWORD(v12) && IoctlOutputBuffer && v5 >= 8 )
v9 = CmDeleteDeviceInterfaceRegKey(PiPnpRtlCtx, (const WCHAR *)v12, 50, v8, 1);
else
v9 = -1073741811;
}
else
{
v9 = -1073741790;
}
v7 = PiCMReturnBasicResultData(v9, (unsigned int)ExpectedOutputSize, IoctlOutputBuffer, v5, v14);
}
PiCMReleaseObjectInputData((INT64)v11);
return(unsigned int)v7;
}Referenced by:
No references.