Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Verifies that a specified path exists on a storage class resource. Applications use this control code as a parameter to the ClusterResourceControl function, and resource DLLs receive the control code as a parameter to the ResourceControl function.
ClusterResourceControl( hResource, // resource handle
hHostNode, // optional host node
CLUSCTL_RESOURCE_STORAGE_IS_PATH_VALID, // this control code
lpInBuffer // input buffer
cbInBufferSize, // input buffer size (bytes)
NULL, // output buffer (not used)
0, // output buffer size (not used)
NULL ); // actual size of result (not used)
Parameters
The following control code function and DLL support parameters are specific to this control code. For complete parameter descriptions, see ClusterResourceControl or ResourceControl.
-
lpInBuffer
-
Pointer to a null-terminated Unicode string specifying the path to validate.
Return value
ClusterResourceControl returns one of the following values:
-
ERROR_SUCCESS
-
0
The specified path is valid for the storage class resource identified by hResource.
-
ERROR_FILE_NOT_FOUND
-
2
The specified path is not valid and refers to an offline storage class resource different from the storage class resource identified by the hResource parameter.
-
ERROR_PATH_NOT_FOUND
-
3
The specified path does not exist on the storage class resource identified by hResource.
-
ERROR_BAD_PATHNAME
-
161 (0xA1)
The specified path is not valid and cannot exist on the storage class resource identified by hResource.
-
The operation failed.
Implementations of ResourceControl can return one of the previous values or the following value.
-
ERROR_INVALID_FUNCTION
-
1
Requests that the Resource Monitor perform default processing (if any) for the control code addition to processing supplied by the DLL (if any).
Remarks
Do not use the CLUSCTL_RESOURCE_STORAGE_IS_PATH_VALID control code in any resource DLL entry point function. This control code can safely be called from a worker thread. For more information, see Function Calls to Avoid in Resource DLLs.
ClusAPI.h defines the 32 bits of CLUSCTL_RESOURCE_STORAGE_IS_PATH_VALID as follows (for more information, see Control Code Architecture).
| Component | Bit location | Value |
|---|---|---|
| Object code |
24 31 |
CLUS_OBJECT_RESOURCE (0x1) |
| Global bit |
23 |
CLUS_NOT_GLOBAL (0x0) |
| Modify bit |
22 |
CLUS_NO_MODIFY (0x0) |
| User bit |
21 |
CLCTL_CLUSTER_BASE (0x0) |
| Type bit |
20 |
External (0x0) |
| Operation code |
0 23 |
CLCTL_STORAGE_IS_PATH_VALID (0x199) |
| Access code |
0 1 |
CLUS_ACCESS_READ (0x1) |
Resource DLL Support
Conditional. If your resource DLL handles storage class resources, you must support the CLUSCTL_RESOURCE_STORAGE_IS_PATH_VALID control code. Keep in mind that this control code is a "yes-or-no" question, so try to return only ERROR_SUCCESS, ERROR_PATH_NOT_FOUND, ERROR_BAD_PATHNAME, or other values that unambiguously indicate whether the path is valid.
The Resource Monitor does not provide default handling.
For more information on the ResourceControl entry point, see Implementing ResourceControl.
Requirements
| Minimum supported client |
None supported |
| Minimum supported server |
Windows Server 2008 Enterprise, Windows Server 2008 Datacenter |
| Header |
|