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.
-
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).
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_NETNAME_GET_VIRTUAL_SERVER_TOKEN (0x16d) |
Access code | 0 1 | CLUS_ACCESS_READ (0x1) |
Requirements
Minimum supported client |
None supported |
Minimum supported server |
Windows Server 2008 Datacenter, Windows Server 2008 Enterprise |
Header |
|