Pular para o conteúdo

slot_subarray

  • Procura o array no slot parent_slot
  • Recupera o sub-objeto no índice especificado em array_id
  • Coloca o sub-objeto no slot new_slot ou no próximo slot disponível, caso new_slot seja 0.
  • Retorna o novo número de slot.
int64_t slot_subarray (
uint32_t parent_slot,
uint32_t array_id,
uint32_t new_slot
);
int64_t subslot = 0;
subslot =
slot_subarray(slot_no, i, (uint32_t)subslot);
NomeTipoDescrição
parent_slotuint32_tSlot em que o array pai está
array_iduint32_t

O código sf do campo que você está procurando.

Para calcular isso manualmente, pegue o type serializado e desloque-o para os 16 bits mais altos de uint32_t, depois pegue o field e coloque-o nos 16 bits mais baixos.

Por exemplo:
sfEmitNonce tem type 5 e field 11, portanto seu valor é 0x050BU

new_slotuint32_tNovo número de slot no qual colocar o objeto do índice de array selecionado. Se nulo, escolhe o próximo slot disponível. Pode ser nulo.
TipoDescrição
int64_t

O número do slot do objeto recém-alocado

Se negativo, um erro:

DOESNT_EXIST
- O array_id especificado não existe no array apontado por parent_slot

NO_FREE_SLOTS
- A API exigiria a alocação de um novo slot, mas o Hook já está no número máximo de slots.

NOT_AN_ARRAY
- O parent_slot especificado não contém um STArray.