The CLUSCTL_RESOURCE_GET_CLASS_INFO resource control code retrieves the class to which the specified resource belongs.
After the successful completion of this method, the server MUST write a CLUS_RESOURCE_CLASS_INFO structure to the buffer that is indicated by lpOutBuffer. Except where specified as follows, the server MUST report that a resource is in class CLUS_RESCLASS_UNKNOWN with subclass 0x0, as specified in section 188.8.131.52.
For versions 2.0 and 3.0, if the specified resource has a resource type, as specified in section 184.108.40.206.16, that is identified by the Unicode string "Physical Disk", the server MUST return class 0x00000001 (CLUS_RESCLASS_STORAGE) and subClass 0x80000000.
For version 3.0, if the specified resource has a resource type that is identified by either of the Unicode strings "IP Address", "IPv6 Address", or "IPv6 Tunnel Address", the server MUST return class 0x00000002 (CLUS_RESCLASS_NETWORK) and subClass 0x80000000.
If the method succeeds and the server writes any other data to lpOutBuffer, the client MUST determine that the specified resource is not an instance of one of the resource types that were previously specified.
For protocol version 3.0, if the size indicated by nOutBufferSize is less than the number of bytes that are required for lpOutBuffer and if nOutBufferSize is 0x00000000, then the server MUST return ERROR_SUCCESS (0x00000000).
The server SHOULD accept a CLUSCTL_RESOURCE_GET_CLASS_INFO resource control code request if its protocol server state is read-only, and the server MUST accept the request for processing if it is in the read/write state, as specified in section 3.1.1.