CLUSCTL_RESOURCE_ENABLE_SHARED_VOLUME_DIRECTIO control code
Enables higher performance I/O on the cluster shared volume. 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 callback function.
ClusterResourceControl( hResource, // resource handle
hHostNode, // optional node handle
CLUSCTL_RESOURCE_ENABLE_SHARED_VOLUME_DIRECTIO,
lpInBuffer, // input buffer: Name of shared volume
nInBufferSize, // input buffer size (bytes)
lpOutBuffer, // output buffer: Volume GUID path
cbOutBufferSize, // output buffer size (bytes)
lpcbBytesReturned ); // resulting data size (bytes)
Parameters
The following control code function parameters are specific to this control code. For complete parameter descriptions, see ClusterResourceControl.
-
lpInBuffer [in, optional]
-
Pointer to a null-terminated Unicode string containing the name of the shared volume. The name provided can be either the cluster-assigned friendly name or the volume GUID path of the form "\\?\Volume{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}\".
-
cbInBufferSize [in]
-
The allocated size (in bytes) of the input buffer.
-
lpOutBuffer [out, optional]
-
Pointer to an output buffer to receive a null-terminated Unicode string containing the volume GUID path. The buffer must be at least 102 bytes (51 characters).
-
cbOutBufferSize [in]
-
The allocated size (in bytes) of the output buffer.
Return value
ClusterResourceControl returns one of the following values.
-
ERROR_SUCCESS
-
0
The operation was successful. The lpcbBytesReturned parameter points to the actual size of the returned data.
-
ERROR_INVALID_FUNCTION
-
1
The resource is not a cluster shared volume.
-
ERROR_INVALID_PARAMETER
-
87 (0x57)
The resource is not a cluster shared volume.
-
ERROR_MORE_DATA
-
234 (0xEA)
The output buffer pointed to by lpOutBuffer was not large enough to hold the data resulting from the operation. The lpcbBytesReturned parameter points to the size required for the output buffer.
-
ERROR_RESOURCE_NOT_ONLINE
-
5004 (0x138C)
The resource is not online on any cluster node.
-
The operation failed. The value of lpcbBytesReturned is unreliable.
Remarks
The 32 bits of CLUSCTL_RESOURCE_ENABLE_SHARED_VOLUME_DIRECTIO (0x0140028a) are defined as follows.
Component | Bit location | Value |
---|---|---|
Object code |
24 31 |
CLUS_OBJECT_RESOURCE (0x1) |
Global bit |
23 |
CLUS_NOT_GLOBAL (0x0) |
Modify bit |
22 |
CLUS_MODIFY (0x1) |
User bit |
21 |
CLCTL_CLUSTER_BASE (0x0) |
Type bit |
20 |
External (0x0) |
Operation code |
0 23 |
CLCTL_ENABLE_SHARED_VOLUME_DIRECTIO (0x40028a) |
Access code |
0 1 |
CLUS_ACCESS_WRITE (0x2) |
For more information, see Control Code Architecture.
Requirements
Minimum supported client |
None supported |
Minimum supported server |
Windows Server 2008 R2 Datacenter, Windows Server 2008 R2 Enterprise |
Header |
|