WmipProbeWnodeSingleItem

INT64 __stdcall WmipProbeWnodeSingleItem(tagWNODE_SINGLE_ITEM *Wnode, UINT64 InBufferLen){
  int v2; 
  INT64 result; 
  ULONG Flags; 
  UINT64 DataBlockSize; 
  UINT64 v7; 
  UINT64 v8; 
  v2 = InBufferLen;
  if( (unsigned int)InBufferLen < 0x44 )
    return 3221225473i64;
  LODWORD(v8) = 0;
  LODWORD(v7) = InBufferLen;
  LODWORD(DataBlockSize) = Wnode->SizeDataItem;
  result = WmipProbeWnodeWorker(
             &Wnode->WnodeHeader,
             0x44ui64,
             Wnode->OffsetInstanceName,
             Wnode->DataBlockOffset,
             DataBlockSize,
             v7,
             v8,
             0,
             1u);
  if( (int)result < 0 )
    return result;
  Flags = Wnode->WnodeHeader.Flags;
  if( (Flags & 4) != 0 && v2 == Wnode->WnodeHeader.BufferSize && (Flags & 0xFFFFFF7B) == 0 )
    return 0i64;
  else
    return 3221225473i64;
}

Referenced by:

WmipIoControl