📄 resapi.h
字号:
WINAPI
ResUtilGetProperties(
IN PVOID ClusterKey,
IN const PRESUTIL_PROPERTY_ITEM PropertyTable,
OUT PVOID OutBuffer,
IN DWORD OutBufferSize,
OUT LPDWORD BytesReturned,
OUT LPDWORD Required
);
DWORD
WINAPI
ResUtilGetAllProperties(
IN PVOID ClusterKey,
IN const PRESUTIL_PROPERTY_ITEM PropertyTable,
OUT PVOID OutBuffer,
IN DWORD OutBufferSize,
OUT LPDWORD BytesReturned,
OUT LPDWORD Required
);
DWORD
WINAPI
ResUtilGetPrivateProperties(
IN PVOID ClusterKey,
OUT PVOID OutBuffer,
IN DWORD OutBufferSize,
OUT LPDWORD BytesReturned,
OUT LPDWORD Required
);
DWORD
WINAPI
ResUtilGetPropertySize(
IN PVOID ClusterKey,
IN const PRESUTIL_PROPERTY_ITEM Property,
IN OUT LPDWORD BufferSize,
IN OUT LPDWORD ItemCount
);
DWORD
WINAPI
ResUtilGetProperty(
IN PVOID ClusterKey,
IN const PRESUTIL_PROPERTY_ITEM Property,
OUT PVOID * OutBuffer,
IN OUT LPDWORD OutBufferSize
);
DWORD
WINAPI
ResUtilVerifyPropertyTable(
IN const PRESUTIL_PROPERTY_ITEM PropertyTable,
IN PVOID Reserved,
IN BOOL AllowUnknownProperties,
IN const PVOID InBuffer,
IN DWORD InBufferSize,
OUT OPTIONAL LPBYTE OutParams
);
DWORD
WINAPI
ResUtilSetPropertyTable(
IN PVOID ClusterKey,
IN const PRESUTIL_PROPERTY_ITEM PropertyTable,
IN PVOID Reserved,
IN BOOL AllowUnknownProperties,
IN const PVOID InBuffer,
IN DWORD InBufferSize,
OUT OPTIONAL LPBYTE OutParams
);
DWORD
WINAPI
ResUtilSetPropertyParameterBlock(
IN PVOID ClusterKey,
IN const PRESUTIL_PROPERTY_ITEM PropertyTable,
IN PVOID Reserved,
IN const LPBYTE InParams,
IN const PVOID InBuffer,
IN DWORD InBufferSize,
OUT OPTIONAL LPBYTE OutParams
);
DWORD
WINAPI
ResUtilGetPropertiesToParameterBlock(
IN PVOID ClusterKey,
IN const PRESUTIL_PROPERTY_ITEM PropertyTable,
OUT LPBYTE OutParams,
IN BOOL CheckForRequiredProperties,
OUT OPTIONAL LPWSTR * NameOfPropInError
);
DWORD
WINAPI
ResUtilPropertyListFromParameterBlock(
IN const PRESUTIL_PROPERTY_ITEM PropertyTable,
OUT PVOID * OutBuffer,
IN OUT LPDWORD OutBufferSize,
IN const LPBYTE InParams,
OUT LPDWORD BytesReturned,
OUT LPDWORD Required
);
DWORD
WINAPI
ResUtilDupParameterBlock(
OUT LPBYTE OutParams,
IN const LPBYTE InParams,
IN const PRESUTIL_PROPERTY_ITEM PropertyTable
);
void
WINAPI
ResUtilFreeParameterBlock(
IN OUT LPBYTE OutParams,
IN const LPBYTE InParams,
IN const PRESUTIL_PROPERTY_ITEM PropertyTable
);
DWORD
WINAPI
ResUtilAddUnknownProperties(
IN PVOID ClusterKey,
IN const PRESUTIL_PROPERTY_ITEM PropertyTable,
IN OUT PVOID OutBuffer,
IN DWORD OutBufferSize,
IN OUT LPDWORD BytesReturned,
IN OUT LPDWORD Required
);
DWORD
WINAPI
ResUtilSetPrivatePropertyList(
IN PVOID ClusterKey,
IN const PVOID InBuffer,
IN DWORD InBufferSize
);
DWORD
WINAPI
ResUtilVerifyPrivatePropertyList(
IN const PVOID InBuffer,
IN DWORD InBufferSize
);
DWORD
WINAPI
ResUtilGetBinaryValue(
IN HKEY ClusterKey,
IN LPCWSTR ValueName,
OUT LPBYTE * OutValue,
OUT DWORD * OutValueSize
);
PWSTR
WINAPI
ResUtilDupString(
IN LPCWSTR Value
);
LPWSTR
WINAPI
ResUtilGetSzValue(
IN HKEY ClusterKey,
IN LPCWSTR ValueName
);
#define ResUtilGetMultiSzValue( ClusterKey, ValueName, OutValue, OutValueSize ) \
ResUtilGetBinaryValue( ClusterKey, ValueName, (LPBYTE *) OutValue, OutValueSize )
DWORD
WINAPI
ResUtilGetDwordValue(
IN HKEY ClusterKey,
IN LPCWSTR ValueName,
OUT LPDWORD OutValue,
IN DWORD DefaultValue OPTIONAL
);
DWORD
WINAPI
ResUtilSetBinaryVakye(
IN HKEY ClusterKey,
IN LPCWSTR ValueName,
IN const LPBYTE NewValue,
IN DWORD NewValueSize,
IN OUT LPBYTE * OutValue,
IN OUT LPDWORD OutValueSize
);
DWORD
WINAPI
ResUtilSetSzValue(
IN HKEY ClusterKey,
IN LPCWSTR ValueName,
IN LPCWSTR NewValue,
IN OUT LPWSTR * OutString
);
DWORD
WINAPI
ResUtilSetExpandSzValue(
IN HKEY ClusterKey,
IN LPCWSTR ValueName,
IN LPCWSTR NewValue,
IN OUT LPWSTR * OutString
);
DWORD
WINAPI
ResUtilSetMultiSzValue(
IN HKEY ClusterKey,
IN LPCWSTR ValueName,
IN LPCWSTR NewValue,
IN DWORD NewValueSize,
IN OUT LPWSTR * OutValue,
IN OUT LPDWORD OutValueSize
);
DWORD
WINAPI
ResUtilSetDwordValue(
IN HKEY ClusterKey,
IN LPCWSTR ValueName,
IN DWORD NewValue,
IN OUT LPDWORD OutValue
);
DWORD
WINAPI
ResUtilGetBinaryProperty(
OUT LPBYTE * OutValue,
OUT LPDWORD OutValueSize,
IN const PCLUSPROP_BINARY ValueStruct,
IN const LPBYTE OldValue,
IN DWORD OldValueSize,
OUT LPBYTE * PropBuffer,
OUT LPDWORD PropBufferSize
);
DWORD
WINAPI
ResUtilGetSzProperty(
OUT LPWSTR * OutValue,
IN const PCLUSPROP_SZ ValueStruct,
IN LPCWSTR OldValue,
OUT LPBYTE * PropBuffer,
OUT LPDWORD PropBufferSize
);
DWORD
WINAPI
ResUtilGetMultiSzProperty(
OUT LPWSTR * OutValue,
OUT LPDWORD OutValueSize,
IN const PCLUSPROP_SZ ValueStruct,
IN LPCWSTR OldValue,
IN DWORD OldValueSize,
OUT LPBYTE * PropBuffer,
OUT LPDWORD PropBufferSize
);
DWORD
WINAPI
ResUtilGetDwordProperty(
OUT LPDWORD OutValue,
IN const PCLUSPROP_DWORD ValueStruct,
IN DWORD OldValue,
IN DWORD Minimum,
IN DWORD Maximum,
OUT LPBYTE * PropBuffer,
OUT LPDWORD PropBufferSize
);
LPVOID
WINAPI
ResUtilGetEnvironmentWithNetName(
IN HRESOURCE hResource
);
DWORD
WINAPI
ResUtilFindSzProperty(
IN const PVOID Buffer,
IN DWORD BufferSize,
IN LPCWSTR PropName,
OUT LPWSTR * FoundString
);
DWORD
WINAPI
ResUtilFindDwordProperty(
IN const PVOID Buffer,
IN DWORD BufferSize,
IN LPCWSTR PropName,
OUT LPDWORD FoundDword
);
//
// 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 Worker,
IN PWORKER_START_ROUTINE lpStartAddress,
IN PVOID lpParameter
);
BOOL
WINAPI
ClusWorkerCheckTerminate(
IN PCLUS_WORKER Worker
);
VOID
WINAPI
ClusWorkerTerminate(
IN PCLUS_WORKER Worker
);
//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
);
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
ResUtilGetResourceNameDependency(
IN LPCWSTR lpszResourceName,
IN LPCWSTR lpszResourceType
);
#ifdef __cplusplus
}
#endif
#endif // ifdef _RESAPI_DEFINES_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -