Поделиться через


Метод IMofCompiler::CompileBuffer (wbemcli.h)

Метод IMofCompiler::CompileBuffer компилирует либо буфер, содержащий двоичные MOF-данные, либо текстовый буфер в формате ASCII. Двоичные MOF-файлы содержат проанализированные данные и должны храниться в базе данных. Метод CompileBuffer принимает только многобайтовые массивы символов (строковые буферы), которые не заканчиваются null.

Синтаксис

HRESULT CompileBuffer(
  [in]      long                     BuffSize,
  [in]      BYTE                     *pBuffer,
  [in]      LPWSTR                   ServerAndNamespace,
  [in]      LPWSTR                   User,
  [in]      LPWSTR                   Authority,
  [in]      LPWSTR                   Password,
  [in]      LONG                     lOptionFlags,
  [in]      LONG                     lClassFlags,
  [in]      LONG                     lInstanceFlags,
  [in, out] WBEM_COMPILE_STATUS_INFO *pInfo
);

Параметры

[in] BuffSize

Размер данных, на которые указывает параметр pBuffer .

[in] pBuffer

Указатель на данные двоичного MOF-файла или текстовый буфер в формате ASCII.

[in] ServerAndNamespace

Имя сервера и пространство имен.

Этот параметр игнорируется, если только параметр pBuffer не указывает на текстовый буфер. Если MOF-файл текста передается без оператора #pragma , то MOF-файл компилируется в пространство имен по умолчанию. Если pBuffer указывает на двоичный MOF-файл, параметр ServerAndNamespace должен иметь значение NULL.

[in] User

Имя пользователя, запрашивающего службу.

Этот параметр задает учетные данные для компиляции на удаленных компьютерах. Если значение равно NULL, то контекст пользователя — это то, что использует текущий процесс. Это всегда игнорируется при подключении к локальному компьютеру. Дополнительные сведения см. в разделе «Примечания».

[in] Authority

Указывает учетные данные для компиляции на удаленных компьютерах. Если значение равно NULL, то контекстом центра является то, что использует текущий процесс. Этот параметр всегда игнорируется при подключении к локальному компьютеру. Дополнительные сведения см. в разделе «Примечания».

[in] Password

Указывает учетные данные для компиляции на удаленных компьютерах. Если значение равно NULL, используется пароль текущего контекста. Этот параметр всегда игнорируется при подключении к локальному компьютеру.

[in] lOptionFlags

Вы можете объединить один или несколько следующих флагов.

WBEM_FLAG_CHECK_ONLY

Выполняет только синтаксическую проверка.

WBEM_FLAG_AUTORECOVER

Если метод выполнен успешно, он добавляет имя файла в список файлов, которые будут компилироваться во время автоматического восстановления базы данных.

Этот флаг не может быть объединён с флагами пространства имен, класса или экземпляра.

WBEM_FLAG_CONSOLE_PRINT

Отправляет различные полезные сообщения в консоль.

WBEM_FLAG_DONT_ADD_TO_LIST

Предотвращает добавление файла в список скомпилированных файлов во время автоматического восстановления базы данных.

Этот флаг несовместим с WBEM_FLAG_AUTORECOVER.

[in] lClassFlags

Этот параметр игнорируется, так как двоичный MOF-файл уже содержит сведения. Значение параметра должно быть равно 0.

[in] lInstanceFlags

Игнорируется, так как двоичный MOF-файл уже содержит сведения. Значение параметра должно быть равно 0.

[in, out] pInfo

Указатель на WBEM_COMPILE_STATUS_INFO , описывающий ошибку.

Если значение параметра не равно NULL, произошла ошибка и структура заполняется сведениями об ошибке.

Возвращаемое значение

Этот метод возвращает WBEM_S_NO_ERROR в случае успешного выполнения. Если метод завершается неудачно, он возвращает WBEM_S_FALSE.

Комментарии

Если параметр User принимает форму <домен\пользователь>, параметр Authority должен иметь значение NULL.

Двоичные MOF-данные могут быть созданы методом CreateBMOF , который сохраняет двоичные MOF-данные в файл, который можно считывать перед вызовом метода CompileBuffer .

Требования

Требование Значение
Минимальная версия клиента Windows Vista
Минимальная версия сервера Windows Server 2008
Целевая платформа Windows
Header wbemcli.h (включая Wbemidl.h)
Библиотека Wbemuuid.lib
DLL Mofd.dll

См. также раздел

IMofCompiler

WBEM_COMPILER_OPTIONS