progwrp/misc.c
2025-12-13 23:37:26 +01:00

293 lines
5.1 KiB
C

#include "progwrp.h"
#include "export.h"
#include "implementations.h"
HRESULT WINAPI Implementation_ScriptItemize(
const WCHAR *pwcInChars,
int cInChars,
int cMaxItems,
const SCRIPT_CONTROL *psControl,
const SCRIPT_STATE *psState,
SCRIPT_ITEM *pItems,
int *pcItems
)
{
return E_NOTIMPL; // This should never be called; ScriptItemize should always be available
}
PDH_FUNCTION Implementation_PdhAddEnglishCounterW(
PDH_HQUERY hQuery,
LPCWSTR szFullCounterPath,
DWORD_PTR dwUserData,
PDH_HCOUNTER *phCounter
)
{
PdhAddCounterW(hQuery, szFullCounterPath, dwUserData, phCounter);
}
PVOID WINAPI Implementation_AddVectoredExceptionHandler(
ULONG First,
PVECTORED_EXCEPTION_HANDLER Handler
)
{
return NULL;
}
ULONG WINAPI Implementation_RemoveVectoredExceptionHandler(
PVOID Handle
)
{
return 0;
}
BOOL WINAPI Implementation_AttachConsole(
DWORD dwProcessId
)
{
return FALSE;
}
BOOL WINAPI Implementation_CheckRemoteDebuggerPresent(
HANDLE hProcess,
PBOOL pbDebuggerPresent
)
{
if(pbDebuggerPresent)
{
*pbDebuggerPresent = FALSE;
return TRUE;
}
return FALSE;
}
HANDLE WINAPI Implementation_CreateMemoryResourceNotification(
MEMORY_RESOURCE_NOTIFICATION_TYPE NotificationType
)
{
return NULL;
}
void WINAPI Implementation_GetNativeSystemInfo(
LPSYSTEM_INFO lpSystemInfo
)
{
GetSystemInfo(lpSystemInfo);
}
void WINAPI Implementation_InitializeSListHead(
PSLIST_HEADER ListHead
)
{
ListHead->Alignment = 0;
}
PSLIST_ENTRY WINAPI Implementation_InterlockedPushEntrySList(
PSLIST_HEADER ListHead,
__drv_aliasesMem PSLIST_ENTRY ListEntry
)
{
/*
PSLIST_ENTRY PreviousFirst;
// PreviousFirst = ListHead->Next.Next;
if(!PreviousFirst)
{
// InterlockedCompareExchange(ListHead->Next.Next, ListEntry, 0);
}
else
{
ListEntry->Next = PreviousFirst;
// InterlockedCompareExchange(ListHead->Next.Next, ListEntry, 0);
}
return PreviousFirst;
*/
}
PSLIST_ENTRY WINAPI Implementation_InterlockedFlushSList(
PSLIST_HEADER ListHead
)
{
/*
PSLIST_ENTRY List;
List = ListHead->Next.Next;
// InterlockedCompareExchange(ListHead->Next.Next, 0, List);
return List;
*/
}
PSLIST_ENTRY WINAPI Implementation_InterlockedPopEntrySList(
PSLIST_HEADER ListHead
)
{
return NULL;
}
DWORD WINAPI Implementation_WTSGetActiveConsoleSessionId()
{
return -1;
}
NTSTATUS WINAPI Implementation_RtlGetLastNtStatus()
{
return 0;
}
BOOL WINAPI Implementation_WTSRegisterSessionNotification(
HWND hWnd,
DWORD dwFlags
)
{
return TRUE;
}
BOOL WINAPI Implementation_WTSUnRegisterSessionNotification(
HWND hWnd
)
{
return TRUE;
}
HTHEME WINAPI Implementation_OpenThemeData(
HWND hwnd,
LPCWSTR pszClassList
)
{
return NULL;
}
HRESULT WINAPI Implementation_CloseThemeData(
HTHEME hTheme
)
{
return E_NOTIMPL;
}
HRESULT WINAPI Implementation_DrawThemeBackground(
HTHEME hTheme,
HDC hdc,
int iPartId,
int iStateId,
LPCRECT pRect,
LPCRECT pClipRect
)
{
return E_NOTIMPL;
}
HRESULT WINAPI Implementation_GetThemeBackgroundContentRect(
HTHEME hTheme,
HDC hdc,
int iPartId,
int iStateId,
LPCRECT pBoundingRect,
LPRECT pContentRect
)
{
return E_NOTIMPL;
}
HRESULT WINAPI Implementation_GetThemePartSize(
HTHEME hTheme,
HDC hdc,
int iPartId,
int iStateId,
LPCRECT prc,
ULONG eSize,
SIZE *psz
)
{
return E_NOTIMPL;
}
BOOL WINAPI Implementation_HeapSetInformation(
HANDLE HeapHandle,
HEAP_INFORMATION_CLASS HeapInformationClass,
PVOID HeapInformation,
SIZE_T HeapInformationLength
)
{
SetLastError(ERROR_NOT_SUPPORTED);
return FALSE;
}
BOOL WINAPI Implementation_PrefetchVirtualMemory(
HANDLE hProcess,
ULONG_PTR NumberOfEntries,
PWIN32_MEMORY_RANGE_ENTRY VirtualAddresses,
ULONG Flags
)
{
SetLastError(ERROR_NOT_SUPPORTED);
return FALSE;
}
BOOL WINAPI Implementation_GetFirmwareType(
PFIRMWARE_TYPE FirmwareType
)
{
if (!FirmwareType)
{
SetLastError(ERROR_INVALID_PARAMETER);
return FALSE;
}
*FirmwareType = FirmwareTypeBios;
return TRUE;
}
BOOL WINAPI Implementation_CryptProtectMemory(
LPVOID pDataIn,
DWORD cbDataIn,
DWORD dwFlags
)
{
DATA_BLOB DataIn;
DataIn.cbData = cbDataIn;
DataIn.pbData = pDataIn;
return CryptProtectData(&DataIn, NULL, NULL, NULL, NULL, 0, &DataIn);
}
BOOL WINAPI Implementation_CryptUnprotectMemory(
LPVOID pDataIn,
DWORD cbDataIn,
DWORD dwFlags
)
{
DATA_BLOB DataIn;
DataIn.cbData = cbDataIn;
DataIn.pbData = pDataIn;
return CryptUnprotectData(&DataIn, NULL, NULL, NULL, NULL, 0, &DataIn);
}
LONG WINAPI Implementation_GetPackagePathByFullName(
PCWSTR packageFullName,
UINT32* pathLength,
PWSTR path
)
{
return ERROR_NOT_SUPPORTED;
}
LONG WINAPI Implementation_GetPackagesByPackageFamily(
PCWSTR packageFamilyName,
UINT32* count,
PWSTR* packageFullNames,
UINT32* bufferLength,
WCHAR* buffer
)
{
return ERROR_NOT_SUPPORTED;
}
DWORD WINAPI Implementation_DiscardVirtualMemory(
PVOID VirtualAddress,
SIZE_T Size
)
{
return 1;
}