293 lines
5.1 KiB
C
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;
|
|
} |