Función Wow64DisableWow64FsRedirection (wow64apiset.h)
Deshabilita el redireccionamiento del sistema de archivos para el subproceso que llama. El redireccionamiento del sistema de archivos está habilitado de forma predeterminada.
Sintaxis
BOOL Wow64DisableWow64FsRedirection(
[out] PVOID *OldValue
);
Parámetros
[out] OldValue
Valor de redirección del sistema de archivos WOW64. El sistema usa este parámetro para almacenar la información necesaria para revertir (volver a habilitar) el redireccionamiento del sistema de archivos.
Valor devuelto
Si la función se ejecuta correctamente, el valor devuelto es un valor distinto de cero.
Si la función no se realiza correctamente, el valor devuelto es cero. Para obtener información de error extendida, llame a GetLastError.
Comentarios
Esta función es útil para las aplicaciones de 32 bits que desean obtener acceso al directorio nativo system32. De forma predeterminada, el redireccionamiento del sistema de archivos WOW64 está habilitado.
El emparejamiento de funciones Wow64DisableWow64FsRedirection/Wow64RevertWow64FsRedirection es un reemplazo de la funcionalidad de la función Wow64EnableWow64FsRedirection .
Para restaurar el redireccionamiento del sistema de archivos, llame a la función Wow64RevertWow64FsRedirection . Cada llamada correcta a la función Wow64DisableWow64FsRedirection debe tener una llamada coincidente a la función Wow64RevertWow64FsRedirection . Esto garantizará que el redireccionamiento se vuelva a habilitar y libere los recursos del sistema asociados.
En Windows 8 y Windows Server 2012, esta función es compatible con las tecnologías siguientes.
Tecnología | Compatible |
---|---|
Protocolo Bloque de mensajes del servidor (SMB) 3.0 | No |
Conmutación por error transparente (TFO) de SMB 3.0 | No |
SMB 3.0 con recursos compartidos de archivos de escalabilidad horizontal (SO) | No |
Sistema de archivos de Volumen compartido de clúster (CsvFS) | Sí |
Sistema de archivos resistente a errores (ReFS) | No |
Ejemplos
En el ejemplo siguiente se usa Wow64DisableWow64FsRedirection para deshabilitar el redireccionamiento del sistema de archivos para que una aplicación de 32 bits que se ejecuta en WOW64 pueda abrir la versión de 64 bits de Notepad.exe en %SystemRoot%\System32 en lugar de redirigirse a la versión de 32 bits en %SystemRoot%\SysWOW64.
#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;
PVOID OldValue = NULL;
// Disable redirection immediately prior to the native API
// function call.
if( Wow64DisableWow64FsRedirection(&OldValue) )
{
// 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 == Wow64RevertWow64FsRedirection(OldValue) )
{
// Failure to re-enable redirection should be considered
// a critical failure and execution aborted.
return;
}
}
// The handle, if valid, now can be used as usual, and without
// leaving redirection disabled.
if( INVALID_HANDLE_VALUE != hFile )
{
// Use the file handle
}
}
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows Vista, Windows XP Professional x64 Edition [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2008, Windows Server 2003 con SP1 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | wow64apiset.h (incluye Windows.h) |
Library | Kernel32.lib |
Archivo DLL | Kernel32.dll |
Vea también
Funciones de administración de archivos