void
MakeHKCRKey(_Inout_ HKEY* hKey)
{
- *hKey = (HKEY)((ULONG_PTR)*hKey | 0x2);
+ *hKey = (HKEY)((ULONG_PTR)(*hKey) | 0x2);
}
+
+LONG
+WINAPI
+CreateHKCRKey(
+ _In_ HKEY hKey,
+ _In_ LPCWSTR lpSubKey,
+ _In_ DWORD Reserved,
+ _In_opt_ LPWSTR lpClass,
+ _In_ DWORD dwOptions,
+ _In_ REGSAM samDesired,
+ _In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes,
+ _Out_ PHKEY phkResult,
+ _Out_opt_ LPDWORD lpdwDisposition);
+
+LONG
+WINAPI
+OpenHKCRKey(
+ _In_ HKEY hKey,
+ _In_ LPCWSTR lpSubKey,
+ _In_ DWORD ulOptions,
+ _In_ REGSAM samDesired,
+ _In_ PHKEY phkResult);
+
+LONG
+WINAPI
+DeleteHKCRKey(
+ _In_ HKEY hKey,
+ _In_ LPCWSTR lpSubKey,
+ _In_ REGSAM RegSam,
+ _In_ DWORD Reserved);
+
+LONG
+WINAPI
+QueryHKCRValue(
+ _In_ HKEY hKey,
+ _In_ LPCWSTR Name,
+ _In_ LPDWORD Reserved,
+ _In_ LPDWORD Type,
+ _In_ LPBYTE Data,
+ _In_ LPDWORD Count);
+
+LONG
+WINAPI
+SetHKCRValue(
+ _In_ HKEY hKey,
+ _In_ LPCWSTR Name,
+ _In_ DWORD Reserved,
+ _In_ DWORD Type,
+ _In_ CONST BYTE* Data,
+ _In_ DWORD DataSize);
+