CLUSPROP_SYNTAX 并非一个具体的结构,而是一个定义了属性语法类型的枚举。它通常用于标识和验证群集资源属性列表中的属性语法。以下是 CLUSPROP_SYNTAX 枚举的定义:typedef enum CLUSPROP_SYNTAX { CLUSPROP_SYNTAX_ENDMARK = 0xFFFFFFFF, CLUSPROP_SYNTAX_NAME = 0x00000001, CLUSPROP_SYNTAX_RESERVED = 0x00000002, CLUSPROP_SYNTAX_LIST = 0x00000003, CLUSPROP_SYNTAX_BINARY = 0x00000004, CLUSPROP_SYNTAX_WORD = 0x00000005, CLUSPROP_SYNTAX_DWORD = 0x00000006, CLUSPROP_SYNTAX_LONG = 0x00000007, CLUSPROP_SYNTAX_EXPAND_SZ= 0x00000008, CLUSPROP_SYNTA...
在 Win32 API 的 Clusapi.h 头文件中,CLUSPROP_SECURITY_DESCRIPTOR 结构用于表示群集资源的安全描述符信息。以下是该结构的定义:typedef struct CLUSPROP_SECURITY_DESCRIPTOR { CLUSPROP_SYNTAX Syntax; DWORD cbLength; BYTE rgbSecurityDescriptor[1];} CLUSPROP_SECURITY_DESCRIPTOR, *PCLUSPROP_SECURITY_DESCRIPTOR; Syntax: 表示结构的语法类型,是 CLUSPROP_SYNTAX 类型的成员。 cbLength: 表示 rgbSecurityDescriptor 成员的长度。 rgbSecurityDescriptor: 表示安全描述符信息的二进制数据。这个结构用于在群集资源属性列表中传递资源的安全描述符信息。安全描述符定义了资源的访问控制规则,包括哪些用户或群体有权访问资源以及所授予的权限。使用 CLUSPROP_SE...
在 Win32 API 的 Clusapi.h 头文件中,CLUSPROP_RESOURCE_CLASS 结构用于表示群集资源的资源类别信息。以下是该结构的定义:typedef struct CLUSPROP_RESOURCE_CLASS { CLUSPROP_SYNTAX Syntax; DWORD cbLength; WCHAR sz;} CLUSPROP_RESOURCE_CLASS, *PCLUSPROP_RESOURCE_CLASS; Syntax: 表示结构的语法类型,是 CLUSPROP_SYNTAX 类型的成员。 cbLength: 表示 sz 成员的长度。 sz: 表示资源类别的名称,以 null 终止的 Unicode 字符串。这个结构用于在群集资源属性列表中传递资源类别信息。资源类别指定了资源的类型,例如 "Physical Disk", "IP Address", 或 "File Share" 等。资源类别是群集中资源的一种分类,用于标识资源的用途和特性。使...
在 Win32 API 的 Clusapi.h 头文件中,CLUSPROP_LONG 结构用于表示一个 32 位的有符号整数(LONG)。这个结构通常在 Windows 集群编程中用于传递属性值,尤其是在配置群集资源时。以下是 CLUSPROP_LONG 结构的定义:typedef struct { LONG l;} CLUSPROP_LONG, *PCLUSPROP_LONG;结构中只有一个成员 l,它是一个 LONG 类型的整数。LONG 是 Windows API 中常见的整数类型,表示一个32位的有符号整数。使用 CLUSPROP_LONG 结构,你可以在群集资源属性列表中存储和传递32位整数的信息。在编写群集资源 DLL 或使用群集 API 时,可能会用到这个结构。这样的结构通常用于指定资源属性的整数值。
CLUSPROP_LARGE_INTEGER 结构是 Windows 集群服务(Cluster Service)中使用的结构之一,用于表示一个 64 位的有符号整数(LARGE_INTEGER)。这个结构通常在群集资源的属性列表中使用,用于传递 64 位整数的信息。以下是 CLUSPROP_LARGE_INTEGER 结构的定义:typedef struct { LARGE_INTEGER li;} CLUSPROP_LARGE_INTEGER, *PCLUSPROP_LARGE_INTEGER;这个结构只有一个成员 li,它是一个 LARGE_INTEGER 结构,用于表示 64 位整数。LARGE_INTEGER 结构在 Windows 编程中常用于处理 64 位整数,包含 HighPart 和 LowPart 两个部分,可以通过 QuadPart 来获取完整的 64 位整数值。使用 CLUSPROP_LARGE_INTEGER 结构,你可以在群集资源属性列表中存储和传递 64 位整数的信息。这对于配置和管理群集资源的属性是非常有用的。在编写群集资源 DLL 或使用群集 API ...
CLUSPROP_FILETIME 结构是 Windows 集群服务(Cluster Service)中使用的一种结构,用于表示文件时间(FILETIME)。它在 Clusapi.h 头文件中定义,通常用于配置群集资源的属性。以下是 CLUSPROP_FILETIME 结构的定义:typedef struct { FILETIME ft;} CLUSPROP_FILETIME, *PCLUSPROP_FILETIME;结构中只有一个成员 ft,它是一个 FILETIME 结构,用于表示文件时间。FILETIME 结构在 Windows 编程中经常用于表示日期和时间。它包含一个 64 位值,表示自 1601 年 1 月 1 日以来的 100 个纳秒间隔数。这个结构主要在群集资源属性列表中使用,例如在资源 DLL 中实现的群集资源 DLL 列表或通过群集 API 进行资源属性的设置和检索时可能会涉及到。根据具体的应用场景,可以使用 CLUSPROP_FILETIME 结构来传递文件时间信息。例如,如果你编写一个群集资源 DLL,并需要在资源的属性列表中存储文件时间信息,可以使用 CLUS...
CLUSPROP_DWORD 结构是 Windows 集群服务(Cluster Service)中的一部分,用于在集群属性中存储 32 位双字(DWORD)值。它通常在资源或群集配置信息中使用。以下是 CLUSPROP_DWORD 结构的定义:typedef struct { DWORD Syntax; DWORD cbLength; DWORD *pValue;} CLUSPROP_DWORD, *PCLUSPROP_DWORD;这里是各个字段的含义: Syntax: 标识结构的语法类型。对于 CLUSPROP_DWORD,它的值通常为 CLUSTER_PROPERTY_FORMAT_DWORD。 cbLength: 结构体中数据的长度,以字节为单位。对于 CLUSPROP_DWORD,它的值为 sizeof(DWORD)。 pValue: 指向 DWORD 值的指针。在使用这个结构时,您需要分配足够的内存来存储结构体以及 pValue 指向的 DWORD 值。此外,确保在使用完后释放相应的内存以防止内存泄漏。以下是一个示例代码片段,演示如何使用 CLUSPROP_DWORD ...
CLUSPROP_BUFFER_HELPER 是 Windows API 中 Cluster API 用于处理属性值缓冲区的结构体之一。以下是它的定义:typedef struct CLUSPROP_BUFFER_HELPER { PVOID pb; DWORD cbSize; DWORD cbData; DWORD dwStatus; PVOID pName; DWORD cbName;} CLUSPROP_BUFFER_HELPER, *PCLUSPROP_BUFFER_HELPER;结构体包含以下字段: pb: 一个指针,指向属性值的缓冲区。 cbSize: 表示 pb 缓冲区的总大小(以字节为单位)。 cbData: 表示实际包含的数据的大小(以字节为单位)。 dwStatus: 表示属性值的状态。 pName: 一个指针,指向与属性值相关联的名称。 cbName: 表示名称缓冲区的大小(以字节为单位)。这个结构体用于帮助在 Cluster API 中处理属性值的缓冲区。在处理属性时,特别是在获取或设置属性时,可以使用这个结构体来检查和操作属...
CLUSPROP_BINARY 是 Windows API 中 Cluster API 用于处理二进制数据的结构体之一。以下是它的定义:typedef struct CLUSPROP_BINARY { DWORD cbLength; BYTE rgb[1];} CLUSPROP_BINARY, *PCLUSPROP_BINARY;结构体包含以下字段: cbLength: 表示 rgb 数组的长度,即二进制数据的字节数。 rgb: 用于存储二进制数据的数组。这种结构体的典型用途是在 Cluster API 中表示一些属性的二进制数据。rgb 数组是一个灵活数组,其长度由 cbLength 字段确定。请注意,因为rgb 是一个灵活数组(flexible array member),它的实际长度是 cbLength 字段的值。这种技术允许在实例化结构体时为 rgb 分配不同的长度。在使用 Cluster API 时,具体的用法和上下文可能会根据要处理的资源类型、属性等而有所不同。详细的信息通常可以在 Microsoft 的官方文档或相应版本的 SDK 头文件中找到。
CLUS_RESOURCE_CLASS_INFO 结构体在 Win32 API 中用于表示群集资源类别的信息。以下是该结构体的定义:typedef struct CLUS_RESOURCE_CLASS_INFO { DWORD dw; DWORD dwType; DWORD dwCharacter; DWORD dwFlags; DWORD dwLookForDependencies; LPWSTR pszName; LPWSTR pszTypeName; LPWSTR pszVendorName; DWORD dwMinimumSupportedMajorVersion; DWORD dwMinimumSupportedMinorVersion; DWORD dwMinimumSupportedBuildNumber; DWORD dwMinimumSupportedServicePack;} CLU...
CLUS_PARTITION_INFO 结构体是 Windows Server 中的 Cluster API 中定义的结构,用于表示群集的分区信息。以下是该结构体的定义:typedef struct CLUS_PARTITION_INFO { DWORD dwFlags; DWORD cbId; CLUS_PARTITION_ID Id; DWORD dwMaxProtocolVersion; DWORD dwMinProtocolVersion; DWORD cbSecurityDescriptor; BYTE *lpSecurityDescriptor;} CLUS_PARTITION_INFO, *PCLUS_PARTITION_INFO;各个字段的含义如下: dwFlags: 一个DWORD值,包含分区信息的标志。可能的标志包括: - CLUSPARTITION_USE_EMBEDDED_OBJECT_ID: 表示使用分区信息中的嵌入式对象标识符(Obj...
CLUS_NETNAME_IP_INFO_ENTRY 是 Windows Server 中的 Cluster Network Name API 中定义的结构体,用于表示群集网络名称资源的 IP 地址信息。以下是该结构体的定义:typedef struct CLUS_NETNAME_IP_INFO_ENTRY { DWORD Version; DWORD AddressType; CLUSTER_IPV6_TOKEN *pvToken; DWORD DottedQuadData; DWORD Skip; DWORD Subnet; DWORD Priority; ULONG TTL; ULONG Lease; ULONG AutoRegTTL; CLUSTER...
SetClusterQuorumResource 函数是 Windows 集群编程中的一个函数,用于指定群集的仲裁资源。在 Windows 集群中,仲裁资源用于维护群集的一致性,并在发生故障时进行决策。以下是该函数的基本信息:DWORD SetClusterQuorumResource( HRESOURCE hResource, BOOL bRestoreQuorum);参数解释如下: hResource: 指定群集资源的句柄,该资源将被指定为仲裁资源。这通常是通过 OpenClusterResource 函数获得的。 bRestoreQuorum: 一个布尔值,指示是否恢复群集的仲裁状态。如果设置为 TRUE,则恢复仲裁状态,如果设置为 FALSE,则不进行恢复。函数返回一个 DWORD 类型的值,表示操作的结果。如果函数成功,返回值为 ERROR_SUCCESS,否则返回相应的错误代码。使用这个函数时,通常的步骤是先通过 OpenCluster 和 OpenClusterResource 函数获取群集和资源的句柄,然后使用 SetClusterQuorumResour...
在 Win32 API 中,SetClusterNetworkPriorityOrder 函数用于设置群集网络的优先级顺序。这个函数允许你为一个群集组内的多个网络指定优先级,以决定哪个网络在故障转移时首先使用。以下是该函数的基本信息:DWORD SetClusterNetworkPriorityOrder( HNETWORK hNetwork, DWORD dwType, LPCWSTR lpszNetworkId1, LPCWSTR lpszNetworkId2);参数解释如下: hNetwork: 指定网络的句柄。这是通过 OpenClusterNetwork 函数获得的。 dwType: 指定网络的优先级类型,可以是 CLUSCTL_NETWORK_SET_PRIORITY_ORDER。 lpszNetworkId1 和 lpszNetworkId2: 两个网络的标识符,用于指定它们的优先级顺序。函数返回一个 DWORD 类型的值,表示操作的结果。如果函数成功,返回值为 ERROR_SUCCESS,否则返回相应的错误代码。在调用这个函数之前,你需...
SetClusterNetworkName 函数是 Windows 集群编程中的一个函数,用于设置群集网络对象的名称。该函数在 Clusapi.h 头文件中声明,通常用于群集管理和配置。以下是该函数的基本信息:DWORD SetClusterNetworkName( HNETWORK hNetwork, LPCWSTR lpszNetworkName);参数解释如下: hNetwork: 指定网络的句柄。这是通过 OpenClusterNetwork 函数获得的。 lpszNetworkName: 指定要设置的网络名称。这应该是一个以 null 结尾的 Unicode 字符串。函数返回一个 DWORD 类型的值,表示操作的结果。如果函数成功,返回值为 ERROR_SUCCESS,否则返回相应的错误代码。使用这个函数时,通常的步骤是先通过 OpenCluster、OpenClusterGroup 和 OpenClusterNetwork 等函数获取群集、群集组和网络的句柄,然后使用 SetClusterNetworkName 来设置网络的名称。请确保在调用这些函数之前初始化并配置好...
在 Win32 API 的 Cluster API 中,ResumeClusterNode 函数用于恢复指定的群集节点。通常情况下,该函数的声明位于 Clusapi.h 头文件中。以下是 ResumeClusterNode 函数的一般形式:DWORD ResumeClusterNode( HNODE hNode);参数说明: hNode:指定要恢复的群集节点的句柄。函数返回 DWORD 类型的错误码。如果函数执行成功,返回值为 ERROR_SUCCESS。如果函数执行失败,返回值为相应的错误码,您可以使用 FormatMessage 函数获取详细的错误信息。以下是一个简单的示例,演示如何使用 ResumeClusterNode 函数:#include <windows.h>#include <clusapi.h>int main() { // 打开群集 HCLUSTER hCluster = OpenCluster(NULL); if (hCluster == NULL) { printf("Failed to ope...
在 Win32 API 的 Cluster API 中,RestoreClusterDatabase 函数用于从指定的文件中还原群集数据库。通常情况下,该函数的声明位于 Clusapi.h 头文件中。以下是 RestoreClusterDatabase 函数的一般形式:DWORD RestoreClusterDatabase( LPCWSTR lpszPathName);参数说明: lpszPathName:包含用于还原群集数据库的备份文件的路径的字符串。函数返回 DWORD 类型的错误码。如果函数执行成功,返回值为 ERROR_SUCCESS。如果函数执行失败,返回值为相应的错误码,您可以使用 FormatMessage 函数获取详细的错误信息。以下是一个简单的示例,演示如何使用 RestoreClusterDatabase 函数:#include <windows.h>#include <clusapi.h>int main() { // 指定包含备份文件的路径 LPCWSTR backupFilePath = L"C:\\Path\...
RestartClusterResource 是 Windows 集群编程中的函数,用于重新启动指定的群集资源。该函数的声明通常在 Clusapi.h 头文件中。以下是 RestartClusterResource 函数的一般形式:DWORD RestartClusterResource( HRESOURCE hResource);参数说明: hResource:指定要重新启动的群集资源的句柄。函数返回 DWORD 类型的错误码。如果函数执行成功,返回值为 ERROR_SUCCESS。如果函数执行失败,返回值为相应的错误码,您可以使用 FormatMessage 函数获取详细的错误信息。以下是一个简单的示例,演示如何使用 RestartClusterResource 函数:#include <windows.h>#include <clusapi.h>int main() { // 打开群集 HCLUSTER hCluster = OpenCluster(NULL); if (hCluster == NULL) { printf...
RemoveClusterResourceNode 是 Windows 集群编程中的函数,用于将群集资源从指定的节点中移除。该函数的声明通常在 Clusapi.h 头文件中。以下是 RemoveClusterResourceNode 函数的一般形式:DWORD RemoveClusterResourceNode( HRESOURCE hResource, HNODE hNode);参数说明: hResource:指定群集资源的句柄,要从中移除节点。 hNode:要移除的节点的句柄。函数返回 DWORD 类型的错误码。如果函数执行成功,返回值为 ERROR_SUCCESS。如果函数执行失败,返回值为相应的错误码,您可以使用 FormatMessage 函数获取详细的错误信息。以下是一个简单的示例,演示如何使用 RemoveClusterResourceNode 函数:#include <windows.h>#include <clusapi.h>int main() { // 打开群集 HCLUSTER hCluster = OpenClu...
RemoveClusterResourceDependency 是 Windows 集群编程中的函数,用于从指定群集资源的依赖关系中移除一个或多个依赖项。该函数的声明通常在 Clusapi.h 头文件中。以下是 RemoveClusterResourceDependency 函数的一般形式:DWORD RemoveClusterResourceDependency( HRESOURCE hResource, HRESOURCE hDependentResource);参数说明: hResource:指定群集资源的句柄,从该资源的依赖关系中移除依赖项。 hDependentResource:要移除的依赖群集资源的句柄。函数返回 DWORD 类型的错误码。如果函数执行成功,返回值为 ERROR_SUCCESS。如果函数执行失败,返回值为相应的错误码,您可以使用 FormatMessage 函数获取详细的错误信息。以下是一个简单的示例,演示如何使用 RemoveClusterResourceDependency 函数:#include <windows.h>#include ...
最新文章