/* plug and play services */ [ uuid("8d9f4e40-a03d-11ce-8f69-08003e30051b"), version(1.0), helpstring("Plug and Play services") ] interface ntsvcs { [todo] void PNP_Disconnect(); [todo] void PNP_Connect(); [todo] void PNP_GetVersion(); [todo] void PNP_GetGlobalState(); [todo] void PNP_InitDetection(); [todo] void PNP_ReportLogOn(); [todo] void PNP_ValidateDeviceInstance(); [todo] void PNP_GetRootDeviceInstance(); [todo] void PNP_GetRelatedDeviceInstance(); [todo] void PNP_EnumerateSubKeys(); [todo] void PNP_GetDeviceList(); /******************/ /* Function: 0x0b */ WERROR PNP_GetDeviceListSize( [in,unique] [string,charset(UTF16)] uint16 *devicename, [out,ref] uint32 *size, [in] uint32 flags ); [todo] void 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] uint32 *unknown1, [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 unknown3 ); [todo] void PNP_SetDeviceRegProp(); [todo] void PNP_GetClassInstance(); [todo] void PNP_CreateKey(); [todo] void PNP_DeleteRegistryKey(); [todo] void PNP_GetClassCount(); [todo] void PNP_GetClassName(); [todo] void PNP_DeleteClassKey(); [todo] void PNP_GetInterfaceDeviceAlias(); [todo] void PNP_GetInterfaceDeviceList(); [todo] void PNP_GetInterfaceDeviceListSize(); [todo] void PNP_RegisterDeviceClassAssociation(); [todo] void PNP_UnregisterDeviceClassAssociation(); [todo] void PNP_GetClassRegProp(); [todo] void PNP_SetClassRegProp(); [todo] void PNP_CreateDevInst(); [todo] void PNP_DeviceInstanceAction(); [todo] void PNP_GetDeviceStatus(); [todo] void PNP_SetDeviceProblem(); [todo] void PNP_DisableDevInst(); [todo] void PNP_UninstallDevInst(); [todo] void PNP_AddID(); [todo] void PNP_RegisterDriver(); [todo] void PNP_QueryRemove(); [todo] void PNP_RequestDeviceEject(); [todo] void PNP_IsDockStationPresent(); [todo] void PNP_RequestEjectPC(); /******************/ /* Function: 0x28 */ WERROR PNP_HwProfFlags( [in] uint32 unknown1, [in,ref] [string,charset(UTF16)] uint16 *devicepath, [in] uint32 unknown2, [in,out,ref] uint32 *unknown3, [in,out,unique] uint16 *unknown4, [in,unique] [string,charset(UTF16)] uint16 *unknown5, [out,unique] [string,charset(UTF16)] uint16 **unknown5a, [in] uint32 unknown6, [in] uint32 unknown7 ); /******************/ /* Function: 0x29 */ typedef struct { uint32 unknown1; uint16 unknown2[160]; uint32 unknown3; } PNP_HwProfInfo; WERROR PNP_GetHwProfInfo( [in] uint32 idx, [in,out,ref] PNP_HwProfInfo *info, [in] uint32 unknown1, [in] uint32 unknown2 ); [todo] void PNP_AddEmptyLogConf(); [todo] void PNP_FreeLogConf(); [todo] void PNP_GetFirstLogConf(); [todo] void PNP_GetNextLogConf(); [todo] void PNP_GetLogConfPriority(); [todo] void PNP_AddResDes(); [todo] void PNP_FreeResDes(); [todo] void PNP_GetNextResDes(); [todo] void PNP_GetResDesData(); [todo] void PNP_GetResDesDataSize(); [todo] void PNP_ModifyResDes(); [todo] void PNP_DetectResourceLimit(); [todo] void PNP_QueryResConfList(); [todo] void PNP_SetHwProf(); [todo] void PNP_QueryArbitratorFreeData(); [todo] void PNP_QueryArbitratorFreeSize(); [todo] void PNP_RunDetection(); [todo] void PNP_RegisterNotification(); [todo] void PNP_UnregisterNotification(); [todo] void PNP_GetCustomDevProp(); [todo] void PNP_GetVersionInternal(); [todo] void PNP_GetBlockedDriverInfo(); [todo] void PNP_GetServerSideDeviceInstallFlags(); }