diff --git a/SDK/INC/NT/ntdef.h b/SDK/INC/NT/ntdef.h index 29f48e3..7e029db 100644 --- a/SDK/INC/NT/ntdef.h +++ b/SDK/INC/NT/ntdef.h @@ -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. // diff --git a/SDK/INC/NT/ntstatus.h b/SDK/INC/NT/ntstatus.h index d1fa277..cb51bbc 100644 --- a/SDK/INC/NT/ntstatus.h +++ b/SDK/INC/NT/ntstatus.h @@ -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)