2006-09-18 23:02:06 +04:00
/*
plug and play services
*/
2008-09-17 17:43:04 +04:00
2008-11-11 02:59:35 +03:00
import "winreg.idl";
2006-09-18 23:02:06 +04:00
[
uuid("8d9f4e40-a03d-11ce-8f69-08003e30051b"),
version(1.0),
2008-11-12 11:21:53 +03:00
endpoint("ncacn_np:[\\pipe\\ntsvcs]","ncacn_np:[\\pipe\\plugplay]"),
2006-09-18 23:02:06 +04:00
helpstring("Plug and Play services")
]
interface ntsvcs
{
2008-02-18 01:13:38 +03:00
/******************/
/* Function: 0x00 */
2008-10-15 17:17:41 +04:00
[todo] WERROR PNP_Disconnect();
2008-02-18 01:13:38 +03:00
/******************/
/* Function: 0x01 */
2008-10-15 17:17:41 +04:00
[todo] WERROR PNP_Connect();
2008-02-18 01:13:38 +03:00
/******************/
/* Function: 0x02 */
2008-02-18 01:14:47 +03:00
WERROR PNP_GetVersion(
[out,ref] uint16 *version
);
2008-02-18 01:13:38 +03:00
/******************/
/* Function: 0x03 */
2008-10-15 17:17:41 +04:00
[todo] WERROR PNP_GetGlobalState();
2008-02-18 01:13:38 +03:00
/******************/
/* Function: 0x04 */
2008-10-15 17:17:41 +04:00
[todo] WERROR PNP_InitDetection();
2008-02-18 01:13:38 +03:00
/******************/
/* Function: 0x05 */
2008-10-15 17:17:41 +04:00
[todo] WERROR PNP_ReportLogOn();
2008-02-18 01:13:38 +03:00
/******************/
/* Function: 0x06 */
2008-02-18 01:40:14 +03:00
WERROR PNP_ValidateDeviceInstance(
[in,ref] [string,charset(UTF16)] uint16 *devicepath,
[in] uint32 flags
);
2008-02-18 01:13:38 +03:00
/******************/
/* Function: 0x07 */
2008-10-15 17:17:41 +04:00
[todo] WERROR PNP_GetRootDeviceInstance();
2008-02-18 01:13:38 +03:00
/******************/
/* Function: 0x08 */
2008-10-15 17:17:41 +04:00
[todo] WERROR PNP_GetRelatedDeviceInstance();
2008-02-18 01:13:38 +03:00
/******************/
/* Function: 0x09 */
2008-10-15 17:17:41 +04:00
[todo] WERROR PNP_EnumerateSubKeys();
2008-02-18 01:13:38 +03:00
/******************/
/* Function: 0x0a */
2009-04-09 19:53:36 +04:00
const int CM_GETIDLIST_FILTER_NONE = 0x00000000;
typedef [bitmap32bit] bitmap {
CM_GETIDLIST_FILTER_ENUMERATOR = 0x00000001,
CM_GETIDLIST_FILTER_SERVICE = 0x00000002,
CM_GETIDLIST_FILTER_EJECTRELATIONS = 0x00000004,
CM_GETIDLIST_FILTER_REMOVALRELATIONS = 0x00000008,
CM_GETIDLIST_FILTER_POWERRELATIONS = 0x00000010,
CM_GETIDLIST_FILTER_BUSRELATIONS = 0x00000020,
CM_GETIDLIST_DONOTGENERATE = 0x10000040,
CM_GETIDLIST_FILTER_TRANSPORTRELATIONS = 0x00000080,
CM_GETIDLIST_FILTER_PRESENT = 0x00000100,
CM_GETIDLIST_FILTER_CLASS = 0x00000200
} PNP_GetIdListFlags;
2008-11-14 11:48:56 +03:00
WERROR PNP_GetDeviceList(
2008-10-19 02:21:24 +04:00
[in,unique] [string,charset(UTF16)] uint16 *filter,
[out,ref] [size_is(*length),length_is(*length)] uint16 *buffer,
[in,out,ref] uint32 *length,
2009-04-09 19:53:36 +04:00
[in] PNP_GetIdListFlags flags
2008-10-19 02:21:24 +04:00
);
2008-02-18 01:13:38 +03:00
/******************/
/* Function: 0x0b */
2008-02-18 02:22:45 +03:00
WERROR PNP_GetDeviceListSize(
[in,unique] [string,charset(UTF16)] uint16 *devicename,
[out,ref] uint32 *size,
2009-04-09 19:53:36 +04:00
[in] PNP_GetIdListFlags flags
2008-02-18 02:22:45 +03:00
);
2008-02-18 01:13:38 +03:00
/******************/
/* Function: 0x0c */
2008-10-15 17:17:41 +04:00
[todo] WERROR PNP_GetDepth();
2008-02-18 01:13:38 +03:00
/******************/
/* Function: 0x0d */
2008-02-18 04:37:26 +03:00
const int DEV_REGPROP_DESC = 1;
WERROR PNP_GetDeviceRegProp(
[in,ref] [string,charset(UTF16)] uint16 *devicepath,
[in] uint32 property,
2008-11-11 02:59:35 +03:00
[in,out,ref] winreg_Type *reg_data_type,
2008-02-18 04:37:26 +03:00
[out,ref] [size_is(*buffer_size)] [length_is(*buffer_size)] uint8 *buffer,
[in,out,ref] uint32 *buffer_size,
[in,out,ref] uint32 *needed,
2008-10-19 02:21:24 +04:00
[in] uint32 flags
2008-02-18 04:37:26 +03:00
);
2008-02-18 01:13:38 +03:00
/******************/
/* Function: 0x0e */
2008-10-15 17:17:41 +04:00
[todo] WERROR PNP_SetDeviceRegProp();
2008-02-18 01:13:38 +03:00
/******************/
/* Function: 0x0f */
2008-10-15 17:17:41 +04:00
[todo] WERROR PNP_GetClassInstance();
2008-02-18 01:13:38 +03:00
/******************/
/* Function: 0x10 */
2008-10-15 17:17:41 +04:00
[todo] WERROR PNP_CreateKey();
2008-02-18 01:13:38 +03:00
/******************/
/* Function: 0x11 */
2008-10-15 17:17:41 +04:00
[todo] WERROR PNP_DeleteRegistryKey();
2008-02-18 01:13:38 +03:00
/******************/
/* Function: 0x12 */
2008-10-15 17:17:41 +04:00
[todo] WERROR PNP_GetClassCount();
2008-02-18 01:13:38 +03:00
/******************/
/* Function: 0x13 */
2008-10-15 17:17:41 +04:00
[todo] WERROR PNP_GetClassName();
2008-02-18 01:13:38 +03:00
/******************/
/* Function: 0x14 */
2008-10-15 17:17:41 +04:00
[todo] WERROR PNP_DeleteClassKey();
2008-02-18 01:13:38 +03:00
/******************/
/* Function: 0x15 */
2008-10-15 17:17:41 +04:00
[todo] WERROR PNP_GetInterfaceDeviceAlias();
2008-02-18 01:13:38 +03:00
/******************/
/* Function: 0x16 */
2008-10-15 17:17:41 +04:00
[todo] WERROR PNP_GetInterfaceDeviceList();
2008-02-18 01:13:38 +03:00
/******************/
/* Function: 0x17 */
2008-10-15 17:17:41 +04:00
[todo] WERROR PNP_GetInterfaceDeviceListSize();
2008-02-18 01:13:38 +03:00
/******************/
/* Function: 0x18 */
2008-10-15 17:17:41 +04:00
[todo] WERROR PNP_RegisterDeviceClassAssociation();
2008-02-18 01:13:38 +03:00
/******************/
/* Function: 0x19 */
2008-10-15 17:17:41 +04:00
[todo] WERROR PNP_UnregisterDeviceClassAssociation();
2008-02-18 01:13:38 +03:00
/******************/
/* Function: 0x1a */
2008-10-15 17:17:41 +04:00
[todo] WERROR PNP_GetClassRegProp();
2008-02-18 01:13:38 +03:00
/******************/
/* Function: 0x1b */
2008-10-15 17:17:41 +04:00
[todo] WERROR PNP_SetClassRegProp();
2008-02-18 01:13:38 +03:00
/******************/
/* Function: 0x1c */
2008-10-15 17:17:41 +04:00
[todo] WERROR PNP_CreateDevInst();
2008-02-18 01:13:38 +03:00
/******************/
/* Function: 0x1d */
2008-10-15 17:17:41 +04:00
[todo] WERROR PNP_DeviceInstanceAction();
2008-02-18 01:13:38 +03:00
/******************/
/* Function: 0x1e */
2008-10-15 17:17:41 +04:00
[todo] WERROR PNP_GetDeviceStatus();
2008-02-18 01:13:38 +03:00
/******************/
/* Function: 0x1f */
2008-10-15 17:17:41 +04:00
[todo] WERROR PNP_SetDeviceProblem();
2008-02-18 01:13:38 +03:00
/******************/
/* Function: 0x20 */
2008-10-15 17:17:41 +04:00
[todo] WERROR PNP_DisableDevInst();
2008-02-18 01:13:38 +03:00
/******************/
/* Function: 0x21 */
2008-10-15 17:17:41 +04:00
[todo] WERROR PNP_UninstallDevInst();
2008-02-18 01:13:38 +03:00
/******************/
/* Function: 0x22 */
2008-10-15 17:17:41 +04:00
[todo] WERROR PNP_AddID();
2008-02-18 01:13:38 +03:00
/******************/
/* Function: 0x23 */
2008-10-15 17:17:41 +04:00
[todo] WERROR PNP_RegisterDriver();
2008-02-18 01:13:38 +03:00
/******************/
/* Function: 0x24 */
2008-10-15 17:17:41 +04:00
[todo] WERROR PNP_QueryRemove();
2008-02-18 01:13:38 +03:00
/******************/
/* Function: 0x25 */
2008-10-15 17:17:41 +04:00
[todo] WERROR PNP_RequestDeviceEject();
2008-02-18 01:13:38 +03:00
/******************/
/* Function: 0x26 */
2008-10-15 17:17:41 +04:00
[todo] WERROR PNP_IsDockStationPresent();
2008-02-18 01:13:38 +03:00
/******************/
/* Function: 0x27 */
2008-10-15 17:17:41 +04:00
[todo] WERROR PNP_RequestEjectPC();
2008-02-18 01:13:38 +03:00
/******************/
/* Function: 0x28 */
2008-02-18 03:06:08 +03:00
WERROR PNP_HwProfFlags(
2008-11-11 03:31:01 +03:00
[in] uint32 action,
2008-02-18 03:06:08 +03:00
[in,ref] [string,charset(UTF16)] uint16 *devicepath,
2008-11-11 03:31:01 +03:00
[in] uint32 config,
[in,out,ref] uint32 *profile_flags,
[in,out,unique] uint16 *veto_type,
2008-02-18 03:06:08 +03:00
[in,unique] [string,charset(UTF16)] uint16 *unknown5,
[out,unique] [string,charset(UTF16)] uint16 **unknown5a,
2008-11-11 03:31:01 +03:00
[in] uint32 name_length,
[in] uint32 flags
2008-02-18 03:06:08 +03:00
);
2008-02-18 01:13:38 +03:00
/******************/
/* Function: 0x29 */
2008-02-18 03:29:13 +03:00
typedef struct {
2008-11-11 03:31:48 +03:00
uint32 profile_handle;
uint16 friendly_name[80];
uint32 flags;
2008-02-18 03:29:13 +03:00
} PNP_HwProfInfo;
WERROR PNP_GetHwProfInfo(
[in] uint32 idx,
[in,out,ref] PNP_HwProfInfo *info,
2008-11-11 03:31:48 +03:00
[in] uint32 size,
[in] uint32 flags
2008-02-18 03:29:13 +03:00
);
2008-02-18 01:13:38 +03:00
/******************/
/* Function: 0x2a */
2008-10-15 17:17:41 +04:00
[todo] WERROR PNP_AddEmptyLogConf();
2008-02-18 01:13:38 +03:00
/******************/
/* Function: 0x2b */
2008-10-15 17:17:41 +04:00
[todo] WERROR PNP_FreeLogConf();
2008-02-18 01:13:38 +03:00
/******************/
/* Function: 0x2c */
2008-10-15 17:17:41 +04:00
[todo] WERROR PNP_GetFirstLogConf();
2008-02-18 01:13:38 +03:00
/******************/
/* Function: 0x2d */
2008-10-15 17:17:41 +04:00
[todo] WERROR PNP_GetNextLogConf();
2008-02-18 01:13:38 +03:00
/******************/
/* Function: 0x2e */
2008-10-15 17:17:41 +04:00
[todo] WERROR PNP_GetLogConfPriority();
2008-02-18 01:13:38 +03:00
/******************/
/* Function: 0x2f */
2008-10-15 17:17:41 +04:00
[todo] WERROR PNP_AddResDes();
2008-02-18 01:13:38 +03:00
/******************/
/* Function: 0x30 */
2008-10-15 17:17:41 +04:00
[todo] WERROR PNP_FreeResDes();
2008-02-18 01:13:38 +03:00
/******************/
/* Function: 0x31 */
2008-10-15 17:17:41 +04:00
[todo] WERROR PNP_GetNextResDes();
2008-02-18 01:13:38 +03:00
/******************/
/* Function: 0x32 */
2008-10-15 17:17:41 +04:00
[todo] WERROR PNP_GetResDesData();
2008-02-18 01:13:38 +03:00
/******************/
/* Function: 0x33 */
2008-10-15 17:17:41 +04:00
[todo] WERROR PNP_GetResDesDataSize();
2008-02-18 01:13:38 +03:00
/******************/
/* Function: 0x34 */
2008-10-15 17:17:41 +04:00
[todo] WERROR PNP_ModifyResDes();
2008-02-18 01:13:38 +03:00
/******************/
/* Function: 0x35 */
2008-10-15 17:17:41 +04:00
[todo] WERROR PNP_DetectResourceLimit();
2008-02-18 01:13:38 +03:00
/******************/
/* Function: 0x36 */
2008-10-15 17:17:41 +04:00
[todo] WERROR PNP_QueryResConfList();
2008-02-18 01:13:38 +03:00
/******************/
/* Function: 0x37 */
2008-10-15 17:17:41 +04:00
[todo] WERROR PNP_SetHwProf();
2008-02-18 01:13:38 +03:00
/******************/
/* Function: 0x38 */
2008-10-15 17:17:41 +04:00
[todo] WERROR PNP_QueryArbitratorFreeData();
2008-02-18 01:13:38 +03:00
/******************/
/* Function: 0x39 */
2008-10-15 17:17:41 +04:00
[todo] WERROR PNP_QueryArbitratorFreeSize();
2008-02-18 01:13:38 +03:00
/******************/
/* Function: 0x3a */
2008-10-15 17:17:41 +04:00
[todo] WERROR PNP_RunDetection();
2008-02-18 01:13:38 +03:00
/******************/
/* Function: 0x3b */
2008-10-15 17:17:41 +04:00
[todo] WERROR PNP_RegisterNotification();
2008-02-18 01:13:38 +03:00
/******************/
/* Function: 0x3c */
2008-10-15 17:17:41 +04:00
[todo] WERROR PNP_UnregisterNotification();
2008-02-18 01:13:38 +03:00
/******************/
/* Function: 0x3d */
2008-10-15 17:17:41 +04:00
[todo] WERROR PNP_GetCustomDevProp();
2008-02-18 01:13:38 +03:00
/******************/
/* Function: 0x3e */
2008-10-15 17:17:41 +04:00
[todo] WERROR PNP_GetVersionInternal();
2008-02-18 01:13:38 +03:00
/******************/
/* Function: 0x3f */
2008-10-15 17:17:41 +04:00
[todo] WERROR PNP_GetBlockedDriverInfo();
2008-02-18 01:13:38 +03:00
/******************/
/* Function: 0x40 */
2008-10-15 17:17:41 +04:00
[todo] WERROR PNP_GetServerSideDeviceInstallFlags();
2006-09-18 23:02:06 +04:00
}