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.