The CLUSCTL_RESOURCE_GET_REQUIRED_DEPENDENCIES resource control code retrieves a PROPERTY_LIST value list (section 18.104.22.168.1) that contains information about resource types and/or classes. The designated resource MUST have an explicit dependency on these resource types and/or classes in order to operate correctly.
After the successful completion of this method, the server MUST return a value list containing zero or more of the following structures to the buffer that is designated by lpOutBuffer. These structures can be marshaled in any order.
A resource class information structure that MUST begin with the CLUSPROP_SYNTAX_RESCLASS value, as specified in section 22.214.171.124, followed by a 4-byte unsigned long set to the size, in bytes, of a CLUS_RESOURCE_CLASS_INFO structure, as defined in section 126.96.36.199, followed by the CLUS_RESOURCE_CLASS_INFO structure containing information about the resource class.
A resource type name structure that MUST begin with the CLUSPROP_SYNTAX_NAME value, as specified in section 188.8.131.52, followed by a 4-byte unsigned long set to the size, in bytes, of the resource type name as a null-terminated Unicode string, followed by the null-terminated Unicode string containing the resource type name.
As specified in section 184.108.40.206.1, the value list MUST be terminated by a CLUSPROP_SYNTAX_ENDMARK.
The server SHOULD accept a CLUSCTL_RESOURCE_GET_REQUIRED_DEPENDENCIES resource control code request if its protocol server state is read-only and MUST accept the request for processing if it is in the read/write state, as specified in section 3.1.1.