3.1.4.3.2.23 CLUSCTL_RESOURCE_TYPE_VALIDATE_PATH

The CLUSCTL_RESOURCE_TYPE_VALIDATE_PATH resource type control code confirms that the supplied file path is valid on the node where the ApiResourceTypeControl method was issued.

ClusAPI Protocol version 2.0 servers fail this method using error code 0x00000001 (ERROR_INVALID_FUNCTION).

The server SHOULD accept CLUSCTL_RESOURCE_TYPE_VALIDATE_PATH resource type control code request(s) 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.

The client MUST provide a file path, as a null-terminated Unicode string, in the buffer that is designated by lpInBuffer.

After successful completion of the method, the server SHOULD NOT write any data to the buffer that is designated by lpOutBuffer.

However, if the resource type designated by the lpscResourceTypeName parameter is "File Share Witness", then the client MUST provide a PROPERTY_LIST value list, as specified in section 2.2.3.10, in the buffer that is designated by lpInBuffer. The property name MUST be "SharePath" and the syntax for the property value MUST be the value "CLUSPROP_SYNTAX_LIST_VALUE_SZ", as specified in section 2.2.2.3, followed by a null-terminated Unicode string of the form "\\servername\sharename" indicating the path to validate.

Furthermore, if the resource type designated by the lpscResourceTypeName parameter is "File Share Witness", then the server SHOULD accept, as a valid path, a path to a file share that meets the following requirements:

  • The file share is not hosted on any node in the cluster of which the servers is a member.

  • The file share is accessible by the primary security principal of the cluster of which the servers is a member.