Функция Wow64EnableWow64FsRedirection (wow64apiset.h)
Включает или отключает перенаправление файловой системы для вызывающего потока.
Эта функция может не работать надежно при наличии вложенных вызовов. Поэтому эта функция была заменена функциями Wow64DisableWow64FsRedirection и Wow64RevertWow64FsRedirection .
Синтаксис
BOOLEAN Wow64EnableWow64FsRedirection(
BOOLEAN Wow64FsEnableRedirection
);
Параметры
Wow64FsEnableRedirection
Указывает тип запроса для перенаправления системных папок WOW64. Если задано значение TRUE, перенаправление запросов включено; Значение false, перенаправление запросов будет отключено.
Возвращаемое значение
Логическое значение, указывающее, успешно ли выполнена функция. Если задано значение TRUE, функция выполнена успешно; Значение false, функция завершилась сбоем.
Комментарии
Эта функция полезна для 32-разрядных приложений, которым требуется получить доступ к собственному каталогу system32. По умолчанию перенаправление файловой системы WOW64 включено.
Wow64EnableWow64FsRedirection(TRUE)
.В Windows 8 и Windows Server 2012 эта функция поддерживается следующими технологиями.
Технология | Поддерживается |
---|---|
Протокол SMB 3.0 | Нет |
SMB 3.0 Transparent Failover (TFO) | Нет |
SMB 3.0 с масштабируемыми общими папками (SO) | Нет |
Файловая система общего тома кластера (CSVFS) | Да |
Восстанавливаемая файловая система (ReFS) | Нет |
Примеры
#ifdef _WIN32_WINNT
#undef _WIN32_WINNT
#endif
#define _WIN32_WINNT 0x0501
#ifdef NTDDI_VERSION
#undef NTDDI_VERSION
#endif
#define NTDDI_VERSION 0x05010000
#include <Windows.h>
void main()
{
HANDLE hFile = INVALID_HANDLE_VALUE;
// Disable redirection immediately prior to the native API
// function call.
if( Wow64EnableWow64FsRedirection(FALSE) )
{
// Any function calls in this block of code should be as concise
// and as simple as possible to avoid unintended results.
hFile = CreateFile(TEXT("C:\\Windows\\System32\\Notepad.exe"),
GENERIC_READ,
FILE_SHARE_READ,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
NULL);
// Immediately re-enable redirection. Note that any resources
// associated with OldValue are cleaned up by this call.
if ( FALSE == Wow64EnableWow64FsRedirection(TRUE) )
{
// Failure to re-enable redirection should be considered
// a critical failure and execution aborted.
return;
}
}
// The handle, if valid, can be used as usual without
// leaving redirection disabled.
if( INVALID_HANDLE_VALUE != hFile )
{
// Use the file handle
}
}
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | wow64apiset.h (включая Windows.h) |
Библиотека | Kernel32.lib |
DLL | Kernel32.dll |
См. также
Перенаправитель файловой системы