diff --git a/dlls/ntdll/nt.c b/dlls/ntdll/nt.c index d27dca4be0e..cc13672b2b9 100644 --- a/dlls/ntdll/nt.c +++ b/dlls/ntdll/nt.c @@ -885,71 +885,6 @@ NTSTATUS WINAPI NtDisplayString ( PUNICODE_STRING string ) return ret; } -/****************************************************************************** - * NtInitiatePowerAction [NTDLL.@] - * - */ -NTSTATUS WINAPI NtInitiatePowerAction( - IN POWER_ACTION SystemAction, - IN SYSTEM_POWER_STATE MinSystemState, - IN ULONG Flags, - IN BOOLEAN Asynchronous) -{ - FIXME("(%d,%d,0x%08x,%d),stub\n", - SystemAction,MinSystemState,Flags,Asynchronous); - return STATUS_NOT_IMPLEMENTED; -} - -/****************************************************************************** - * NtSetThreadExecutionState [NTDLL.@] - * - */ -NTSTATUS WINAPI NtSetThreadExecutionState( EXECUTION_STATE new_state, EXECUTION_STATE *old_state ) -{ - static EXECUTION_STATE current = - ES_SYSTEM_REQUIRED | ES_DISPLAY_REQUIRED | ES_USER_PRESENT; - *old_state = current; - - WARN( "(0x%x, %p): stub, harmless.\n", new_state, old_state ); - - if (!(current & ES_CONTINUOUS) || (new_state & ES_CONTINUOUS)) - current = new_state; - return STATUS_SUCCESS; -} - -/****************************************************************************** - * NtCreatePowerRequest [NTDLL.@] - * - */ -NTSTATUS WINAPI NtCreatePowerRequest( HANDLE *handle, COUNTED_REASON_CONTEXT *context ) -{ - FIXME( "(%p, %p): stub\n", handle, context ); - - return STATUS_NOT_IMPLEMENTED; -} - -/****************************************************************************** - * NtSetPowerRequest [NTDLL.@] - * - */ -NTSTATUS WINAPI NtSetPowerRequest( HANDLE handle, POWER_REQUEST_TYPE type ) -{ - FIXME( "(%p, %u): stub\n", handle, type ); - - return STATUS_NOT_IMPLEMENTED; -} - -/****************************************************************************** - * NtClearPowerRequest [NTDLL.@] - * - */ -NTSTATUS WINAPI NtClearPowerRequest( HANDLE handle, POWER_REQUEST_TYPE type ) -{ - FIXME( "(%p, %u): stub\n", handle, type ); - - return STATUS_NOT_IMPLEMENTED; -} - /****************************************************************************** * NtAllocateLocallyUniqueId (NTDLL.@) */ diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec index 22cb9d1942f..6293dc81ed4 100644 --- a/dlls/ntdll/ntdll.spec +++ b/dlls/ntdll/ntdll.spec @@ -149,7 +149,7 @@ @ stdcall -syscall NtCancelIoFileEx(long ptr ptr) @ stdcall -syscall NtCancelTimer(long ptr) @ stdcall -syscall NtClearEvent(long) -@ stdcall NtClearPowerRequest(long long) +@ stdcall -syscall NtClearPowerRequest(long long) @ stdcall NtClose(long) @ stub NtCloseObjectAuditAlarm # @ stub NtCompactKeys @@ -175,7 +175,7 @@ @ stdcall -syscall NtCreateNamedPipeFile(ptr long ptr ptr long long long long long long long long long ptr) @ stdcall NtCreatePagingFile(ptr ptr ptr ptr) @ stdcall NtCreatePort(ptr ptr long long ptr) -@ stdcall NtCreatePowerRequest(ptr ptr) +@ stdcall -syscall NtCreatePowerRequest(ptr ptr) @ stub NtCreateProcess # @ stub NtCreateProcessEx @ stub NtCreateProfile @@ -230,7 +230,7 @@ @ stub NtImpersonateClientOfPort @ stub NtImpersonateThread @ stub NtInitializeRegistry -@ stdcall NtInitiatePowerAction (long long long long) +@ stdcall -syscall NtInitiatePowerAction (long long long long) @ stdcall -syscall NtIsProcessInJob(long long) # @ stub NtIsSystemResumeAutomatic @ stdcall NtListenPort(ptr ptr) @@ -386,7 +386,7 @@ @ stub NtSetLowEventPair @ stub NtSetLowWaitHighEventPair @ stub NtSetLowWaitHighThread -@ stdcall NtSetPowerRequest(long long) +@ stdcall -syscall NtSetPowerRequest(long long) # @ stub NtSetQuotaInformationFile @ stdcall NtSetSecurityObject(long long ptr) @ stub NtSetSystemEnvironmentValue @@ -394,7 +394,7 @@ @ stdcall -syscall NtSetSystemInformation(long ptr long) @ stub NtSetSystemPowerState @ stdcall -syscall NtSetSystemTime(ptr ptr) -@ stdcall NtSetThreadExecutionState(long ptr) +@ stdcall -syscall NtSetThreadExecutionState(long ptr) @ stdcall -syscall NtSetTimer(long ptr ptr ptr long long ptr) @ stdcall -syscall NtSetTimerResolution(long long ptr) # @ stub NtSetUuidSeed @@ -1138,7 +1138,7 @@ @ stdcall -private -syscall ZwCancelIoFileEx(long ptr ptr) NtCancelIoFileEx @ stdcall -private -syscall ZwCancelTimer(long ptr) NtCancelTimer @ stdcall -private -syscall ZwClearEvent(long) NtClearEvent -@ stdcall -private ZwClearPowerRequest(long long) NtClearPowerRequest +@ stdcall -private -syscall ZwClearPowerRequest(long long) NtClearPowerRequest @ stdcall -private ZwClose(long) NtClose @ stub ZwCloseObjectAuditAlarm # @ stub ZwCompactKeys @@ -1163,7 +1163,7 @@ @ stdcall -private -syscall ZwCreateNamedPipeFile(ptr long ptr ptr long long long long long long long long long ptr) NtCreateNamedPipeFile @ stdcall -private ZwCreatePagingFile(ptr ptr ptr ptr) NtCreatePagingFile @ stdcall -private ZwCreatePort(ptr ptr long long ptr) NtCreatePort -@ stdcall -private ZwCreatePowerRequest(ptr ptr) NtCreatePowerRequest +@ stdcall -private -syscall ZwCreatePowerRequest(ptr ptr) NtCreatePowerRequest @ stub ZwCreateProcess # @ stub ZwCreateProcessEx @ stub ZwCreateProfile @@ -1217,7 +1217,7 @@ @ stub ZwImpersonateClientOfPort @ stub ZwImpersonateThread @ stub ZwInitializeRegistry -@ stdcall -private ZwInitiatePowerAction(long long long long) NtInitiatePowerAction +@ stdcall -private -syscall ZwInitiatePowerAction(long long long long) NtInitiatePowerAction @ stdcall -private -syscall ZwIsProcessInJob(long long) NtIsProcessInJob # @ stub ZwIsSystemResumeAutomatic @ stdcall -private ZwListenPort(ptr ptr) NtListenPort @@ -1373,7 +1373,7 @@ @ stub ZwSetLowEventPair @ stub ZwSetLowWaitHighEventPair @ stub ZwSetLowWaitHighThread -@ stdcall -private ZwSetPowerRequest(long long) NtSetPowerRequest +@ stdcall -private -syscall ZwSetPowerRequest(long long) NtSetPowerRequest # @ stub ZwSetQuotaInformationFile @ stdcall -private ZwSetSecurityObject(long long ptr) NtSetSecurityObject @ stub ZwSetSystemEnvironmentValue @@ -1381,7 +1381,7 @@ @ stdcall -private -syscall ZwSetSystemInformation(long ptr long) NtSetSystemInformation @ stub ZwSetSystemPowerState @ stdcall -private -syscall ZwSetSystemTime(ptr ptr) NtSetSystemTime -@ stdcall ZwSetThreadExecutionState(long ptr) NtSetThreadExecutionState +@ stdcall -private -syscall ZwSetThreadExecutionState(long ptr) NtSetThreadExecutionState @ stdcall -private -syscall ZwSetTimer(long ptr ptr ptr long long ptr) NtSetTimer @ stdcall -private -syscall ZwSetTimerResolution(long long ptr) NtSetTimerResolution # @ stub ZwSetUuidSeed diff --git a/dlls/ntdll/unix/system.c b/dlls/ntdll/unix/system.c index 80478c59edf..7f85b41645c 100644 --- a/dlls/ntdll/unix/system.c +++ b/dlls/ntdll/unix/system.c @@ -3019,3 +3019,58 @@ NTSTATUS WINAPI NtPowerInformation( POWER_INFORMATION_LEVEL level, void *input, return STATUS_NOT_IMPLEMENTED; } } + + +/****************************************************************************** + * NtInitiatePowerAction (NTDLL.@) + */ +NTSTATUS WINAPI NtInitiatePowerAction( POWER_ACTION action, SYSTEM_POWER_STATE state, + ULONG flags, BOOLEAN async ) +{ + FIXME( "(%d,%d,0x%08x,%d),stub\n", action, state, flags, async ); + return STATUS_NOT_IMPLEMENTED; +} + + +/****************************************************************************** + * NtCreatePowerRequest (NTDLL.@) + */ +NTSTATUS WINAPI NtCreatePowerRequest( HANDLE *handle, COUNTED_REASON_CONTEXT *context ) +{ + FIXME( "(%p, %p): stub\n", handle, context ); + return STATUS_NOT_IMPLEMENTED; +} + + +/****************************************************************************** + * NtSetPowerRequest (NTDLL.@) + */ +NTSTATUS WINAPI NtSetPowerRequest( HANDLE handle, POWER_REQUEST_TYPE type ) +{ + FIXME( "(%p, %u): stub\n", handle, type ); + return STATUS_NOT_IMPLEMENTED; +} + + +/****************************************************************************** + * NtClearPowerRequest (NTDLL.@) + */ +NTSTATUS WINAPI NtClearPowerRequest( HANDLE handle, POWER_REQUEST_TYPE type ) +{ + FIXME( "(%p, %u): stub\n", handle, type ); + return STATUS_NOT_IMPLEMENTED; +} + + +/****************************************************************************** + * NtSetThreadExecutionState (NTDLL.@) + */ +NTSTATUS WINAPI NtSetThreadExecutionState( EXECUTION_STATE new_state, EXECUTION_STATE *old_state ) +{ + static EXECUTION_STATE current = ES_SYSTEM_REQUIRED | ES_DISPLAY_REQUIRED | ES_USER_PRESENT; + + WARN( "(0x%x, %p): stub, harmless.\n", new_state, old_state ); + *old_state = current; + if (!(current & ES_CONTINUOUS) || (new_state & ES_CONTINUOUS)) current = new_state; + return STATUS_SUCCESS; +}