Re[3]: Как передать в API функцию ссылку на массив структур
От: ekamaloff Великобритания  
Дата: 22.12.05 09:45
Оценка:
Здравствуйте, ayap, Вы писали:

[...]

Я так понимаю вы должны передать в функцию массив структур DSOP_SCOPE_INIT_INFO, полученный ранее каким-то образом (где это у вас в коде?). Представим что они у вас все таки есть и что это просто локальный массив, инициализируемый перед вызовом IDsObjectPicker::Initialize. Тогда передаваться он будет следующим образом:


var
A>  InitInfo: PDSOP_INIT_INFO;
A>  aScopeInit: array[0..1] of DSOP_SCOPE_INIT_INFO;
A>...
A>begin
A>  try
A>...
      // Инициализируем массив aScopeInit
      // ...
A>    InitInfo := GetMemory(sizeof(DSOP_INIT_INFO));
A>    InitInfo.cbSize := sizeof(DSOP_INIT_INFO);
A>    InitInfo.pwzTargetComputer := LPWSTR(CompName);
A>    InitInfo.cDsScopeInfos := Length(aScopeInit);
A>    InitInfo.aDsScopeInfos := @aScopeInit[0];
A>    InitInfo.flOptions := DSOP_FLAG_MULTISELECT or DSOP_FLAG_SKIP_TARGET_COMPUTER_DC_CHECK;
A>    InitInfo.cAttributesToFetch := 0;
A>    InitInfo.apwzAttributeNames := nil;

A>    (obj as IDsObjectPicker).Initialize(InitInfo);
A>  finally
A>    FreeMemory(InitInfo);
A>  end;

A>end;
It is always bad to give advices, but you will be never forgiven for a good one.
Oscar Wilde
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.