import "oaidl.idl"; import "ocidl.idl"; // DllOffset: 0x1CFE0 // DllPath C:\windows\system32\umpo.dll // ServiceName: Power // ServiceDisplayName: Power [ uuid(6c9b7b96-45a8-4cca-9eb3-e21ccf8b5a89), version(1.1), ] interface intf_6c9b7b96_45a8_4cca_9eb3_e21ccf8b5a89 { typedef struct Struct_6_t { short filler; }Struct_6_t; typedef struct Struct_244_t { short filler; }Struct_244_t; long UmpoRpcGetPowerConfiguration( [out]struct Struct_6_t* arg_1); long UmpoRpcReadFromSystemPowerKey( [in][unique]struct GUID* arg_1, [in][unique]struct GUID* arg_2, [in][unique]struct GUID* arg_3, [in]long arg_4, [in][out][unique]long *arg_5, [in]long arg_6, [in][out][unique][size_is(arg_8)]/*[range(0,0)]*/ char *arg_7, [in]long arg_8, [out]long *arg_9); long UmpoRpcReadFromUserPowerKey( [in][unique]struct GUID* arg_1, [in][unique]struct GUID* arg_2, [in][unique]struct GUID* arg_3, [in]long arg_4, [in]long arg_5, [in][out][unique][size_is(arg_7)]/*[range(0,0)]*/ char *arg_6, [in]long arg_7, [out]long *arg_8); long UmpoRpcReadACValue( [in][unique]struct GUID* arg_1, [in][unique]struct GUID* arg_2, [in][unique]struct GUID* arg_3, [in][out][unique]long *arg_4, [in][out][unique][size_is(arg_6)]/*[range(0,0)]*/ char *arg_5, [in]long arg_6, [out]long *arg_7); long UmpoRpcReadDCValue( [in][unique]struct GUID* arg_1, [in][unique]struct GUID* arg_2, [in][unique]struct GUID* arg_3, [in][out][unique]long *arg_4, [in][out][unique][size_is(arg_6)]/*[range(0,0)]*/ char *arg_5, [in]long arg_6, [out]long *arg_7); long UmpoRpcWriteToSystemPowerKey( [in][unique]struct GUID* arg_1, [in][unique]struct GUID* arg_2, [in][unique]struct GUID* arg_3, [in]long arg_4, [in]long arg_5, [in]long arg_6, [in][size_is(arg_8)]/*[range(0,0)]*/ char *arg_7, [in]long arg_8); long UmpoRpcWriteToUserPowerKey( [in][unique]struct GUID* arg_1, [in][unique]struct GUID* arg_2, [in][unique]struct GUID* arg_3, [in]long arg_4, [in]long arg_5, [in][size_is(arg_7)]/*[range(0,0)]*/ char *arg_6, [in]long arg_7); long UmpoRpcApplyPowerRequestOverride( ); long UmpoRpcApplyPowerSetting( [in][unique]struct GUID* arg_1, [in][unique]struct GUID* arg_2); long UmpoRpcSetActiveScheme( [in][unique]struct GUID* arg_1, [in]long arg_2); long UmpoRpcGetActiveScheme( [out]struct GUID* arg_1); long UmpoRpcSetActiveOverlayScheme( [in][unique]struct GUID* arg_1); long UmpoRpcGetActualOverlayScheme( [out]struct GUID* arg_1); long UmpoRpcGetEffectiveOverlayScheme( [out]struct GUID* arg_1); long UmpoRpcGetOverlaySchemes(); // not accurate long UmpoRpcRestoreDefaultScheme( [in][unique]struct GUID* arg_1); long UmpoRpcRestoreDefaultSchemesAll( ); long UmpoRpcDuplicateScheme( [in]struct GUID* arg_1, [in]struct GUID* arg_2); long UmpoRpcDeleteScheme( [in]struct GUID* arg_1); long UmpoRpcImportScheme( [in][ref][range(0, 32767)][string] wchar_t* arg_1, [in]struct GUID* arg_2); long UmpoRpcReplaceDefaultPowerSchemes( ); long UmpoRpcLegacyEventRegisterNotification( handle_t p0, [in]unsigned __int3264 arg_1, [in][ref][range(0, 256)][string] wchar_t* arg_2, [in]long arg_3); long UmpoRpcEnumerate( [in][unique]struct GUID* arg_1, [in][unique]struct GUID* arg_2, [in]long arg_3, [in]long arg_4, [in][out][unique][size_is(arg_6)]/*[range(0,0)]*/ char *arg_5, [in]long arg_6, [out]long *arg_7); long UmpoRpcReadSecurityDescriptor( [in]long arg_1, [in][unique]struct GUID* arg_2, [in][out][unique][size_is(arg_4)]/*[range(0,0)]*/ char *arg_3, [in]long arg_4, [out]long *arg_5); long UmpoRpcWriteSecurityDescriptor( [in]long arg_1, [in][unique]struct GUID* arg_2, [in][size_is(arg_4)]/*[range(0,0)]*/ char *arg_3, [in]long arg_4); long UmpoRpcSettingAccessCheck( [in]long arg_1, [in][unique]struct GUID* arg_2, [in]long arg_3); long UmpoRpcCreateSetting( [in][unique]struct GUID* arg_1, [in][unique]struct GUID* arg_2); long UmpoRpcCreatePossibleSetting( [in][unique]struct GUID* arg_1, [in][unique]struct GUID* arg_2, [in]long arg_3); long UmpoRpcRemoveSetting( [in][unique]struct GUID* arg_1, [in][unique]struct GUID* arg_2); long UmpoSetExpectedUserAwayIntervals( [in]long arg_1, [in] /* [DBG] FC_BOGUS_ARRAY */[size_is(arg_1)]/*[range(0,0)]*/ /* */ struct Struct_244_t* arg_2, [in]long arg_3, [in]long arg_4); long UmpoClearExpectedUserAwayIntervals( [in]long arg_1); long UmpoGetMinUserAwayPredictionInterval( [out]char *arg_1); long UmpoRpcGetAdaptiveStandbyDiagnostics( [in]long arg_1, [in]long arg_2, [in][out][unique][size_is(arg_4)]/*[range(0,0)]*/ char *arg_3, [in]long arg_4, [out]long *arg_5); }