mirror of
https://github.com/samba-team/samba.git
synced 2024-12-23 17:34:34 +03:00
7065b2b2ad
Guenther
400 lines
7.4 KiB
Plaintext
400 lines
7.4 KiB
Plaintext
/*
|
|
plug and play services
|
|
*/
|
|
|
|
import "winreg.idl";
|
|
|
|
[
|
|
uuid("8d9f4e40-a03d-11ce-8f69-08003e30051b"),
|
|
version(1.0),
|
|
endpoint("ncacn_np:[\\pipe\\ntsvcs]","ncacn_np:[\\pipe\\plugplay]"),
|
|
helpstring("Plug and Play services")
|
|
]
|
|
interface ntsvcs
|
|
{
|
|
/******************/
|
|
/* Function: 0x00 */
|
|
|
|
[todo] WERROR PNP_Disconnect();
|
|
|
|
/******************/
|
|
/* Function: 0x01 */
|
|
|
|
[todo] WERROR PNP_Connect();
|
|
|
|
/******************/
|
|
/* Function: 0x02 */
|
|
|
|
WERROR PNP_GetVersion(
|
|
[out,ref] uint16 *version
|
|
);
|
|
|
|
/******************/
|
|
/* Function: 0x03 */
|
|
|
|
[todo] WERROR PNP_GetGlobalState();
|
|
|
|
/******************/
|
|
/* Function: 0x04 */
|
|
|
|
[todo] WERROR PNP_InitDetection();
|
|
|
|
/******************/
|
|
/* Function: 0x05 */
|
|
|
|
[todo] WERROR PNP_ReportLogOn();
|
|
|
|
/******************/
|
|
/* Function: 0x06 */
|
|
|
|
WERROR PNP_ValidateDeviceInstance(
|
|
[in,ref] [string,charset(UTF16)] uint16 *devicepath,
|
|
[in] uint32 flags
|
|
);
|
|
|
|
/******************/
|
|
/* Function: 0x07 */
|
|
|
|
[todo] WERROR PNP_GetRootDeviceInstance();
|
|
|
|
/******************/
|
|
/* Function: 0x08 */
|
|
|
|
[todo] WERROR PNP_GetRelatedDeviceInstance();
|
|
|
|
/******************/
|
|
/* Function: 0x09 */
|
|
|
|
[todo] WERROR PNP_EnumerateSubKeys();
|
|
|
|
/******************/
|
|
/* Function: 0x0a */
|
|
|
|
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;
|
|
|
|
WERROR PNP_GetDeviceList(
|
|
[in,unique] [string,charset(UTF16)] uint16 *filter,
|
|
[out,ref] [size_is(*length),length_is(*length)] uint16 *buffer,
|
|
[in,out,ref] uint32 *length,
|
|
[in] PNP_GetIdListFlags flags
|
|
);
|
|
|
|
/******************/
|
|
/* Function: 0x0b */
|
|
|
|
WERROR PNP_GetDeviceListSize(
|
|
[in,unique] [string,charset(UTF16)] uint16 *devicename,
|
|
[out,ref] uint32 *size,
|
|
[in] PNP_GetIdListFlags flags
|
|
);
|
|
|
|
/******************/
|
|
/* Function: 0x0c */
|
|
|
|
[todo] WERROR PNP_GetDepth();
|
|
|
|
/******************/
|
|
/* Function: 0x0d */
|
|
|
|
const int DEV_REGPROP_DESC = 1;
|
|
|
|
WERROR PNP_GetDeviceRegProp(
|
|
[in,ref] [string,charset(UTF16)] uint16 *devicepath,
|
|
[in] uint32 property,
|
|
[in,out,ref] winreg_Type *reg_data_type,
|
|
[out,ref] [size_is(*buffer_size)] [length_is(*buffer_size)] uint8 *buffer,
|
|
[in,out,ref] uint32 *buffer_size,
|
|
[in,out,ref] uint32 *needed,
|
|
[in] uint32 flags
|
|
);
|
|
|
|
/******************/
|
|
/* Function: 0x0e */
|
|
|
|
[todo] WERROR PNP_SetDeviceRegProp();
|
|
|
|
/******************/
|
|
/* Function: 0x0f */
|
|
|
|
[todo] WERROR PNP_GetClassInstance();
|
|
|
|
/******************/
|
|
/* Function: 0x10 */
|
|
|
|
[todo] WERROR PNP_CreateKey();
|
|
|
|
/******************/
|
|
/* Function: 0x11 */
|
|
|
|
[todo] WERROR PNP_DeleteRegistryKey();
|
|
|
|
/******************/
|
|
/* Function: 0x12 */
|
|
|
|
[todo] WERROR PNP_GetClassCount();
|
|
|
|
/******************/
|
|
/* Function: 0x13 */
|
|
|
|
[todo] WERROR PNP_GetClassName();
|
|
|
|
/******************/
|
|
/* Function: 0x14 */
|
|
|
|
[todo] WERROR PNP_DeleteClassKey();
|
|
|
|
/******************/
|
|
/* Function: 0x15 */
|
|
|
|
[todo] WERROR PNP_GetInterfaceDeviceAlias();
|
|
|
|
/******************/
|
|
/* Function: 0x16 */
|
|
|
|
[todo] WERROR PNP_GetInterfaceDeviceList();
|
|
|
|
/******************/
|
|
/* Function: 0x17 */
|
|
|
|
[todo] WERROR PNP_GetInterfaceDeviceListSize();
|
|
|
|
/******************/
|
|
/* Function: 0x18 */
|
|
|
|
[todo] WERROR PNP_RegisterDeviceClassAssociation();
|
|
|
|
/******************/
|
|
/* Function: 0x19 */
|
|
|
|
[todo] WERROR PNP_UnregisterDeviceClassAssociation();
|
|
|
|
/******************/
|
|
/* Function: 0x1a */
|
|
|
|
[todo] WERROR PNP_GetClassRegProp();
|
|
|
|
/******************/
|
|
/* Function: 0x1b */
|
|
|
|
[todo] WERROR PNP_SetClassRegProp();
|
|
|
|
/******************/
|
|
/* Function: 0x1c */
|
|
|
|
[todo] WERROR PNP_CreateDevInst();
|
|
|
|
/******************/
|
|
/* Function: 0x1d */
|
|
|
|
[todo] WERROR PNP_DeviceInstanceAction();
|
|
|
|
/******************/
|
|
/* Function: 0x1e */
|
|
|
|
[todo] WERROR PNP_GetDeviceStatus();
|
|
|
|
/******************/
|
|
/* Function: 0x1f */
|
|
|
|
[todo] WERROR PNP_SetDeviceProblem();
|
|
|
|
/******************/
|
|
/* Function: 0x20 */
|
|
|
|
[todo] WERROR PNP_DisableDevInst();
|
|
|
|
/******************/
|
|
/* Function: 0x21 */
|
|
|
|
[todo] WERROR PNP_UninstallDevInst();
|
|
|
|
/******************/
|
|
/* Function: 0x22 */
|
|
|
|
[todo] WERROR PNP_AddID();
|
|
|
|
/******************/
|
|
/* Function: 0x23 */
|
|
|
|
[todo] WERROR PNP_RegisterDriver();
|
|
|
|
/******************/
|
|
/* Function: 0x24 */
|
|
|
|
[todo] WERROR PNP_QueryRemove();
|
|
|
|
/******************/
|
|
/* Function: 0x25 */
|
|
|
|
[todo] WERROR PNP_RequestDeviceEject();
|
|
|
|
/******************/
|
|
/* Function: 0x26 */
|
|
|
|
[todo] WERROR PNP_IsDockStationPresent();
|
|
|
|
/******************/
|
|
/* Function: 0x27 */
|
|
|
|
[todo] WERROR PNP_RequestEjectPC();
|
|
|
|
/******************/
|
|
/* Function: 0x28 */
|
|
|
|
WERROR PNP_HwProfFlags(
|
|
[in] uint32 action,
|
|
[in,ref] [string,charset(UTF16)] uint16 *devicepath,
|
|
[in] uint32 config,
|
|
[in,out,ref] uint32 *profile_flags,
|
|
[in,out,unique] uint16 *veto_type,
|
|
[in,unique] [string,charset(UTF16)] uint16 *unknown5,
|
|
[out,unique] [string,charset(UTF16)] uint16 **unknown5a,
|
|
[in] uint32 name_length,
|
|
[in] uint32 flags
|
|
);
|
|
|
|
/******************/
|
|
/* Function: 0x29 */
|
|
|
|
typedef struct {
|
|
uint32 profile_handle;
|
|
uint16 friendly_name[80];
|
|
uint32 flags;
|
|
} PNP_HwProfInfo;
|
|
|
|
WERROR PNP_GetHwProfInfo(
|
|
[in] uint32 idx,
|
|
[in,out,ref] PNP_HwProfInfo *info,
|
|
[in] uint32 size,
|
|
[in] uint32 flags
|
|
);
|
|
|
|
/******************/
|
|
/* Function: 0x2a */
|
|
|
|
[todo] WERROR PNP_AddEmptyLogConf();
|
|
|
|
/******************/
|
|
/* Function: 0x2b */
|
|
|
|
[todo] WERROR PNP_FreeLogConf();
|
|
|
|
/******************/
|
|
/* Function: 0x2c */
|
|
|
|
[todo] WERROR PNP_GetFirstLogConf();
|
|
|
|
/******************/
|
|
/* Function: 0x2d */
|
|
|
|
[todo] WERROR PNP_GetNextLogConf();
|
|
|
|
/******************/
|
|
/* Function: 0x2e */
|
|
|
|
[todo] WERROR PNP_GetLogConfPriority();
|
|
|
|
/******************/
|
|
/* Function: 0x2f */
|
|
|
|
[todo] WERROR PNP_AddResDes();
|
|
|
|
/******************/
|
|
/* Function: 0x30 */
|
|
|
|
[todo] WERROR PNP_FreeResDes();
|
|
|
|
/******************/
|
|
/* Function: 0x31 */
|
|
|
|
[todo] WERROR PNP_GetNextResDes();
|
|
|
|
/******************/
|
|
/* Function: 0x32 */
|
|
|
|
[todo] WERROR PNP_GetResDesData();
|
|
|
|
/******************/
|
|
/* Function: 0x33 */
|
|
|
|
[todo] WERROR PNP_GetResDesDataSize();
|
|
|
|
/******************/
|
|
/* Function: 0x34 */
|
|
|
|
[todo] WERROR PNP_ModifyResDes();
|
|
|
|
/******************/
|
|
/* Function: 0x35 */
|
|
|
|
[todo] WERROR PNP_DetectResourceLimit();
|
|
|
|
/******************/
|
|
/* Function: 0x36 */
|
|
|
|
[todo] WERROR PNP_QueryResConfList();
|
|
|
|
/******************/
|
|
/* Function: 0x37 */
|
|
|
|
[todo] WERROR PNP_SetHwProf();
|
|
|
|
/******************/
|
|
/* Function: 0x38 */
|
|
|
|
[todo] WERROR PNP_QueryArbitratorFreeData();
|
|
|
|
/******************/
|
|
/* Function: 0x39 */
|
|
|
|
[todo] WERROR PNP_QueryArbitratorFreeSize();
|
|
|
|
/******************/
|
|
/* Function: 0x3a */
|
|
|
|
[todo] WERROR PNP_RunDetection();
|
|
|
|
/******************/
|
|
/* Function: 0x3b */
|
|
|
|
[todo] WERROR PNP_RegisterNotification();
|
|
|
|
/******************/
|
|
/* Function: 0x3c */
|
|
|
|
[todo] WERROR PNP_UnregisterNotification();
|
|
|
|
/******************/
|
|
/* Function: 0x3d */
|
|
|
|
[todo] WERROR PNP_GetCustomDevProp();
|
|
|
|
/******************/
|
|
/* Function: 0x3e */
|
|
|
|
[todo] WERROR PNP_GetVersionInternal();
|
|
|
|
/******************/
|
|
/* Function: 0x3f */
|
|
|
|
[todo] WERROR PNP_GetBlockedDriverInfo();
|
|
|
|
/******************/
|
|
/* Function: 0x40 */
|
|
|
|
[todo] WERROR PNP_GetServerSideDeviceInstallFlags();
|
|
}
|