Never Mind I declared the variable as int instead of UInt32. I don't know why I did that though.
Okay, so now I have a new problem. I sent data through a bulk outPipe, using IOKit, and it seemed to work fine, but I was trying to send a silent screenshot through, and it said it read 7 bytes. I was so happy, because the read pipe did not stall, which it seems to do when the first byte in the array is actual data, and not a zero. Anyway, what I have been receiving, was perplexing me, and I did not know what it meant. I then tried a variable transmission. Same data returned. Same confusion as when I started to learn C. I don't know where the data starts, because I am using a 8096 byte chunk, for it, but one of the bytes is 2, the next one is 3, the next one is 0, and the next one is 8. That is the only data it returns.