3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * Copyright 2005 Francois Gouget
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * This library is free software; you can redistribute it and/or
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * modify it under the terms of the GNU Lesser General Public
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * License as published by the Free Software Foundation; either
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * version 2.1 of the License, or (at your option) any later version.
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * This library is distributed in the hope that it will be useful,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * but WITHOUT ANY WARRANTY; without even the implied warranty of
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * Lesser General Public License for more details.
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * You should have received a copy of the GNU Lesser General Public
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * License along with this library; if not, write to the Free Software
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * other than GPL or LGPL is available it will apply instead, Oracle elects to use only
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * a choice of LGPL license versions is made available with the language indicating
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * that LGPLv2 or any later version may be used, or where a choice of which version
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * of the LGPL is applied is otherwise unspecified.
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncimport "oaidl.idl";
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _ADS_CASEIGNORE_LIST *PADS_CASEIGNORE_LIST;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/*****************************************************************************
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * IADsContainer interface
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/*****************************************************************************
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * IADs interface
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT Get([in] BSTR bstrName, [out, retval] VARIANT* pvProp);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT Put([in] BSTR bstrName, [in] VARIANT vProp);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT GetEx([in] BSTR bstrName, [out, retval] VARIANT* pvProp);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT PutEx([in] long lnControlCode, [in] BSTR bstrName, [in] VARIANT vProp);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT GetInfoEx( [in] VARIANT vProperties, [in] long lnReserved);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/*****************************************************************************
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * IADsMembers interface
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT _NewEnum([out, retval] IUnknown** ppEnumerator);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/*****************************************************************************
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * IADsGroup interface
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT Members([out, retval] IADsMembers** ppMembers);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT IsMember([in] BSTR bstrMember, [out, retval] VARIANT_BOOL* bMember);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/*****************************************************************************
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * IADsUser interface
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT BadLoginAddress([out, retval] BSTR* retval);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT LastFailedLogin([out, retval] DATE* retval);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT PasswordLastChanged([out, retval] DATE* retval);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT TelephoneHome([out, retval] VARIANT* retval);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT TelephoneMobile([out, retval] VARIANT* retval);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT TelephoneNumber([out, retval] VARIANT* retval);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT TelephonePager([out, retval] VARIANT* retval);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT OfficeLocations([out, retval] VARIANT* retval);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT PostalAddresses([out, retval] VARIANT* retval);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT PostalCodes([out, retval] VARIANT* retval);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT AccountDisabled([out, retval] VARIANT_BOOL* retval);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT AccountExpirationDate([out, retval] DATE* retval);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT GraceLoginsAllowed([out, retval] long* retval);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT GraceLoginsRemaining([out, retval] long* retval);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT IsAccountLocked([out, retval] VARIANT_BOOL* retval);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT LoginWorkstations([out, retval] VARIANT* retval);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT PasswordExpirationDate([out, retval] DATE* retval);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT PasswordMinimumLength([out, retval] long* retval);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT PasswordRequired([out, retval] VARIANT_BOOL* retval);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT PasswordRequired([in] VARIANT_BOOL retval);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT RequireUniquePassword([out, retval] VARIANT_BOOL* retval);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT RequireUniquePassword([in] VARIANT_BOOL retval);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT Groups([out, retval] IADsMembers** ppGroups);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT ChangePassword([in] BSTR bstrOldPassword, [in] BSTR bstrNewPassword);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/*****************************************************************************
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * IDirectorySearch interface
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT SetSearchPreference([in] PADS_SEARCHPREF_INFO pSearchPrefs, [in] DWORD dwNumPrefs);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT ExecuteSearch([in] LPWSTR pszSearchFilter, [in] LPWSTR* pAttributeNames,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [in] DWORD dwNumberAttributes, [out] PADS_SEARCH_HANDLE phSearchResult);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT AbandonSearch([in] ADS_SEARCH_HANDLE phSearchResult);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT GetFirstRow([in] ADS_SEARCH_HANDLE hSearchResult);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT GetNextRow([in] ADS_SEARCH_HANDLE hSearchResult);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT GetPreviousRow([in] ADS_SEARCH_HANDLE hSearchResult);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT GetNextColumnName([in] ADS_SEARCH_HANDLE hSearchHandle, [out] LPWSTR* ppszColumnName);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT GetColumn( [in] ADS_SEARCH_HANDLE hSearchResult, [in] LPWSTR szColumnName,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT FreeColumn([in] PADS_SEARCH_COLUMN pSearchColumn);