IoSetGenericIrpExtension

NTSTATUS __stdcall IoSetGenericIrpExtension(
        _IRP *Irp,
        UINT8 *GenericExtensionData,
        UINT16 GenericExtensionDataSize,
        UINT8 OverwriteIfPresent){
  UINT64 v4; 
  INT64 v6; 
  CHAR *IrpExtension; 
  v4 = GenericExtensionDataSize;
  if( GenericExtensionDataSize > 4u )
    return -1073741811;
  v6 = 2i64;
  if( !OverwriteIfPresent && IopIrpHasExtensionType(Irp, 2ui64) )
    return -1073741791;
  IrpExtension = IopAllocateIrpExtension((INT64)Irp, v6);
  if( !IrpExtension )
    return -1073741670;
  memmove((UINT8 *)IrpExtension + 4, GenericExtensionData, v4);
  return 0;
}

Referenced by:

StRtlIoStorInfoSetNvCachePriority