Função SetProcessValidCallTargets (memoryapi.h)
Fornece o CFG (Control Flow Guard) com uma lista de destinos de chamada indiretos válidos e especifica se eles devem ser marcados como válidos ou não. As informações de destino de chamada válidas são fornecidas como uma lista de deslocamentos em relação a um intervalo de memória virtual (início e tamanho do intervalo). Os destinos de chamada especificados devem ser alinhados em 16 bytes e em ordem crescente.
Sintaxe
BOOL SetProcessValidCallTargets(
[in] HANDLE hProcess,
[in] PVOID VirtualAddress,
[in] SIZE_T RegionSize,
[in] ULONG NumberOfOffsets,
[in, out] PCFG_CALL_TARGET_INFO OffsetInformation
);
Parâmetros
[in] hProcess
O identificador para o processo de destino.
[in] VirtualAddress
O início da região de memória virtual cujos destinos de chamada estão sendo marcados como válidos. A região de memória deve ser alocada usando uma das constantes de proteção de memória executável.
[in] RegionSize
O tamanho da região de memória virtual.
[in] NumberOfOffsets
O número de deslocamentos em relação aos intervalos de memória virtual.
[in, out] OffsetInformation
Uma lista de deslocamentos e sinalizadores relativos aos intervalos de memória virtual.
Valor retornado
TRUE se a operação foi bem-sucedida; caso contrário, FALSE. Para recuperar valores de erro para essa função, chame GetLastError.
Comentários
Essa função não terá êxito se a Proteção de Fluxo de Controle não estiver habilitada para o processo de destino. Isso pode ser verificado usando GetProcessMitigationPolicy.
Requisitos
Cliente mínimo com suporte | Windows 10 [aplicativos da área de trabalho | Aplicativos UWP] |
Servidor mínimo com suporte | Windows Server 2016 [aplicativos da área de trabalho | Aplicativos UWP] |
Plataforma de Destino | Windows |
Cabeçalho | memoryapi.h (inclua Windows.h, Memoryapi.h) |
Biblioteca | WindowsApp.lib |
DLL | Kernelbase.dll |