[SDK:NT] More status values and list helpers.

Added STATUS_NOT_IMPLEMENTED.
Added RemoveEntryList().
This commit is contained in:
Quinn Stephens 2024-08-26 12:27:59 -04:00
parent 1581638c26
commit caec9bc42e
2 changed files with 37 additions and 2 deletions

View File

@ -229,10 +229,44 @@ typedef union ULARGE_INTEGER {
// Doubly-linked list entry.
//
typedef struct _LIST_ENTRY {
struct _LIST_ENTRY *ForwardLink;
struct _LIST_ENTRY *BackLink;
struct _LIST_ENTRY *Flink;
struct _LIST_ENTRY *Blink;
} LIST_ENTRY, *PLIST_ENTRY;
FORCEINLINE
BOOLEAN
RemoveEntryList (
IN PLIST_ENTRY Entry
)
/*++
Routine Description:
Removes a list entry from a list.
Arguments:
Entry - the entry to remove.
Return Value:
True if the list is now empty,
False if the list still has at least one entry.
--*/
{
PLIST_ENTRY Blink, Flink;
Blink = Entry->Blink;
Flink = Entry->Flink;
Blink->Flink = Flink;
Flink->Blink = Blink;
return (BOOLEAN)(Flink == Blink);
}
//
// Unicode string.
//

View File

@ -23,6 +23,7 @@ Abstract:
//
#define STATUS_MEDIA_CHANGED ((NTSTATUS) 0x8000001CL)
#define STATUS_UNSUCCESSFUL ((NTSTATUS) 0xC0000001L)
#define STATUS_NOT_IMPLEMENTED ((NTSTATUS) 0xC0000002L)
#define STATUS_INVALID_PARAMETER ((NTSTATUS) 0xC000000DL)
#define STATUS_ACCESS_DENIED ((NTSTATUS) 0xC0000022L)
#define STATUS_BUFFER_TOO_SMALL ((NTSTATUS) 0xC0000023L)