使用WinNT提供程序和Delphi查询ADSI时“找不到网络路径”

时间:2011-08-08 08:57:29

标签: delphi active-directory activex adsi

我使用WINNT提供程序查询ADSI,代码类似于:

var
  User : IADSUser;
begin
  User := GetObject('WinNT://'+domainname+'/'+username + ', user') as IADSUser;
  ...
  ...

其中GetObject定义为:

function GetObject (const Name : string): IDispatch;
var
  Moniker : IMoniker;
  Eaten : integer;
  BindContext : IBindCtx;
  Dispatch : IDispatch;
begin
  OleCheck( CreateBindCtx( 0, BindContext ) );
  OleCheck( MkParseDisplayName( BindContext, PWideChar(  WideString( Name ) ), Eaten, Moniker ) );
  OleCheck( Moniker.BindToObject( BindContext, NIL, IDispatch,  Dispatch ) );
  Result := Dispatch;
end;

这已经工作了几年而没有问题我有一个安装虽然在特定域上的位置,但是从查询时遇到 网络路径未找到 错误一个 不同的 域名。此设置有4个不同的域。域之间存在完全信任,并且当从域内查询时,查询在违规域上工作正常。只是当从其他域之一尝试此操作时。可以使用许多其他工具查询域,因此一切似乎都可以。任何想法为什么这个特定的域可能会给这个问题?

0 个答案:

没有答案