ADSIを利用して、接続を試みたのですが
下記記述だと失敗してしまいます。
どこがまちがっているのでしょうか?
CComBSTR strcon("LDAP://test.com");
IADsContainer* contain;
HRESULT resu = ADsGetObject(strcon, IID_IADsContainer,(LPVOID*) &contain);
if (FAILED(resu)) {
printf("ログインに失敗 ==[%s]\n",strcon);
}
サーバ名は「testuse」で、ドメインが[test.com]です。
上記のロジックを実行すると、
「ログインに失敗 ==[L]」と出力されています。
開発環境は、Visual C++6.0になります。
お願いします。
resu には何が返ってきているんですか?
ここ以下に書いてあるいずれかのコードが返ってきていますか?
http://msdn.microsoft.com/en-us/library/aa772195.aspx
resuには
800401e4が返却されてきました。
(インストールされてあり、OUの登録もユーザの登録もできているので
インストールエラーではないような気がするのですが...)
http://support.microsoft.com/kb/289891
ちなみにデバックは、以下のロジックにて排出しました。
wprintf(L"An error occurred.\n HRESULT: %x\n",hr);
if (HRESULT_FACILITY(hr)==FACILITY_WIN32)
{
DWORD dwLastError;
WCHAR szErrorBuf[MAX_PATH];
WCHAR szNameBuf[MAX_PATH];
HRESULT hr_return =S_OK;
hr_return = ADsGetLastError( &dwLastError,
szErrorBuf,
MAX_PATH,
szNameBuf,
MAX_PATH);
if (SUCCEEDED(hr_return))
{
wprintf(L"Error Code: %d\n Error Text: %ws\n Provider: %ws\n", dwLastError, szErrorBuf, szNameBuf);
}
}
これが原因かなー?
http://support.microsoft.com/kb/171724/ja
コンソールアプリなら、main の最初に CoInitialize、最後に CoUninitialize を呼んでみてください。
おお!
そうかも知れません。
やっていなかったので、コーディングして
試してみますッ!!
解決できました!
ありがとうございます!
解決できました!
ありがとうございます!
ツイート | ![]() |