I wouldn’t go so far as to say what you want to do is impossible, but it would be extremely difficult to accomplish.
The first problem is modeling the hair strands. While it may be possible to “groom” a single strand to conform to the curler’s cylinder, doing so with a mass of hair strands would be a major pain. So a way to approach this might be to create three manual hair strands that wrap the cylinder, then add new strands manually using Interpolate to try & match the existing hair shaping. Obviously you can’t add thousands of hairs this way, to make it dense enough to look fairly natural, so you’ll have to use children particles to fill out the mass of hair. Here you’ll run into more shaping issues, as child particles are very difficult to manage in terms of specific shaping, such as laying mostly flat on the curler.
When it comes to animation, the strands themselves cannot be keyframed afaik, so they’ll have to be treated as pretty much static, since using any kind of Hair Dynamics & collision will likely make then go a bit berserk, there’s just not enough fine control in those systems yet. So to animate the curlers and hair, you’ll probably have to animate the emitter mesh, and make the curler follow this via parenting or a constraint. While this would provide some options for keyed motion, I’m not sure if it would be the kind of motion you want. In any case, the curlers/hair combination will need to be treated as a kind of rigid mesh, since any change to the shape of the emitter or the curler will cause the hair to look misplaced. The hair can’t be made to follow such motion.
Maybe the best option would be to use a combination of mesh modeling and a limited hair system that acts only to add a thin layer of strands to dress up the look. But the limitations on animating the hair strands would still apply.