CLUSCTL_RESOURCE_NETNAME_GET_VIRTUAL_SERVER_TOKEN control code

Used by custom resources, services, and applications to get a token in the Network Name's logon session. The token can then be used for impersonation. Applications use this control code as a parameter to the ClusterResourceControl function.


ClusterResourceControl( hResource,                   // resource handle
  hHostNode,                                         // node handle
  CLUSCTL_RESOURCE_NETNAME_GET_VIRTUAL_SERVER_TOKEN, // this control code
  lpInBuffer,                                        // input buffer: CLUS_NETNAME_VS_TOKEN_INFO
  cbInBufferSize,                                    // input buffer size (bytes)
  lpOutBuffer,                                       // output buffer: HANDLE
  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.

hHostNode [in, optional]

Handle to the local node to perform the operation. This operation will fail with ERROR_INVALID_PARAMETER if the node is remote.

lpInBuffer

Points to a CLUS_NETNAME_VS_TOKEN_INFO structure.

lpOutBuffer

On a successful return, points to a HANDLE to a duplicate of the token in the Network Name's logon session.

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_PARAMETER

87 (0x57)

The node referenced by the hHostNode parameter is a remote node, the cbInBufferSize parameter is too small, or the cbOutBufferSize parameter is too small.

ERROR_MORE_DATA

234 (0xEA)

The output buffer pointed to by the lpOutBuffer parameter was not large enough to hold the data resulting from the operation. The lpcbBytesReturned parameter points to the size required for the output buffer.

System error code

The operation failed. The value of the lpcbBytesReturned parameter is unreliable.

Remarks

ClusAPI.h defines the 32 bits of CLUSCTL_RESOURCE_NETNAME_GET_VIRTUAL_SERVER_TOKEN as follows (for more information, see Control Code Architecture).

ComponentBit locationValue
Object code24–31

CLUS_OBJECT_RESOURCE (0x1)

Global bit23

CLUS_NOT_GLOBAL (0x0)

Modify bit22

CLUS_NO_MODIFY (0x0)

User bit21

CLCTL_CLUSTER_BASE (0x0)

Type bit20

External (0x0)

Operation code0–23

CLCTL_NETNAME_GET_VIRTUAL_SERVER_TOKEN (0x16d)

Access code0–1

CLUS_ACCESS_READ (0x1)

 

Requirements

Minimum supported client

None supported

Minimum supported server

Windows Server 2008 Datacenter, Windows Server 2008 Enterprise

Header

ClusAPI.h

See also

External Resource Control Codes
ClusterResourceControl
CLUS_NETNAME_VS_TOKEN_INFO

 

 

Show: