📄 resapi.h
字号:
IN HKEY hkeyClusterKey,
IN const PRESUTIL_PROPERTY_ITEM pPropertyTable,
IN PVOID Reserved,
IN BOOL bAllowUnknownProperties,
IN const PVOID pInPropertyList,
IN DWORD cbInPropertyListSize,
IN BOOL bForceWrite,
OUT OPTIONAL LPBYTE pOutParams
);
DWORD
WINAPI
ResUtilSetPropertyParameterBlock(
IN HKEY hkeyClusterKey,
IN const PRESUTIL_PROPERTY_ITEM pPropertyTable,
IN PVOID Reserved,
IN const LPBYTE pInParams,
IN const PVOID pInPropertyList,
IN DWORD cbInPropertyListSize,
OUT OPTIONAL LPBYTE pOutParams
);
DWORD
WINAPI
ResUtilSetPropertyParameterBlockEx(
IN HKEY hkeyClusterKey,
IN const PRESUTIL_PROPERTY_ITEM pPropertyTable,
IN PVOID Reserved,
IN const LPBYTE pInParams,
IN const PVOID pInPropertyList,
IN DWORD cbInPropertyListSize,
IN BOOL bForceWrite,
OUT OPTIONAL LPBYTE pOutParams
);
DWORD
WINAPI
ResUtilSetUnknownProperties(
IN HKEY hkeyClusterKey,
IN const PRESUTIL_PROPERTY_ITEM pPropertyTable,
IN const PVOID pInPropertyList,
IN DWORD cbInPropertyListSize
);
DWORD
WINAPI
ResUtilGetPropertiesToParameterBlock(
IN HKEY hkeyClusterKey,
IN const PRESUTIL_PROPERTY_ITEM pPropertyTable,
OUT LPBYTE pOutParams,
IN BOOL bCheckForRequiredProperties,
OUT OPTIONAL LPWSTR * pszNameOfPropInError
);
DWORD
WINAPI
ResUtilPropertyListFromParameterBlock(
IN const PRESUTIL_PROPERTY_ITEM pPropertyTable,
OUT PVOID pOutPropertyList,
IN OUT LPDWORD pcbOutPropertyListSize,
IN const LPBYTE pInParams,
OUT LPDWORD pcbBytesReturned,
OUT LPDWORD pcbRequired
);
DWORD
WINAPI
ResUtilDupParameterBlock(
OUT LPBYTE pOutParams,
IN const LPBYTE pInParams,
IN const PRESUTIL_PROPERTY_ITEM pPropertyTable
);
void
WINAPI
ResUtilFreeParameterBlock(
IN OUT LPBYTE pOutParams,
IN const LPBYTE pInParams,
IN const PRESUTIL_PROPERTY_ITEM pPropertyTable
);
DWORD
WINAPI
ResUtilAddUnknownProperties(
IN HKEY hkeyClusterKey,
IN const PRESUTIL_PROPERTY_ITEM pPropertyTable,
IN OUT PVOID pOutPropertyList,
IN DWORD pcbOutPropertyListSize,
IN OUT LPDWORD pcbBytesReturned,
IN OUT LPDWORD pcbRequired
);
DWORD
WINAPI
ResUtilSetPrivatePropertyList(
IN HKEY hkeyClusterKey,
IN const PVOID pInPropertyList,
IN DWORD cbInPropertyListSize
);
DWORD
WINAPI
ResUtilVerifyPrivatePropertyList(
IN const PVOID pInPropertyList,
IN DWORD cbInPropertyListSize
);
PWSTR
WINAPI
ResUtilDupString(
IN LPCWSTR pszInString
);
DWORD
WINAPI
ResUtilGetBinaryValue(
IN HKEY hkeyClusterKey,
IN LPCWSTR pszValueName,
OUT LPBYTE * ppbOutValue,
OUT DWORD * pcbOutValueSize
);
LPWSTR
WINAPI
ResUtilGetSzValue(
IN HKEY hkeyClusterKey,
IN LPCWSTR pszValueName
);
LPWSTR
WINAPI
ResUtilGetExpandSzValue(
IN HKEY hkeyClusterKey,
IN LPCWSTR pszValueName,
IN BOOL bExpand
);
__inline
DWORD
WINAPI
ResUtilGetMultiSzValue(
IN HKEY hkeyClusterKey,
IN LPCWSTR pszValueName,
OUT LPWSTR * ppszOutValue,
OUT LPDWORD pcbOutValueSize
)
{
return ResUtilGetBinaryValue( hkeyClusterKey, pszValueName, (LPBYTE *) ppszOutValue, pcbOutValueSize );
}
DWORD
WINAPI
ResUtilGetDwordValue(
IN HKEY hkeyClusterKey,
IN LPCWSTR pszValueName,
OUT LPDWORD pdwOutValue,
IN DWORD dwDefaultValue OPTIONAL
);
DWORD
WINAPI
ResUtilSetBinaryValue(
IN HKEY hkeyClusterKey,
IN LPCWSTR pszValueName,
IN const LPBYTE pbNewValue,
IN DWORD cbNewValueSize,
IN OUT LPBYTE * ppbOutValue,
IN OUT LPDWORD pcbOutValueSize
);
DWORD
WINAPI
ResUtilSetSzValue(
IN HKEY hkeyClusterKey,
IN LPCWSTR pszValueName,
IN LPCWSTR pszNewValue,
IN OUT LPWSTR * ppszOutString
);
DWORD
WINAPI
ResUtilSetExpandSzValue(
IN HKEY hkeyClusterKey,
IN LPCWSTR pszValueName,
IN LPCWSTR pszNewValue,
IN OUT LPWSTR * ppszOutString
);
DWORD
WINAPI
ResUtilSetMultiSzValue(
IN HKEY hkeyClusterKey,
IN LPCWSTR pszValueName,
IN LPCWSTR pszNewValue,
IN DWORD cbNewValueSize,
IN OUT LPWSTR * ppszOutValue,
IN OUT LPDWORD pcbOutValueSize
);
DWORD
WINAPI
ResUtilSetDwordValue(
IN HKEY hkeyClusterKey,
IN LPCWSTR pszValueName,
IN DWORD dwNewValue,
IN OUT LPDWORD pdwOutValue
);
DWORD
WINAPI
ResUtilGetBinaryProperty(
OUT LPBYTE * ppbOutValue,
OUT LPDWORD pcbOutValueSize,
IN const PCLUSPROP_BINARY pValueStruct,
IN const LPBYTE pbOldValue,
IN DWORD cbOldValueSize,
OUT LPBYTE * ppPropertyList,
OUT LPDWORD pcbPropertyListSize
);
DWORD
WINAPI
ResUtilGetSzProperty(
OUT LPWSTR * ppszOutValue,
IN const PCLUSPROP_SZ pValueStruct,
IN LPCWSTR pszOldValue,
OUT LPBYTE * ppPropertyList,
OUT LPDWORD pcbPropertyListSize
);
DWORD
WINAPI
ResUtilGetMultiSzProperty(
OUT LPWSTR * ppszOutValue,
OUT LPDWORD pcbOutValueSize,
IN const PCLUSPROP_SZ pValueStruct,
IN LPCWSTR pszOldValue,
IN DWORD cbOldValueSize,
OUT LPBYTE * ppPropertyList,
OUT LPDWORD pcbPropertyListSize
);
DWORD
WINAPI
ResUtilGetDwordProperty(
OUT LPDWORD pdwOutValue,
IN const PCLUSPROP_DWORD pValueStruct,
IN DWORD dwOldValue,
IN DWORD dwMinimum,
IN DWORD dwMaximum,
OUT LPBYTE * ppPropertyList,
OUT LPDWORD pcbPropertyListSize
);
LPVOID
WINAPI
ResUtilGetEnvironmentWithNetName(
IN HRESOURCE hResource
);
DWORD
WINAPI
ResUtilFreeEnvironment(
IN LPVOID lpEnvironment
);
LPWSTR
WINAPI
ResUtilExpandEnvironmentStrings(
IN LPCWSTR pszSrc
);
DWORD
WINAPI
ResUtilSetResourceServiceEnvironment(
IN LPCWSTR pszServiceName,
IN HRESOURCE hResource,
IN PLOG_EVENT_ROUTINE pfnLogEvent,
IN RESOURCE_HANDLE hResourceHandle
);
DWORD
WINAPI
ResUtilSetResourceServiceStartParameters(
IN LPCWSTR pszServiceName,
IN SC_HANDLE schSCMHandle,
IN OUT LPSC_HANDLE phService,
IN PLOG_EVENT_ROUTINE pfnLogEvent,
IN RESOURCE_HANDLE hResourceHandle
);
DWORD
WINAPI
ResUtilFindSzProperty(
IN const PVOID pPropertyList,
IN DWORD cbPropertyListSize,
IN LPCWSTR pszPropertyName,
OUT LPWSTR * pszPropertyValue
);
DWORD
WINAPI
ResUtilFindExpandSzProperty(
IN const PVOID pPropertyList,
IN DWORD cbPropertyListSize,
IN LPCWSTR pszPropertyName,
OUT LPWSTR * pszPropertyValue
);
DWORD
WINAPI
ResUtilFindExpandedSzProperty(
IN const PVOID pPropertyList,
IN DWORD cbPropertyListSize,
IN LPCWSTR pszPropertyName,
OUT LPWSTR * pszPropertyValue
);
DWORD
WINAPI
ResUtilFindDwordProperty(
IN const PVOID pPropertyList,
IN DWORD cbPropertyListSize,
IN LPCWSTR pszPropertyName,
OUT LPDWORD pdwPropertyValue
);
DWORD
WINAPI
ResUtilFindBinaryProperty(
IN const PVOID pPropertyList,
IN DWORD cbPropertyListSize,
IN LPCWSTR pszPropertyName,
OUT LPBYTE * pbPropertyValue,
OUT LPDWORD pcbPropertyValueSize
);
DWORD
WINAPI
ResUtilFindMultiSzProperty(
IN const PVOID pPropertyList,
IN DWORD cbPropertyListSize,
IN LPCWSTR pszPropertyName,
OUT LPWSTR * pszPropertyValue,
OUT LPDWORD pcbPropertyValueSize
);
DWORD
WINAPI
ResUtilFindLongProperty(
IN const PVOID pPropertyList,
IN DWORD cbPropertyListSize,
IN LPCWSTR pszPropertyName,
OUT LPLONG plPropertyValueSize
);
//
// Common worker thread routines that allow a pending operation to
// be cancelled with CORRECT synchronization.
//
typedef struct CLUS_WORKER {
HANDLE hThread;
BOOL Terminate;
} CLUS_WORKER, *PCLUS_WORKER;
typedef DWORD (WINAPI *PWORKER_START_ROUTINE)(
PCLUS_WORKER pWorker,
LPVOID lpThreadParameter
);
DWORD
WINAPI
ClusWorkerCreate(
OUT PCLUS_WORKER lpWorker,
IN PWORKER_START_ROUTINE lpStartAddress,
IN PVOID lpParameter
);
BOOL
WINAPI
ClusWorkerCheckTerminate(
IN PCLUS_WORKER lpWorker
);
VOID
WINAPI
ClusWorkerTerminate(
IN PCLUS_WORKER lpWorker
);
//Define enumerate resource callback function. This gets called for each resource enumerated
//by ResUtilEnumResources
typedef DWORD (*LPRESOURCE_CALLBACK)( HRESOURCE, HRESOURCE , PVOID );
BOOL
WINAPI
ResUtilResourcesEqual(
IN HRESOURCE hSelf,
IN HRESOURCE hResource
);
BOOL
WINAPI
ResUtilResourceTypesEqual(
IN LPCWSTR lpszResourceTypeName,
IN HRESOURCE hResource
);
BOOL
WINAPI
ResUtilIsResourceClassEqual(
IN PCLUS_RESOURCE_CLASS_INFO prci,
IN HRESOURCE hResource
);
DWORD
WINAPI
ResUtilEnumResources(
IN HRESOURCE hSelf,
IN LPCWSTR lpszResTypeName,
IN LPRESOURCE_CALLBACK pResCallBack,
IN PVOID pParameter
);
HRESOURCE
WINAPI
ResUtilGetResourceDependency(
IN HANDLE hSelf,
IN LPCWSTR lpszResourceType
);
HRESOURCE
WINAPI
ResUtilGetResourceDependencyByName(
IN HCLUSTER hCluster,
IN HANDLE hSelf,
IN LPCWSTR lpszResourceType,
IN BOOL bRecurse
);
HRESOURCE
WINAPI
ResUtilGetResourceDependencyByClass(
IN HCLUSTER hCluster,
IN HANDLE hSelf,
IN PCLUS_RESOURCE_CLASS_INFO prci,
IN BOOL bRecurse
);
HRESOURCE
WINAPI
ResUtilGetResourceNameDependency(
IN LPCWSTR lpszResourceName,
IN LPCWSTR lpszResourceType
);
DWORD
WINAPI
ResUtilGetResourceDependentIPAddressProps(
IN HRESOURCE hResource,
OUT LPWSTR pszAddress,
IN OUT DWORD * pcchAddress,
OUT LPWSTR pszSubnetMask,
IN OUT DWORD * pcchSubnetMask,
OUT LPWSTR pszNetwork,
IN OUT DWORD * pcchNetwork
);
DWORD
WINAPI
ResUtilFindDependentDiskResourceDriveLetter(
IN HCLUSTER hCluster, // handle to cluster
IN HRESOURCE hResource, // handle to resource to query for dependencies
IN LPWSTR pszDriveLetter, // buffer to store drive letter (ex. "X:\0")
IN OUT DWORD *pcchDriveLetter // IN size of the pszDriveLetter buffer, OUT size of buffer required
);
#ifdef __cplusplus
}
#endif
#endif // ifdef _RESAPI_DEFINES_
#pragma option pop /*P_O_Pop*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -