CLUSCTL_RESOURCE_QUERY_MAINTENANCE_MODE control code

Queries the maintenance mode state of the specified disk resource. Applications use this control code as a parameter to the ClusterResourceControl function.



ClusterResourceControl( hResource,                               // resource handle
                        hHostNode,                               // host node
                        CLUSCTL_RESOURCE_QUERY_MAINTENANCE_MODE, // this control code
                        NULL,                                    // not used
                        0,                                       // not used
                        lpOutBuffer,                             // output buffer: string
                        cbOutBufferSize,                         // allocated buffer size (bytes)
                        lpcbBytesReturned );                     // size of returned data (bytes)

Parameters

The following control code function and DLL support parameters are specific to this control code. For complete parameter descriptions, see ClusterResourceControl.

lpOutBuffer

On a successful return, points to a CLUS_MAINTENANCE_MODE_INFO structure containing the current maintenance mode state of the disk resource.

Return value

ClusterResourceControl returns one of the following values:

ERROR_SUCCESS

0

The disk resource DLL supports maintenance mode and the function request was completed successfully.

ERROR_INVALID_FUNCTION

1

The disk resource DLL does not support maintenance mode.

ERROR_MORE_DATA

234 (0xEA)

Output buffer size is too small to return the requested data.

ERROR_INVALID_STATE

1369 (0x559)

The disk resource is offline.

ERROR_HOST_NODE_NOT_RESOURCE_OWNER

5015 (0x1397)

A disk resource not owned by the hosting node cannot be queried for maintenance mode status.

ERROR_CLUSTER_INVALID_REQUEST

5048 (0x13B8)

A quorum resource cannot be queried for maintenance mode status.

System error code

The operation failed. The value of lpcbBytesReturned is unreliable.

Remarks

Only disk resources support maintenance mode.

A resource must be online and not identified as the quorum resource in order to be placed in maintenance mode.

The calling application must direct the maintenance mode resource control codes to the node hosting the resource.

ClusAPI.h defines the 32 bits of CLUSCTL_RESOURCE_QUERY_MAINTENANCE_MODE (0x010001e1) as follows:

ComponentBit locationValue

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_QUERY_MAINTENANCE_MODE (0x1e1)

Access code

0–1

CLUS_ACCESS_READ (0x1)

 

For more information, see Control Code Architecture.

Requirements

Minimum supported client

None supported

Minimum supported server

Windows Server 2008 Datacenter with SP1, Windows Server 2008 Enterprise with SP1

Header

ClusAPI.h

See also

External Resource Control Codes
Maintaining Physical Disk Resources
CLUS_MAINTENANCE_MODE_INFO
CLUSCTL_RESOURCE_SET_MAINTENANCE_MODE
ClusterResourceControl

 

 

Show: