What low-level VI are you talking about? For what instrument?
In general, all instrument drivers as defined by NI should follow the same format. The templates in CoreDrv.llb and CoreDr_U.llb are some of the recomended minimum functions. If you want to write a driver that NI will give their blessing to, you need to follow their standards. In practice, you are free to write a driver using any format that you want. The generic "initialize.vi" includes an instrument id query that is optionally called and serves to make sure that the driver is being used with the right instrument. The other thing that is usually in an initialize.vi is a reset/default instrument setup function. Users of an instrument driver usually want to start from a known place and will do
this once at the beginning of a program.
For complete details on developing your own instrument drivers and the standards, go to
Development Tools & Resources