Loading texture in OpenGL

The order of gl-functions in loadTex is critical.

typedef struct TextureInfo_ {
    int width;
    int height;
    int pixelSize;
    int colorType;
//    int algnType; // 0=unsigned char, 1=uint32_t 
    void* pPix;
    int id;
    const char* fileName;
} TextureInfo;

void loadTex(TextureInfo* pTexInfo){    
    glBindTexture(GL_TEXTURE_2D, pTexInfo->id);
    glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
    glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, pTexInfo->width, pTexInfo->height, 0, GL_RGBA, GL_UNSIGNED_BYTE, pTexInfo->pPix);
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
}