CLUSCTL_CLUSTER_GET_SHARED_VOLUME_ID control code

Verifies that a path is on a cluster shared volume (CSV) and returns the resource identifier of the CSV and the volume offset of the specific volume (partition). Applications use this control code as a parameter to the ClusterControl function

ClusterControl( hCluster,                             // cluster handle
                hHostNode,                            // optional node handle
                CLUSCTL_CLUSTER_GET_SHARED_VOLUME_ID, // this control code
                lpInBuffer,                           // input buffer: Unicode path
                cbInBufferSize,                       // input buffer size (bytes)
                lpOutBuffer,                          // output buffer: Unicode string ResID:PartOffset
                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]

Pointer to null-terminated Unicode string containing a path.

nInBufferSize [in]

Number of bytes in the buffer pointed to by lpInBuffer.

lpOutBuffer [out]

Pointer to an output buffer to receive the Unicode string containing the resource identifier of the CSV, a colon ':', and the offset (in decimal) of the volume (partition). For example "2936f4ed-f55d-4fa9-bec2-108469342c6a:129761280".

cbOutBufferSize [in]

The allocated size (in bytes) of the output buffer.

lpBytesReturned [out]

Returns the actual size (in bytes) of the data resulting from the operation.

Return value

ClusterResourceControl returns one of the following values.

ERROR_SUCCESS

0

The operation was successful.

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_CLUSTER_NOT_SHARED_VOLUME

5945 (0x1739)

The specified path is not on a CSV.

System error code

The operation failed.

Remarks

The 32 bits of CLUSCTL_CLUSTER_GET_SHARED_VOLUME_ID (0x07000291) are defined as follows.

Component Bit location Value
Object code
24 31
CLUS_OBJECT_CLUSTER (0x7)
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_GET_SHARED_VOLUME_ID (0x291)
Access code
0 1
CLUS_NO_MODIFY (0x0)

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
ClusAPI.h

See also

External Resource Control Codes

ClusterResourceControl

ResourceControl