Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/winsup
diff options
context:
space:
mode:
authorDimitri Papadopoulos <dimitri_at@users.sf.net>2006-05-11 13:53:34 +0400
committerDimitri Papadopoulos <dimitri_at@users.sf.net>2006-05-11 13:53:34 +0400
commit51d7d63178390e0a5e793896c212c8f472bbf40b (patch)
treea90e55199de1145c14bc5714a705f9988e0ed301 /winsup
parenta72a9c190f22365dc87f6c1f6ce609bbff7b0eb2 (diff)
* include/strmif.h (IAMAnalogVideoDecoder,IAMAudioInputMixer)
(IAMAudioRendererStats,IAMBufferNegotiation,IAMCameraControl) (IAMCertifiedOutputProtection): Add interfaces. * include/adsprop.h: New file. * include/cmnquery.h: New file. * include/dsadmin.h: New file. * include/dsclient.h: New file. * include/dsgetdc.h: New file. * include/dsquery.h: New file. * include/dsrole.h: New file. * include/ntdsapi.h: New file. * include/ntdsbcli.h: New file. * include/objsel.h: New file. Not finished. Just wanted to submit this before I'm disembarked from the project, so that the work isn't lost...
Diffstat (limited to 'winsup')
-rw-r--r--winsup/w32api/ChangeLog19
-rw-r--r--winsup/w32api/include/adsprop.h59
-rw-r--r--winsup/w32api/include/cmnquery.h81
-rw-r--r--winsup/w32api/include/dsadmin.h38
-rw-r--r--winsup/w32api/include/dsclient.h186
-rw-r--r--winsup/w32api/include/dsgetdc.h98
-rw-r--r--winsup/w32api/include/dsquery.h72
-rw-r--r--winsup/w32api/include/dsrole.h75
-rw-r--r--winsup/w32api/include/ntdsapi.h115
-rw-r--r--winsup/w32api/include/ntdsbcli.h45
-rw-r--r--winsup/w32api/include/objsel.h118
-rw-r--r--winsup/w32api/include/strmif.h85
12 files changed, 990 insertions, 1 deletions
diff --git a/winsup/w32api/ChangeLog b/winsup/w32api/ChangeLog
index 83cda5a3c..abed26b98 100644
--- a/winsup/w32api/ChangeLog
+++ b/winsup/w32api/ChangeLog
@@ -1,3 +1,19 @@
+2006-05-11 Dimitri Papadopoulos <papadopo@users.sourceforge.net>
+
+ * include/strmif.h (IAMAnalogVideoDecoder,IAMAudioInputMixer)
+ (IAMAudioRendererStats,IAMBufferNegotiation,IAMCameraControl)
+ (IAMCertifiedOutputProtection): Add interfaces.
+ * include/adsprop.h: New file.
+ * include/cmnquery.h: New file.
+ * include/dsadmin.h: New file.
+ * include/dsclient.h: New file.
+ * include/dsgetdc.h: New file.
+ * include/dsquery.h: New file.
+ * include/dsrole.h: New file.
+ * include/ntdsapi.h: New file.
+ * include/ntdsbcli.h: New file.
+ * include/objsel.h: New file.
+
2006-05-10 Dimitri Papadopoulos <papadopo@users.sourceforge.net>
* include/qedit.h (DEXTER_*,SCompFmt0): Add structures.
@@ -79,7 +95,8 @@
2006-05-05 Chris Sutcliffe <ir0nh34d@users.sf.net>
- * lib/directx/Makefile.in: Remove reference to libquartz.a since it was moved.
+ * lib/directx/Makefile.in: Remove reference to libquartz.a since
+ it was moved.
2006-05-05 Earnie Boyd <earnie@users.sf.net>
diff --git a/winsup/w32api/include/adsprop.h b/winsup/w32api/include/adsprop.h
new file mode 100644
index 000000000..8036b768f
--- /dev/null
+++ b/winsup/w32api/include/adsprop.h
@@ -0,0 +1,59 @@
+/*
+ * adsprop.h - Active Directory
+ *
+ * THIS SOFTWARE IS NOT COPYRIGHTED
+ *
+ * This source code is offered for use in the public domain. You may use,
+ * modify or distribute it freely.
+ *
+ * This code is distributed in the hope that it will be useful but
+ * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
+ * DISCLAIMED. This includes but is not limited to warranties of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ */
+#ifndef _ADSPROP_H
+#define _ADSPROP_H
+#if __GNUC__ >= 3
+#pragma GCC system_header
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*--- Active Directory Reference - Active Directory Messages */
+#define WM_ADSPROP_NOTIFY_APPLY (WM_USER+1104)
+#define WM_ADSPROP_NOTIFY_CHANGE (WM_USER+1103)
+#define WM_ADSPROP_NOTIFY_ERROR (WM_USER+1110)
+#define WM_ADSPROP_NOTIFY_EXIT (WM_USER+1107)
+#define WM_ADSPROP_NOTIFY_FOREGROUND (WM_USER+1106)
+#define WM_ADSPROP_NOTIFY_PAGEHWND (WM_USER+1102)
+#define WM_ADSPROP_NOTIFY_PAGEINIT (WM_USER+1101)
+#define WM_ADSPROP_NOTIFY_SETFOCUS (WM_USER+1105)
+/*--- Active Directory Reference - Active Directory Structures - Active Directory MMC Property Page Structures */
+#if (_WIN32_WINNT >= 0x0501)
+typedef struct {
+ HWND hwndPage;
+ PWSTR pszPageTitle;
+ PWSTR pszObjPath;
+ PWSTR pszObjClass;
+ HRESULT hr;
+ PWSTR pszError;
+} ADSPROPERROR,*PADSPROPERROR;
+#endif /* (_WIN32_WINNT >= 0x0501) */
+#if (_WIN32_WINNT >= 0x0500)
+typedef struct {
+ DWORD dwSize;
+ DWORD dwFlags;
+ HRESULT hr;
+ IDirectoryObject *pDsObj;
+ LPWSTR pwzCN;
+ PADS_ATTR_INFO pWritableAttrs;
+} ADSPROPINITPARAMS,*PADSPROPINITPARAMS;
+#endif /* (_WIN32_WINNT >= 0x0500) */
+
+#ifdef __cplusplus
+}
+#endif
+#endif
diff --git a/winsup/w32api/include/cmnquery.h b/winsup/w32api/include/cmnquery.h
new file mode 100644
index 000000000..e846a0842
--- /dev/null
+++ b/winsup/w32api/include/cmnquery.h
@@ -0,0 +1,81 @@
+/*
+ * cmnquery.h - Active Directory
+ *
+ * THIS SOFTWARE IS NOT COPYRIGHTED
+ *
+ * This source code is offered for use in the public domain. You may use,
+ * modify or distribute it freely.
+ *
+ * This code is distributed in the hope that it will be useful but
+ * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
+ * DISCLAIMED. This includes but is not limited to warranties of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ */
+#ifndef _CMNQUERY_H
+#define _CMNQUERY_H
+#if __GNUC__ >= 3
+#pragma GCC system_header
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*--- Active Directory Reference - Active Directory Structures - Active Directory Display Structures */
+#if (_WIN32_WINNT >= 0x0500)
+typedef struct {
+ DWORD cbStruct;
+ DWORD dwFlags;
+ CLSID clsid;
+ HICON hIcon;
+ LPWSTR pszTitle;
+} CQFORM,*LPCQFORM;
+#define CQFF_NOGLOBALPAGES 0x00000001
+#define CQFF_ISOPTIONAL 0x00000002
+typedef struct {
+ DWORD cbStruct;
+ DWORD dwFlags;
+ LPCQPAGEPROC pPageProc;
+ HINSTANCE hInstance;
+ INT idPageName;
+ INT idPageTemplate;
+ DLGPROC pDlgProc;
+ LPARAM lParam;
+} CQPAGE,*LPCQPAGE;
+/*********
+typedef struct {
+ DWORD cbStruct;
+ DWORD dwFlags;
+ CLSID clsidHandler;
+ LPVOID pHandlerParameters;
+ CLSID clsidDefaultForm;
+ IPersistQuery* pPersistQuery;
+ union {
+ void* pFormParameters;
+ IPropertyBag* ppbFormParameters;
+ };
+} OPENQUERYWINDOW,*LPOPENQUERYWINDOW;
+*********/
+#define OQWF_OKCANCEL 0x00000001
+#define OQWF_DEFAULTFORM 0x00000002
+#define OQWF_SINGLESELECT 0x00000004
+#define OQWF_LOADQUERY 0x00000008
+#define OQWF_REMOVESCOPES 0x00000010
+#define OQWF_REMOVEFORMS 0x00000020
+#define OQWF_ISSUEONOPEN 0x00000040
+#define OQWF_SHOWOPTIONAL 0x00000080
+#define OQWF_SAVEQUERYONOK 0x00000200
+#define OQWF_HIDEMENUS 0x00000400
+#define OQWF_HIDESEARCHUI 0x00000800
+#define OQWF_PARAMISPROPERTYBAG 0x80000000
+/*--- Active Directory Reference - Active Directory Functions - Active Directory Display Functions */
+typedef HRESULT (CALLBACK* CQAddFormsProc)(LPARAM,LPCQFORM);
+typedef HRESULT (CALLBACK* CQAddPagesProc)(LPARAM,REFCLSID,LPCQPAGE);
+typedef HRESULT (CALLBACK* CQPageProc)(LPCQPAGE,HWND,UINT,WPARAM,LPARAM);
+#endif /* (_WIN32_WINNT >= 0x0500) */
+
+#ifdef __cplusplus
+}
+#endif
+#endif
diff --git a/winsup/w32api/include/dsadmin.h b/winsup/w32api/include/dsadmin.h
new file mode 100644
index 000000000..e2eb1ce14
--- /dev/null
+++ b/winsup/w32api/include/dsadmin.h
@@ -0,0 +1,38 @@
+/*
+ * dsadmin.h - Active Directory
+ *
+ * THIS SOFTWARE IS NOT COPYRIGHTED
+ *
+ * This source code is offered for use in the public domain. You may use,
+ * modify or distribute it freely.
+ *
+ * This code is distributed in the hope that it will be useful but
+ * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
+ * DISCLAIMED. This includes but is not limited to warranties of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ */
+#ifndef _DSADMIN_H
+#define _DSADMIN_H
+#if __GNUC__ >= 3
+#pragma GCC system_header
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*--- Active Directory Reference - Active Directory Structures - Active Directory Admin Structures */
+#if (_WIN32_WINNT >= 0x0500)
+typedef struct {
+ DWORD dwSize;
+ HICON hObjClassIcon;
+ LPWSTR lpszWizTitle;
+ LPWSTR lpszContDisplayName;
+} DSA_NEWOBJ_DISPINFO,*LPDSA_NEWOBJ_DISPINFO;
+#endif /* (_WIN32_WINNT >= 0x0500) */
+
+#ifdef __cplusplus
+}
+#endif
+#endif
diff --git a/winsup/w32api/include/dsclient.h b/winsup/w32api/include/dsclient.h
new file mode 100644
index 000000000..341ca99ac
--- /dev/null
+++ b/winsup/w32api/include/dsclient.h
@@ -0,0 +1,186 @@
+/*
+ * dsclient.h - Active Directory
+ *
+ * THIS SOFTWARE IS NOT COPYRIGHTED
+ *
+ * This source code is offered for use in the public domain. You may use,
+ * modify or distribute it freely.
+ *
+ * This code is distributed in the hope that it will be useful but
+ * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
+ * DISCLAIMED. This includes but is not limited to warranties of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ */
+#ifndef _DSCLIENT_H
+#define _DSCLIENT_H
+#if __GNUC__ >= 3
+#pragma GCC system_header
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#if (_WIN32_WINNT >= 0x0500)
+/*--- Active Directory Reference - Active Directory Functions - Active Directory Display Functions - BFFCallBack */
+#define DSBM_QUERYINSERTW 0x0064
+#define DSBM_QUERYINSERTA 0x0065
+#define DSBM_CHANGEIMAGESTATE 0x0066
+#define DSBM_HELP 0x0067
+#define DSBM_CONTEXTMENU 0x0068
+#ifdef UNICODE
+#define DSBM_QUERYINSERT DSBM_QUERYINSERTW
+#else
+#define DSBM_QUERYINSERT DSBM_QUERYINSERTA
+#endif
+/*--- Active Directory Reference - Active Directory Structures - Active Directory Display Structures */
+typedef struct _DOMAINDESC {
+ LPWSTR pszName;
+ LPWSTR pszPath;
+ LPWSTR pszNCName;
+ LPWSTR pszTrustParent;
+ LPWSTR pszObjectClass;
+ ULONG ulFlags;
+ BOOL fDownLevel;
+ struct _DOMAINDESC* pdChildList;
+ struct _DOMAINDESC* pdNextSibling;
+} DOMAIN_DESC,DOMAINDESC,*PDOMAIN_DESC,*LPDOMAINDESC;
+typedef struct {
+ DWORD dsSize;
+ DWORD dwCount;
+ DOMAINDESC aDomains[1];
+} DOMAINTREE,DOMAIN_TREE,*PDOMAIN_TREE,*LPDOMAINTREE;
+#define DSB_MAX_DISPLAYNAME_CHARS 64
+typedef struct {
+ DWORD cbStruct;
+ LPCWSTR pszADsPath;
+ LPCWSTR pszClass;
+ DWORD dwMask;
+ DWORD dwState;
+ DWORD dwStateMask;
+ CHAR szDisplayName[DSB_MAX_DISPLAYNAME_CHARS];
+ CHAR szIconLocation[MAX_PATH];
+ INT iIconResID;
+} DSBITEMA,*PDSBITEMA;
+typedef struct {
+ DWORD cbStruct;
+ LPCWSTR pszADsPath;
+ LPCWSTR pszClass;
+ DWORD dwMask;
+ DWORD dwState;
+ DWORD dwStateMask;
+ CHAR szDisplayName[DSB_MAX_DISPLAYNAME_CHARS];
+ CHAR szIconLocation[MAX_PATH];
+ INT iIconResID;
+} DSBITEMW,*PDSBITEMW;
+#define DSBF_STATE 0x00000001
+#define DSBF_ICONLOCATION 0x00000002
+#define DSBF_DISPLAYNAME 0x00000004
+#define DSBS_CHECKED 0x00000001
+#define DSBS_HIDDEN 0x00000002
+#define DSBS_ROOT 0x00000004
+typedef struct {
+ DWORD cbStruct;
+ HWND hwndOwner;
+ LPCSTR pszCaption;
+ LPCSTR pszTitle;
+ LPCWSTR pszRoot;
+ LPWSTR pszPath;
+ ULONG cchPath;
+ DWORD dwFlags;
+ BFFCALLBACK pfnCallback;
+ LPARAM lParam;
+ DWORD dwReturnFormat;
+ LPCWSTR pUserName;
+ LPCWSTR pPassword;
+ LPWSTR pszObjectClass;
+ ULONG cchObjectClass;
+} DSBROWSEINFOA,*PDSBROWSEINFOA;
+typedef struct {
+ DWORD cbStruct;
+ HWND hwndOwner;
+ LPCWSTR pszCaption;
+ LPCWSTR pszTitle;
+ LPCWSTR pszRoot;
+ LPWSTR pszPath;
+ ULONG cchPath;
+ DWORD dwFlags;
+ BFFCALLBACK pfnCallback;
+ LPARAM lParam;
+ DWORD dwReturnFormat;
+ LPCWSTR pUserName;
+ LPCWSTR pPassword;
+ LPWSTR pszObjectClass;
+ ULONG cchObjectClass;
+} DSBROWSEINFOW,*PDSBROWSEINFOW;
+#define DSBI_NOBUTTONS 0x00000001
+#define DSBI_NOLINES 0x00000002
+#define DSBI_NOLINESATROOT 0x00000004
+#define DSBI_CHECKBOXES 0x00000100
+#define DSBI_NOROOT 0x00010000
+#define DSBI_INCLUDEHIDDEN 0x00020000
+#define DSBI_EXPANDONOPEN 0x00040000
+#define DSBI_ENTIREDIRECTORY 0x00090000
+#define DSBI_RETURN_FORMAT 0x00100000
+#define DSBI_HASCREDENTIALS 0x00200000
+#define DSBI_IGNORETREATASLEAF 0x00400000
+#define DSBI_SIMPLEAUTHENTICATE 0x00800000
+#define DSBI_RETURNOBJECTCLASS 0x01000000
+#define DSBI_DONTSIGNSEAL 0x02000000
+typedef struct {
+ DWORD dwFlags;
+ CLSID clsidWizardDialog;
+ CLSID clsidWizardPrimaryPage;
+ DWORD cWizardExtensions;
+ CLSID aWizardExtensions[1];
+} DSCLASSCREATIONINFO,*LPDSCLASSCREATIONINFO;
+#define DSCCIF_HASWIZARDDIALOG 0x00000001
+#define DSCCIF_HASWIZARDPRIMARYPAGE 0x00000002
+typedef struct _DSDISPLAYSPECOPTIONS {
+ DWORD dwSize;
+ DWORD dwFlags;
+ DWORD offsetAttribPrefix;
+ DWORD offsetUserName;
+ DWORD offsetPassword;
+ DWORD offsetServer;
+ DWORD offsetServerConfigPath;
+} DSDISPLAYSPECOPTIONS,*PDSDISPLAYSPECOPTIONS,*LPDSDISPLAYSPECOPTIONS;
+#define DSDSOF_HASUSERANDSERVERINFO 0x00000001
+#define DSDSOF_SIMPLEAUTHENTICATE 0x00000002
+#define DSDSOF_DONTSIGNSEAL 0x00000004
+#define DSDSOF_DSAVAILABLE 0x40000000
+typedef struct {
+ DWORD dwFlags;
+ DWORD dwProviderFlags;
+ DWORD offsetName;
+ DWORD offsetClass;
+} DSOBJECT,*LPDSOBJECT;
+#define DSOBJECT_ISCONTAINER 0x00000001
+#define DSOBJECT_READONLYPAGES 0x80000000
+#define DSPROVIDER_UNUSED_0 0x00000001
+#define DSPROVIDER_UNUSED_1 0x00000002
+#define DSPROVIDER_UNUSED_2 0x00000004
+#define DSPROVIDER_UNUSED_3 0x00000008
+#define DSPROVIDER_ADVANCED 0x00000010
+typedef struct {
+ CLSID clsidNamespace;
+ UINT cItems;
+ DSOBJECT aObjects[1];
+} DSOBJECTNAMES,*LPDSOBJECTNAMES;
+typedef struct {
+ DWORD offsetString;
+} DSPROPERTYPAGEINFO,*LPDSPROPERTYPAGEINFO;
+#ifdef UNICODE
+typedef DSBITEMW DSBITEM,*PDSBITEM;
+typedef DSBROWSEINFOW DSBROWSEINFO,*PDSBROWSEINFO;
+#else
+typedef DSBITEMA DSBITEM,*PDSBITEM;
+typedef DSBROWSEINFOA DSBROWSEINFO,*PDSBROWSEINFO;
+#endif
+#endif /* (_WIN32_WINNT >= 0x0500) */
+
+#ifdef __cplusplus
+}
+#endif
+#endif
diff --git a/winsup/w32api/include/dsgetdc.h b/winsup/w32api/include/dsgetdc.h
new file mode 100644
index 000000000..e0f3c3c1a
--- /dev/null
+++ b/winsup/w32api/include/dsgetdc.h
@@ -0,0 +1,98 @@
+/*
+ * dsgetdc.h - Active Directory
+ *
+ * THIS SOFTWARE IS NOT COPYRIGHTED
+ *
+ * This source code is offered for use in the public domain. You may use,
+ * modify or distribute it freely.
+ *
+ * This code is distributed in the hope that it will be useful but
+ * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
+ * DISCLAIMED. This includes but is not limited to warranties of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ */
+#ifndef _DSGETDC_H
+#define _DSGETDC_H
+#if __GNUC__ >= 3
+#pragma GCC system_header
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*--- Active Directory Reference - Active Directory Structures - Directory Service Structures */
+#if (_WIN32_WINNT >= 0x0500)
+typedef struct _DOMAIN_CONTROLLER_INFOA {
+ LPSTR DomainControllerName;
+ LPSTR DomainControllerAddress;
+ ULONG DomainControllerAddressType;
+ GUID DomainGuid;
+ LPSTR DomainName;
+ LPSTR DnsForestName;
+ ULONG Flags;
+ LPSTR DcSiteName;
+ LPSTR ClientSiteName;
+} DOMAIN_CONTROLLER_INFOA,*PDOMAIN_CONTROLLER_INFOA;
+typedef struct _DOMAIN_CONTROLLER_INFOW {
+ LPWSTR DomainControllerName;
+ LPWSTR DomainControllerAddress;
+ ULONG DomainControllerAddressType;
+ GUID DomainGuid;
+ LPWSTR DomainName;
+ LPWSTR DnsForestName;
+ ULONG Flags;
+ LPWSTR DcSiteName;
+ LPWSTR ClientSiteName;
+} DOMAIN_CONTROLLER_INFOW,*PDOMAIN_CONTROLLER_INFOW;
+#define DS_INET_ADDRESS 0x0001
+#define DS_NETBIOS_ADDRESS 0x0002
+#define DS_PDC_FLAG 0x00000001
+#define DS_GC_FLAG 0x00000004
+#define DS_DS_FLAG 0x00000010
+#define DS_KDC_FLAG 0x00000020
+#define DS_TIMESERV_FLAG 0x00000040
+#define DS_WRITABLE_FLAG 0x00000100
+#define DS_DNS_CONTROLLER_FLAG 0x20000000
+#define DS_DNS_DOMAIN_FLAG 0x40000000
+#define DS_DNS_FOREST_FLAG 0x80000000
+typedef struct _DS_DOMAIN_TRUSTSA {
+ LPSTR NetbiosDomainName;
+ LPSTR DnsDomainName;
+ ULONG Flags;
+ ULONG ParentIndex;
+ ULONG TrustType;
+ ULONG TrustAttributes;
+ PSID DomainSid;
+ GUID DomainGuid;
+} DS_DOMAIN_TRUSTSA,*PDS_DOMAIN_TRUSTSA;
+typedef struct _DS_DOMAIN_TRUSTSW {
+ LPWSTR NetbiosDomainName;
+ LPWSTR DnsDomainName;
+ ULONG Flags;
+ ULONG ParentIndex;
+ ULONG TrustType;
+ ULONG TrustAttributes;
+ PSID DomainSid;
+ GUID DomainGuid;
+} DS_DOMAIN_TRUSTSW,*PDS_DOMAIN_TRUSTSW;
+#define DS_DOMAIN_IN_FOREST 0x0001
+#define DS_DOMAIN_DIRECT_OUTBOUND 0x0002
+#define DS_DOMAIN_TREE_ROOT 0x0004
+#define DS_DOMAIN_PRIMARY 0x0008
+#define DS_DOMAIN_NATIVE_MODE 0x0010
+#define DS_DOMAIN_DIRECT_INBOUND 0x0020
+#ifdef UNICODE
+typedef DOMAIN_CONTROLLER_INFOW DOMAIN_CONTROLLER_INFO,*PDOMAIN_CONTROLLER_INFO;
+typedef DS_DOMAIN_TRUSTSW DS_DOMAIN_TRUSTS,*PDS_DOMAIN_TRUSTS;
+#else
+typedef DOMAIN_CONTROLLER_INFOA DOMAIN_CONTROLLER_INFO,*PDOMAIN_CONTROLLER_INFO;
+typedef DS_DOMAIN_TRUSTSA DS_DOMAIN_TRUSTS,*PDS_DOMAIN_TRUSTS;
+#endif
+#endif /* (_WIN32_WINNT >= 0x0500) */
+
+#ifdef __cplusplus
+}
+#endif
+#endif
diff --git a/winsup/w32api/include/dsquery.h b/winsup/w32api/include/dsquery.h
new file mode 100644
index 000000000..0f3f870fb
--- /dev/null
+++ b/winsup/w32api/include/dsquery.h
@@ -0,0 +1,72 @@
+/*
+ * dsquery.h - Active Directory
+ *
+ * THIS SOFTWARE IS NOT COPYRIGHTED
+ *
+ * This source code is offered for use in the public domain. You may use,
+ * modify or distribute it freely.
+ *
+ * This code is distributed in the hope that it will be useful but
+ * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
+ * DISCLAIMED. This includes but is not limited to warranties of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ */
+#ifndef _DSQUERY_H
+#define _DSQUERY_H
+#if __GNUC__ >= 3
+#pragma GCC system_header
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*--- Active Directory Reference - Active Directory Structures - Active Directory Display Structures */
+#if (_WIN32_WINNT >= 0x0500)
+typedef struct {
+ DWORD dwFlags;
+ INT fmt;
+ INT cx;
+ INT idsName;
+ LONG offsetProperty;
+ DWORD dwReserved;
+} DSCOLUMN,*LPDSCOLUMN;
+#define DSCOLUMNPROP_ADSPATH -1
+#define DSCOLUMNPROP_OBJECTCLASS -2
+typedef struct {
+ DWORD cbStruct;
+ LONG cClasses;
+ DWORD offsetClass[1];
+} DSQUERYCLASSLIST,*LPDSQUERYCLASSLIST;
+typedef struct {
+ DWORD cbStruct;
+ DWORD dwFlags;
+ LPWSTR pDefaultScope;
+ LPWSTR pDefaultSaveLocation;
+ LPWSTR pUserName;
+ LPWSTR pPassword;
+ LPWSTR pServer;
+} DSQUERYINITPARAMS,*LPDSQUERYINITPARAMS;
+#define DSQPF_NOSAVE 0x00000001
+#define DSQPF_SAVELOCATION 0x00000002
+#define DSQPF_SHOWHIDDENOBJECTS 0x00000004
+#define DSQPF_ENABLEADMINFEATURES 0x00000008
+#define DSQPF_ENABLEADVANCEDFEATURES 0x00000010
+#define DSQPF_HASCREDENTIALS 0x00000020
+#define DSQPF_NOCHOOSECOLUMNS 0x00000040
+typedef struct {
+ DWORD cbStruct;
+ DWORD dwFlags;
+ HINSTANCE hInstance;
+ LONG offsetQuery;
+ LONG iColumns;
+ DWORD dwReserved;
+ DSCOLUMN aColumns[1];
+} DSQUERYPARAMS,*LPDSQUERYPARAMS;
+#endif /* (_WIN32_WINNT >= 0x0500) */
+
+#ifdef __cplusplus
+}
+#endif
+#endif
diff --git a/winsup/w32api/include/dsrole.h b/winsup/w32api/include/dsrole.h
new file mode 100644
index 000000000..6b950f9be
--- /dev/null
+++ b/winsup/w32api/include/dsrole.h
@@ -0,0 +1,75 @@
+/*
+ * dsrole.h - Active Directory
+ *
+ * THIS SOFTWARE IS NOT COPYRIGHTED
+ *
+ * This source code is offered for use in the public domain. You may use,
+ * modify or distribute it freely.
+ *
+ * This code is distributed in the hope that it will be useful but
+ * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
+ * DISCLAIMED. This includes but is not limited to warranties of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ */
+#ifndef _DSROLE_H
+#define _DSROLE_H
+#if __GNUC__ >= 3
+#pragma GCC system_header
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#if (_WIN32_WINNT >= 0x0500)
+/*--- Active Directory Reference - Active Directory Enumerations */
+typedef enum {
+ DsRole_RoleStandaloneWorkstation,
+ DsRole_RoleMemberWorkstation,
+ DsRole_RoleStandaloneServer,
+ DsRole_RoleMemberServer,
+ DsRole_RoleBackupDomainController,
+ DsRole_RolePrimaryDomainController
+} DSROLE_MACHINE_ROLE;
+typedef enum {
+ DsRoleOperationIdle,
+ DsRoleOperationActive,
+ DsRoleOperationNeedReboot
+} DSROLE_OPERATION_STATE;
+typedef enum {
+ DsRolePrimaryDomainInfoBasic,
+ DsRoleUpgradeStatus,
+ DsRoleOperationState
+} DSROLE_PRIMARY_DOMAIN_INFO_LEVEL;
+typedef enum {
+ DsRoleServerUnknown,
+ DsRoleServerPrimary,
+ DsRoleServerBackup
+} DSROLE_SERVER_STATE;
+/*--- Active Directory Reference - Active Directory Structures - Directory Service Structures */
+typedef struct {
+ DSROLE_OPERATION_STATE OperationState;
+} DSROLE_OPERATION_STATE_INFO;
+typedef struct _DSROLE_PRIMARY_DOMAIN_INFO_BASIC {
+ DSROLE_MACHINE_ROLE MachineRole;
+ ULONG Flags;
+ LPWSTR DomainNameFlat;
+ LPWSTR DomainNameDns;
+ LPWSTR DomainForestName;
+ GUID DomainGuid;
+} DSROLE_PRIMARY_DOMAIN_INFO_BASIC,*PDSROLE_PRIMARY_DOMAIN_INFO_BASIC;
+#define DSROLE_PRIMARY_DS_RUNNING 0x00000001
+#define DSROLE_PRIMARY_DS_MIXED_MODE 0x00000002
+#define DSROLE_UPGRADE_IN_PROGRESS 0x00000004
+#define DSROLE_PRIMARY_DOMAIN_GUID_PRESENT 0x01000000
+typedef struct _DSROLE_UPGRADE_STATUS_INFO {
+ ULONG OperationState;
+ DSROLE_SERVER_STATE PreviousServerState;
+} DSROLE_UPGRADE_STATUS_INFO,*PDSROLE_UPGRADE_STATUS_INFO;
+#endif /* (_WIN32_WINNT >= 0x0500) */
+
+#ifdef __cplusplus
+}
+#endif
+#endif
diff --git a/winsup/w32api/include/ntdsapi.h b/winsup/w32api/include/ntdsapi.h
new file mode 100644
index 000000000..2218bee74
--- /dev/null
+++ b/winsup/w32api/include/ntdsapi.h
@@ -0,0 +1,115 @@
+/*
+ * ntdsapi.h - Active Directory
+ *
+ * THIS SOFTWARE IS NOT COPYRIGHTED
+ *
+ * This source code is offered for use in the public domain. You may use,
+ * modify or distribute it freely.
+ *
+ * This code is distributed in the hope that it will be useful but
+ * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
+ * DISCLAIMED. This includes but is not limited to warranties of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ */
+#ifndef _NTDSAPI_H
+#define _NTDSAPI_H
+#if __GNUC__ >= 3
+#pragma GCC system_header
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*--- Active Directory Reference - Active Directory Enumerations */
+#if (_WIN32_WINNT >= 0x0501)
+typedef enum _DS_MANGLE_FOR {
+ DS_MANGLE_UNKNOWN = 0,
+ DS_MANGLE_OBJECT_RDN_FOR_DELETION = 1,
+ DS_MANGLE_OBJECT_RDN_FOR_NAME_CONFLICT = 2
+} DS_MANGLE_FOR;
+#endif /* (_WIN32_WINNT >= 0x0501) */
+#if (_WIN32_WINNT >= 0x0500)
+typedef enum {
+ DS_NAME_NO_ERROR = 0,
+ DS_NAME_ERROR_RESOLVING = 1,
+ DS_NAME_ERROR_NOT_FOUND = 2,
+ DS_NAME_ERROR_NOT_UNIQUE = 3,
+ DS_NAME_ERROR_NO_MAPPING = 4,
+ DS_NAME_ERROR_DOMAIN_ONLY = 5,
+ DS_NAME_ERROR_NO_SYNTACTICAL_MAPPING = 6,
+ DS_NAME_ERROR_TRUST_REFERRAL = 7
+} DS_NAME_ERROR;
+typedef enum {
+ DS_NAME_NO_FLAGS = 0x0,
+ DS_NAME_FLAG_SYNTACTICAL_ONLY = 0x1,
+ DS_NAME_FLAG_EVAL_AT_DC = 0x2,
+ DS_NAME_FLAG_GCVERIFY = 0x4,
+ DS_NAME_FLAG_TRUST_REFERRAL = 0x8
+} DS_NAME_FLAGS;
+typedef enum {
+ DS_UNKNOWN_NAME = 0,
+ DS_FQDN_1779_NAME = 1,
+ DS_NT4_ACCOUNT_NAME = 2,
+ DS_DISPLAY_NAME = 3,
+ DS_UNIQUE_ID_NAME = 6,
+ DS_CANONICAL_NAME = 7,
+ DS_USER_PRINCIPAL_NAME = 8,
+ DS_CANONICAL_NAME_EX = 9,
+ DS_SERVICE_PRINCIPAL_NAME = 10,
+ DS_SID_OR_SID_HISTORY_NAME = 11,
+ DS_DNS_DOMAIN_NAME = 12
+} DS_NAME_FORMAT;
+typedef enum _DS_REPL_INFO_TYPE {
+ DS_REPL_INFO_NEIGHBORS = 0,
+ DS_REPL_INFO_CURSORS_FOR_NC = 1,
+ DS_REPL_INFO_METADATA_FOR_OBJ = 2,
+ DS_REPL_INFO_KCC_DSA_CONNECT_FAILURES = 3,
+ DS_REPL_INFO_KCC_DSA_LINK_FAILURES = 4,
+ DS_REPL_INFO_PENDING_OPS = 5,
+ DS_REPL_INFO_METADATA_FOR_ATTR_VALUE = 6,
+ DS_REPL_INFO_CURSORS_2_FOR_NC = 7,
+ DS_REPL_INFO_CURSORS_3_FOR_NC = 8,
+ DS_REPL_INFO_METADATA_2_FOR_OBJ = 9,
+ DS_REPL_INFO_METADATA_2_FOR_ATTR_VALUE = 10
+} DS_REPL_INFO_TYPE;
+typedef enum {
+ DS_REPL_OP_TYPE_SYNC = 0,
+ DS_REPL_OP_TYPE_ADD,
+ DS_REPL_OP_TYPE_DELETE,
+ DS_REPL_OP_TYPE_MODIFY,
+ DS_REPL_OP_TYPE_UPDATE_REFS
+} DS_REPL_OP_TYPE;
+typedef enum {
+ DS_REPSYNCALL_WIN32_ERROR_CONTACTING_SERVER = 0,
+ DS_REPSYNCALL_WIN32_ERROR_REPLICATING = 1,
+ DS_REPSYNCALL_SERVER_UNREACHABLE = 2
+} DS_REPSYNCALL_ERROR;
+typedef enum {
+ DS_REPSYNCALL_EVENT_ERROR = 0,
+ DS_REPSYNCALL_EVENT_SYNC_STARTED = 1,
+ DS_REPSYNCALL_EVENT_SYNC_COMPLETED = 2,
+ DS_REPSYNCALL_EVENT_FINISHED = 3
+} DS_REPSYNCALL_EVENT;
+typedef enum {
+ DS_SPN_DNS_HOST = 0,
+ DS_SPN_DN_HOST = 1,
+ DS_SPN_NB_HOST = 2,
+ DS_SPN_DOMAIN = 3,
+ DS_SPN_NB_DOMAIN = 4,
+ DS_SPN_SERVICE = 5
+} DS_SPN_NAME_TYPE;
+typedef enum {
+ DS_SPN_ADD_SPN_OP = 0,
+ DS_SPN_REPLACE_SPN_OP = 1,
+ DS_SPN_DELETE_SPN_OP = 2
+} DS_SPN_WRITE_OP;
+
+
+#endif /* (_WIN32_WINNT >= 0x0500) */
+
+#ifdef __cplusplus
+}
+#endif
+#endif
diff --git a/winsup/w32api/include/ntdsbcli.h b/winsup/w32api/include/ntdsbcli.h
new file mode 100644
index 000000000..3508fef5b
--- /dev/null
+++ b/winsup/w32api/include/ntdsbcli.h
@@ -0,0 +1,45 @@
+/*
+ * ntdsbcli.h - Active Directory
+ *
+ * THIS SOFTWARE IS NOT COPYRIGHTED
+ *
+ * This source code is offered for use in the public domain. You may use,
+ * modify or distribute it freely.
+ *
+ * This code is distributed in the hope that it will be useful but
+ * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
+ * DISCLAIMED. This includes but is not limited to warranties of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ */
+#ifndef _NTDSBCLI_H
+#define _NTDSBCLI_H
+#if __GNUC__ >= 3
+#pragma GCC system_header
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*--- Active Directory Reference - Active Directory Structures - Directory Backup Structures */
+#if (_WIN32_WINNT >= 0x0500)
+typedef struct {
+ LPSTR szDatabaseName;
+ LPSTR szNewDatabaseName;
+} EDB_RSTMAPA,*PEDB_RSTMAPA;
+typedef struct {
+ LPWSTR szDatabaseName;
+ LPWSTR szNewDatabaseName;
+} EDB_RSTMAPW,*PEDB_RSTMAPW;
+#ifdef UNICODE
+typedef EDB_RSTMAPW EDB_RSTMAP,*PEDB_RSTMAP;
+#else
+typedef EDB_RSTMAPA EDB_RSTMAP,*PEDB_RSTMAP;
+#endif
+#endif /* (_WIN32_WINNT >= 0x0500) */
+
+#ifdef __cplusplus
+}
+#endif
+#endif
diff --git a/winsup/w32api/include/objsel.h b/winsup/w32api/include/objsel.h
new file mode 100644
index 000000000..c298a55a2
--- /dev/null
+++ b/winsup/w32api/include/objsel.h
@@ -0,0 +1,118 @@
+/*
+ * objsel.h - Active Directory
+ *
+ * THIS SOFTWARE IS NOT COPYRIGHTED
+ *
+ * This source code is offered for use in the public domain. You may use,
+ * modify or distribute it freely.
+ *
+ * This code is distributed in the hope that it will be useful but
+ * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
+ * DISCLAIMED. This includes but is not limited to warranties of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ */
+#ifndef _OBJSEL_H
+#define _OBJSEL_H
+#if __GNUC__ >= 3
+#pragma GCC system_header
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*--- Active Directory Reference - Active Directory Structures - Object Picker Dialog Box Structures */
+#if (_WIN32_WINNT >= 0x0500)
+typedef struct _DS_SELECTION {
+ PWSTR pwzName;
+ PWSTR pwzADsPath;
+ PWSTR pwzClass;
+ PWSTR pwzUPN;
+ VARIANT *pvarFetchedAttributes;
+ ULONG flScopeType;
+} DS_SELECTION,*PDS_SELECTION;
+typedef struct _DS_SELECTION_LIST {
+ ULONG cItems;
+ ULONG cFetchedAttributes;
+ DS_SELECTION aDsSelection[ANYSIZE_ARRAY];
+} DS_SELECTION_LIST,*PDS_SELECTION_LIST;
+
+typedef struct _DSOP_UPLEVEL_FILTER_FLAGS {
+ ULONG flBothModes;
+ ULONG flMixedModeOnly;
+ ULONG flNativeModeOnly;
+} DSOP_UPLEVEL_FILTER_FLAGS;
+#define DSOP_FILTER_INCLUDE_ADVANCED_VIEW 0x00000001
+#define DSOP_FILTER_USERS 0x00000002
+#define DSOP_FILTER_BUILTIN_GROUPS 0x00000004
+#define DSOP_FILTER_WELL_KNOWN_PRINCIPALS 0x00000008
+#define DSOP_FILTER_UNIVERSAL_GROUPS_DL 0x00000010
+#define DSOP_FILTER_UNIVERSAL_GROUPS_SE 0x00000020
+#define DSOP_FILTER_GLOBAL_GROUPS_DL 0x00000040
+#define DSOP_FILTER_GLOBAL_GROUPS_SE 0x00000080
+#define DSOP_FILTER_DOMAIN_LOCAL_GROUPS_DL 0x00000100
+#define DSOP_FILTER_DOMAIN_LOCAL_GROUPS_SE 0x00000200
+#define DSOP_FILTER_CONTACTS 0x00000400
+#define DSOP_FILTER_COMPUTERS 0x00000800
+typedef struct _DSOP_FILTER_FLAGS {
+ DSOP_UPLEVEL_FILTER_FLAGS Uplevel;
+ ULONG flDownlevel;
+} DSOP_FILTER_FLAGS;
+#define DSOP_DOWNLEVEL_FILTER_USERS 0x80000001
+#define DSOP_DOWNLEVEL_FILTER_LOCAL_GROUPS 0x80000002
+#define DSOP_DOWNLEVEL_FILTER_GLOBAL_GROUPS 0x80000004
+#define DSOP_DOWNLEVEL_FILTER_COMPUTERS 0x80000008
+#define DSOP_DOWNLEVEL_FILTER_WORLD 0x80000010
+#define DSOP_DOWNLEVEL_FILTER_AUTHENTICATED_USER 0x80000020
+#define DSOP_DOWNLEVEL_FILTER_ANONYMOUS 0x80000040
+#define DSOP_DOWNLEVEL_FILTER_BATCH 0x80000080
+#define DSOP_DOWNLEVEL_FILTER_CREATOR_OWNER 0x80000100
+#define DSOP_DOWNLEVEL_FILTER_CREATOR_GROUP 0x80000200
+#define DSOP_DOWNLEVEL_FILTER_DIALUP 0x80000400
+#define DSOP_DOWNLEVEL_FILTER_INTERACTIVE 0x80000800
+#define DSOP_DOWNLEVEL_FILTER_NETWORK 0x80001000
+#define DSOP_DOWNLEVEL_FILTER_SERVICE 0x80002000
+#define DSOP_DOWNLEVEL_FILTER_SYSTEM 0x80004000
+#define DSOP_DOWNLEVEL_FILTER_EXCLUDE_BUILTIN_GROUPS 0x80008000
+#define DSOP_DOWNLEVEL_FILTER_TERMINAL_SERVER 0x80010000
+#define DSOP_DOWNLEVEL_FILTER_ALL_WELLKNOWN_SIDS 0x80020000
+#define DSOP_DOWNLEVEL_FILTER_LOCAL_SERVICE 0x80040000
+#define DSOP_DOWNLEVEL_FILTER_NETWORK_SERVICE 0x80080000
+#define DSOP_DOWNLEVEL_FILTER_REMOTE_LOGON 0x80100000
+typedef struct _DSOP_SCOPE_INIT_INFO {
+ ULONG cbSize;
+ ULONG flType;
+ ULONG flScope;
+ DSOP_FILTER_FLAGS FilterFlags;
+ PCWSTR pwzDcName;
+ PCWSTR pwzADsPath;
+ HRESULT hr;
+} DSOP_SCOPE_INIT_INFO,*PDSOP_SCOPE_INIT_INFO,*PCDSOP_SCOPE_INIT_INFO;
+#define DSOP_SCOPE_TYPE_TARGET_COMPUTER 0x00000001
+#define DSOP_SCOPE_TYPE_UPLEVEL_JOINED_DOMAIN 0x00000002
+#define DSOP_SCOPE_TYPE_DOWNLEVEL_JOINED_DOMAIN 0x00000004
+#define DSOP_SCOPE_TYPE_ENTERPRISE_DOMAIN 0x00000008
+#define DSOP_SCOPE_TYPE_GLOBAL_CATALOG 0x00000010
+#define DSOP_SCOPE_TYPE_EXTERNAL_UPLEVEL_DOMAIN 0x00000020
+#define DSOP_SCOPE_TYPE_EXTERNAL_DOWNLEVEL_DOMAIN 0x00000040
+#define DSOP_SCOPE_TYPE_WORKGROUP 0x00000080
+#define DSOP_SCOPE_TYPE_USER_ENTERED_UPLEVEL_SCOPE 0x00000100
+#define DSOP_SCOPE_TYPE_USER_ENTERED_DOWNLEVEL_SCOPE 0x00000200
+typedef struct _DSOP_INIT_INFO {
+ ULONG cbSize;
+ PCWSTR pwzTargetComputer;
+ ULONG cDsScopeInfos;
+ PDSOP_SCOPE_INIT_INFO aDsScopeInfos;
+ ULONG flOptions;
+ ULONG cAttributesToFetch;
+ PCWSTR* apwzAttributeNames;
+} DSOP_INIT_INFO,*PDSOP_INIT_INFO;
+#define DSOP_FLAG_MULTISELECT 0x00000001
+#define DSOP_FLAG_SKIP_TARGET_COMPUTER_DC_CHECK 0x00000002
+#endif /* (_WIN32_WINNT >= 0x0500) */
+
+#ifdef __cplusplus
+}
+#endif
+#endif
diff --git a/winsup/w32api/include/strmif.h b/winsup/w32api/include/strmif.h
index a697450bf..da1460e69 100644
--- a/winsup/w32api/include/strmif.h
+++ b/winsup/w32api/include/strmif.h
@@ -1067,6 +1067,91 @@ typedef struct _VMRVIDEOSTREAMINFO {
NORMALIZEDRECT rNormal;
} VMRVIDEOSTREAMINFO;
**********/
+/*--- DirectShow Reference - Interfaces */
+#define INTERFACE IAMAnalogVideoDecoder
+DECLARE_INTERFACE_(IAMAnalogVideoDecoder, IUnknown)
+{
+ STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+ STDMETHOD_(ULONG,Release)(THIS) PURE;
+ STDMETHOD_(HRESULT,get_AvailableTVFormats)(THIS_ long*) PURE;
+ STDMETHOD_(HRESULT,get_HorizontalLocked)(THIS_ long*) PURE;
+ STDMETHOD_(HRESULT,get_NumberOfLines)(THIS_ long*) PURE;
+ STDMETHOD_(HRESULT,get_OutputEnable)(THIS_ long*) PURE;
+ STDMETHOD_(HRESULT,get_TVFormat)(THIS_ long*) PURE;
+ STDMETHOD_(HRESULT,get_VCRHorizontalLocking)(THIS_ long*) PURE;
+ STDMETHOD_(HRESULT,put_OutputEnable)(THIS_ long) PURE;
+ STDMETHOD_(HRESULT,put_TVFormat)(THIS_ long) PURE;
+ STDMETHOD_(HRESULT,put_VCRHorizontalLocking)(THIS_ long) PURE;
+};
+#undef INTERFACE
+#define INTERFACE IAMAudioInputMixer
+DECLARE_INTERFACE_(IAMAudioInputMixer, IUnknown)
+{
+ STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+ STDMETHOD_(ULONG,Release)(THIS) PURE;
+ STDMETHOD_(HRESULT,get_Bass)(THIS_ double*) PURE;
+ STDMETHOD_(HRESULT,get_BassRange)(THIS_ double*) PURE;
+ STDMETHOD_(HRESULT,get_Enable)(THIS_ BOOL*) PURE;
+ STDMETHOD_(HRESULT,get_Loudness)(THIS_ BOOL*) PURE;
+ STDMETHOD_(HRESULT,get_MixLevel)(THIS_ double*) PURE;
+ STDMETHOD_(HRESULT,get_Mono)(THIS_ BOOL*) PURE;
+ STDMETHOD_(HRESULT,get_Pan)(THIS_ double*) PURE;
+ STDMETHOD_(HRESULT,get_Treble)(THIS_ double*) PURE;
+ STDMETHOD_(HRESULT,get_TrebleRange)(THIS_ double*) PURE;
+ STDMETHOD_(HRESULT,put_Bass)(THIS_ double) PURE;
+ STDMETHOD_(HRESULT,put_Enable)(THIS_ BOOL) PURE;
+ STDMETHOD_(HRESULT,put_Loudness)(THIS_ BOOL) PURE;
+ STDMETHOD_(HRESULT,put_MixLevel)(THIS_ double) PURE;
+ STDMETHOD_(HRESULT,put_Mono)(THIS_ BOOL) PURE;
+ STDMETHOD_(HRESULT,put_Pan)(THIS_ double) PURE;
+ STDMETHOD_(HRESULT,put_Treble)(THIS_ double) PURE;
+};
+#undef INTERFACE
+#define INTERFACE IAMAudioRendererStats
+DECLARE_INTERFACE_(IAMAudioRendererStats, IUnknown)
+{
+ STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+ STDMETHOD_(ULONG,Release)(THIS) PURE;
+ STDMETHOD_(HRESULT,GetStatParam)(THIS_ DWORD,DWORD*,DWORD*) PURE;
+};
+#undef INTERFACE
+#define INTERFACE IAMBufferNegotiation
+DECLARE_INTERFACE_(IAMBufferNegotiation, IUnknown)
+{
+ STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+ STDMETHOD_(ULONG,Release)(THIS) PURE;
+ STDMETHOD_(HRESULT,GetAllocatorProperties)(THIS_ ALLOCATOR_PROPERTIES*) PURE;
+ STDMETHOD_(HRESULT,SuggestAllocatorProperties)(THIS_ const ALLOCATOR_PROPERTIES*) PURE;
+};
+#undef INTERFACE
+#define INTERFACE IAMCameraControl
+DECLARE_INTERFACE_(IAMCameraControl, IUnknown)
+{
+ STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+ STDMETHOD_(ULONG,Release)(THIS) PURE;
+ STDMETHOD_(HRESULT,Get)(THIS_ long,long*,long*) PURE;
+ STDMETHOD_(HRESULT,GetRange)(THIS_ long,long*,long*,long*,long*,long*) PURE;
+ STDMETHOD_(HRESULT,Set)(THIS_ long,long,long) PURE;
+};
+#undef INTERFACE
+
+#define INTERFACE IAMCertifiedOutputProtection
+DECLARE_INTERFACE_(IAMCertifiedOutputProtection, IUnknown)
+{
+ STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+ STDMETHOD_(ULONG,Release)(THIS) PURE;
+ STDMETHOD_(HRESULT,KeyExchange)(THIS_ GUID*,BYTE**,DWORD*) PURE;
+ STDMETHOD_(HRESULT,ProtectionCommand)(THIS_ const AMCOPPCommand*) PURE;
+ STDMETHOD_(HRESULT,ProtectionStatus)(THIS_ const AMCOPPStatusInput*,AMCOPPStatusOutput*) PURE;
+ STDMETHOD_(HRESULT,SessionSequenceStart)(THIS_ const AMCOPPSignature*) PURE;
+};
+#undef INTERFACE
#ifdef __cplusplus
}