Структура ACTCTXW (winbase.h)
Структура
Синтаксис
typedef struct tagACTCTXW {
ULONG cbSize;
DWORD dwFlags;
LPCWSTR lpSource;
USHORT wProcessorArchitecture;
LANGID wLangId;
LPCWSTR lpAssemblyDirectory;
LPCWSTR lpResourceName;
LPCWSTR lpApplicationName;
HMODULE hModule;
} ACTCTXW, *PACTCTXW;
Члены
cbSize
Размер этой структуры в байтах. Используется для определения версии этой структуры.
dwFlags
Флаги, указывающие, как используются значения, включенные в эту структуру. Задайте для всех неопределенных битов в dwFlags значение 0. Если для неопределенных битов не задано значение 0, вызов CreateActCtx, создающий контекст активации, завершается ошибкой и возвращает недопустимый код ошибки параметра.
lpSource
Строка, завершающаяся значением NULL, указывающая путь к файлу манифеста или изображению PE для создания контекста активации. Если этот путь относится к exe или DLL-файлу, требуется элемент lpResourceName.
wProcessorArchitecture
Определяет тип используемого процессора. Задает архитектуру процессора системы.
Это значение может быть одним из следующих значений:
wLangId
Указывает языковой манифест, который следует использовать. По умолчанию используется текущий язык пользовательского интерфейса текущего пользователя.
Если запрошенный язык не найден, выполняется поиск приближения с помощью следующего порядка:
- Конкретный язык текущего пользователя. Например, для английского языка США (1033).
- Основной язык текущего пользователя. Например, для английского языка (9).
- Конкретный язык текущей системы.
- Основной язык текущей системы.
- Невидимый язык по всему миру. Нейтральный язык (0).
lpAssemblyDirectory
Базовый каталог, в котором выполняется проверка частной сборки, если сборки в контексте активации отсутствуют в системном хранилище.
lpResourceName
Указатель на строку, завершающую значение NULL, которая содержит имя ресурса, которое необходимо загрузить из pe, указанного в hModule или lpSource. Если имя ресурса является целым числом, задайте этот элемент с помощью MAKEINTRESOURCE. Этот элемент необходим, если lpSource ссылается на EXE или DLL.
lpApplicationName
Имя текущего приложения. Если для этого элемента задано значение NULL, используется имя исполняемого файла, запускающего текущий процесс.
hModule
Используйте этот элемент, а не lpSource, если вы уже загрузили библиотеку DLL и хотите использовать ее для создания контекстов активации, а не использования пути в lpSource. Сведения о правилах поиска ресурсов в этом модуле см. в lpResourceName.
Замечания
Если файл, определяемый значением элемента lpSource является файлом изображения PE, CreateActCtx выполняет поиск манифеста в файле манифеста в том же каталоге и в первом RT_MANIFEST ресурсе, расположенном в файле образа PE. Чтобы найти определенный именованный ресурс из образа, задайте lpResourceName имя ресурса и добавьте ACTCTX_FLAG_RESOURCE_NAME_VALID в элемент dwFlags. Дополнительные сведения об указании имен ресурсов см. в FindResource.
В большинстве случаев вызывающий объект не должен задавать флаги ACTCTX_FLAG_PROCESSOR_ARCHITECTURE_VALID и ACTCTX_FLAG_LANGID_VALID элемента dwFlags. Кроме того, в большинстве случаев значение элемента lpResourceName должно иметь значение NULL.
Значения lpApplicationName и lpAssemblyDirect ory не имеют значения NULL, если исполняемый файл, создающий контекст активации, является узлом для приложения. В этом случае узел может задать другое имя приложения для поиска файлов конфигурации, ошибок отчета и т. д.
Заметка
Заголовок winbase.h определяет ACTCTX как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows XP [только классические приложения] |
минимальный поддерживаемый сервер | Windows Server 2003 [только классические приложения] |
заголовка | winbase.h (включая Windows.h) |