Throws an exception if the resource hasn't been created yet.
Throws an exception if the resource has been created already.
Creates the resources. It can now be used.
Releases the resource. It can not longer be used.
Returns true if the resource was created and is ready for use, false if otherwise.
Represents a resource that can be created and destroyed.