PiCMReturnHandleResultData

NTSTATUS __stdcall PiCMReturnHandleResultData(
        INT64 Result,
        VOID *Handle,
        UINT64 ExpectedOutputSize,
        VOID *IoctlOutputBuffer,
        UINT64 IoctlOutputBufferSize,
        UINT64 *BytesUsed,
        INT64 a7,
        INT64 a8){
  int v10; 
  NTSTATUS v11; 

  v10 = Result;
  *(_DWORD *)BytesUsed = 0;
  v11 = 0;
  if( (unsigned int)IoctlOutputBufferSize < 0x10 || (_DWORD)ExpectedOutputSize != 16 )
    return -1073741811;
  ProbeForWrite((UINT64)IoctlOutputBuffer, (unsigned int)IoctlOutputBufferSize, 4i64);
  *(_DWORD *)IoctlOutputBuffer = 16;
  *((_DWORD *)IoctlOutputBuffer + 1) = v10;
  *((_QWORD *)IoctlOutputBuffer + 1) = Handle;
  *(_DWORD *)BytesUsed = 16;
  return v11;
}

Referenced by:

PiCMOpenClassKey
PiCMOpenDeviceInterfaceKey
PiCMOpenDeviceKey
PiCMOpenObjectKey