OSDN Git Service

* include/strmif.h (IAMAnalogVideoDecoder,IAMAudioInputMixer)
authorpapadopo <papadopo>
Thu, 11 May 2006 09:53:34 +0000 (09:53 +0000)
committerpapadopo <papadopo>
Thu, 11 May 2006 09:53:34 +0000 (09:53 +0000)
(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...

12 files changed:
winsup/w32api/ChangeLog
winsup/w32api/include/adsprop.h [new file with mode: 0644]
winsup/w32api/include/cmnquery.h [new file with mode: 0644]
winsup/w32api/include/dsadmin.h [new file with mode: 0644]
winsup/w32api/include/dsclient.h [new file with mode: 0644]
winsup/w32api/include/dsgetdc.h [new file with mode: 0644]
winsup/w32api/include/dsquery.h [new file with mode: 0644]
winsup/w32api/include/dsrole.h [new file with mode: 0644]
winsup/w32api/include/ntdsapi.h [new file with mode: 0644]
winsup/w32api/include/ntdsbcli.h [new file with mode: 0644]
winsup/w32api/include/objsel.h [new file with mode: 0644]
winsup/w32api/include/strmif.h

index 83cda5a..abed26b 100644 (file)
@@ -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 (file)
index 0000000..8036b76
--- /dev/null
@@ -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 (file)
index 0000000..e846a08
--- /dev/null
@@ -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 (file)
index 0000000..e2eb1ce
--- /dev/null
@@ -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 (file)
index 0000000..341ca99
--- /dev/null
@@ -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 (file)
index 0000000..e0f3c3c
--- /dev/null
@@ -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 (file)
index 0000000..0f3f870
--- /dev/null
@@ -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 (file)
index 0000000..6b950f9
--- /dev/null
@@ -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 (file)
index 0000000..2218bee
--- /dev/null
@@ -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 (file)
index 0000000..3508fef
--- /dev/null
@@ -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 (file)
index 0000000..c298a55
--- /dev/null
@@ -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
index a697450..da1460e 100644 (file)
@@ -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
 }