Структура ACTCTXW (winbase.h)
Структура ACTCTX используется функцией CreateActCtx для создания контекста активации.
Синтаксис
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 ищет манифест в файле .manifest, расположенном в том же каталоге, и в первом ресурсе RT_MANIFEST, расположенном в файле образа PE. Чтобы найти конкретный именованный ресурс из образа, задайте для lpResourceName имя ресурса и добавьте ACTCTX_FLAG_RESOURCE_NAME_VALID в член dwFlags . Дополнительные сведения об указании имен ресурсов см. в разделе FindResource .
В большинстве случаев вызывающий объект не должен задавать ACTCTX_FLAG_PROCESSOR_ARCHITECTURE_VALID и ACTCTX_FLAG_LANGID_VALID флаги элемента dwFlags . Кроме того, в большинстве случаев значение элемента lpResourceName должно иметь значение NULL.
Значения lpApplicationName и lpAssemblyDirectory не имеют значения NULL, если исполняемый файл, создающий контекст активации, является узлом для приложения. В этом случае узел может задать другое имя для приложения, чтобы находить файлы конфигурации, сообщать об ошибках и т. д.
Примечание
Заголовок winbase.h определяет ACTCTX как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора UNICODE. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Верхняя часть | winbase.h (включая Windows.h) |