wmi-1.3.16 from opsview.com
This commit is contained in:
@@ -0,0 +1,657 @@
|
||||
/*
|
||||
Unix SMB/CIFS implementation.
|
||||
simple SPNEGO routines
|
||||
Copyright (C) Andrew Tridgell 2001
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
#include "includes.h"
|
||||
#include "libcli/util/asn_1.h"
|
||||
|
||||
/* free an asn1 structure */
|
||||
void asn1_free(struct asn1_data *data)
|
||||
{
|
||||
talloc_free(data->data);
|
||||
}
|
||||
|
||||
/* write to the ASN1 buffer, advancing the buffer pointer */
|
||||
BOOL asn1_write(struct asn1_data *data, const void *p, int len)
|
||||
{
|
||||
if (data->has_error) return False;
|
||||
if (data->length < data->ofs+len) {
|
||||
uint8_t *newp;
|
||||
newp = talloc_realloc(NULL, data->data, uint8_t, data->ofs+len);
|
||||
if (!newp) {
|
||||
asn1_free(data);
|
||||
data->has_error = True;
|
||||
return False;
|
||||
}
|
||||
data->data = newp;
|
||||
data->length = data->ofs+len;
|
||||
}
|
||||
memcpy(data->data + data->ofs, p, len);
|
||||
data->ofs += len;
|
||||
return True;
|
||||
}
|
||||
|
||||
/* useful fn for writing a uint8_t */
|
||||
BOOL asn1_write_uint8(struct asn1_data *data, uint8_t v)
|
||||
{
|
||||
return asn1_write(data, &v, 1);
|
||||
}
|
||||
|
||||
/* push a tag onto the asn1 data buffer. Used for nested structures */
|
||||
BOOL asn1_push_tag(struct asn1_data *data, uint8_t tag)
|
||||
{
|
||||
struct nesting *nesting;
|
||||
|
||||
asn1_write_uint8(data, tag);
|
||||
nesting = talloc(NULL, struct nesting);
|
||||
if (!nesting) {
|
||||
data->has_error = True;
|
||||
return False;
|
||||
}
|
||||
|
||||
nesting->start = data->ofs;
|
||||
nesting->next = data->nesting;
|
||||
data->nesting = nesting;
|
||||
return asn1_write_uint8(data, 0xff);
|
||||
}
|
||||
|
||||
/* pop a tag */
|
||||
BOOL asn1_pop_tag(struct asn1_data *data)
|
||||
{
|
||||
struct nesting *nesting;
|
||||
size_t len;
|
||||
|
||||
nesting = data->nesting;
|
||||
|
||||
if (!nesting) {
|
||||
data->has_error = True;
|
||||
return False;
|
||||
}
|
||||
len = data->ofs - (nesting->start+1);
|
||||
/* yes, this is ugly. We don't know in advance how many bytes the length
|
||||
of a tag will take, so we assumed 1 byte. If we were wrong then we
|
||||
need to correct our mistake */
|
||||
if (len > 0xFFFF) {
|
||||
data->data[nesting->start] = 0x83;
|
||||
if (!asn1_write_uint8(data, 0)) return False;
|
||||
if (!asn1_write_uint8(data, 0)) return False;
|
||||
if (!asn1_write_uint8(data, 0)) return False;
|
||||
memmove(data->data+nesting->start+4, data->data+nesting->start+1, len);
|
||||
data->data[nesting->start+1] = (len>>16) & 0xFF;
|
||||
data->data[nesting->start+2] = (len>>8) & 0xFF;
|
||||
data->data[nesting->start+3] = len&0xff;
|
||||
} else if (len > 255) {
|
||||
data->data[nesting->start] = 0x82;
|
||||
if (!asn1_write_uint8(data, 0)) return False;
|
||||
if (!asn1_write_uint8(data, 0)) return False;
|
||||
memmove(data->data+nesting->start+3, data->data+nesting->start+1, len);
|
||||
data->data[nesting->start+1] = len>>8;
|
||||
data->data[nesting->start+2] = len&0xff;
|
||||
} else if (len > 127) {
|
||||
data->data[nesting->start] = 0x81;
|
||||
if (!asn1_write_uint8(data, 0)) return False;
|
||||
memmove(data->data+nesting->start+2, data->data+nesting->start+1, len);
|
||||
data->data[nesting->start+1] = len;
|
||||
} else {
|
||||
data->data[nesting->start] = len;
|
||||
}
|
||||
|
||||
data->nesting = nesting->next;
|
||||
talloc_free(nesting);
|
||||
return True;
|
||||
}
|
||||
|
||||
/* "i" is the one's complement representation, as is the normal result of an
|
||||
* implicit signed->unsigned conversion */
|
||||
|
||||
static BOOL push_int_bigendian(struct asn1_data *data, unsigned int i, BOOL negative)
|
||||
{
|
||||
uint8_t lowest = i & 0xFF;
|
||||
|
||||
i = i >> 8;
|
||||
if (i != 0)
|
||||
if (!push_int_bigendian(data, i, negative))
|
||||
return False;
|
||||
|
||||
if (data->nesting->start+1 == data->ofs) {
|
||||
|
||||
/* We did not write anything yet, looking at the highest
|
||||
* valued byte */
|
||||
|
||||
if (negative) {
|
||||
/* Don't write leading 0xff's */
|
||||
if (lowest == 0xFF)
|
||||
return True;
|
||||
|
||||
if ((lowest & 0x80) == 0) {
|
||||
/* The only exception for a leading 0xff is if
|
||||
* the highest bit is 0, which would indicate
|
||||
* a positive value */
|
||||
if (!asn1_write_uint8(data, 0xff))
|
||||
return False;
|
||||
}
|
||||
} else {
|
||||
if (lowest & 0x80) {
|
||||
/* The highest bit of a positive integer is 1,
|
||||
* this would indicate a negative number. Push
|
||||
* a 0 to indicate a positive one */
|
||||
if (!asn1_write_uint8(data, 0))
|
||||
return False;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return asn1_write_uint8(data, lowest);
|
||||
}
|
||||
|
||||
/* write an Integer without the tag framing. Needed for example for the LDAP
|
||||
* Abandon Operation */
|
||||
|
||||
BOOL asn1_write_implicit_Integer(struct asn1_data *data, int i)
|
||||
{
|
||||
if (i == -1) {
|
||||
/* -1 is special as it consists of all-0xff bytes. In
|
||||
push_int_bigendian this is the only case that is not
|
||||
properly handled, as all 0xff bytes would be handled as
|
||||
leading ones to be ignored. */
|
||||
return asn1_write_uint8(data, 0xff);
|
||||
} else {
|
||||
return push_int_bigendian(data, i, i<0);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* write an integer */
|
||||
BOOL asn1_write_Integer(struct asn1_data *data, int i)
|
||||
{
|
||||
if (!asn1_push_tag(data, ASN1_INTEGER)) return False;
|
||||
if (!asn1_write_implicit_Integer(data, i)) return False;
|
||||
return asn1_pop_tag(data);
|
||||
}
|
||||
|
||||
/* write an object ID to a ASN1 buffer */
|
||||
BOOL asn1_write_OID(struct asn1_data *data, const char *OID)
|
||||
{
|
||||
uint_t v, v2;
|
||||
const char *p = (const char *)OID;
|
||||
char *newp;
|
||||
|
||||
if (!asn1_push_tag(data, ASN1_OID))
|
||||
return False;
|
||||
v = strtol(p, &newp, 10);
|
||||
p = newp;
|
||||
v2 = strtol(p, &newp, 10);
|
||||
p = newp;
|
||||
if (!asn1_write_uint8(data, 40*v + v2))
|
||||
return False;
|
||||
|
||||
while (*p) {
|
||||
v = strtol(p, &newp, 10);
|
||||
p = newp;
|
||||
if (v >= (1<<28)) asn1_write_uint8(data, 0x80 | ((v>>28)&0xff));
|
||||
if (v >= (1<<21)) asn1_write_uint8(data, 0x80 | ((v>>21)&0xff));
|
||||
if (v >= (1<<14)) asn1_write_uint8(data, 0x80 | ((v>>14)&0xff));
|
||||
if (v >= (1<<7)) asn1_write_uint8(data, 0x80 | ((v>>7)&0xff));
|
||||
if (!asn1_write_uint8(data, v&0x7f))
|
||||
return False;
|
||||
}
|
||||
return asn1_pop_tag(data);
|
||||
}
|
||||
|
||||
/* write an octet string */
|
||||
BOOL asn1_write_OctetString(struct asn1_data *data, const void *p, size_t length)
|
||||
{
|
||||
asn1_push_tag(data, ASN1_OCTET_STRING);
|
||||
asn1_write(data, p, length);
|
||||
asn1_pop_tag(data);
|
||||
return !data->has_error;
|
||||
}
|
||||
|
||||
/* write a LDAP string */
|
||||
BOOL asn1_write_LDAPString(struct asn1_data *data, const char *s)
|
||||
{
|
||||
asn1_write(data, s, strlen(s));
|
||||
return !data->has_error;
|
||||
}
|
||||
|
||||
/* write a general string */
|
||||
BOOL asn1_write_GeneralString(struct asn1_data *data, const char *s)
|
||||
{
|
||||
asn1_push_tag(data, ASN1_GENERAL_STRING);
|
||||
asn1_write_LDAPString(data, s);
|
||||
asn1_pop_tag(data);
|
||||
return !data->has_error;
|
||||
}
|
||||
|
||||
BOOL asn1_write_ContextSimple(struct asn1_data *data, uint8_t num, DATA_BLOB *blob)
|
||||
{
|
||||
asn1_push_tag(data, ASN1_CONTEXT_SIMPLE(num));
|
||||
asn1_write(data, blob->data, blob->length);
|
||||
asn1_pop_tag(data);
|
||||
return !data->has_error;
|
||||
}
|
||||
|
||||
/* write a BOOLEAN */
|
||||
BOOL asn1_write_BOOLEAN(struct asn1_data *data, BOOL v)
|
||||
{
|
||||
asn1_push_tag(data, ASN1_BOOLEAN);
|
||||
asn1_write_uint8(data, v ? 0xFF : 0);
|
||||
asn1_pop_tag(data);
|
||||
return !data->has_error;
|
||||
}
|
||||
|
||||
BOOL asn1_read_BOOLEAN(struct asn1_data *data, BOOL *v)
|
||||
{
|
||||
uint8_t tmp = 0;
|
||||
asn1_start_tag(data, ASN1_BOOLEAN);
|
||||
asn1_read_uint8(data, &tmp);
|
||||
if (tmp == 0xFF) {
|
||||
*v = True;
|
||||
} else {
|
||||
*v = False;
|
||||
}
|
||||
asn1_end_tag(data);
|
||||
return !data->has_error;
|
||||
}
|
||||
|
||||
/* check a BOOLEAN */
|
||||
BOOL asn1_check_BOOLEAN(struct asn1_data *data, BOOL v)
|
||||
{
|
||||
uint8_t b = 0;
|
||||
|
||||
asn1_read_uint8(data, &b);
|
||||
if (b != ASN1_BOOLEAN) {
|
||||
data->has_error = True;
|
||||
return False;
|
||||
}
|
||||
asn1_read_uint8(data, &b);
|
||||
if (b != v) {
|
||||
data->has_error = True;
|
||||
return False;
|
||||
}
|
||||
return !data->has_error;
|
||||
}
|
||||
|
||||
|
||||
/* load a struct asn1_data structure with a lump of data, ready to be parsed */
|
||||
BOOL asn1_load(struct asn1_data *data, DATA_BLOB blob)
|
||||
{
|
||||
ZERO_STRUCTP(data);
|
||||
data->data = talloc_memdup(NULL, blob.data, blob.length);
|
||||
if (!data->data) {
|
||||
data->has_error = True;
|
||||
return False;
|
||||
}
|
||||
data->length = blob.length;
|
||||
return True;
|
||||
}
|
||||
|
||||
/* Peek into an ASN1 buffer, not advancing the pointer */
|
||||
BOOL asn1_peek(struct asn1_data *data, void *p, int len)
|
||||
{
|
||||
if (len < 0 || data->ofs + len < data->ofs || data->ofs + len < len)
|
||||
return False;
|
||||
|
||||
if (data->ofs + len > data->length) {
|
||||
/* we need to mark the buffer as consumed, so the caller knows
|
||||
this was an out of data error, and not a decode error */
|
||||
data->ofs = data->length;
|
||||
return False;
|
||||
}
|
||||
|
||||
memcpy(p, data->data + data->ofs, len);
|
||||
return True;
|
||||
}
|
||||
|
||||
/* read from a ASN1 buffer, advancing the buffer pointer */
|
||||
BOOL asn1_read(struct asn1_data *data, void *p, int len)
|
||||
{
|
||||
if (!asn1_peek(data, p, len)) {
|
||||
data->has_error = True;
|
||||
return False;
|
||||
}
|
||||
|
||||
data->ofs += len;
|
||||
return True;
|
||||
}
|
||||
|
||||
/* read a uint8_t from a ASN1 buffer */
|
||||
BOOL asn1_read_uint8(struct asn1_data *data, uint8_t *v)
|
||||
{
|
||||
return asn1_read(data, v, 1);
|
||||
}
|
||||
|
||||
BOOL asn1_peek_uint8(struct asn1_data *data, uint8_t *v)
|
||||
{
|
||||
return asn1_peek(data, v, 1);
|
||||
}
|
||||
|
||||
BOOL asn1_peek_tag(struct asn1_data *data, uint8_t tag)
|
||||
{
|
||||
uint8_t b;
|
||||
|
||||
if (asn1_tag_remaining(data) <= 0) {
|
||||
return False;
|
||||
}
|
||||
|
||||
if (!asn1_peek(data, &b, sizeof(b)))
|
||||
return False;
|
||||
|
||||
return (b == tag);
|
||||
}
|
||||
|
||||
/* start reading a nested asn1 structure */
|
||||
BOOL asn1_start_tag(struct asn1_data *data, uint8_t tag)
|
||||
{
|
||||
uint8_t b;
|
||||
struct nesting *nesting;
|
||||
|
||||
if (!asn1_read_uint8(data, &b))
|
||||
return False;
|
||||
|
||||
if (b != tag) {
|
||||
data->has_error = True;
|
||||
return False;
|
||||
}
|
||||
nesting = talloc(NULL, struct nesting);
|
||||
if (!nesting) {
|
||||
data->has_error = True;
|
||||
return False;
|
||||
}
|
||||
|
||||
if (!asn1_read_uint8(data, &b)) {
|
||||
return False;
|
||||
}
|
||||
|
||||
if (b & 0x80) {
|
||||
int n = b & 0x7f;
|
||||
if (!asn1_read_uint8(data, &b))
|
||||
return False;
|
||||
nesting->taglen = b;
|
||||
while (n > 1) {
|
||||
if (!asn1_read_uint8(data, &b))
|
||||
return False;
|
||||
nesting->taglen = (nesting->taglen << 8) | b;
|
||||
n--;
|
||||
}
|
||||
} else {
|
||||
nesting->taglen = b;
|
||||
}
|
||||
nesting->start = data->ofs;
|
||||
nesting->next = data->nesting;
|
||||
data->nesting = nesting;
|
||||
if (asn1_tag_remaining(data) == -1) {
|
||||
return False;
|
||||
}
|
||||
return !data->has_error;
|
||||
}
|
||||
|
||||
|
||||
/* stop reading a tag */
|
||||
BOOL asn1_end_tag(struct asn1_data *data)
|
||||
{
|
||||
struct nesting *nesting;
|
||||
|
||||
/* make sure we read it all */
|
||||
if (asn1_tag_remaining(data) != 0) {
|
||||
data->has_error = True;
|
||||
return False;
|
||||
}
|
||||
|
||||
nesting = data->nesting;
|
||||
|
||||
if (!nesting) {
|
||||
data->has_error = True;
|
||||
return False;
|
||||
}
|
||||
|
||||
data->nesting = nesting->next;
|
||||
talloc_free(nesting);
|
||||
return True;
|
||||
}
|
||||
|
||||
/* work out how many bytes are left in this nested tag */
|
||||
int asn1_tag_remaining(struct asn1_data *data)
|
||||
{
|
||||
int remaining;
|
||||
if (data->has_error) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (!data->nesting) {
|
||||
data->has_error = True;
|
||||
return -1;
|
||||
}
|
||||
remaining = data->nesting->taglen - (data->ofs - data->nesting->start);
|
||||
if (remaining > (data->length - data->ofs)) {
|
||||
data->has_error = True;
|
||||
return -1;
|
||||
}
|
||||
return remaining;
|
||||
}
|
||||
|
||||
/* read an object ID from a ASN1 buffer */
|
||||
BOOL asn1_read_OID(struct asn1_data *data, const char **OID)
|
||||
{
|
||||
uint8_t b;
|
||||
char *tmp_oid = NULL;
|
||||
|
||||
if (!asn1_start_tag(data, ASN1_OID)) return False;
|
||||
asn1_read_uint8(data, &b);
|
||||
|
||||
tmp_oid = talloc_asprintf(NULL, "%u", b/40);
|
||||
tmp_oid = talloc_asprintf_append(tmp_oid, " %u", b%40);
|
||||
|
||||
while (!data->has_error && asn1_tag_remaining(data) > 0) {
|
||||
uint_t v = 0;
|
||||
do {
|
||||
asn1_read_uint8(data, &b);
|
||||
v = (v<<7) | (b&0x7f);
|
||||
} while (!data->has_error && (b & 0x80));
|
||||
tmp_oid = talloc_asprintf_append(tmp_oid, " %u", v);
|
||||
}
|
||||
|
||||
asn1_end_tag(data);
|
||||
|
||||
*OID = talloc_strdup(NULL, tmp_oid);
|
||||
talloc_free(tmp_oid);
|
||||
|
||||
return (*OID && !data->has_error);
|
||||
}
|
||||
|
||||
/* check that the next object ID is correct */
|
||||
BOOL asn1_check_OID(struct asn1_data *data, const char *OID)
|
||||
{
|
||||
const char *id;
|
||||
|
||||
if (!asn1_read_OID(data, &id)) return False;
|
||||
|
||||
if (strcmp(id, OID) != 0) {
|
||||
data->has_error = True;
|
||||
return False;
|
||||
}
|
||||
talloc_free(discard_const(id));
|
||||
return True;
|
||||
}
|
||||
|
||||
/* read a LDAPString from a ASN1 buffer */
|
||||
BOOL asn1_read_LDAPString(struct asn1_data *data, char **s)
|
||||
{
|
||||
int len;
|
||||
len = asn1_tag_remaining(data);
|
||||
if (len < 0) {
|
||||
data->has_error = True;
|
||||
return False;
|
||||
}
|
||||
*s = talloc_size(NULL, len+1);
|
||||
if (! *s) {
|
||||
data->has_error = True;
|
||||
return False;
|
||||
}
|
||||
asn1_read(data, *s, len);
|
||||
(*s)[len] = 0;
|
||||
return !data->has_error;
|
||||
}
|
||||
|
||||
|
||||
/* read a GeneralString from a ASN1 buffer */
|
||||
BOOL asn1_read_GeneralString(struct asn1_data *data, char **s)
|
||||
{
|
||||
if (!asn1_start_tag(data, ASN1_GENERAL_STRING)) return False;
|
||||
if (!asn1_read_LDAPString(data, s)) return False;
|
||||
return asn1_end_tag(data);
|
||||
}
|
||||
|
||||
|
||||
/* read a octet string blob */
|
||||
BOOL asn1_read_OctetString(struct asn1_data *data, DATA_BLOB *blob)
|
||||
{
|
||||
int len;
|
||||
ZERO_STRUCTP(blob);
|
||||
if (!asn1_start_tag(data, ASN1_OCTET_STRING)) return False;
|
||||
len = asn1_tag_remaining(data);
|
||||
if (len < 0) {
|
||||
data->has_error = True;
|
||||
return False;
|
||||
}
|
||||
*blob = data_blob(NULL, len+1);
|
||||
if (!blob->data) {
|
||||
data->has_error = True;
|
||||
return False;
|
||||
}
|
||||
asn1_read(data, blob->data, len);
|
||||
asn1_end_tag(data);
|
||||
blob->length--;
|
||||
blob->data[len] = 0;
|
||||
|
||||
if (data->has_error) {
|
||||
data_blob_free(blob);
|
||||
*blob = data_blob(NULL, 0);
|
||||
return False;
|
||||
}
|
||||
return True;
|
||||
}
|
||||
|
||||
BOOL asn1_read_ContextSimple(struct asn1_data *data, uint8_t num, DATA_BLOB *blob)
|
||||
{
|
||||
int len;
|
||||
ZERO_STRUCTP(blob);
|
||||
if (!asn1_start_tag(data, ASN1_CONTEXT_SIMPLE(num))) return False;
|
||||
len = asn1_tag_remaining(data);
|
||||
if (len < 0) {
|
||||
data->has_error = True;
|
||||
return False;
|
||||
}
|
||||
*blob = data_blob(NULL, len);
|
||||
if (!blob->data) {
|
||||
data->has_error = True;
|
||||
return False;
|
||||
}
|
||||
asn1_read(data, blob->data, len);
|
||||
asn1_end_tag(data);
|
||||
return !data->has_error;
|
||||
}
|
||||
|
||||
/* read an interger without tag*/
|
||||
BOOL asn1_read_implicit_Integer(struct asn1_data *data, int *i)
|
||||
{
|
||||
uint8_t b;
|
||||
*i = 0;
|
||||
|
||||
while (!data->has_error && asn1_tag_remaining(data)>0) {
|
||||
if (!asn1_read_uint8(data, &b)) return False;
|
||||
*i = (*i << 8) + b;
|
||||
}
|
||||
return !data->has_error;
|
||||
|
||||
}
|
||||
|
||||
/* read an interger */
|
||||
BOOL asn1_read_Integer(struct asn1_data *data, int *i)
|
||||
{
|
||||
*i = 0;
|
||||
|
||||
if (!asn1_start_tag(data, ASN1_INTEGER)) return False;
|
||||
if (!asn1_read_implicit_Integer(data, i)) return False;
|
||||
return asn1_end_tag(data);
|
||||
}
|
||||
|
||||
/* read an interger */
|
||||
BOOL asn1_read_enumerated(struct asn1_data *data, int *v)
|
||||
{
|
||||
*v = 0;
|
||||
|
||||
if (!asn1_start_tag(data, ASN1_ENUMERATED)) return False;
|
||||
while (!data->has_error && asn1_tag_remaining(data)>0) {
|
||||
uint8_t b;
|
||||
asn1_read_uint8(data, &b);
|
||||
*v = (*v << 8) + b;
|
||||
}
|
||||
return asn1_end_tag(data);
|
||||
}
|
||||
|
||||
/* check a enumarted value is correct */
|
||||
BOOL asn1_check_enumerated(struct asn1_data *data, int v)
|
||||
{
|
||||
uint8_t b;
|
||||
if (!asn1_start_tag(data, ASN1_ENUMERATED)) return False;
|
||||
asn1_read_uint8(data, &b);
|
||||
asn1_end_tag(data);
|
||||
|
||||
if (v != b)
|
||||
data->has_error = False;
|
||||
|
||||
return !data->has_error;
|
||||
}
|
||||
|
||||
/* write an enumarted value to the stream */
|
||||
BOOL asn1_write_enumerated(struct asn1_data *data, uint8_t v)
|
||||
{
|
||||
if (!asn1_push_tag(data, ASN1_ENUMERATED)) return False;
|
||||
asn1_write_uint8(data, v);
|
||||
asn1_pop_tag(data);
|
||||
return !data->has_error;
|
||||
}
|
||||
|
||||
/*
|
||||
check if a ASN.1 blob is a full tag
|
||||
*/
|
||||
NTSTATUS asn1_full_tag(DATA_BLOB blob, uint8_t tag, size_t *packet_size)
|
||||
{
|
||||
struct asn1_data asn1;
|
||||
int size;
|
||||
|
||||
ZERO_STRUCT(asn1);
|
||||
asn1.data = blob.data;
|
||||
asn1.length = blob.length;
|
||||
asn1_start_tag(&asn1, tag);
|
||||
if (asn1.has_error) {
|
||||
talloc_free(asn1.nesting);
|
||||
return STATUS_MORE_ENTRIES;
|
||||
}
|
||||
size = asn1_tag_remaining(&asn1) + asn1.ofs;
|
||||
talloc_free(asn1.nesting);
|
||||
|
||||
if (size > blob.length) {
|
||||
return STATUS_MORE_ENTRIES;
|
||||
}
|
||||
|
||||
*packet_size = size;
|
||||
return NT_STATUS_OK;
|
||||
}
|
||||
@@ -0,0 +1,55 @@
|
||||
/*
|
||||
Unix SMB/CIFS implementation.
|
||||
simple ASN1 code
|
||||
Copyright (C) Andrew Tridgell 2001
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
#ifndef _ASN_1_H
|
||||
#define _ASN_1_H
|
||||
|
||||
struct nesting {
|
||||
off_t start;
|
||||
size_t taglen; /* for parsing */
|
||||
struct nesting *next;
|
||||
};
|
||||
|
||||
struct asn1_data {
|
||||
uint8_t *data;
|
||||
size_t length;
|
||||
off_t ofs;
|
||||
struct nesting *nesting;
|
||||
BOOL has_error;
|
||||
};
|
||||
|
||||
#define ASN1_APPLICATION(x) ((x)+0x60)
|
||||
#define ASN1_APPLICATION_SIMPLE(x) ((x)+0x40)
|
||||
#define ASN1_SEQUENCE(x) ((x)+0x30)
|
||||
#define ASN1_CONTEXT(x) ((x)+0xa0)
|
||||
#define ASN1_CONTEXT_SIMPLE(x) ((x)+0x80)
|
||||
#define ASN1_GENERAL_STRING 0x1b
|
||||
#define ASN1_OCTET_STRING 0x4
|
||||
#define ASN1_OID 0x6
|
||||
#define ASN1_BOOLEAN 0x1
|
||||
#define ASN1_INTEGER 0x2
|
||||
#define ASN1_ENUMERATED 0xa
|
||||
#define ASN1_SET 0x31
|
||||
|
||||
#define ASN1_MAX_OIDS 20
|
||||
|
||||
#include "libcli/util/asn1_proto.h"
|
||||
|
||||
#endif /* _ASN_1_H */
|
||||
@@ -0,0 +1,73 @@
|
||||
/*
|
||||
Unix SMB/CIFS implementation.
|
||||
client error handling routines
|
||||
Copyright (C) Andrew Tridgell 1994-1998
|
||||
Copyright (C) James Myers 2003
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
#include "includes.h"
|
||||
#include "libcli/raw/libcliraw.h"
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
Return an error message from the last response
|
||||
****************************************************************************/
|
||||
const char *smbcli_errstr(struct smbcli_tree *tree)
|
||||
{
|
||||
switch (tree->session->transport->error.etype) {
|
||||
case ETYPE_SMB:
|
||||
return nt_errstr(tree->session->transport->error.e.nt_status);
|
||||
|
||||
case ETYPE_SOCKET:
|
||||
return "socket_error";
|
||||
|
||||
case ETYPE_NBT:
|
||||
return "nbt_error";
|
||||
|
||||
case ETYPE_NONE:
|
||||
return "no_error";
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
/* Return the 32-bit NT status code from the last packet */
|
||||
NTSTATUS smbcli_nt_error(struct smbcli_tree *tree)
|
||||
{
|
||||
switch (tree->session->transport->error.etype) {
|
||||
case ETYPE_SMB:
|
||||
return tree->session->transport->error.e.nt_status;
|
||||
|
||||
case ETYPE_SOCKET:
|
||||
return NT_STATUS_UNSUCCESSFUL;
|
||||
|
||||
case ETYPE_NBT:
|
||||
return NT_STATUS_UNSUCCESSFUL;
|
||||
|
||||
case ETYPE_NONE:
|
||||
return NT_STATUS_OK;
|
||||
}
|
||||
|
||||
return NT_STATUS_UNSUCCESSFUL;
|
||||
}
|
||||
|
||||
|
||||
/* Return true if the last packet was an error */
|
||||
BOOL smbcli_is_error(struct smbcli_tree *tree)
|
||||
{
|
||||
return NT_STATUS_IS_ERR(smbcli_nt_error(tree));
|
||||
}
|
||||
@@ -0,0 +1,354 @@
|
||||
/*
|
||||
Unix SMB/CIFS implementation.
|
||||
|
||||
lsa calls for file sharing connections
|
||||
|
||||
Copyright (C) Andrew Tridgell 2004
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
/*
|
||||
when dealing with ACLs the file sharing client code needs to
|
||||
sometimes make LSA RPC calls. This code provides an easy interface
|
||||
for doing those calls.
|
||||
*/
|
||||
|
||||
#include "includes.h"
|
||||
#include "libcli/raw/libcliraw.h"
|
||||
#include "libcli/libcli.h"
|
||||
#include "libcli/security/security.h"
|
||||
#include "librpc/gen_ndr/ndr_lsa.h"
|
||||
#include "librpc/gen_ndr/ndr_lsa_c.h"
|
||||
|
||||
struct smblsa_state {
|
||||
struct dcerpc_pipe *pipe;
|
||||
struct smbcli_tree *ipc_tree;
|
||||
struct policy_handle handle;
|
||||
};
|
||||
|
||||
/*
|
||||
establish the lsa pipe connection
|
||||
*/
|
||||
static NTSTATUS smblsa_connect(struct smbcli_state *cli)
|
||||
{
|
||||
struct smblsa_state *lsa;
|
||||
NTSTATUS status;
|
||||
struct lsa_OpenPolicy r;
|
||||
uint16_t system_name = '\\';
|
||||
union smb_tcon tcon;
|
||||
struct lsa_ObjectAttribute attr;
|
||||
struct lsa_QosInfo qos;
|
||||
|
||||
if (cli->lsa != NULL) {
|
||||
return NT_STATUS_OK;
|
||||
}
|
||||
|
||||
lsa = talloc(cli, struct smblsa_state);
|
||||
if (lsa == NULL) {
|
||||
return NT_STATUS_NO_MEMORY;
|
||||
}
|
||||
|
||||
lsa->ipc_tree = smbcli_tree_init(cli->session, lsa, False);
|
||||
if (lsa->ipc_tree == NULL) {
|
||||
return NT_STATUS_NO_MEMORY;
|
||||
}
|
||||
|
||||
/* connect to IPC$ */
|
||||
tcon.generic.level = RAW_TCON_TCONX;
|
||||
tcon.tconx.in.flags = 0;
|
||||
tcon.tconx.in.password = data_blob(NULL, 0);
|
||||
tcon.tconx.in.path = "ipc$";
|
||||
tcon.tconx.in.device = "IPC";
|
||||
status = smb_raw_tcon(lsa->ipc_tree, lsa, &tcon);
|
||||
if (!NT_STATUS_IS_OK(status)) {
|
||||
talloc_free(lsa);
|
||||
return status;
|
||||
}
|
||||
lsa->ipc_tree->tid = tcon.tconx.out.tid;
|
||||
|
||||
lsa->pipe = dcerpc_pipe_init(lsa, cli->transport->socket->event.ctx);
|
||||
if (lsa->pipe == NULL) {
|
||||
talloc_free(lsa);
|
||||
return NT_STATUS_NO_MEMORY;
|
||||
}
|
||||
|
||||
/* open the LSA pipe */
|
||||
status = dcerpc_pipe_open_smb(lsa->pipe->conn, lsa->ipc_tree, DCERPC_LSARPC_NAME);
|
||||
if (!NT_STATUS_IS_OK(status)) {
|
||||
talloc_free(lsa);
|
||||
return status;
|
||||
}
|
||||
|
||||
/* bind to the LSA pipe */
|
||||
status = dcerpc_bind_auth_none(lsa->pipe, &dcerpc_table_lsarpc);
|
||||
if (!NT_STATUS_IS_OK(status)) {
|
||||
talloc_free(lsa);
|
||||
return status;
|
||||
}
|
||||
|
||||
|
||||
/* open a lsa policy handle */
|
||||
qos.len = 0;
|
||||
qos.impersonation_level = 2;
|
||||
qos.context_mode = 1;
|
||||
qos.effective_only = 0;
|
||||
|
||||
attr.len = 0;
|
||||
attr.root_dir = NULL;
|
||||
attr.object_name = NULL;
|
||||
attr.attributes = 0;
|
||||
attr.sec_desc = NULL;
|
||||
attr.sec_qos = &qos;
|
||||
|
||||
r.in.system_name = &system_name;
|
||||
r.in.attr = &attr;
|
||||
r.in.access_mask = SEC_FLAG_MAXIMUM_ALLOWED;
|
||||
r.out.handle = &lsa->handle;
|
||||
|
||||
status = dcerpc_lsa_OpenPolicy(lsa->pipe, lsa, &r);
|
||||
if (!NT_STATUS_IS_OK(status)) {
|
||||
talloc_free(lsa);
|
||||
return status;
|
||||
}
|
||||
|
||||
cli->lsa = lsa;
|
||||
|
||||
return NT_STATUS_OK;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
return the set of privileges for the given sid
|
||||
*/
|
||||
NTSTATUS smblsa_sid_privileges(struct smbcli_state *cli, struct dom_sid *sid,
|
||||
TALLOC_CTX *mem_ctx,
|
||||
struct lsa_RightSet *rights)
|
||||
{
|
||||
NTSTATUS status;
|
||||
struct lsa_EnumAccountRights r;
|
||||
|
||||
status = smblsa_connect(cli);
|
||||
if (!NT_STATUS_IS_OK(status)) {
|
||||
return status;
|
||||
}
|
||||
|
||||
r.in.handle = &cli->lsa->handle;
|
||||
r.in.sid = sid;
|
||||
r.out.rights = rights;
|
||||
|
||||
return dcerpc_lsa_EnumAccountRights(cli->lsa->pipe, mem_ctx, &r);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
check if a named sid has a particular named privilege
|
||||
*/
|
||||
NTSTATUS smblsa_sid_check_privilege(struct smbcli_state *cli,
|
||||
const char *sid_str,
|
||||
const char *privilege)
|
||||
{
|
||||
struct lsa_RightSet rights;
|
||||
NTSTATUS status;
|
||||
TALLOC_CTX *mem_ctx = talloc_new(cli);
|
||||
struct dom_sid *sid;
|
||||
unsigned i;
|
||||
|
||||
sid = dom_sid_parse_talloc(mem_ctx, sid_str);
|
||||
if (sid == NULL) {
|
||||
talloc_free(mem_ctx);
|
||||
return NT_STATUS_INVALID_SID;
|
||||
}
|
||||
|
||||
status = smblsa_sid_privileges(cli, sid, mem_ctx, &rights);
|
||||
if (!NT_STATUS_IS_OK(status)) {
|
||||
talloc_free(mem_ctx);
|
||||
return status;
|
||||
}
|
||||
|
||||
for (i=0;i<rights.count;i++) {
|
||||
if (strcmp(rights.names[i].string, privilege) == 0) {
|
||||
talloc_free(mem_ctx);
|
||||
return NT_STATUS_OK;
|
||||
}
|
||||
}
|
||||
|
||||
talloc_free(mem_ctx);
|
||||
return NT_STATUS_NOT_FOUND;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
lookup a SID, returning its name
|
||||
*/
|
||||
NTSTATUS smblsa_lookup_sid(struct smbcli_state *cli,
|
||||
const char *sid_str,
|
||||
TALLOC_CTX *mem_ctx,
|
||||
const char **name)
|
||||
{
|
||||
struct lsa_LookupSids r;
|
||||
struct lsa_TransNameArray names;
|
||||
struct lsa_SidArray sids;
|
||||
uint32_t count = 1;
|
||||
NTSTATUS status;
|
||||
struct dom_sid *sid;
|
||||
TALLOC_CTX *mem_ctx2 = talloc_new(mem_ctx);
|
||||
|
||||
status = smblsa_connect(cli);
|
||||
if (!NT_STATUS_IS_OK(status)) {
|
||||
return status;
|
||||
}
|
||||
|
||||
sid = dom_sid_parse_talloc(mem_ctx2, sid_str);
|
||||
if (sid == NULL) {
|
||||
return NT_STATUS_INVALID_SID;
|
||||
}
|
||||
|
||||
names.count = 0;
|
||||
names.names = NULL;
|
||||
|
||||
sids.num_sids = 1;
|
||||
sids.sids = talloc(mem_ctx2, struct lsa_SidPtr);
|
||||
sids.sids[0].sid = sid;
|
||||
|
||||
r.in.handle = &cli->lsa->handle;
|
||||
r.in.sids = &sids;
|
||||
r.in.names = &names;
|
||||
r.in.level = 1;
|
||||
r.in.count = &count;
|
||||
r.out.count = &count;
|
||||
r.out.names = &names;
|
||||
|
||||
status = dcerpc_lsa_LookupSids(cli->lsa->pipe, mem_ctx2, &r);
|
||||
if (!NT_STATUS_IS_OK(status)) {
|
||||
talloc_free(mem_ctx2);
|
||||
return status;
|
||||
}
|
||||
if (names.count != 1) {
|
||||
talloc_free(mem_ctx2);
|
||||
return NT_STATUS_UNSUCCESSFUL;
|
||||
}
|
||||
|
||||
(*name) = talloc_asprintf(mem_ctx, "%s\\%s",
|
||||
r.out.domains->domains[0].name.string,
|
||||
names.names[0].name.string);
|
||||
|
||||
talloc_free(mem_ctx2);
|
||||
|
||||
return NT_STATUS_OK;
|
||||
}
|
||||
|
||||
/*
|
||||
lookup a name, returning its sid
|
||||
*/
|
||||
NTSTATUS smblsa_lookup_name(struct smbcli_state *cli,
|
||||
const char *name,
|
||||
TALLOC_CTX *mem_ctx,
|
||||
const char **sid_str)
|
||||
{
|
||||
struct lsa_LookupNames r;
|
||||
struct lsa_TransSidArray sids;
|
||||
struct lsa_String names;
|
||||
uint32_t count = 1;
|
||||
NTSTATUS status;
|
||||
struct dom_sid *sid;
|
||||
TALLOC_CTX *mem_ctx2 = talloc_new(mem_ctx);
|
||||
uint32_t rid;
|
||||
|
||||
status = smblsa_connect(cli);
|
||||
if (!NT_STATUS_IS_OK(status)) {
|
||||
return status;
|
||||
}
|
||||
|
||||
sids.count = 0;
|
||||
sids.sids = NULL;
|
||||
|
||||
names.string = name;
|
||||
|
||||
r.in.handle = &cli->lsa->handle;
|
||||
r.in.num_names = 1;
|
||||
r.in.names = &names;
|
||||
r.in.sids = &sids;
|
||||
r.in.level = 1;
|
||||
r.in.count = &count;
|
||||
r.out.count = &count;
|
||||
r.out.sids = &sids;
|
||||
|
||||
status = dcerpc_lsa_LookupNames(cli->lsa->pipe, mem_ctx2, &r);
|
||||
if (!NT_STATUS_IS_OK(status)) {
|
||||
talloc_free(mem_ctx2);
|
||||
return status;
|
||||
}
|
||||
if (sids.count != 1) {
|
||||
talloc_free(mem_ctx2);
|
||||
return NT_STATUS_UNSUCCESSFUL;
|
||||
}
|
||||
|
||||
sid = r.out.domains->domains[0].sid;
|
||||
rid = sids.sids[0].rid;
|
||||
|
||||
(*sid_str) = talloc_asprintf(mem_ctx, "%s-%u",
|
||||
dom_sid_string(mem_ctx2, sid), rid);
|
||||
|
||||
talloc_free(mem_ctx2);
|
||||
|
||||
return NT_STATUS_OK;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
add a set of privileges to the given sid
|
||||
*/
|
||||
NTSTATUS smblsa_sid_add_privileges(struct smbcli_state *cli, struct dom_sid *sid,
|
||||
TALLOC_CTX *mem_ctx,
|
||||
struct lsa_RightSet *rights)
|
||||
{
|
||||
NTSTATUS status;
|
||||
struct lsa_AddAccountRights r;
|
||||
|
||||
status = smblsa_connect(cli);
|
||||
if (!NT_STATUS_IS_OK(status)) {
|
||||
return status;
|
||||
}
|
||||
|
||||
r.in.handle = &cli->lsa->handle;
|
||||
r.in.sid = sid;
|
||||
r.in.rights = rights;
|
||||
|
||||
return dcerpc_lsa_AddAccountRights(cli->lsa->pipe, mem_ctx, &r);
|
||||
}
|
||||
|
||||
/*
|
||||
remove a set of privileges from the given sid
|
||||
*/
|
||||
NTSTATUS smblsa_sid_del_privileges(struct smbcli_state *cli, struct dom_sid *sid,
|
||||
TALLOC_CTX *mem_ctx,
|
||||
struct lsa_RightSet *rights)
|
||||
{
|
||||
NTSTATUS status;
|
||||
struct lsa_RemoveAccountRights r;
|
||||
|
||||
status = smblsa_connect(cli);
|
||||
if (!NT_STATUS_IS_OK(status)) {
|
||||
return status;
|
||||
}
|
||||
|
||||
r.in.handle = &cli->lsa->handle;
|
||||
r.in.sid = sid;
|
||||
r.in.unknown = 0;
|
||||
r.in.rights = rights;
|
||||
|
||||
return dcerpc_lsa_RemoveAccountRights(cli->lsa->pipe, mem_ctx, &r);
|
||||
}
|
||||
@@ -0,0 +1,139 @@
|
||||
/*
|
||||
* Unix SMB/CIFS implementation.
|
||||
* DOS error routines
|
||||
* Copyright (C) Tim Potter 2002.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
/* DOS error codes. please read doserr.h */
|
||||
|
||||
#include "includes.h"
|
||||
#include "pstring.h"
|
||||
|
||||
struct werror_code_struct {
|
||||
const char *dos_errstr;
|
||||
WERROR werror;
|
||||
};
|
||||
|
||||
static const struct werror_code_struct dos_errs[] =
|
||||
{
|
||||
{ "WERR_OK", WERR_OK },
|
||||
{ "WERR_BADFILE", WERR_BADFILE },
|
||||
{ "WERR_ACCESS_DENIED", WERR_ACCESS_DENIED },
|
||||
{ "WERR_BADFID", WERR_BADFID },
|
||||
{ "WERR_BADFUNC", WERR_BADFUNC },
|
||||
{ "WERR_BAD_NETPATH", WERR_BAD_NETPATH },
|
||||
{ "WERR_BAD_NET_RESP", WERR_BAD_NET_RESP },
|
||||
{ "WERR_UNEXP_NET_ERR", WERR_UNEXP_NET_ERR },
|
||||
{ "WERR_INSUFFICIENT_BUFFER", WERR_INSUFFICIENT_BUFFER },
|
||||
{ "WERR_NO_SUCH_SHARE", WERR_NO_SUCH_SHARE },
|
||||
{ "WERR_FILE_EXISTS", WERR_FILE_EXISTS },
|
||||
{ "WERR_INVALID_PARAM", WERR_INVALID_PARAM },
|
||||
{ "WERR_NOT_SUPPORTED", WERR_NOT_SUPPORTED },
|
||||
{ "WERR_BAD_PASSWORD", WERR_BAD_PASSWORD },
|
||||
{ "WERR_NOMEM", WERR_NOMEM },
|
||||
{ "WERR_INVALID_NAME", WERR_INVALID_NAME },
|
||||
{ "WERR_UNKNOWN_LEVEL", WERR_UNKNOWN_LEVEL },
|
||||
{ "WERR_OBJECT_PATH_INVALID", WERR_OBJECT_PATH_INVALID },
|
||||
{ "WERR_ALREADY_EXISTS", WERR_ALREADY_EXISTS },
|
||||
{ "WERR_NO_MORE_ITEMS", WERR_NO_MORE_ITEMS },
|
||||
{ "WERR_MORE_DATA", WERR_MORE_DATA },
|
||||
{ "WERR_UNKNOWN_PRINTER_DRIVER", WERR_UNKNOWN_PRINTER_DRIVER },
|
||||
{ "WERR_INVALID_PRINTER_NAME", WERR_INVALID_PRINTER_NAME },
|
||||
{ "WERR_PRINTER_ALREADY_EXISTS", WERR_PRINTER_ALREADY_EXISTS },
|
||||
{ "WERR_INVALID_DATATYPE", WERR_INVALID_DATATYPE },
|
||||
{ "WERR_INVALID_ENVIRONMENT", WERR_INVALID_ENVIRONMENT },
|
||||
{ "WERR_INVALID_FORM_NAME", WERR_INVALID_FORM_NAME },
|
||||
{ "WERR_INVALID_FORM_SIZE", WERR_INVALID_FORM_SIZE },
|
||||
{ "WERR_ALREADY_SHARED", WERR_ALREADY_SHARED },
|
||||
{ "WERR_BUF_TOO_SMALL", WERR_BUF_TOO_SMALL },
|
||||
{ "WERR_JOB_NOT_FOUND", WERR_JOB_NOT_FOUND },
|
||||
{ "WERR_DEST_NOT_FOUND", WERR_DEST_NOT_FOUND },
|
||||
{ "WERR_NOT_LOCAL_DOMAIN", WERR_NOT_LOCAL_DOMAIN },
|
||||
{ "WERR_DEVICE_NOT_AVAILABLE", WERR_DEVICE_NOT_AVAILABLE },
|
||||
{ "WERR_PRINTER_DRIVER_IN_USE", WERR_PRINTER_DRIVER_IN_USE },
|
||||
{ "WERR_STATUS_MORE_ENTRIES", WERR_STATUS_MORE_ENTRIES },
|
||||
{ "WERR_NET_NAME_NOT_FOUND", WERR_NET_NAME_NOT_FOUND },
|
||||
{ "WERR_DEVICE_NOT_SHARED", WERR_DEVICE_NOT_SHARED },
|
||||
{ "WERR_DFS_NO_SUCH_VOL", WERR_DFS_NO_SUCH_VOL },
|
||||
{ "WERR_DFS_NO_SUCH_SHARE", WERR_DFS_NO_SUCH_SHARE },
|
||||
{ "WERR_DFS_NO_SUCH_SERVER", WERR_DFS_NO_SUCH_SERVER },
|
||||
{ "WERR_DFS_INTERNAL_ERROR", WERR_DFS_INTERNAL_ERROR },
|
||||
{ "WERR_DFS_CANT_CREATE_JUNCT", WERR_DFS_CANT_CREATE_JUNCT },
|
||||
{ "WERR_INVALID_SECURITY_DESCRIPTOR", WERR_INVALID_SECURITY_DESCRIPTOR },
|
||||
{ "WERR_UNKNOWN_REVISION", WERR_UNKNOWN_REVISION },
|
||||
{ "WERR_REVISION_MISMATCH", WERR_REVISION_MISMATCH },
|
||||
{ "WERR_INVALID_OWNER", WERR_INVALID_OWNER },
|
||||
{ "WERR_INVALID_COMPUTERNAME", WERR_INVALID_COMPUTERNAME },
|
||||
{ "WERR_INVALID_DOMAINNAME", WERR_INVALID_DOMAINNAME },
|
||||
{ "WERR_NO_LOGON_SERVERS", WERR_NO_LOGON_SERVERS },
|
||||
{ "WERR_NO_SUCH_PRIVILEGE", WERR_NO_SUCH_PRIVILEGE },
|
||||
{ "WERR_PRIVILEGE_NOT_HELD", WERR_PRIVILEGE_NOT_HELD },
|
||||
{ "WERR_NO_SUCH_USER", WERR_NO_SUCH_USER },
|
||||
{ "WERR_NO_SUCH_DOMAIN", WERR_NO_SUCH_DOMAIN },
|
||||
{ "WERR_NO_SYSTEM_RESOURCES", WERR_NO_SYSTEM_RESOURCES },
|
||||
{ "WERR_DS_SERVICE_BUSY", WERR_DS_SERVICE_BUSY },
|
||||
{ "WERR_DS_SERVICE_UNAVAILABLE", WERR_DS_SERVICE_UNAVAILABLE },
|
||||
{ "WERR_DS_NO_SUCH_OBJECT", WERR_DS_NO_SUCH_OBJECT },
|
||||
{ "WERR_DS_OBJ_NOT_FOUND", WERR_DS_OBJ_NOT_FOUND },
|
||||
{ "WERR_DS_DRA_INVALID_PARAMETER", WERR_DS_DRA_INVALID_PARAMETER },
|
||||
{ "WERR_DS_DRA_BAD_DN", WERR_DS_DRA_BAD_DN },
|
||||
{ "WERR_DS_DRA_BAD_NC", WERR_DS_DRA_BAD_NC },
|
||||
{ "WERR_DS_DRA_INTERNAL_ERROR", WERR_DS_DRA_INTERNAL_ERROR },
|
||||
{ "WERR_DS_DRA_OUT_OF_MEM", WERR_DS_DRA_OUT_OF_MEM },
|
||||
{ "WERR_DS_SINGLE_VALUE_CONSTRAINT", WERR_DS_SINGLE_VALUE_CONSTRAINT },
|
||||
{ "WERR_DS_DRA_DB_ERROR", WERR_DS_DRA_DB_ERROR },
|
||||
{ "WERR_DS_DRA_NO_REPLICA", WERR_DS_DRA_NO_REPLICA },
|
||||
{ "WERR_DS_DRA_ACCESS_DENIED", WERR_DS_DRA_ACCESS_DENIED },
|
||||
{ "WERR_DS_DNS_LOOKUP_FAILURE", WERR_DS_DNS_LOOKUP_FAILURE },
|
||||
{ "WERR_DS_WRONG_LINKED_ATTRIBUTE_SYNTAX", WERR_DS_WRONG_LINKED_ATTRIBUTE_SYNTAX },
|
||||
{ "WERR_GENERAL_FAILURE", WERR_GENERAL_FAILURE },
|
||||
{ "WERR_PRINTQ_FULL", WERR_PRINTQ_FULL },
|
||||
{ "WERR_NO_SPOOL_SPACE", WERR_NO_SPOOL_SPACE },
|
||||
{ "WERR_CAN_NOT_COMPLETE", WERR_CAN_NOT_COMPLETE },
|
||||
{ "WERR_NOT_FOUND", WERR_NOT_FOUND },
|
||||
{ "WERR_SERVER_UNAVAILABLE", WERR_SERVER_UNAVAILABLE },
|
||||
{ "WERR_CLASS_NOT_REGISTERED", WERR_CLASS_NOT_REGISTERED },
|
||||
{ "WERR_NO_SHUTDOWN_IN_PROGRESS", WERR_NO_SHUTDOWN_IN_PROGRESS },
|
||||
{ "WERR_SHUTDOWN_ALREADY_IN_PROGRESS", WERR_SHUTDOWN_ALREADY_IN_PROGRESS },
|
||||
{ "WERR_SEC_E_ALGORITHM_MISMATCH", WERR_SEC_E_ALGORITHM_MISMATCH },
|
||||
{ NULL, W_ERROR(0) }
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
/* DFS errors */
|
||||
|
||||
/*****************************************************************************
|
||||
returns a windows error message. not amazingly helpful, but better than a number.
|
||||
*****************************************************************************/
|
||||
const char *win_errstr(WERROR werror)
|
||||
{
|
||||
static pstring msg;
|
||||
int idx = 0;
|
||||
|
||||
while (dos_errs[idx].dos_errstr != NULL) {
|
||||
if (W_ERROR_V(dos_errs[idx].werror) ==
|
||||
W_ERROR_V(werror))
|
||||
return dos_errs[idx].dos_errstr;
|
||||
idx++;
|
||||
}
|
||||
|
||||
slprintf(msg, sizeof(msg), "DOS code 0x%08x", W_ERROR_V(werror));
|
||||
|
||||
return msg;
|
||||
}
|
||||
@@ -0,0 +1,281 @@
|
||||
/*
|
||||
Unix SMB/CIFS implementation.
|
||||
DOS error code constants
|
||||
Copyright (C) Andrew Tridgell 1992-2000
|
||||
Copyright (C) John H Terpstra 1996-2000
|
||||
Copyright (C) Luke Kenneth Casson Leighton 1996-2000
|
||||
Copyright (C) Paul Ashton 1998-2000
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
#ifndef _DOSERR_H
|
||||
#define _DOSERR_H
|
||||
|
||||
/* Error classes */
|
||||
|
||||
#define ERRDOS 0x01 /* Error is from the core DOS operating system set. */
|
||||
#define ERRSRV 0x02 /* Error is generated by the server network file manager.*/
|
||||
#define ERRHRD 0x03 /* Error is an hardware error. */
|
||||
#define ERRCMD 0xFF /* Command was not in the "SMB" format. */
|
||||
|
||||
/* SMB X/Open error codes for the ERRDOS error class */
|
||||
#define ERRsuccess 0 /* No error */
|
||||
#define ERRbadfunc 1 /* Invalid function (or system call) */
|
||||
#define ERRbadfile 2 /* File not found (pathname error) */
|
||||
#define ERRbadpath 3 /* Directory not found */
|
||||
#define ERRnofids 4 /* Too many open files */
|
||||
#define ERRnoaccess 5 /* Access denied */
|
||||
#define ERRbadfid 6 /* Invalid fid */
|
||||
#define ERRbadmcb 7 /* Memory control blocks destroyed. */
|
||||
#define ERRnomem 8 /* Out of memory */
|
||||
#define ERRbadmem 9 /* Invalid memory block address */
|
||||
#define ERRbadenv 10 /* Invalid environment */
|
||||
#define ERRbadaccess 12 /* Invalid open mode */
|
||||
#define ERRbaddata 13 /* Invalid data (only from ioctl call) */
|
||||
#define ERRres 14 /* reserved */
|
||||
#define ERRbaddrive 15 /* Invalid drive */
|
||||
#define ERRremcd 16 /* Attempt to delete current directory */
|
||||
#define ERRdiffdevice 17 /* rename/move across different filesystems */
|
||||
#define ERRnofiles 18 /* no more files found in file search */
|
||||
#define ERRgeneral 31 /* General failure */
|
||||
#define ERRbadshare 32 /* Share mode on file conflict with open mode */
|
||||
#define ERRlock 33 /* Lock request conflicts with existing lock */
|
||||
#define ERRunsup 50 /* Request unsupported, returned by Win 95, RJS 20Jun98 */
|
||||
#define ERRnetnamedel 64 /* Network name deleted or not available */
|
||||
#define ERRnosuchshare 67 /* You specified an invalid share name */
|
||||
#define ERRfilexists 80 /* File in operation already exists */
|
||||
#define ERRinvalidparam 87
|
||||
#define ERRcannotopen 110 /* Cannot open the file specified */
|
||||
#define ERRinsufficientbuffer 122
|
||||
#define ERRinvalidname 123 /* Invalid name */
|
||||
#define ERRunknownlevel 124
|
||||
#define ERRnotlocked 158 /* This region is not locked by this locking context. */
|
||||
#define ERRinvalidpath 161
|
||||
#define ERRcancelviolation 173
|
||||
#define ERRnoatomiclocks 174
|
||||
#define ERRrename 183
|
||||
#define ERRbadpipe 230 /* Named pipe invalid */
|
||||
#define ERRpipebusy 231 /* All instances of pipe are busy */
|
||||
#define ERRpipeclosing 232 /* named pipe close in progress */
|
||||
#define ERRnotconnected 233 /* No process on other end of named pipe */
|
||||
#define ERRmoredata 234 /* More data to be returned */
|
||||
#define ERReainconsistent 255 /* from EMC */
|
||||
#define ERRnomoreitems 259
|
||||
#define ERRbaddirectory 267 /* Invalid directory name in a path. */
|
||||
#define ERReasnotsupported 282 /* Extended attributes */
|
||||
#define ERRlogonfailure 1326 /* Unknown username or bad password */
|
||||
#define ERRbuftoosmall 2123
|
||||
#define ERRunknownipc 2142
|
||||
#define ERRnosuchprintjob 2151
|
||||
#define ERRinvgroup 2455
|
||||
|
||||
/* here's a special one from observing NT */
|
||||
#define ERRnoipc 66 /* don't support ipc */
|
||||
|
||||
/* These errors seem to be only returned by the NT printer driver system */
|
||||
#define ERRdriveralreadyinstalled 1795 /* ERROR_PRINTER_DRIVER_ALREADY_INSTALLED */
|
||||
#define ERRunknownprinterport 1796 /* ERROR_UNKNOWN_PORT */
|
||||
#define ERRunknownprinterdriver 1797 /* ERROR_UNKNOWN_PRINTER_DRIVER */
|
||||
#define ERRunknownprintprocessor 1798 /* ERROR_UNKNOWN_PRINTPROCESSOR */
|
||||
#define ERRinvalidseparatorfile 1799 /* ERROR_INVALID_SEPARATOR_FILE */
|
||||
#define ERRinvalidjobpriority 1800 /* ERROR_INVALID_PRIORITY */
|
||||
#define ERRinvalidprintername 1801 /* ERROR_INVALID_PRINTER_NAME */
|
||||
#define ERRprinteralreadyexists 1802 /* ERROR_PRINTER_ALREADY_EXISTS */
|
||||
#define ERRinvalidprintercommand 1803 /* ERROR_INVALID_PRINTER_COMMAND */
|
||||
#define ERRinvaliddatatype 1804 /* ERROR_INVALID_DATATYPE */
|
||||
#define ERRinvalidenvironment 1805 /* ERROR_INVALID_ENVIRONMENT */
|
||||
|
||||
#define ERRunknownprintmonitor 3000 /* ERROR_UNKNOWN_PRINT_MONITOR */
|
||||
#define ERRprinterdriverinuse 3001 /* ERROR_PRINTER_DRIVER_IN_USE */
|
||||
#define ERRspoolfilenotfound 3002 /* ERROR_SPOOL_FILE_NOT_FOUND */
|
||||
#define ERRnostartdoc 3003 /* ERROR_SPL_NO_STARTDOC */
|
||||
#define ERRnoaddjob 3004 /* ERROR_SPL_NO_ADDJOB */
|
||||
#define ERRprintprocessoralreadyinstalled 3005 /* ERROR_PRINT_PROCESSOR_ALREADY_INSTALLED */
|
||||
#define ERRprintmonitoralreadyinstalled 3006 /* ERROR_PRINT_MONITOR_ALREADY_INSTALLED */
|
||||
#define ERRinvalidprintmonitor 3007 /* ERROR_INVALID_PRINT_MONITOR */
|
||||
#define ERRprintmonitorinuse 3008 /* ERROR_PRINT_MONITOR_IN_USE */
|
||||
#define ERRprinterhasjobsqueued 3009 /* ERROR_PRINTER_HAS_JOBS_QUEUED */
|
||||
|
||||
/* Error codes for the ERRSRV class */
|
||||
|
||||
#define ERRerror 1 /* Non specific error code */
|
||||
#define ERRbadpw 2 /* Bad password */
|
||||
#define ERRbadtype 3 /* reserved */
|
||||
#define ERRaccess 4 /* No permissions to do the requested operation */
|
||||
#define ERRinvnid 5 /* tid invalid */
|
||||
#define ERRinvnetname 6 /* Invalid servername */
|
||||
#define ERRinvdevice 7 /* Invalid device */
|
||||
#define ERRqfull 49 /* Print queue full */
|
||||
#define ERRqtoobig 50 /* Queued item too big */
|
||||
#define ERRinvpfid 52 /* Invalid print file in smb_fid */
|
||||
#define ERRsmbcmd 64 /* Unrecognised command */
|
||||
#define ERRsrverror 65 /* smb server internal error */
|
||||
#define ERRfilespecs 67 /* fid and pathname invalid combination */
|
||||
#define ERRbadlink 68 /* reserved */
|
||||
#define ERRbadpermits 69 /* Access specified for a file is not valid */
|
||||
#define ERRbadpid 70 /* reserved */
|
||||
#define ERRsetattrmode 71 /* attribute mode invalid */
|
||||
#define ERRpaused 81 /* Message server paused */
|
||||
#define ERRmsgoff 82 /* Not receiving messages */
|
||||
#define ERRnoroom 83 /* No room for message */
|
||||
#define ERRrmuns 87 /* too many remote usernames */
|
||||
#define ERRtimeout 88 /* operation timed out */
|
||||
#define ERRnoresource 89 /* No resources currently available for request. */
|
||||
#define ERRtoomanyuids 90 /* too many userids */
|
||||
#define ERRbaduid 91 /* bad userid */
|
||||
#define ERRuseMPX 250 /* temporarily unable to use raw mode, use MPX mode */
|
||||
#define ERRuseSTD 251 /* temporarily unable to use raw mode, use standard mode */
|
||||
#define ERRcontMPX 252 /* resume MPX mode */
|
||||
#define ERRnosupport 0xFFFF
|
||||
#define ERRunknownsmb 22 /* from NT 3.5 response */
|
||||
|
||||
/* Error codes for the ERRHRD class */
|
||||
|
||||
#define ERRnowrite 19 /* read only media */
|
||||
#define ERRbadunit 20 /* Unknown device */
|
||||
#define ERRnotready 21 /* Drive not ready */
|
||||
#define ERRbadcmd 22 /* Unknown command */
|
||||
#define ERRdata 23 /* Data (CRC) error */
|
||||
#define ERRbadreq 24 /* Bad request structure length */
|
||||
#define ERRseek 25
|
||||
#define ERRbadmedia 26
|
||||
#define ERRbadsector 27
|
||||
#define ERRnopaper 28
|
||||
#define ERRwrite 29 /* write fault */
|
||||
#define ERRread 30 /* read fault */
|
||||
#define ERRgeneral 31 /* General hardware failure */
|
||||
#define ERRwrongdisk 34
|
||||
#define ERRFCBunavail 35
|
||||
#define ERRsharebufexc 36 /* share buffer exceeded */
|
||||
#define ERRdiskfull 39
|
||||
|
||||
|
||||
/* these are win32 error codes. There are only a few places where
|
||||
these matter for Samba, primarily in the NT printing code */
|
||||
#define WERR_OK W_ERROR(0)
|
||||
#define WERR_BADFUNC W_ERROR(1)
|
||||
#define WERR_BADFILE W_ERROR(2)
|
||||
#define WERR_ACCESS_DENIED W_ERROR(5)
|
||||
#define WERR_BADFID W_ERROR(6)
|
||||
#define WERR_NOMEM W_ERROR(8)
|
||||
#define WERR_GENERAL_FAILURE W_ERROR(31)
|
||||
#define WERR_NOT_SUPPORTED W_ERROR(50)
|
||||
#define WERR_BAD_NETPATH W_ERROR(53)
|
||||
#define WERR_BAD_NET_RESP W_ERROR(58)
|
||||
#define WERR_UNEXP_NET_ERR W_ERROR(59)
|
||||
#define WERR_PRINTQ_FULL W_ERROR(61)
|
||||
#define WERR_NO_SPOOL_SPACE W_ERROR(62)
|
||||
#define WERR_NO_SUCH_SHARE W_ERROR(67)
|
||||
#define WERR_FILE_EXISTS W_ERROR(80)
|
||||
#define WERR_BAD_PASSWORD W_ERROR(86)
|
||||
#define WERR_INVALID_PARAM W_ERROR(87)
|
||||
#define WERR_INSUFFICIENT_BUFFER W_ERROR(122)
|
||||
#define WERR_INVALID_NAME W_ERROR(123)
|
||||
#define WERR_UNKNOWN_LEVEL W_ERROR(124)
|
||||
#define WERR_OBJECT_PATH_INVALID W_ERROR(161)
|
||||
#define WERR_ALREADY_EXISTS W_ERROR(183)
|
||||
#define WERR_NO_MORE_ITEMS W_ERROR(259)
|
||||
#define WERR_MORE_DATA W_ERROR(234)
|
||||
#define WERR_CAN_NOT_COMPLETE W_ERROR(1003)
|
||||
#define WERR_NOT_FOUND W_ERROR(1168)
|
||||
#define WERR_INVALID_COMPUTERNAME W_ERROR(1210)
|
||||
#define WERR_INVALID_DOMAINNAME W_ERROR(1212)
|
||||
#define WERR_UNKNOWN_REVISION W_ERROR(1305)
|
||||
#define WERR_REVISION_MISMATCH W_ERROR(1306)
|
||||
#define WERR_INVALID_OWNER W_ERROR(1307)
|
||||
#define WERR_NO_LOGON_SERVERS W_ERROR(1311)
|
||||
#define WERR_NO_SUCH_PRIVILEGE W_ERROR(1313)
|
||||
#define WERR_PRIVILEGE_NOT_HELD W_ERROR(1314)
|
||||
#define WERR_NO_SUCH_USER W_ERROR(1317)
|
||||
#define WERR_INVALID_SECURITY_DESCRIPTOR W_ERROR(1338)
|
||||
#define WERR_NO_SUCH_DOMAIN W_ERROR(1355)
|
||||
#define WERR_NO_SYSTEM_RESOURCES W_ERROR(1450)
|
||||
#define WERR_SERVER_UNAVAILABLE W_ERROR(1722)
|
||||
#define WERR_INVALID_FORM_NAME W_ERROR(1902)
|
||||
#define WERR_INVALID_FORM_SIZE W_ERROR(1903)
|
||||
#define WERR_ALREADY_SHARED W_ERROR(2118)
|
||||
#define WERR_BUF_TOO_SMALL W_ERROR(2123)
|
||||
#define WERR_JOB_NOT_FOUND W_ERROR(2151)
|
||||
#define WERR_DEST_NOT_FOUND W_ERROR(2152)
|
||||
#define WERR_NOT_LOCAL_DOMAIN W_ERROR(2320)
|
||||
#define WERR_DEVICE_NOT_AVAILABLE W_ERROR(4319)
|
||||
#define WERR_STATUS_MORE_ENTRIES W_ERROR(0x0105)
|
||||
|
||||
#define WERR_PRINTER_DRIVER_ALREADY_INSTALLED W_ERROR(ERRdriveralreadyinstalled)
|
||||
#define WERR_UNKNOWN_PORT W_ERROR(ERRunknownprinterport)
|
||||
#define WERR_UNKNOWN_PRINTER_DRIVER W_ERROR(ERRunknownprinterdriver)
|
||||
#define WERR_UNKNOWN_PRINTPROCESSOR W_ERROR(ERRunknownprintprocessor)
|
||||
#define WERR_INVALID_SEPARATOR_FILE W_ERROR(ERRinvalidseparatorfile)
|
||||
#define WERR_INVALID_PRIORITY W_ERROR(ERRinvalidjobpriority)
|
||||
#define WERR_INVALID_PRINTER_NAME W_ERROR(ERRinvalidprintername)
|
||||
#define WERR_PRINTER_ALREADY_EXISTS W_ERROR(ERRprinteralreadyexists)
|
||||
#define WERR_INVALID_PRINTER_COMMAND W_ERROR(ERRinvalidprintercommand)
|
||||
#define WERR_INVALID_DATATYPE W_ERROR(ERRinvaliddatatype)
|
||||
#define WERR_INVALID_ENVIRONMENT W_ERROR(ERRinvalidenvironment)
|
||||
|
||||
#define WERR_UNKNOWN_PRINT_MONITOR W_ERROR(ERRunknownprintmonitor)
|
||||
#define WERR_PRINTER_DRIVER_IN_USE W_ERROR(ERRprinterdriverinuse)
|
||||
#define WERR_SPOOL_FILE_NOT_FOUND W_ERROR(ERRspoolfilenotfound)
|
||||
#define WERR_SPL_NO_STARTDOC W_ERROR(ERRnostartdoc)
|
||||
#define WERR_SPL_NO_ADDJOB W_ERROR(ERRnoaddjob)
|
||||
#define WERR_PRINT_PROCESSOR_ALREADY_INSTALLED W_ERROR(ERRprintprocessoralreadyinstalled)
|
||||
#define WERR_PRINT_MONITOR_ALREADY_INSTALLED W_ERROR(ERRprintmonitoralreadyinstalled)
|
||||
#define WERR_INVALID_PRINT_MONITOR W_ERROR(ERRinvalidprintmonitor)
|
||||
#define WERR_PRINT_MONITOR_IN_USE W_ERROR(ERRprintmonitorinuse)
|
||||
#define WERR_PRINTER_HAS_JOBS_QUEUED W_ERROR(ERRprinterhasjobsqueued)
|
||||
|
||||
#define WERR_CLASS_NOT_REGISTERED W_ERROR(0x40154)
|
||||
#define WERR_NO_SHUTDOWN_IN_PROGRESS W_ERROR(0x45c)
|
||||
#define WERR_SHUTDOWN_ALREADY_IN_PROGRESS W_ERROR(0x45b)
|
||||
|
||||
|
||||
#ifndef NERR_BASE
|
||||
#define NERR_BASE (2100)
|
||||
#endif
|
||||
|
||||
#define WERR_NET_NAME_NOT_FOUND W_ERROR(NERR_BASE+210)
|
||||
#define WERR_DEVICE_NOT_SHARED W_ERROR(NERR_BASE+211)
|
||||
|
||||
/* DFS errors */
|
||||
#define WERR_DFS_NO_SUCH_VOL W_ERROR(NERR_BASE+562)
|
||||
#define WERR_DFS_NO_SUCH_SHARE W_ERROR(NERR_BASE+565)
|
||||
#define WERR_DFS_NO_SUCH_SERVER W_ERROR(NERR_BASE+573)
|
||||
#define WERR_DFS_INTERNAL_ERROR W_ERROR(NERR_BASE+590)
|
||||
#define WERR_DFS_CANT_CREATE_JUNCT W_ERROR(NERR_BASE+569)
|
||||
|
||||
/* DS errors */
|
||||
#define WERR_DS_SERVICE_BUSY W_ERROR(0x0000200e)
|
||||
#define WERR_DS_SERVICE_UNAVAILABLE W_ERROR(0x0000200f)
|
||||
#define WERR_DS_NO_SUCH_OBJECT W_ERROR(0x00002030)
|
||||
#define WERR_DS_OBJ_NOT_FOUND W_ERROR(0x0000208d)
|
||||
#define WERR_DS_DRA_INVALID_PARAMETER W_ERROR(0x000020f5)
|
||||
#define WERR_DS_DRA_BAD_DN W_ERROR(0x000020f7)
|
||||
#define WERR_DS_DRA_BAD_NC W_ERROR(0x000020f8)
|
||||
#define WERR_DS_DRA_INTERNAL_ERROR W_ERROR(0x000020fa)
|
||||
#define WERR_DS_DRA_OUT_OF_MEM W_ERROR(0x000020fe)
|
||||
#define WERR_DS_SINGLE_VALUE_CONSTRAINT W_ERROR(0x00002081)
|
||||
#define WERR_DS_DRA_DB_ERROR W_ERROR(0x00002103)
|
||||
#define WERR_DS_DRA_NO_REPLICA W_ERROR(0x00002104)
|
||||
#define WERR_DS_DRA_ACCESS_DENIED W_ERROR(0x00002105)
|
||||
#define WERR_DS_DNS_LOOKUP_FAILURE W_ERROR(0x0000214c)
|
||||
#define WERR_DS_WRONG_LINKED_ATTRIBUTE_SYNTAX W_ERROR(0x00002150)
|
||||
|
||||
/* SEC errors */
|
||||
#define WERR_SEC_E_ALGORITHM_MISMATCH W_ERROR(0x80090331)
|
||||
|
||||
#define WERR_FOOBAR WERR_GENERAL_FAILURE
|
||||
|
||||
#endif /* _DOSERR_H */
|
||||
@@ -0,0 +1,27 @@
|
||||
/*
|
||||
Unix SMB/CIFS implementation.
|
||||
Error handling code
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
#ifndef _SAMBA_ERROR_H_
|
||||
#define _SAMBA_ERROR_H_
|
||||
|
||||
#include "libcli/util/nterr.h"
|
||||
#include "libcli/util/doserr.h"
|
||||
#include "libcli/util/proto.h"
|
||||
|
||||
#endif /* _SAMBA_ERROR_H */
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,121 @@
|
||||
/*
|
||||
Unix SMB/CIFS implementation.
|
||||
SMB parameters and setup, plus a whole lot more.
|
||||
|
||||
Copyright (C) Andrew Tridgell 2001
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
#ifndef _NT_STATUS_H
|
||||
#define _NT_STATUS_H
|
||||
|
||||
/* the following rather strange looking definitions of NTSTATUS and WERROR
|
||||
and there in order to catch common coding errors where different error types
|
||||
are mixed up. This is especially important as we slowly convert Samba
|
||||
from using BOOL for internal functions
|
||||
*/
|
||||
|
||||
#if defined(HAVE_IMMEDIATE_STRUCTURES)
|
||||
typedef struct {uint32_t v;} NTSTATUS;
|
||||
#define NT_STATUS(x) ((NTSTATUS) { x })
|
||||
#define NT_STATUS_V(x) ((x).v)
|
||||
#else
|
||||
typedef uint32_t NTSTATUS;
|
||||
#define NT_STATUS(x) (x)
|
||||
#define NT_STATUS_V(x) (x)
|
||||
#endif
|
||||
|
||||
#if defined(HAVE_IMMEDIATE_STRUCTURES)
|
||||
typedef struct {uint32_t v;} WERROR;
|
||||
#define W_ERROR(x) ((WERROR) { x })
|
||||
#define W_ERROR_V(x) ((x).v)
|
||||
#else
|
||||
typedef uint32_t WERROR;
|
||||
#define W_ERROR(x) (x)
|
||||
#define W_ERROR_V(x) (x)
|
||||
#endif
|
||||
|
||||
#define NT_STATUS_IS_OK(x) (NT_STATUS_V(x) == 0)
|
||||
#define NT_STATUS_IS_ERR(x) ((NT_STATUS_V(x) & 0xc0000000) == 0xc0000000)
|
||||
/* checking for DOS error mapping here is ugly, but unfortunately the
|
||||
alternative is a very intrusive rewrite of the torture code */
|
||||
#define NT_STATUS_EQUAL(x,y) (NT_STATUS_IS_DOS(x)||NT_STATUS_IS_DOS(y)?ntstatus_dos_equal(x,y):NT_STATUS_V(x) == NT_STATUS_V(y))
|
||||
|
||||
#define NT_STATUS_HAVE_NO_MEMORY(x) do { \
|
||||
if (!(x)) {\
|
||||
return NT_STATUS_NO_MEMORY;\
|
||||
}\
|
||||
} while (0)
|
||||
|
||||
#define NT_STATUS_IS_OK_RETURN(x) do { \
|
||||
if (NT_STATUS_IS_OK(x)) {\
|
||||
return x;\
|
||||
}\
|
||||
} while (0)
|
||||
|
||||
#define NT_STATUS_NOT_OK_RETURN(x) do { \
|
||||
if (!NT_STATUS_IS_OK(x)) {\
|
||||
return x;\
|
||||
}\
|
||||
} while (0)
|
||||
|
||||
#define NT_STATUS_IS_ERR_RETURN(x) do { \
|
||||
if (NT_STATUS_IS_ERR(x)) {\
|
||||
return x;\
|
||||
}\
|
||||
} while (0)
|
||||
|
||||
#define NT_STATUS_NOT_ERR_RETURN(x) do { \
|
||||
if (!NT_STATUS_IS_ERR(x)) {\
|
||||
return x;\
|
||||
}\
|
||||
} while (0)
|
||||
|
||||
#define W_ERROR_IS_OK(x) (W_ERROR_V(x) == 0)
|
||||
#define W_ERROR_EQUAL(x,y) (W_ERROR_V(x) == W_ERROR_V(y))
|
||||
|
||||
#define W_ERROR_HAVE_NO_MEMORY(x) do { \
|
||||
if (!(x)) {\
|
||||
return WERR_NOMEM;\
|
||||
}\
|
||||
} while (0)
|
||||
|
||||
#define W_ERROR_IS_OK_RETURN(x) do { \
|
||||
if (W_ERROR_IS_OK(x)) {\
|
||||
return x;\
|
||||
}\
|
||||
} while (0)
|
||||
|
||||
#define W_ERROR_NOT_OK_RETURN(x) do { \
|
||||
if (!W_ERROR_IS_OK(x)) {\
|
||||
return x;\
|
||||
}\
|
||||
} while (0)
|
||||
|
||||
/* this defines special NTSTATUS codes to represent DOS errors. I
|
||||
have chosen this macro to produce status codes in the invalid
|
||||
NTSTATUS range */
|
||||
#define NT_STATUS_DOS(class, code) NT_STATUS(0xF1000000 | ((class)<<16) | code)
|
||||
#define NT_STATUS_IS_DOS(status) ((NT_STATUS_V(status) & 0xFF000000) == 0xF1000000)
|
||||
#define NT_STATUS_DOS_CLASS(status) ((NT_STATUS_V(status) >> 16) & 0xFF)
|
||||
#define NT_STATUS_DOS_CODE(status) (NT_STATUS_V(status) & 0xFFFF)
|
||||
|
||||
/* define ldap error codes as NTSTATUS codes */
|
||||
#define NT_STATUS_LDAP(code) NT_STATUS(0xF2000000 | code)
|
||||
#define NT_STATUS_IS_LDAP(status) ((NT_STATUS_V(status) & 0xFF000000) == 0xF2000000)
|
||||
#define NT_STATUS_LDAP_CODE(status) (NT_STATUS_V(status) & ~0xFF000000)
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,896 @@
|
||||
/*
|
||||
* Unix SMB/CIFS implementation.
|
||||
* RPC Pipe client / server routines
|
||||
* Copyright (C) Luke Kenneth Casson Leighton 1997-2001.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
/* NT error codes. please read nterr.h */
|
||||
|
||||
#include "includes.h"
|
||||
#include "pstring.h"
|
||||
#include "libcli/ldap/ldap.h"
|
||||
|
||||
typedef struct
|
||||
{
|
||||
const char *nt_errstr;
|
||||
NTSTATUS nt_errcode;
|
||||
} nt_err_code_struct;
|
||||
|
||||
#define DOS_CODE(class, code) { #class ":" #code, NT_STATUS_DOS(class, code) }
|
||||
#define LDAP_CODE(code) { #code, NT_STATUS_LDAP(code) }
|
||||
|
||||
static const nt_err_code_struct nt_errs[] =
|
||||
{
|
||||
{ "NT_STATUS_OK", NT_STATUS_OK },
|
||||
{ "STATUS_NO_MORE_FILES", STATUS_NO_MORE_FILES },
|
||||
{ "STATUS_NO_MORE_EAS", STATUS_NO_MORE_EAS },
|
||||
{ "STATUS_INVALID_EA_NAME", STATUS_INVALID_EA_NAME },
|
||||
{ "STATUS_EA_LIST_INCONSISTENT", STATUS_EA_LIST_INCONSISTENT },
|
||||
{ "STATUS_INVALID_EA_FLAG", STATUS_INVALID_EA_FLAG },
|
||||
{ "NT_STATUS_UNSUCCESSFUL", NT_STATUS_UNSUCCESSFUL },
|
||||
{ "NT_STATUS_NOT_IMPLEMENTED", NT_STATUS_NOT_IMPLEMENTED },
|
||||
{ "NT_STATUS_INVALID_INFO_CLASS", NT_STATUS_INVALID_INFO_CLASS },
|
||||
{ "NT_STATUS_INFO_LENGTH_MISMATCH", NT_STATUS_INFO_LENGTH_MISMATCH },
|
||||
{ "NT_STATUS_ACCESS_VIOLATION", NT_STATUS_ACCESS_VIOLATION },
|
||||
{ "STATUS_BUFFER_OVERFLOW", STATUS_BUFFER_OVERFLOW },
|
||||
{ "NT_STATUS_IN_PAGE_ERROR", NT_STATUS_IN_PAGE_ERROR },
|
||||
{ "NT_STATUS_PAGEFILE_QUOTA", NT_STATUS_PAGEFILE_QUOTA },
|
||||
{ "NT_STATUS_INVALID_HANDLE", NT_STATUS_INVALID_HANDLE },
|
||||
{ "NT_STATUS_BAD_INITIAL_STACK", NT_STATUS_BAD_INITIAL_STACK },
|
||||
{ "NT_STATUS_BAD_INITIAL_PC", NT_STATUS_BAD_INITIAL_PC },
|
||||
{ "NT_STATUS_INVALID_CID", NT_STATUS_INVALID_CID },
|
||||
{ "NT_STATUS_TIMER_NOT_CANCELED", NT_STATUS_TIMER_NOT_CANCELED },
|
||||
{ "NT_STATUS_INVALID_PARAMETER", NT_STATUS_INVALID_PARAMETER },
|
||||
{ "NT_STATUS_NO_SUCH_DEVICE", NT_STATUS_NO_SUCH_DEVICE },
|
||||
{ "NT_STATUS_NO_SUCH_FILE", NT_STATUS_NO_SUCH_FILE },
|
||||
{ "NT_STATUS_INVALID_DEVICE_REQUEST", NT_STATUS_INVALID_DEVICE_REQUEST },
|
||||
{ "NT_STATUS_END_OF_FILE", NT_STATUS_END_OF_FILE },
|
||||
{ "NT_STATUS_WRONG_VOLUME", NT_STATUS_WRONG_VOLUME },
|
||||
{ "NT_STATUS_NO_MEDIA_IN_DEVICE", NT_STATUS_NO_MEDIA_IN_DEVICE },
|
||||
{ "NT_STATUS_UNRECOGNIZED_MEDIA", NT_STATUS_UNRECOGNIZED_MEDIA },
|
||||
{ "NT_STATUS_NONEXISTENT_SECTOR", NT_STATUS_NONEXISTENT_SECTOR },
|
||||
{ "NT_STATUS_MORE_PROCESSING_REQUIRED", NT_STATUS_MORE_PROCESSING_REQUIRED },
|
||||
{ "NT_STATUS_NO_MEMORY", NT_STATUS_NO_MEMORY },
|
||||
{ "NT_STATUS_CONFLICTING_ADDRESSES", NT_STATUS_CONFLICTING_ADDRESSES },
|
||||
{ "NT_STATUS_NOT_MAPPED_VIEW", NT_STATUS_NOT_MAPPED_VIEW },
|
||||
{ "NT_STATUS_UNABLE_TO_FREE_VM", NT_STATUS_UNABLE_TO_FREE_VM },
|
||||
{ "NT_STATUS_UNABLE_TO_DELETE_SECTION", NT_STATUS_UNABLE_TO_DELETE_SECTION },
|
||||
{ "NT_STATUS_INVALID_SYSTEM_SERVICE", NT_STATUS_INVALID_SYSTEM_SERVICE },
|
||||
{ "NT_STATUS_ILLEGAL_INSTRUCTION", NT_STATUS_ILLEGAL_INSTRUCTION },
|
||||
{ "NT_STATUS_INVALID_LOCK_SEQUENCE", NT_STATUS_INVALID_LOCK_SEQUENCE },
|
||||
{ "NT_STATUS_INVALID_VIEW_SIZE", NT_STATUS_INVALID_VIEW_SIZE },
|
||||
{ "NT_STATUS_INVALID_FILE_FOR_SECTION", NT_STATUS_INVALID_FILE_FOR_SECTION },
|
||||
{ "NT_STATUS_ALREADY_COMMITTED", NT_STATUS_ALREADY_COMMITTED },
|
||||
{ "NT_STATUS_ACCESS_DENIED", NT_STATUS_ACCESS_DENIED },
|
||||
{ "NT_STATUS_BUFFER_TOO_SMALL", NT_STATUS_BUFFER_TOO_SMALL },
|
||||
{ "NT_STATUS_OBJECT_TYPE_MISMATCH", NT_STATUS_OBJECT_TYPE_MISMATCH },
|
||||
{ "NT_STATUS_NONCONTINUABLE_EXCEPTION", NT_STATUS_NONCONTINUABLE_EXCEPTION },
|
||||
{ "NT_STATUS_INVALID_DISPOSITION", NT_STATUS_INVALID_DISPOSITION },
|
||||
{ "NT_STATUS_UNWIND", NT_STATUS_UNWIND },
|
||||
{ "NT_STATUS_BAD_STACK", NT_STATUS_BAD_STACK },
|
||||
{ "NT_STATUS_INVALID_UNWIND_TARGET", NT_STATUS_INVALID_UNWIND_TARGET },
|
||||
{ "NT_STATUS_NOT_LOCKED", NT_STATUS_NOT_LOCKED },
|
||||
{ "NT_STATUS_PARITY_ERROR", NT_STATUS_PARITY_ERROR },
|
||||
{ "NT_STATUS_UNABLE_TO_DECOMMIT_VM", NT_STATUS_UNABLE_TO_DECOMMIT_VM },
|
||||
{ "NT_STATUS_NOT_COMMITTED", NT_STATUS_NOT_COMMITTED },
|
||||
{ "NT_STATUS_INVALID_PORT_ATTRIBUTES", NT_STATUS_INVALID_PORT_ATTRIBUTES },
|
||||
{ "NT_STATUS_PORT_MESSAGE_TOO_LONG", NT_STATUS_PORT_MESSAGE_TOO_LONG },
|
||||
{ "NT_STATUS_INVALID_PARAMETER_MIX", NT_STATUS_INVALID_PARAMETER_MIX },
|
||||
{ "NT_STATUS_INVALID_QUOTA_LOWER", NT_STATUS_INVALID_QUOTA_LOWER },
|
||||
{ "NT_STATUS_DISK_CORRUPT_ERROR", NT_STATUS_DISK_CORRUPT_ERROR },
|
||||
{ "NT_STATUS_OBJECT_NAME_INVALID", NT_STATUS_OBJECT_NAME_INVALID },
|
||||
{ "NT_STATUS_OBJECT_NAME_NOT_FOUND", NT_STATUS_OBJECT_NAME_NOT_FOUND },
|
||||
{ "NT_STATUS_OBJECT_NAME_COLLISION", NT_STATUS_OBJECT_NAME_COLLISION },
|
||||
{ "NT_STATUS_HANDLE_NOT_WAITABLE", NT_STATUS_HANDLE_NOT_WAITABLE },
|
||||
{ "NT_STATUS_PORT_DISCONNECTED", NT_STATUS_PORT_DISCONNECTED },
|
||||
{ "NT_STATUS_DEVICE_ALREADY_ATTACHED", NT_STATUS_DEVICE_ALREADY_ATTACHED },
|
||||
{ "NT_STATUS_OBJECT_PATH_INVALID", NT_STATUS_OBJECT_PATH_INVALID },
|
||||
{ "NT_STATUS_OBJECT_PATH_NOT_FOUND", NT_STATUS_OBJECT_PATH_NOT_FOUND },
|
||||
{ "NT_STATUS_OBJECT_PATH_SYNTAX_BAD", NT_STATUS_OBJECT_PATH_SYNTAX_BAD },
|
||||
{ "NT_STATUS_DATA_OVERRUN", NT_STATUS_DATA_OVERRUN },
|
||||
{ "NT_STATUS_DATA_LATE_ERROR", NT_STATUS_DATA_LATE_ERROR },
|
||||
{ "NT_STATUS_DATA_ERROR", NT_STATUS_DATA_ERROR },
|
||||
{ "NT_STATUS_CRC_ERROR", NT_STATUS_CRC_ERROR },
|
||||
{ "NT_STATUS_SECTION_TOO_BIG", NT_STATUS_SECTION_TOO_BIG },
|
||||
{ "NT_STATUS_PORT_CONNECTION_REFUSED", NT_STATUS_PORT_CONNECTION_REFUSED },
|
||||
{ "NT_STATUS_INVALID_PORT_HANDLE", NT_STATUS_INVALID_PORT_HANDLE },
|
||||
{ "NT_STATUS_SHARING_VIOLATION", NT_STATUS_SHARING_VIOLATION },
|
||||
{ "NT_STATUS_QUOTA_EXCEEDED", NT_STATUS_QUOTA_EXCEEDED },
|
||||
{ "NT_STATUS_INVALID_PAGE_PROTECTION", NT_STATUS_INVALID_PAGE_PROTECTION },
|
||||
{ "NT_STATUS_MUTANT_NOT_OWNED", NT_STATUS_MUTANT_NOT_OWNED },
|
||||
{ "NT_STATUS_SEMAPHORE_LIMIT_EXCEEDED", NT_STATUS_SEMAPHORE_LIMIT_EXCEEDED },
|
||||
{ "NT_STATUS_PORT_ALREADY_SET", NT_STATUS_PORT_ALREADY_SET },
|
||||
{ "NT_STATUS_SECTION_NOT_IMAGE", NT_STATUS_SECTION_NOT_IMAGE },
|
||||
{ "NT_STATUS_SUSPEND_COUNT_EXCEEDED", NT_STATUS_SUSPEND_COUNT_EXCEEDED },
|
||||
{ "NT_STATUS_THREAD_IS_TERMINATING", NT_STATUS_THREAD_IS_TERMINATING },
|
||||
{ "NT_STATUS_BAD_WORKING_SET_LIMIT", NT_STATUS_BAD_WORKING_SET_LIMIT },
|
||||
{ "NT_STATUS_INCOMPATIBLE_FILE_MAP", NT_STATUS_INCOMPATIBLE_FILE_MAP },
|
||||
{ "NT_STATUS_SECTION_PROTECTION", NT_STATUS_SECTION_PROTECTION },
|
||||
{ "NT_STATUS_EAS_NOT_SUPPORTED", NT_STATUS_EAS_NOT_SUPPORTED },
|
||||
{ "NT_STATUS_EA_TOO_LARGE", NT_STATUS_EA_TOO_LARGE },
|
||||
{ "NT_STATUS_NONEXISTENT_EA_ENTRY", NT_STATUS_NONEXISTENT_EA_ENTRY },
|
||||
{ "NT_STATUS_NO_EAS_ON_FILE", NT_STATUS_NO_EAS_ON_FILE },
|
||||
{ "NT_STATUS_EA_CORRUPT_ERROR", NT_STATUS_EA_CORRUPT_ERROR },
|
||||
{ "NT_STATUS_FILE_LOCK_CONFLICT", NT_STATUS_FILE_LOCK_CONFLICT },
|
||||
{ "NT_STATUS_LOCK_NOT_GRANTED", NT_STATUS_LOCK_NOT_GRANTED },
|
||||
{ "NT_STATUS_DELETE_PENDING", NT_STATUS_DELETE_PENDING },
|
||||
{ "NT_STATUS_CTL_FILE_NOT_SUPPORTED", NT_STATUS_CTL_FILE_NOT_SUPPORTED },
|
||||
{ "NT_STATUS_UNKNOWN_REVISION", NT_STATUS_UNKNOWN_REVISION },
|
||||
{ "NT_STATUS_REVISION_MISMATCH", NT_STATUS_REVISION_MISMATCH },
|
||||
{ "NT_STATUS_INVALID_OWNER", NT_STATUS_INVALID_OWNER },
|
||||
{ "NT_STATUS_INVALID_PRIMARY_GROUP", NT_STATUS_INVALID_PRIMARY_GROUP },
|
||||
{ "NT_STATUS_NO_IMPERSONATION_TOKEN", NT_STATUS_NO_IMPERSONATION_TOKEN },
|
||||
{ "NT_STATUS_CANT_DISABLE_MANDATORY", NT_STATUS_CANT_DISABLE_MANDATORY },
|
||||
{ "NT_STATUS_NO_LOGON_SERVERS", NT_STATUS_NO_LOGON_SERVERS },
|
||||
{ "NT_STATUS_NO_SUCH_LOGON_SESSION", NT_STATUS_NO_SUCH_LOGON_SESSION },
|
||||
{ "NT_STATUS_NO_SUCH_PRIVILEGE", NT_STATUS_NO_SUCH_PRIVILEGE },
|
||||
{ "NT_STATUS_PRIVILEGE_NOT_HELD", NT_STATUS_PRIVILEGE_NOT_HELD },
|
||||
{ "NT_STATUS_INVALID_ACCOUNT_NAME", NT_STATUS_INVALID_ACCOUNT_NAME },
|
||||
{ "NT_STATUS_USER_EXISTS", NT_STATUS_USER_EXISTS },
|
||||
{ "NT_STATUS_NO_SUCH_USER", NT_STATUS_NO_SUCH_USER },
|
||||
{ "NT_STATUS_GROUP_EXISTS", NT_STATUS_GROUP_EXISTS },
|
||||
{ "NT_STATUS_NO_SUCH_GROUP", NT_STATUS_NO_SUCH_GROUP },
|
||||
{ "NT_STATUS_MEMBER_IN_GROUP", NT_STATUS_MEMBER_IN_GROUP },
|
||||
{ "NT_STATUS_MEMBER_NOT_IN_GROUP", NT_STATUS_MEMBER_NOT_IN_GROUP },
|
||||
{ "NT_STATUS_LAST_ADMIN", NT_STATUS_LAST_ADMIN },
|
||||
{ "NT_STATUS_WRONG_PASSWORD", NT_STATUS_WRONG_PASSWORD },
|
||||
{ "NT_STATUS_ILL_FORMED_PASSWORD", NT_STATUS_ILL_FORMED_PASSWORD },
|
||||
{ "NT_STATUS_PASSWORD_RESTRICTION", NT_STATUS_PASSWORD_RESTRICTION },
|
||||
{ "NT_STATUS_LOGON_FAILURE", NT_STATUS_LOGON_FAILURE },
|
||||
{ "NT_STATUS_ACCOUNT_RESTRICTION", NT_STATUS_ACCOUNT_RESTRICTION },
|
||||
{ "NT_STATUS_INVALID_LOGON_HOURS", NT_STATUS_INVALID_LOGON_HOURS },
|
||||
{ "NT_STATUS_INVALID_WORKSTATION", NT_STATUS_INVALID_WORKSTATION },
|
||||
{ "NT_STATUS_PASSWORD_EXPIRED", NT_STATUS_PASSWORD_EXPIRED },
|
||||
{ "NT_STATUS_ACCOUNT_DISABLED", NT_STATUS_ACCOUNT_DISABLED },
|
||||
{ "NT_STATUS_NONE_MAPPED", NT_STATUS_NONE_MAPPED },
|
||||
{ "NT_STATUS_TOO_MANY_LUIDS_REQUESTED", NT_STATUS_TOO_MANY_LUIDS_REQUESTED },
|
||||
{ "NT_STATUS_LUIDS_EXHAUSTED", NT_STATUS_LUIDS_EXHAUSTED },
|
||||
{ "NT_STATUS_INVALID_SUB_AUTHORITY", NT_STATUS_INVALID_SUB_AUTHORITY },
|
||||
{ "NT_STATUS_INVALID_ACL", NT_STATUS_INVALID_ACL },
|
||||
{ "NT_STATUS_INVALID_SID", NT_STATUS_INVALID_SID },
|
||||
{ "NT_STATUS_INVALID_SECURITY_DESCR", NT_STATUS_INVALID_SECURITY_DESCR },
|
||||
{ "NT_STATUS_PROCEDURE_NOT_FOUND", NT_STATUS_PROCEDURE_NOT_FOUND },
|
||||
{ "NT_STATUS_INVALID_IMAGE_FORMAT", NT_STATUS_INVALID_IMAGE_FORMAT },
|
||||
{ "NT_STATUS_NO_TOKEN", NT_STATUS_NO_TOKEN },
|
||||
{ "NT_STATUS_BAD_INHERITANCE_ACL", NT_STATUS_BAD_INHERITANCE_ACL },
|
||||
{ "NT_STATUS_RANGE_NOT_LOCKED", NT_STATUS_RANGE_NOT_LOCKED },
|
||||
{ "NT_STATUS_DISK_FULL", NT_STATUS_DISK_FULL },
|
||||
{ "NT_STATUS_SERVER_DISABLED", NT_STATUS_SERVER_DISABLED },
|
||||
{ "NT_STATUS_SERVER_NOT_DISABLED", NT_STATUS_SERVER_NOT_DISABLED },
|
||||
{ "NT_STATUS_TOO_MANY_GUIDS_REQUESTED", NT_STATUS_TOO_MANY_GUIDS_REQUESTED },
|
||||
{ "NT_STATUS_GUIDS_EXHAUSTED", NT_STATUS_GUIDS_EXHAUSTED },
|
||||
{ "NT_STATUS_INVALID_ID_AUTHORITY", NT_STATUS_INVALID_ID_AUTHORITY },
|
||||
{ "NT_STATUS_AGENTS_EXHAUSTED", NT_STATUS_AGENTS_EXHAUSTED },
|
||||
{ "NT_STATUS_INVALID_VOLUME_LABEL", NT_STATUS_INVALID_VOLUME_LABEL },
|
||||
{ "NT_STATUS_SECTION_NOT_EXTENDED", NT_STATUS_SECTION_NOT_EXTENDED },
|
||||
{ "NT_STATUS_NOT_MAPPED_DATA", NT_STATUS_NOT_MAPPED_DATA },
|
||||
{ "NT_STATUS_RESOURCE_DATA_NOT_FOUND", NT_STATUS_RESOURCE_DATA_NOT_FOUND },
|
||||
{ "NT_STATUS_RESOURCE_TYPE_NOT_FOUND", NT_STATUS_RESOURCE_TYPE_NOT_FOUND },
|
||||
{ "NT_STATUS_RESOURCE_NAME_NOT_FOUND", NT_STATUS_RESOURCE_NAME_NOT_FOUND },
|
||||
{ "NT_STATUS_ARRAY_BOUNDS_EXCEEDED", NT_STATUS_ARRAY_BOUNDS_EXCEEDED },
|
||||
{ "NT_STATUS_FLOAT_DENORMAL_OPERAND", NT_STATUS_FLOAT_DENORMAL_OPERAND },
|
||||
{ "NT_STATUS_FLOAT_DIVIDE_BY_ZERO", NT_STATUS_FLOAT_DIVIDE_BY_ZERO },
|
||||
{ "NT_STATUS_FLOAT_INEXACT_RESULT", NT_STATUS_FLOAT_INEXACT_RESULT },
|
||||
{ "NT_STATUS_FLOAT_INVALID_OPERATION", NT_STATUS_FLOAT_INVALID_OPERATION },
|
||||
{ "NT_STATUS_FLOAT_OVERFLOW", NT_STATUS_FLOAT_OVERFLOW },
|
||||
{ "NT_STATUS_FLOAT_STACK_CHECK", NT_STATUS_FLOAT_STACK_CHECK },
|
||||
{ "NT_STATUS_FLOAT_UNDERFLOW", NT_STATUS_FLOAT_UNDERFLOW },
|
||||
{ "NT_STATUS_INTEGER_DIVIDE_BY_ZERO", NT_STATUS_INTEGER_DIVIDE_BY_ZERO },
|
||||
{ "NT_STATUS_INTEGER_OVERFLOW", NT_STATUS_INTEGER_OVERFLOW },
|
||||
{ "NT_STATUS_PRIVILEGED_INSTRUCTION", NT_STATUS_PRIVILEGED_INSTRUCTION },
|
||||
{ "NT_STATUS_TOO_MANY_PAGING_FILES", NT_STATUS_TOO_MANY_PAGING_FILES },
|
||||
{ "NT_STATUS_FILE_INVALID", NT_STATUS_FILE_INVALID },
|
||||
{ "NT_STATUS_ALLOTTED_SPACE_EXCEEDED", NT_STATUS_ALLOTTED_SPACE_EXCEEDED },
|
||||
{ "NT_STATUS_INSUFFICIENT_RESOURCES", NT_STATUS_INSUFFICIENT_RESOURCES },
|
||||
{ "NT_STATUS_DFS_EXIT_PATH_FOUND", NT_STATUS_DFS_EXIT_PATH_FOUND },
|
||||
{ "NT_STATUS_DEVICE_DATA_ERROR", NT_STATUS_DEVICE_DATA_ERROR },
|
||||
{ "NT_STATUS_DEVICE_NOT_CONNECTED", NT_STATUS_DEVICE_NOT_CONNECTED },
|
||||
{ "NT_STATUS_DEVICE_POWER_FAILURE", NT_STATUS_DEVICE_POWER_FAILURE },
|
||||
{ "NT_STATUS_FREE_VM_NOT_AT_BASE", NT_STATUS_FREE_VM_NOT_AT_BASE },
|
||||
{ "NT_STATUS_MEMORY_NOT_ALLOCATED", NT_STATUS_MEMORY_NOT_ALLOCATED },
|
||||
{ "NT_STATUS_WORKING_SET_QUOTA", NT_STATUS_WORKING_SET_QUOTA },
|
||||
{ "NT_STATUS_MEDIA_WRITE_PROTECTED", NT_STATUS_MEDIA_WRITE_PROTECTED },
|
||||
{ "NT_STATUS_DEVICE_NOT_READY", NT_STATUS_DEVICE_NOT_READY },
|
||||
{ "NT_STATUS_INVALID_GROUP_ATTRIBUTES", NT_STATUS_INVALID_GROUP_ATTRIBUTES },
|
||||
{ "NT_STATUS_BAD_IMPERSONATION_LEVEL", NT_STATUS_BAD_IMPERSONATION_LEVEL },
|
||||
{ "NT_STATUS_CANT_OPEN_ANONYMOUS", NT_STATUS_CANT_OPEN_ANONYMOUS },
|
||||
{ "NT_STATUS_BAD_VALIDATION_CLASS", NT_STATUS_BAD_VALIDATION_CLASS },
|
||||
{ "NT_STATUS_BAD_TOKEN_TYPE", NT_STATUS_BAD_TOKEN_TYPE },
|
||||
{ "NT_STATUS_BAD_MASTER_BOOT_RECORD", NT_STATUS_BAD_MASTER_BOOT_RECORD },
|
||||
{ "NT_STATUS_INSTRUCTION_MISALIGNMENT", NT_STATUS_INSTRUCTION_MISALIGNMENT },
|
||||
{ "NT_STATUS_INSTANCE_NOT_AVAILABLE", NT_STATUS_INSTANCE_NOT_AVAILABLE },
|
||||
{ "NT_STATUS_PIPE_NOT_AVAILABLE", NT_STATUS_PIPE_NOT_AVAILABLE },
|
||||
{ "NT_STATUS_INVALID_PIPE_STATE", NT_STATUS_INVALID_PIPE_STATE },
|
||||
{ "NT_STATUS_PIPE_BUSY", NT_STATUS_PIPE_BUSY },
|
||||
{ "NT_STATUS_ILLEGAL_FUNCTION", NT_STATUS_ILLEGAL_FUNCTION },
|
||||
{ "NT_STATUS_PIPE_DISCONNECTED", NT_STATUS_PIPE_DISCONNECTED },
|
||||
{ "NT_STATUS_PIPE_CLOSING", NT_STATUS_PIPE_CLOSING },
|
||||
{ "NT_STATUS_PIPE_CONNECTED", NT_STATUS_PIPE_CONNECTED },
|
||||
{ "NT_STATUS_PIPE_LISTENING", NT_STATUS_PIPE_LISTENING },
|
||||
{ "NT_STATUS_INVALID_READ_MODE", NT_STATUS_INVALID_READ_MODE },
|
||||
{ "NT_STATUS_IO_TIMEOUT", NT_STATUS_IO_TIMEOUT },
|
||||
{ "NT_STATUS_FILE_FORCED_CLOSED", NT_STATUS_FILE_FORCED_CLOSED },
|
||||
{ "NT_STATUS_PROFILING_NOT_STARTED", NT_STATUS_PROFILING_NOT_STARTED },
|
||||
{ "NT_STATUS_PROFILING_NOT_STOPPED", NT_STATUS_PROFILING_NOT_STOPPED },
|
||||
{ "NT_STATUS_COULD_NOT_INTERPRET", NT_STATUS_COULD_NOT_INTERPRET },
|
||||
{ "NT_STATUS_FILE_IS_A_DIRECTORY", NT_STATUS_FILE_IS_A_DIRECTORY },
|
||||
{ "NT_STATUS_NOT_SUPPORTED", NT_STATUS_NOT_SUPPORTED },
|
||||
{ "NT_STATUS_REMOTE_NOT_LISTENING", NT_STATUS_REMOTE_NOT_LISTENING },
|
||||
{ "NT_STATUS_DUPLICATE_NAME", NT_STATUS_DUPLICATE_NAME },
|
||||
{ "NT_STATUS_BAD_NETWORK_PATH", NT_STATUS_BAD_NETWORK_PATH },
|
||||
{ "NT_STATUS_NETWORK_BUSY", NT_STATUS_NETWORK_BUSY },
|
||||
{ "NT_STATUS_DEVICE_DOES_NOT_EXIST", NT_STATUS_DEVICE_DOES_NOT_EXIST },
|
||||
{ "NT_STATUS_TOO_MANY_COMMANDS", NT_STATUS_TOO_MANY_COMMANDS },
|
||||
{ "NT_STATUS_ADAPTER_HARDWARE_ERROR", NT_STATUS_ADAPTER_HARDWARE_ERROR },
|
||||
{ "NT_STATUS_INVALID_NETWORK_RESPONSE", NT_STATUS_INVALID_NETWORK_RESPONSE },
|
||||
{ "NT_STATUS_UNEXPECTED_NETWORK_ERROR", NT_STATUS_UNEXPECTED_NETWORK_ERROR },
|
||||
{ "NT_STATUS_BAD_REMOTE_ADAPTER", NT_STATUS_BAD_REMOTE_ADAPTER },
|
||||
{ "NT_STATUS_PRINT_QUEUE_FULL", NT_STATUS_PRINT_QUEUE_FULL },
|
||||
{ "NT_STATUS_NO_SPOOL_SPACE", NT_STATUS_NO_SPOOL_SPACE },
|
||||
{ "NT_STATUS_PRINT_CANCELLED", NT_STATUS_PRINT_CANCELLED },
|
||||
{ "NT_STATUS_NETWORK_NAME_DELETED", NT_STATUS_NETWORK_NAME_DELETED },
|
||||
{ "NT_STATUS_NETWORK_ACCESS_DENIED", NT_STATUS_NETWORK_ACCESS_DENIED },
|
||||
{ "NT_STATUS_BAD_DEVICE_TYPE", NT_STATUS_BAD_DEVICE_TYPE },
|
||||
{ "NT_STATUS_BAD_NETWORK_NAME", NT_STATUS_BAD_NETWORK_NAME },
|
||||
{ "NT_STATUS_TOO_MANY_NAMES", NT_STATUS_TOO_MANY_NAMES },
|
||||
{ "NT_STATUS_TOO_MANY_SESSIONS", NT_STATUS_TOO_MANY_SESSIONS },
|
||||
{ "NT_STATUS_SHARING_PAUSED", NT_STATUS_SHARING_PAUSED },
|
||||
{ "NT_STATUS_REQUEST_NOT_ACCEPTED", NT_STATUS_REQUEST_NOT_ACCEPTED },
|
||||
{ "NT_STATUS_REDIRECTOR_PAUSED", NT_STATUS_REDIRECTOR_PAUSED },
|
||||
{ "NT_STATUS_NET_WRITE_FAULT", NT_STATUS_NET_WRITE_FAULT },
|
||||
{ "NT_STATUS_PROFILING_AT_LIMIT", NT_STATUS_PROFILING_AT_LIMIT },
|
||||
{ "NT_STATUS_NOT_SAME_DEVICE", NT_STATUS_NOT_SAME_DEVICE },
|
||||
{ "NT_STATUS_FILE_RENAMED", NT_STATUS_FILE_RENAMED },
|
||||
{ "NT_STATUS_VIRTUAL_CIRCUIT_CLOSED", NT_STATUS_VIRTUAL_CIRCUIT_CLOSED },
|
||||
{ "NT_STATUS_NO_SECURITY_ON_OBJECT", NT_STATUS_NO_SECURITY_ON_OBJECT },
|
||||
{ "NT_STATUS_CANT_WAIT", NT_STATUS_CANT_WAIT },
|
||||
{ "NT_STATUS_PIPE_EMPTY", NT_STATUS_PIPE_EMPTY },
|
||||
{ "NT_STATUS_CANT_ACCESS_DOMAIN_INFO", NT_STATUS_CANT_ACCESS_DOMAIN_INFO },
|
||||
{ "NT_STATUS_CANT_TERMINATE_SELF", NT_STATUS_CANT_TERMINATE_SELF },
|
||||
{ "NT_STATUS_INVALID_SERVER_STATE", NT_STATUS_INVALID_SERVER_STATE },
|
||||
{ "NT_STATUS_INVALID_DOMAIN_STATE", NT_STATUS_INVALID_DOMAIN_STATE },
|
||||
{ "NT_STATUS_INVALID_DOMAIN_ROLE", NT_STATUS_INVALID_DOMAIN_ROLE },
|
||||
{ "NT_STATUS_NO_SUCH_DOMAIN", NT_STATUS_NO_SUCH_DOMAIN },
|
||||
{ "NT_STATUS_DOMAIN_EXISTS", NT_STATUS_DOMAIN_EXISTS },
|
||||
{ "NT_STATUS_DOMAIN_LIMIT_EXCEEDED", NT_STATUS_DOMAIN_LIMIT_EXCEEDED },
|
||||
{ "NT_STATUS_OPLOCK_NOT_GRANTED", NT_STATUS_OPLOCK_NOT_GRANTED },
|
||||
{ "NT_STATUS_INVALID_OPLOCK_PROTOCOL", NT_STATUS_INVALID_OPLOCK_PROTOCOL },
|
||||
{ "NT_STATUS_INTERNAL_DB_CORRUPTION", NT_STATUS_INTERNAL_DB_CORRUPTION },
|
||||
{ "NT_STATUS_INTERNAL_ERROR", NT_STATUS_INTERNAL_ERROR },
|
||||
{ "NT_STATUS_GENERIC_NOT_MAPPED", NT_STATUS_GENERIC_NOT_MAPPED },
|
||||
{ "NT_STATUS_BAD_DESCRIPTOR_FORMAT", NT_STATUS_BAD_DESCRIPTOR_FORMAT },
|
||||
{ "NT_STATUS_INVALID_USER_BUFFER", NT_STATUS_INVALID_USER_BUFFER },
|
||||
{ "NT_STATUS_UNEXPECTED_IO_ERROR", NT_STATUS_UNEXPECTED_IO_ERROR },
|
||||
{ "NT_STATUS_UNEXPECTED_MM_CREATE_ERR", NT_STATUS_UNEXPECTED_MM_CREATE_ERR },
|
||||
{ "NT_STATUS_UNEXPECTED_MM_MAP_ERROR", NT_STATUS_UNEXPECTED_MM_MAP_ERROR },
|
||||
{ "NT_STATUS_UNEXPECTED_MM_EXTEND_ERR", NT_STATUS_UNEXPECTED_MM_EXTEND_ERR },
|
||||
{ "NT_STATUS_NOT_LOGON_PROCESS", NT_STATUS_NOT_LOGON_PROCESS },
|
||||
{ "NT_STATUS_LOGON_SESSION_EXISTS", NT_STATUS_LOGON_SESSION_EXISTS },
|
||||
{ "NT_STATUS_INVALID_PARAMETER_1", NT_STATUS_INVALID_PARAMETER_1 },
|
||||
{ "NT_STATUS_INVALID_PARAMETER_2", NT_STATUS_INVALID_PARAMETER_2 },
|
||||
{ "NT_STATUS_INVALID_PARAMETER_3", NT_STATUS_INVALID_PARAMETER_3 },
|
||||
{ "NT_STATUS_INVALID_PARAMETER_4", NT_STATUS_INVALID_PARAMETER_4 },
|
||||
{ "NT_STATUS_INVALID_PARAMETER_5", NT_STATUS_INVALID_PARAMETER_5 },
|
||||
{ "NT_STATUS_INVALID_PARAMETER_6", NT_STATUS_INVALID_PARAMETER_6 },
|
||||
{ "NT_STATUS_INVALID_PARAMETER_7", NT_STATUS_INVALID_PARAMETER_7 },
|
||||
{ "NT_STATUS_INVALID_PARAMETER_8", NT_STATUS_INVALID_PARAMETER_8 },
|
||||
{ "NT_STATUS_INVALID_PARAMETER_9", NT_STATUS_INVALID_PARAMETER_9 },
|
||||
{ "NT_STATUS_INVALID_PARAMETER_10", NT_STATUS_INVALID_PARAMETER_10 },
|
||||
{ "NT_STATUS_INVALID_PARAMETER_11", NT_STATUS_INVALID_PARAMETER_11 },
|
||||
{ "NT_STATUS_INVALID_PARAMETER_12", NT_STATUS_INVALID_PARAMETER_12 },
|
||||
{ "NT_STATUS_REDIRECTOR_NOT_STARTED", NT_STATUS_REDIRECTOR_NOT_STARTED },
|
||||
{ "NT_STATUS_REDIRECTOR_STARTED", NT_STATUS_REDIRECTOR_STARTED },
|
||||
{ "NT_STATUS_STACK_OVERFLOW", NT_STATUS_STACK_OVERFLOW },
|
||||
{ "NT_STATUS_NO_SUCH_PACKAGE", NT_STATUS_NO_SUCH_PACKAGE },
|
||||
{ "NT_STATUS_BAD_FUNCTION_TABLE", NT_STATUS_BAD_FUNCTION_TABLE },
|
||||
{ "NT_STATUS_DIRECTORY_NOT_EMPTY", NT_STATUS_DIRECTORY_NOT_EMPTY },
|
||||
{ "NT_STATUS_FILE_CORRUPT_ERROR", NT_STATUS_FILE_CORRUPT_ERROR },
|
||||
{ "NT_STATUS_NOT_A_DIRECTORY", NT_STATUS_NOT_A_DIRECTORY },
|
||||
{ "NT_STATUS_BAD_LOGON_SESSION_STATE", NT_STATUS_BAD_LOGON_SESSION_STATE },
|
||||
{ "NT_STATUS_LOGON_SESSION_COLLISION", NT_STATUS_LOGON_SESSION_COLLISION },
|
||||
{ "NT_STATUS_NAME_TOO_LONG", NT_STATUS_NAME_TOO_LONG },
|
||||
{ "NT_STATUS_FILES_OPEN", NT_STATUS_FILES_OPEN },
|
||||
{ "NT_STATUS_CONNECTION_IN_USE", NT_STATUS_CONNECTION_IN_USE },
|
||||
{ "NT_STATUS_MESSAGE_NOT_FOUND", NT_STATUS_MESSAGE_NOT_FOUND },
|
||||
{ "NT_STATUS_PROCESS_IS_TERMINATING", NT_STATUS_PROCESS_IS_TERMINATING },
|
||||
{ "NT_STATUS_INVALID_LOGON_TYPE", NT_STATUS_INVALID_LOGON_TYPE },
|
||||
{ "NT_STATUS_NO_GUID_TRANSLATION", NT_STATUS_NO_GUID_TRANSLATION },
|
||||
{ "NT_STATUS_CANNOT_IMPERSONATE", NT_STATUS_CANNOT_IMPERSONATE },
|
||||
{ "NT_STATUS_IMAGE_ALREADY_LOADED", NT_STATUS_IMAGE_ALREADY_LOADED },
|
||||
{ "NT_STATUS_ABIOS_NOT_PRESENT", NT_STATUS_ABIOS_NOT_PRESENT },
|
||||
{ "NT_STATUS_ABIOS_LID_NOT_EXIST", NT_STATUS_ABIOS_LID_NOT_EXIST },
|
||||
{ "NT_STATUS_ABIOS_LID_ALREADY_OWNED", NT_STATUS_ABIOS_LID_ALREADY_OWNED },
|
||||
{ "NT_STATUS_ABIOS_NOT_LID_OWNER", NT_STATUS_ABIOS_NOT_LID_OWNER },
|
||||
{ "NT_STATUS_ABIOS_INVALID_COMMAND", NT_STATUS_ABIOS_INVALID_COMMAND },
|
||||
{ "NT_STATUS_ABIOS_INVALID_LID", NT_STATUS_ABIOS_INVALID_LID },
|
||||
{ "NT_STATUS_ABIOS_SELECTOR_NOT_AVAILABLE", NT_STATUS_ABIOS_SELECTOR_NOT_AVAILABLE },
|
||||
{ "NT_STATUS_ABIOS_INVALID_SELECTOR", NT_STATUS_ABIOS_INVALID_SELECTOR },
|
||||
{ "NT_STATUS_NO_LDT", NT_STATUS_NO_LDT },
|
||||
{ "NT_STATUS_INVALID_LDT_SIZE", NT_STATUS_INVALID_LDT_SIZE },
|
||||
{ "NT_STATUS_INVALID_LDT_OFFSET", NT_STATUS_INVALID_LDT_OFFSET },
|
||||
{ "NT_STATUS_INVALID_LDT_DESCRIPTOR", NT_STATUS_INVALID_LDT_DESCRIPTOR },
|
||||
{ "NT_STATUS_INVALID_IMAGE_NE_FORMAT", NT_STATUS_INVALID_IMAGE_NE_FORMAT },
|
||||
{ "NT_STATUS_RXACT_INVALID_STATE", NT_STATUS_RXACT_INVALID_STATE },
|
||||
{ "NT_STATUS_RXACT_COMMIT_FAILURE", NT_STATUS_RXACT_COMMIT_FAILURE },
|
||||
{ "NT_STATUS_MAPPED_FILE_SIZE_ZERO", NT_STATUS_MAPPED_FILE_SIZE_ZERO },
|
||||
{ "NT_STATUS_TOO_MANY_OPENED_FILES", NT_STATUS_TOO_MANY_OPENED_FILES },
|
||||
{ "NT_STATUS_CANCELLED", NT_STATUS_CANCELLED },
|
||||
{ "NT_STATUS_CANNOT_DELETE", NT_STATUS_CANNOT_DELETE },
|
||||
{ "NT_STATUS_INVALID_COMPUTER_NAME", NT_STATUS_INVALID_COMPUTER_NAME },
|
||||
{ "NT_STATUS_FILE_DELETED", NT_STATUS_FILE_DELETED },
|
||||
{ "NT_STATUS_SPECIAL_ACCOUNT", NT_STATUS_SPECIAL_ACCOUNT },
|
||||
{ "NT_STATUS_SPECIAL_GROUP", NT_STATUS_SPECIAL_GROUP },
|
||||
{ "NT_STATUS_SPECIAL_USER", NT_STATUS_SPECIAL_USER },
|
||||
{ "NT_STATUS_MEMBERS_PRIMARY_GROUP", NT_STATUS_MEMBERS_PRIMARY_GROUP },
|
||||
{ "NT_STATUS_FILE_CLOSED", NT_STATUS_FILE_CLOSED },
|
||||
{ "NT_STATUS_TOO_MANY_THREADS", NT_STATUS_TOO_MANY_THREADS },
|
||||
{ "NT_STATUS_THREAD_NOT_IN_PROCESS", NT_STATUS_THREAD_NOT_IN_PROCESS },
|
||||
{ "NT_STATUS_TOKEN_ALREADY_IN_USE", NT_STATUS_TOKEN_ALREADY_IN_USE },
|
||||
{ "NT_STATUS_PAGEFILE_QUOTA_EXCEEDED", NT_STATUS_PAGEFILE_QUOTA_EXCEEDED },
|
||||
{ "NT_STATUS_COMMITMENT_LIMIT", NT_STATUS_COMMITMENT_LIMIT },
|
||||
{ "NT_STATUS_INVALID_IMAGE_LE_FORMAT", NT_STATUS_INVALID_IMAGE_LE_FORMAT },
|
||||
{ "NT_STATUS_INVALID_IMAGE_NOT_MZ", NT_STATUS_INVALID_IMAGE_NOT_MZ },
|
||||
{ "NT_STATUS_INVALID_IMAGE_PROTECT", NT_STATUS_INVALID_IMAGE_PROTECT },
|
||||
{ "NT_STATUS_INVALID_IMAGE_WIN_16", NT_STATUS_INVALID_IMAGE_WIN_16 },
|
||||
{ "NT_STATUS_LOGON_SERVER_CONFLICT", NT_STATUS_LOGON_SERVER_CONFLICT },
|
||||
{ "NT_STATUS_TIME_DIFFERENCE_AT_DC", NT_STATUS_TIME_DIFFERENCE_AT_DC },
|
||||
{ "NT_STATUS_SYNCHRONIZATION_REQUIRED", NT_STATUS_SYNCHRONIZATION_REQUIRED },
|
||||
{ "NT_STATUS_DLL_NOT_FOUND", NT_STATUS_DLL_NOT_FOUND },
|
||||
{ "NT_STATUS_OPEN_FAILED", NT_STATUS_OPEN_FAILED },
|
||||
{ "NT_STATUS_IO_PRIVILEGE_FAILED", NT_STATUS_IO_PRIVILEGE_FAILED },
|
||||
{ "NT_STATUS_ORDINAL_NOT_FOUND", NT_STATUS_ORDINAL_NOT_FOUND },
|
||||
{ "NT_STATUS_ENTRYPOINT_NOT_FOUND", NT_STATUS_ENTRYPOINT_NOT_FOUND },
|
||||
{ "NT_STATUS_CONTROL_C_EXIT", NT_STATUS_CONTROL_C_EXIT },
|
||||
{ "NT_STATUS_LOCAL_DISCONNECT", NT_STATUS_LOCAL_DISCONNECT },
|
||||
{ "NT_STATUS_REMOTE_DISCONNECT", NT_STATUS_REMOTE_DISCONNECT },
|
||||
{ "NT_STATUS_REMOTE_RESOURCES", NT_STATUS_REMOTE_RESOURCES },
|
||||
{ "NT_STATUS_LINK_FAILED", NT_STATUS_LINK_FAILED },
|
||||
{ "NT_STATUS_LINK_TIMEOUT", NT_STATUS_LINK_TIMEOUT },
|
||||
{ "NT_STATUS_INVALID_CONNECTION", NT_STATUS_INVALID_CONNECTION },
|
||||
{ "NT_STATUS_INVALID_ADDRESS", NT_STATUS_INVALID_ADDRESS },
|
||||
{ "NT_STATUS_DLL_INIT_FAILED", NT_STATUS_DLL_INIT_FAILED },
|
||||
{ "NT_STATUS_MISSING_SYSTEMFILE", NT_STATUS_MISSING_SYSTEMFILE },
|
||||
{ "NT_STATUS_UNHANDLED_EXCEPTION", NT_STATUS_UNHANDLED_EXCEPTION },
|
||||
{ "NT_STATUS_APP_INIT_FAILURE", NT_STATUS_APP_INIT_FAILURE },
|
||||
{ "NT_STATUS_PAGEFILE_CREATE_FAILED", NT_STATUS_PAGEFILE_CREATE_FAILED },
|
||||
{ "NT_STATUS_NO_PAGEFILE", NT_STATUS_NO_PAGEFILE },
|
||||
{ "NT_STATUS_INVALID_LEVEL", NT_STATUS_INVALID_LEVEL },
|
||||
{ "NT_STATUS_WRONG_PASSWORD_CORE", NT_STATUS_WRONG_PASSWORD_CORE },
|
||||
{ "NT_STATUS_ILLEGAL_FLOAT_CONTEXT", NT_STATUS_ILLEGAL_FLOAT_CONTEXT },
|
||||
{ "NT_STATUS_PIPE_BROKEN", NT_STATUS_PIPE_BROKEN },
|
||||
{ "NT_STATUS_REGISTRY_CORRUPT", NT_STATUS_REGISTRY_CORRUPT },
|
||||
{ "NT_STATUS_REGISTRY_IO_FAILED", NT_STATUS_REGISTRY_IO_FAILED },
|
||||
{ "NT_STATUS_NO_EVENT_PAIR", NT_STATUS_NO_EVENT_PAIR },
|
||||
{ "NT_STATUS_UNRECOGNIZED_VOLUME", NT_STATUS_UNRECOGNIZED_VOLUME },
|
||||
{ "NT_STATUS_SERIAL_NO_DEVICE_INITED", NT_STATUS_SERIAL_NO_DEVICE_INITED },
|
||||
{ "NT_STATUS_NO_SUCH_ALIAS", NT_STATUS_NO_SUCH_ALIAS },
|
||||
{ "NT_STATUS_MEMBER_NOT_IN_ALIAS", NT_STATUS_MEMBER_NOT_IN_ALIAS },
|
||||
{ "NT_STATUS_MEMBER_IN_ALIAS", NT_STATUS_MEMBER_IN_ALIAS },
|
||||
{ "NT_STATUS_ALIAS_EXISTS", NT_STATUS_ALIAS_EXISTS },
|
||||
{ "NT_STATUS_LOGON_NOT_GRANTED", NT_STATUS_LOGON_NOT_GRANTED },
|
||||
{ "NT_STATUS_TOO_MANY_SECRETS", NT_STATUS_TOO_MANY_SECRETS },
|
||||
{ "NT_STATUS_SECRET_TOO_LONG", NT_STATUS_SECRET_TOO_LONG },
|
||||
{ "NT_STATUS_INTERNAL_DB_ERROR", NT_STATUS_INTERNAL_DB_ERROR },
|
||||
{ "NT_STATUS_FULLSCREEN_MODE", NT_STATUS_FULLSCREEN_MODE },
|
||||
{ "NT_STATUS_TOO_MANY_CONTEXT_IDS", NT_STATUS_TOO_MANY_CONTEXT_IDS },
|
||||
{ "NT_STATUS_LOGON_TYPE_NOT_GRANTED", NT_STATUS_LOGON_TYPE_NOT_GRANTED },
|
||||
{ "NT_STATUS_NOT_REGISTRY_FILE", NT_STATUS_NOT_REGISTRY_FILE },
|
||||
{ "NT_STATUS_NT_CROSS_ENCRYPTION_REQUIRED", NT_STATUS_NT_CROSS_ENCRYPTION_REQUIRED },
|
||||
{ "NT_STATUS_DOMAIN_CTRLR_CONFIG_ERROR", NT_STATUS_DOMAIN_CTRLR_CONFIG_ERROR },
|
||||
{ "NT_STATUS_FT_MISSING_MEMBER", NT_STATUS_FT_MISSING_MEMBER },
|
||||
{ "NT_STATUS_ILL_FORMED_SERVICE_ENTRY", NT_STATUS_ILL_FORMED_SERVICE_ENTRY },
|
||||
{ "NT_STATUS_ILLEGAL_CHARACTER", NT_STATUS_ILLEGAL_CHARACTER },
|
||||
{ "NT_STATUS_UNMAPPABLE_CHARACTER", NT_STATUS_UNMAPPABLE_CHARACTER },
|
||||
{ "NT_STATUS_UNDEFINED_CHARACTER", NT_STATUS_UNDEFINED_CHARACTER },
|
||||
{ "NT_STATUS_FLOPPY_VOLUME", NT_STATUS_FLOPPY_VOLUME },
|
||||
{ "NT_STATUS_FLOPPY_ID_MARK_NOT_FOUND", NT_STATUS_FLOPPY_ID_MARK_NOT_FOUND },
|
||||
{ "NT_STATUS_FLOPPY_WRONG_CYLINDER", NT_STATUS_FLOPPY_WRONG_CYLINDER },
|
||||
{ "NT_STATUS_FLOPPY_UNKNOWN_ERROR", NT_STATUS_FLOPPY_UNKNOWN_ERROR },
|
||||
{ "NT_STATUS_FLOPPY_BAD_REGISTERS", NT_STATUS_FLOPPY_BAD_REGISTERS },
|
||||
{ "NT_STATUS_DISK_RECALIBRATE_FAILED", NT_STATUS_DISK_RECALIBRATE_FAILED },
|
||||
{ "NT_STATUS_DISK_OPERATION_FAILED", NT_STATUS_DISK_OPERATION_FAILED },
|
||||
{ "NT_STATUS_DISK_RESET_FAILED", NT_STATUS_DISK_RESET_FAILED },
|
||||
{ "NT_STATUS_SHARED_IRQ_BUSY", NT_STATUS_SHARED_IRQ_BUSY },
|
||||
{ "NT_STATUS_FT_ORPHANING", NT_STATUS_FT_ORPHANING },
|
||||
{ "NT_STATUS_PARTITION_FAILURE", NT_STATUS_PARTITION_FAILURE },
|
||||
{ "NT_STATUS_INVALID_BLOCK_LENGTH", NT_STATUS_INVALID_BLOCK_LENGTH },
|
||||
{ "NT_STATUS_DEVICE_NOT_PARTITIONED", NT_STATUS_DEVICE_NOT_PARTITIONED },
|
||||
{ "NT_STATUS_UNABLE_TO_LOCK_MEDIA", NT_STATUS_UNABLE_TO_LOCK_MEDIA },
|
||||
{ "NT_STATUS_UNABLE_TO_UNLOAD_MEDIA", NT_STATUS_UNABLE_TO_UNLOAD_MEDIA },
|
||||
{ "NT_STATUS_EOM_OVERFLOW", NT_STATUS_EOM_OVERFLOW },
|
||||
{ "NT_STATUS_NO_MEDIA", NT_STATUS_NO_MEDIA },
|
||||
{ "NT_STATUS_NO_SUCH_MEMBER", NT_STATUS_NO_SUCH_MEMBER },
|
||||
{ "NT_STATUS_INVALID_MEMBER", NT_STATUS_INVALID_MEMBER },
|
||||
{ "NT_STATUS_KEY_DELETED", NT_STATUS_KEY_DELETED },
|
||||
{ "NT_STATUS_NO_LOG_SPACE", NT_STATUS_NO_LOG_SPACE },
|
||||
{ "NT_STATUS_TOO_MANY_SIDS", NT_STATUS_TOO_MANY_SIDS },
|
||||
{ "NT_STATUS_LM_CROSS_ENCRYPTION_REQUIRED", NT_STATUS_LM_CROSS_ENCRYPTION_REQUIRED },
|
||||
{ "NT_STATUS_KEY_HAS_CHILDREN", NT_STATUS_KEY_HAS_CHILDREN },
|
||||
{ "NT_STATUS_CHILD_MUST_BE_VOLATILE", NT_STATUS_CHILD_MUST_BE_VOLATILE },
|
||||
{ "NT_STATUS_DEVICE_CONFIGURATION_ERROR", NT_STATUS_DEVICE_CONFIGURATION_ERROR },
|
||||
{ "NT_STATUS_DRIVER_INTERNAL_ERROR", NT_STATUS_DRIVER_INTERNAL_ERROR },
|
||||
{ "NT_STATUS_INVALID_DEVICE_STATE", NT_STATUS_INVALID_DEVICE_STATE },
|
||||
{ "NT_STATUS_IO_DEVICE_ERROR", NT_STATUS_IO_DEVICE_ERROR },
|
||||
{ "NT_STATUS_DEVICE_PROTOCOL_ERROR", NT_STATUS_DEVICE_PROTOCOL_ERROR },
|
||||
{ "NT_STATUS_BACKUP_CONTROLLER", NT_STATUS_BACKUP_CONTROLLER },
|
||||
{ "NT_STATUS_LOG_FILE_FULL", NT_STATUS_LOG_FILE_FULL },
|
||||
{ "NT_STATUS_TOO_LATE", NT_STATUS_TOO_LATE },
|
||||
{ "NT_STATUS_NO_TRUST_LSA_SECRET", NT_STATUS_NO_TRUST_LSA_SECRET },
|
||||
{ "NT_STATUS_NO_TRUST_SAM_ACCOUNT", NT_STATUS_NO_TRUST_SAM_ACCOUNT },
|
||||
{ "NT_STATUS_TRUSTED_DOMAIN_FAILURE", NT_STATUS_TRUSTED_DOMAIN_FAILURE },
|
||||
{ "NT_STATUS_TRUSTED_RELATIONSHIP_FAILURE", NT_STATUS_TRUSTED_RELATIONSHIP_FAILURE },
|
||||
{ "NT_STATUS_EVENTLOG_FILE_CORRUPT", NT_STATUS_EVENTLOG_FILE_CORRUPT },
|
||||
{ "NT_STATUS_EVENTLOG_CANT_START", NT_STATUS_EVENTLOG_CANT_START },
|
||||
{ "NT_STATUS_TRUST_FAILURE", NT_STATUS_TRUST_FAILURE },
|
||||
{ "NT_STATUS_MUTANT_LIMIT_EXCEEDED", NT_STATUS_MUTANT_LIMIT_EXCEEDED },
|
||||
{ "NT_STATUS_NETLOGON_NOT_STARTED", NT_STATUS_NETLOGON_NOT_STARTED },
|
||||
{ "NT_STATUS_ACCOUNT_EXPIRED", NT_STATUS_ACCOUNT_EXPIRED },
|
||||
{ "NT_STATUS_POSSIBLE_DEADLOCK", NT_STATUS_POSSIBLE_DEADLOCK },
|
||||
{ "NT_STATUS_NETWORK_CREDENTIAL_CONFLICT", NT_STATUS_NETWORK_CREDENTIAL_CONFLICT },
|
||||
{ "NT_STATUS_REMOTE_SESSION_LIMIT", NT_STATUS_REMOTE_SESSION_LIMIT },
|
||||
{ "NT_STATUS_EVENTLOG_FILE_CHANGED", NT_STATUS_EVENTLOG_FILE_CHANGED },
|
||||
{ "NT_STATUS_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT", NT_STATUS_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT },
|
||||
{ "NT_STATUS_NOLOGON_WORKSTATION_TRUST_ACCOUNT", NT_STATUS_NOLOGON_WORKSTATION_TRUST_ACCOUNT },
|
||||
{ "NT_STATUS_NOLOGON_SERVER_TRUST_ACCOUNT", NT_STATUS_NOLOGON_SERVER_TRUST_ACCOUNT },
|
||||
{ "NT_STATUS_DOMAIN_TRUST_INCONSISTENT", NT_STATUS_DOMAIN_TRUST_INCONSISTENT },
|
||||
{ "NT_STATUS_FS_DRIVER_REQUIRED", NT_STATUS_FS_DRIVER_REQUIRED },
|
||||
{ "NT_STATUS_NO_USER_SESSION_KEY", NT_STATUS_NO_USER_SESSION_KEY },
|
||||
{ "NT_STATUS_USER_SESSION_DELETED", NT_STATUS_USER_SESSION_DELETED },
|
||||
{ "NT_STATUS_RESOURCE_LANG_NOT_FOUND", NT_STATUS_RESOURCE_LANG_NOT_FOUND },
|
||||
{ "NT_STATUS_INSUFF_SERVER_RESOURCES", NT_STATUS_INSUFF_SERVER_RESOURCES },
|
||||
{ "NT_STATUS_INVALID_BUFFER_SIZE", NT_STATUS_INVALID_BUFFER_SIZE },
|
||||
{ "NT_STATUS_INVALID_ADDRESS_COMPONENT", NT_STATUS_INVALID_ADDRESS_COMPONENT },
|
||||
{ "NT_STATUS_INVALID_ADDRESS_WILDCARD", NT_STATUS_INVALID_ADDRESS_WILDCARD },
|
||||
{ "NT_STATUS_TOO_MANY_ADDRESSES", NT_STATUS_TOO_MANY_ADDRESSES },
|
||||
{ "NT_STATUS_ADDRESS_ALREADY_EXISTS", NT_STATUS_ADDRESS_ALREADY_EXISTS },
|
||||
{ "NT_STATUS_ADDRESS_CLOSED", NT_STATUS_ADDRESS_CLOSED },
|
||||
{ "NT_STATUS_CONNECTION_DISCONNECTED", NT_STATUS_CONNECTION_DISCONNECTED },
|
||||
{ "NT_STATUS_CONNECTION_RESET", NT_STATUS_CONNECTION_RESET },
|
||||
{ "NT_STATUS_TOO_MANY_NODES", NT_STATUS_TOO_MANY_NODES },
|
||||
{ "NT_STATUS_TRANSACTION_ABORTED", NT_STATUS_TRANSACTION_ABORTED },
|
||||
{ "NT_STATUS_TRANSACTION_TIMED_OUT", NT_STATUS_TRANSACTION_TIMED_OUT },
|
||||
{ "NT_STATUS_TRANSACTION_NO_RELEASE", NT_STATUS_TRANSACTION_NO_RELEASE },
|
||||
{ "NT_STATUS_TRANSACTION_NO_MATCH", NT_STATUS_TRANSACTION_NO_MATCH },
|
||||
{ "NT_STATUS_TRANSACTION_RESPONDED", NT_STATUS_TRANSACTION_RESPONDED },
|
||||
{ "NT_STATUS_TRANSACTION_INVALID_ID", NT_STATUS_TRANSACTION_INVALID_ID },
|
||||
{ "NT_STATUS_TRANSACTION_INVALID_TYPE", NT_STATUS_TRANSACTION_INVALID_TYPE },
|
||||
{ "NT_STATUS_NOT_SERVER_SESSION", NT_STATUS_NOT_SERVER_SESSION },
|
||||
{ "NT_STATUS_NOT_CLIENT_SESSION", NT_STATUS_NOT_CLIENT_SESSION },
|
||||
{ "NT_STATUS_CANNOT_LOAD_REGISTRY_FILE", NT_STATUS_CANNOT_LOAD_REGISTRY_FILE },
|
||||
{ "NT_STATUS_DEBUG_ATTACH_FAILED", NT_STATUS_DEBUG_ATTACH_FAILED },
|
||||
{ "NT_STATUS_SYSTEM_PROCESS_TERMINATED", NT_STATUS_SYSTEM_PROCESS_TERMINATED },
|
||||
{ "NT_STATUS_DATA_NOT_ACCEPTED", NT_STATUS_DATA_NOT_ACCEPTED },
|
||||
{ "NT_STATUS_NO_BROWSER_SERVERS_FOUND", NT_STATUS_NO_BROWSER_SERVERS_FOUND },
|
||||
{ "NT_STATUS_VDM_HARD_ERROR", NT_STATUS_VDM_HARD_ERROR },
|
||||
{ "NT_STATUS_DRIVER_CANCEL_TIMEOUT", NT_STATUS_DRIVER_CANCEL_TIMEOUT },
|
||||
{ "NT_STATUS_REPLY_MESSAGE_MISMATCH", NT_STATUS_REPLY_MESSAGE_MISMATCH },
|
||||
{ "NT_STATUS_MAPPED_ALIGNMENT", NT_STATUS_MAPPED_ALIGNMENT },
|
||||
{ "NT_STATUS_IMAGE_CHECKSUM_MISMATCH", NT_STATUS_IMAGE_CHECKSUM_MISMATCH },
|
||||
{ "NT_STATUS_LOST_WRITEBEHIND_DATA", NT_STATUS_LOST_WRITEBEHIND_DATA },
|
||||
{ "NT_STATUS_CLIENT_SERVER_PARAMETERS_INVALID", NT_STATUS_CLIENT_SERVER_PARAMETERS_INVALID },
|
||||
{ "NT_STATUS_PASSWORD_MUST_CHANGE", NT_STATUS_PASSWORD_MUST_CHANGE },
|
||||
{ "NT_STATUS_NOT_FOUND", NT_STATUS_NOT_FOUND },
|
||||
{ "NT_STATUS_NOT_TINY_STREAM", NT_STATUS_NOT_TINY_STREAM },
|
||||
{ "NT_STATUS_RECOVERY_FAILURE", NT_STATUS_RECOVERY_FAILURE },
|
||||
{ "NT_STATUS_STACK_OVERFLOW_READ", NT_STATUS_STACK_OVERFLOW_READ },
|
||||
{ "NT_STATUS_FAIL_CHECK", NT_STATUS_FAIL_CHECK },
|
||||
{ "NT_STATUS_DUPLICATE_OBJECTID", NT_STATUS_DUPLICATE_OBJECTID },
|
||||
{ "NT_STATUS_OBJECTID_EXISTS", NT_STATUS_OBJECTID_EXISTS },
|
||||
{ "NT_STATUS_CONVERT_TO_LARGE", NT_STATUS_CONVERT_TO_LARGE },
|
||||
{ "NT_STATUS_RETRY", NT_STATUS_RETRY },
|
||||
{ "NT_STATUS_FOUND_OUT_OF_SCOPE", NT_STATUS_FOUND_OUT_OF_SCOPE },
|
||||
{ "NT_STATUS_ALLOCATE_BUCKET", NT_STATUS_ALLOCATE_BUCKET },
|
||||
{ "NT_STATUS_PROPSET_NOT_FOUND", NT_STATUS_PROPSET_NOT_FOUND },
|
||||
{ "NT_STATUS_MARSHALL_OVERFLOW", NT_STATUS_MARSHALL_OVERFLOW },
|
||||
{ "NT_STATUS_INVALID_VARIANT", NT_STATUS_INVALID_VARIANT },
|
||||
{ "NT_STATUS_DOMAIN_CONTROLLER_NOT_FOUND", NT_STATUS_DOMAIN_CONTROLLER_NOT_FOUND },
|
||||
{ "NT_STATUS_ACCOUNT_LOCKED_OUT", NT_STATUS_ACCOUNT_LOCKED_OUT },
|
||||
{ "NT_STATUS_HANDLE_NOT_CLOSABLE", NT_STATUS_HANDLE_NOT_CLOSABLE },
|
||||
{ "NT_STATUS_CONNECTION_REFUSED", NT_STATUS_CONNECTION_REFUSED },
|
||||
{ "NT_STATUS_GRACEFUL_DISCONNECT", NT_STATUS_GRACEFUL_DISCONNECT },
|
||||
{ "NT_STATUS_ADDRESS_ALREADY_ASSOCIATED", NT_STATUS_ADDRESS_ALREADY_ASSOCIATED },
|
||||
{ "NT_STATUS_ADDRESS_NOT_ASSOCIATED", NT_STATUS_ADDRESS_NOT_ASSOCIATED },
|
||||
{ "NT_STATUS_CONNECTION_INVALID", NT_STATUS_CONNECTION_INVALID },
|
||||
{ "NT_STATUS_CONNECTION_ACTIVE", NT_STATUS_CONNECTION_ACTIVE },
|
||||
{ "NT_STATUS_NETWORK_UNREACHABLE", NT_STATUS_NETWORK_UNREACHABLE },
|
||||
{ "NT_STATUS_HOST_UNREACHABLE", NT_STATUS_HOST_UNREACHABLE },
|
||||
{ "NT_STATUS_PROTOCOL_UNREACHABLE", NT_STATUS_PROTOCOL_UNREACHABLE },
|
||||
{ "NT_STATUS_PORT_UNREACHABLE", NT_STATUS_PORT_UNREACHABLE },
|
||||
{ "NT_STATUS_REQUEST_ABORTED", NT_STATUS_REQUEST_ABORTED },
|
||||
{ "NT_STATUS_CONNECTION_ABORTED", NT_STATUS_CONNECTION_ABORTED },
|
||||
{ "NT_STATUS_BAD_COMPRESSION_BUFFER", NT_STATUS_BAD_COMPRESSION_BUFFER },
|
||||
{ "NT_STATUS_USER_MAPPED_FILE", NT_STATUS_USER_MAPPED_FILE },
|
||||
{ "NT_STATUS_AUDIT_FAILED", NT_STATUS_AUDIT_FAILED },
|
||||
{ "NT_STATUS_TIMER_RESOLUTION_NOT_SET", NT_STATUS_TIMER_RESOLUTION_NOT_SET },
|
||||
{ "NT_STATUS_CONNECTION_COUNT_LIMIT", NT_STATUS_CONNECTION_COUNT_LIMIT },
|
||||
{ "NT_STATUS_LOGIN_TIME_RESTRICTION", NT_STATUS_LOGIN_TIME_RESTRICTION },
|
||||
{ "NT_STATUS_LOGIN_WKSTA_RESTRICTION", NT_STATUS_LOGIN_WKSTA_RESTRICTION },
|
||||
{ "NT_STATUS_IMAGE_MP_UP_MISMATCH", NT_STATUS_IMAGE_MP_UP_MISMATCH },
|
||||
{ "NT_STATUS_INSUFFICIENT_LOGON_INFO", NT_STATUS_INSUFFICIENT_LOGON_INFO },
|
||||
{ "NT_STATUS_BAD_DLL_ENTRYPOINT", NT_STATUS_BAD_DLL_ENTRYPOINT },
|
||||
{ "NT_STATUS_BAD_SERVICE_ENTRYPOINT", NT_STATUS_BAD_SERVICE_ENTRYPOINT },
|
||||
{ "NT_STATUS_LPC_REPLY_LOST", NT_STATUS_LPC_REPLY_LOST },
|
||||
{ "NT_STATUS_IP_ADDRESS_CONFLICT1", NT_STATUS_IP_ADDRESS_CONFLICT1 },
|
||||
{ "NT_STATUS_IP_ADDRESS_CONFLICT2", NT_STATUS_IP_ADDRESS_CONFLICT2 },
|
||||
{ "NT_STATUS_REGISTRY_QUOTA_LIMIT", NT_STATUS_REGISTRY_QUOTA_LIMIT },
|
||||
{ "NT_STATUS_PATH_NOT_COVERED", NT_STATUS_PATH_NOT_COVERED },
|
||||
{ "NT_STATUS_NO_CALLBACK_ACTIVE", NT_STATUS_NO_CALLBACK_ACTIVE },
|
||||
{ "NT_STATUS_LICENSE_QUOTA_EXCEEDED", NT_STATUS_LICENSE_QUOTA_EXCEEDED },
|
||||
{ "NT_STATUS_PWD_TOO_SHORT", NT_STATUS_PWD_TOO_SHORT },
|
||||
{ "NT_STATUS_PWD_TOO_RECENT", NT_STATUS_PWD_TOO_RECENT },
|
||||
{ "NT_STATUS_PWD_HISTORY_CONFLICT", NT_STATUS_PWD_HISTORY_CONFLICT },
|
||||
{ "NT_STATUS_PLUGPLAY_NO_DEVICE", NT_STATUS_PLUGPLAY_NO_DEVICE },
|
||||
{ "NT_STATUS_UNSUPPORTED_COMPRESSION", NT_STATUS_UNSUPPORTED_COMPRESSION },
|
||||
{ "NT_STATUS_INVALID_HW_PROFILE", NT_STATUS_INVALID_HW_PROFILE },
|
||||
{ "NT_STATUS_INVALID_PLUGPLAY_DEVICE_PATH", NT_STATUS_INVALID_PLUGPLAY_DEVICE_PATH },
|
||||
{ "NT_STATUS_DRIVER_ORDINAL_NOT_FOUND", NT_STATUS_DRIVER_ORDINAL_NOT_FOUND },
|
||||
{ "NT_STATUS_DRIVER_ENTRYPOINT_NOT_FOUND", NT_STATUS_DRIVER_ENTRYPOINT_NOT_FOUND },
|
||||
{ "NT_STATUS_RESOURCE_NOT_OWNED", NT_STATUS_RESOURCE_NOT_OWNED },
|
||||
{ "NT_STATUS_TOO_MANY_LINKS", NT_STATUS_TOO_MANY_LINKS },
|
||||
{ "NT_STATUS_QUOTA_LIST_INCONSISTENT", NT_STATUS_QUOTA_LIST_INCONSISTENT },
|
||||
{ "NT_STATUS_FILE_IS_OFFLINE", NT_STATUS_FILE_IS_OFFLINE },
|
||||
{ "NT_STATUS_NO_MORE_ENTRIES", NT_STATUS_NO_MORE_ENTRIES },
|
||||
{ "NT_STATUS_RPC_PROTSEQ_NOT_SUPPORTED", NT_STATUS_RPC_PROTSEQ_NOT_SUPPORTED },
|
||||
{ "NT_STATUS_RPC_UNSUPPORTED_NAME_SYNTAX", NT_STATUS_RPC_UNSUPPORTED_NAME_SYNTAX },
|
||||
{ "NT_STATUS_OBJECTID_NOT_FOUND", NT_STATUS_OBJECTID_NOT_FOUND },
|
||||
{ "STATUS_MORE_ENTRIES", STATUS_MORE_ENTRIES },
|
||||
{ "STATUS_SOME_UNMAPPED", STATUS_SOME_UNMAPPED },
|
||||
{ "STATUS_NOTIFY_CLEANUP", STATUS_NOTIFY_CLEANUP },
|
||||
{ "STATUS_NOTIFY_ENUM_DIR", STATUS_NOTIFY_ENUM_DIR },
|
||||
|
||||
DOS_CODE(ERRDOS, ERRsuccess),
|
||||
DOS_CODE(ERRDOS, ERRbadfunc),
|
||||
DOS_CODE(ERRDOS, ERRbadfile),
|
||||
DOS_CODE(ERRDOS, ERRbadpath),
|
||||
DOS_CODE(ERRDOS, ERRnofids),
|
||||
DOS_CODE(ERRDOS, ERRnoaccess),
|
||||
DOS_CODE(ERRDOS, ERRbadfid),
|
||||
DOS_CODE(ERRDOS, ERRbadmcb),
|
||||
DOS_CODE(ERRDOS, ERRnomem),
|
||||
DOS_CODE(ERRDOS, ERRbadmem),
|
||||
DOS_CODE(ERRDOS, ERRbadenv),
|
||||
DOS_CODE(ERRDOS, ERRbadaccess),
|
||||
DOS_CODE(ERRDOS, ERRbaddata),
|
||||
DOS_CODE(ERRDOS, ERRres),
|
||||
DOS_CODE(ERRDOS, ERRbaddrive),
|
||||
DOS_CODE(ERRDOS, ERRremcd),
|
||||
DOS_CODE(ERRDOS, ERRdiffdevice),
|
||||
DOS_CODE(ERRDOS, ERRnofiles),
|
||||
DOS_CODE(ERRDOS, ERRgeneral),
|
||||
DOS_CODE(ERRDOS, ERRbadshare),
|
||||
DOS_CODE(ERRDOS, ERRlock),
|
||||
DOS_CODE(ERRDOS, ERRunsup),
|
||||
DOS_CODE(ERRDOS, ERRnetnamedel),
|
||||
DOS_CODE(ERRDOS, ERRnosuchshare),
|
||||
DOS_CODE(ERRDOS, ERRfilexists),
|
||||
DOS_CODE(ERRDOS, ERRinvalidparam),
|
||||
DOS_CODE(ERRDOS, ERRcannotopen),
|
||||
DOS_CODE(ERRDOS, ERRinsufficientbuffer),
|
||||
DOS_CODE(ERRDOS, ERRinvalidname),
|
||||
DOS_CODE(ERRDOS, ERRunknownlevel),
|
||||
DOS_CODE(ERRDOS, ERRnotlocked),
|
||||
DOS_CODE(ERRDOS, ERRinvalidpath),
|
||||
DOS_CODE(ERRDOS, ERRcancelviolation),
|
||||
DOS_CODE(ERRDOS, ERRnoatomiclocks),
|
||||
DOS_CODE(ERRDOS, ERRrename),
|
||||
DOS_CODE(ERRDOS, ERRbadpipe),
|
||||
DOS_CODE(ERRDOS, ERRpipebusy),
|
||||
DOS_CODE(ERRDOS, ERRpipeclosing),
|
||||
DOS_CODE(ERRDOS, ERRnotconnected),
|
||||
DOS_CODE(ERRDOS, ERRmoredata),
|
||||
DOS_CODE(ERRDOS, ERRnomoreitems),
|
||||
DOS_CODE(ERRDOS, ERRbaddirectory),
|
||||
DOS_CODE(ERRDOS, ERReasnotsupported),
|
||||
DOS_CODE(ERRDOS, ERRlogonfailure),
|
||||
DOS_CODE(ERRDOS, ERRbuftoosmall),
|
||||
DOS_CODE(ERRDOS, ERRunknownipc),
|
||||
DOS_CODE(ERRDOS, ERRnosuchprintjob),
|
||||
DOS_CODE(ERRDOS, ERRinvgroup),
|
||||
DOS_CODE(ERRDOS, ERRnoipc),
|
||||
DOS_CODE(ERRDOS, ERRdriveralreadyinstalled),
|
||||
DOS_CODE(ERRDOS, ERRunknownprinterport),
|
||||
DOS_CODE(ERRDOS, ERRunknownprinterdriver),
|
||||
DOS_CODE(ERRDOS, ERRunknownprintprocessor),
|
||||
DOS_CODE(ERRDOS, ERRinvalidseparatorfile),
|
||||
DOS_CODE(ERRDOS, ERRinvalidjobpriority),
|
||||
DOS_CODE(ERRDOS, ERRinvalidprintername),
|
||||
DOS_CODE(ERRDOS, ERRprinteralreadyexists),
|
||||
DOS_CODE(ERRDOS, ERRinvalidprintercommand),
|
||||
DOS_CODE(ERRDOS, ERRinvaliddatatype),
|
||||
DOS_CODE(ERRDOS, ERRinvalidenvironment),
|
||||
DOS_CODE(ERRDOS, ERRunknownprintmonitor),
|
||||
DOS_CODE(ERRDOS, ERRprinterdriverinuse),
|
||||
DOS_CODE(ERRDOS, ERRspoolfilenotfound),
|
||||
DOS_CODE(ERRDOS, ERRnostartdoc),
|
||||
DOS_CODE(ERRDOS, ERRnoaddjob),
|
||||
DOS_CODE(ERRDOS, ERRprintprocessoralreadyinstalled),
|
||||
DOS_CODE(ERRDOS, ERRprintmonitoralreadyinstalled),
|
||||
DOS_CODE(ERRDOS, ERRinvalidprintmonitor),
|
||||
DOS_CODE(ERRDOS, ERRprintmonitorinuse),
|
||||
DOS_CODE(ERRDOS, ERRprinterhasjobsqueued),
|
||||
DOS_CODE(ERRDOS, ERReainconsistent),
|
||||
|
||||
DOS_CODE(ERRSRV, ERRerror),
|
||||
DOS_CODE(ERRSRV, ERRbadpw),
|
||||
DOS_CODE(ERRSRV, ERRbadtype),
|
||||
DOS_CODE(ERRSRV, ERRaccess),
|
||||
DOS_CODE(ERRSRV, ERRinvnid),
|
||||
DOS_CODE(ERRSRV, ERRinvnetname),
|
||||
DOS_CODE(ERRSRV, ERRinvdevice),
|
||||
DOS_CODE(ERRSRV, ERRqfull),
|
||||
DOS_CODE(ERRSRV, ERRqtoobig),
|
||||
DOS_CODE(ERRSRV, ERRinvpfid),
|
||||
DOS_CODE(ERRSRV, ERRsmbcmd),
|
||||
DOS_CODE(ERRSRV, ERRsrverror),
|
||||
DOS_CODE(ERRSRV, ERRfilespecs),
|
||||
DOS_CODE(ERRSRV, ERRbadlink),
|
||||
DOS_CODE(ERRSRV, ERRbadpermits),
|
||||
DOS_CODE(ERRSRV, ERRbadpid),
|
||||
DOS_CODE(ERRSRV, ERRsetattrmode),
|
||||
DOS_CODE(ERRSRV, ERRpaused),
|
||||
DOS_CODE(ERRSRV, ERRmsgoff),
|
||||
DOS_CODE(ERRSRV, ERRnoroom),
|
||||
DOS_CODE(ERRSRV, ERRrmuns),
|
||||
DOS_CODE(ERRSRV, ERRtimeout),
|
||||
DOS_CODE(ERRSRV, ERRnoresource),
|
||||
DOS_CODE(ERRSRV, ERRtoomanyuids),
|
||||
DOS_CODE(ERRSRV, ERRbaduid),
|
||||
DOS_CODE(ERRSRV, ERRuseMPX),
|
||||
DOS_CODE(ERRSRV, ERRuseSTD),
|
||||
DOS_CODE(ERRSRV, ERRcontMPX),
|
||||
DOS_CODE(ERRSRV, ERRnosupport),
|
||||
DOS_CODE(ERRSRV, ERRunknownsmb),
|
||||
|
||||
DOS_CODE(ERRHRD, ERRnowrite),
|
||||
DOS_CODE(ERRHRD, ERRbadunit),
|
||||
DOS_CODE(ERRHRD, ERRnotready),
|
||||
DOS_CODE(ERRHRD, ERRbadcmd),
|
||||
DOS_CODE(ERRHRD, ERRdata),
|
||||
DOS_CODE(ERRHRD, ERRbadreq),
|
||||
DOS_CODE(ERRHRD, ERRseek),
|
||||
DOS_CODE(ERRHRD, ERRbadmedia),
|
||||
DOS_CODE(ERRHRD, ERRbadsector),
|
||||
DOS_CODE(ERRHRD, ERRnopaper),
|
||||
DOS_CODE(ERRHRD, ERRwrite),
|
||||
DOS_CODE(ERRHRD, ERRread),
|
||||
DOS_CODE(ERRHRD, ERRgeneral),
|
||||
DOS_CODE(ERRHRD, ERRwrongdisk),
|
||||
DOS_CODE(ERRHRD, ERRFCBunavail),
|
||||
DOS_CODE(ERRHRD, ERRsharebufexc),
|
||||
DOS_CODE(ERRHRD, ERRdiskfull),
|
||||
|
||||
LDAP_CODE(LDAP_SUCCESS),
|
||||
LDAP_CODE(LDAP_OPERATIONS_ERROR),
|
||||
LDAP_CODE(LDAP_PROTOCOL_ERROR),
|
||||
LDAP_CODE(LDAP_TIME_LIMIT_EXCEEDED),
|
||||
LDAP_CODE(LDAP_SIZE_LIMIT_EXCEEDED),
|
||||
LDAP_CODE(LDAP_COMPARE_FALSE),
|
||||
LDAP_CODE(LDAP_COMPARE_TRUE),
|
||||
LDAP_CODE(LDAP_AUTH_METHOD_NOT_SUPPORTED),
|
||||
LDAP_CODE(LDAP_STRONG_AUTH_REQUIRED),
|
||||
LDAP_CODE(LDAP_REFERRAL),
|
||||
LDAP_CODE(LDAP_ADMIN_LIMIT_EXCEEDED),
|
||||
LDAP_CODE(LDAP_UNAVAILABLE_CRITICAL_EXTENSION),
|
||||
LDAP_CODE(LDAP_CONFIDENTIALITY_REQUIRED),
|
||||
LDAP_CODE(LDAP_SASL_BIND_IN_PROGRESS),
|
||||
LDAP_CODE(LDAP_NO_SUCH_ATTRIBUTE),
|
||||
LDAP_CODE(LDAP_UNDEFINED_ATTRIBUTE_TYPE),
|
||||
LDAP_CODE(LDAP_INAPPROPRIATE_MATCHING),
|
||||
LDAP_CODE(LDAP_CONSTRAINT_VIOLATION),
|
||||
LDAP_CODE(LDAP_ATTRIBUTE_OR_VALUE_EXISTS),
|
||||
LDAP_CODE(LDAP_INVALID_ATTRIBUTE_SYNTAX),
|
||||
LDAP_CODE(LDAP_NO_SUCH_OBJECT),
|
||||
LDAP_CODE(LDAP_ALIAS_PROBLEM),
|
||||
LDAP_CODE(LDAP_INVALID_DN_SYNTAX),
|
||||
LDAP_CODE(LDAP_ALIAS_DEREFERENCING_PROBLEM),
|
||||
LDAP_CODE(LDAP_INAPPROPRIATE_AUTHENTICATION),
|
||||
LDAP_CODE(LDAP_INVALID_CREDENTIALS),
|
||||
LDAP_CODE(LDAP_INSUFFICIENT_ACCESS_RIGHTs),
|
||||
LDAP_CODE(LDAP_BUSY),
|
||||
LDAP_CODE(LDAP_UNAVAILABLE),
|
||||
LDAP_CODE(LDAP_UNWILLING_TO_PERFORM),
|
||||
LDAP_CODE(LDAP_LOOP_DETECT),
|
||||
LDAP_CODE(LDAP_NAMING_VIOLATION),
|
||||
LDAP_CODE(LDAP_OBJECT_CLASS_VIOLATION),
|
||||
LDAP_CODE(LDAP_NOT_ALLOWED_ON_NON_LEAF),
|
||||
LDAP_CODE(LDAP_NOT_ALLOWED_ON_RDN),
|
||||
LDAP_CODE(LDAP_ENTRY_ALREADY_EXISTS),
|
||||
LDAP_CODE(LDAP_OBJECT_CLASS_MODS_PROHIBITED),
|
||||
LDAP_CODE(LDAP_AFFECTS_MULTIPLE_DSAS),
|
||||
LDAP_CODE(LDAP_OTHER),
|
||||
|
||||
{ NULL, NT_STATUS(0) }
|
||||
};
|
||||
|
||||
static const nt_err_code_struct nt_err_desc[] =
|
||||
{
|
||||
{ "Success", NT_STATUS_OK },
|
||||
{ "Undetermined error", NT_STATUS_UNSUCCESSFUL },
|
||||
{ "Access denied", NT_STATUS_ACCESS_DENIED },
|
||||
{ "Account locked out", NT_STATUS_ACCOUNT_LOCKED_OUT },
|
||||
{ "Must change password", NT_STATUS_PASSWORD_MUST_CHANGE },
|
||||
{ "Password is too short", NT_STATUS_PWD_TOO_SHORT },
|
||||
{ "Password is too recent", NT_STATUS_PWD_TOO_RECENT },
|
||||
{ "Password history conflict", NT_STATUS_PWD_HISTORY_CONFLICT },
|
||||
{ "No logon servers", NT_STATUS_NO_LOGON_SERVERS },
|
||||
{ "Improperly formed account name", NT_STATUS_INVALID_ACCOUNT_NAME },
|
||||
{ "User exists", NT_STATUS_USER_EXISTS },
|
||||
{ "No such user", NT_STATUS_NO_SUCH_USER },
|
||||
{ "Group exists", NT_STATUS_GROUP_EXISTS },
|
||||
{ "No such group", NT_STATUS_NO_SUCH_GROUP },
|
||||
{ "Member not in group", NT_STATUS_MEMBER_NOT_IN_GROUP },
|
||||
{ "Wrong Password", NT_STATUS_WRONG_PASSWORD },
|
||||
{ "Ill formed password", NT_STATUS_ILL_FORMED_PASSWORD },
|
||||
{ "Password restriction", NT_STATUS_PASSWORD_RESTRICTION },
|
||||
{ "Logon failure", NT_STATUS_LOGON_FAILURE },
|
||||
{ "Account restriction", NT_STATUS_ACCOUNT_RESTRICTION },
|
||||
{ "Invalid logon hours", NT_STATUS_INVALID_LOGON_HOURS },
|
||||
{ "Invalid workstation", NT_STATUS_INVALID_WORKSTATION },
|
||||
{ "Password expired", NT_STATUS_PASSWORD_EXPIRED },
|
||||
{ "Account disabled", NT_STATUS_ACCOUNT_DISABLED },
|
||||
{ "Unexpected information received", NT_STATUS_INVALID_PARAMETER },
|
||||
{ "Memory allocation error", NT_STATUS_NO_MEMORY },
|
||||
{ "No domain controllers located", NT_STATUS_DOMAIN_CONTROLLER_NOT_FOUND },
|
||||
{ "Account locked out", NT_STATUS_ACCOUNT_LOCKED_OUT },
|
||||
{ "Named pipe not available", NT_STATUS_PIPE_NOT_AVAILABLE },
|
||||
{ "Not implemented", NT_STATUS_NOT_IMPLEMENTED },
|
||||
{ "Invalid information class", NT_STATUS_INVALID_INFO_CLASS },
|
||||
{ "Information length mismatch", NT_STATUS_INFO_LENGTH_MISMATCH },
|
||||
{ "Access violation", NT_STATUS_ACCESS_VIOLATION },
|
||||
{ "Invalid handle", NT_STATUS_INVALID_HANDLE },
|
||||
{ "Invalid parameter", NT_STATUS_INVALID_PARAMETER },
|
||||
{ "No memory", NT_STATUS_NO_MEMORY },
|
||||
{ "Buffer too small", NT_STATUS_BUFFER_TOO_SMALL },
|
||||
{ "Revision mismatch", NT_STATUS_REVISION_MISMATCH },
|
||||
{ "No logon servers", NT_STATUS_NO_LOGON_SERVERS },
|
||||
{ "No such logon session", NT_STATUS_NO_SUCH_LOGON_SESSION },
|
||||
{ "No such privilege", NT_STATUS_NO_SUCH_PRIVILEGE },
|
||||
{ "Procedure not found", NT_STATUS_PROCEDURE_NOT_FOUND },
|
||||
{ "Server disabled", NT_STATUS_SERVER_DISABLED },
|
||||
{ "Invalid pipe state", NT_STATUS_INVALID_PIPE_STATE },
|
||||
{ "Named pipe busy", NT_STATUS_PIPE_BUSY },
|
||||
{ "Illegal function", NT_STATUS_ILLEGAL_FUNCTION },
|
||||
{ "Named pipe dicconnected", NT_STATUS_PIPE_DISCONNECTED },
|
||||
{ "Named pipe closing", NT_STATUS_PIPE_CLOSING },
|
||||
{ "Remote host not listening", NT_STATUS_REMOTE_NOT_LISTENING },
|
||||
{ "Duplicate name on network", NT_STATUS_DUPLICATE_NAME },
|
||||
{ "Print queue is full", NT_STATUS_PRINT_QUEUE_FULL },
|
||||
{ "No print spool space available", NT_STATUS_NO_SPOOL_SPACE },
|
||||
{ "Too many names", NT_STATUS_TOO_MANY_NAMES },
|
||||
{ "Too many sessions", NT_STATUS_TOO_MANY_SESSIONS },
|
||||
{ "Invalid server state", NT_STATUS_INVALID_SERVER_STATE },
|
||||
{ "Invalid domain state", NT_STATUS_INVALID_DOMAIN_STATE },
|
||||
{ "Invalid domain role", NT_STATUS_INVALID_DOMAIN_ROLE },
|
||||
{ "No such domain", NT_STATUS_NO_SUCH_DOMAIN },
|
||||
{ "Domain exists", NT_STATUS_DOMAIN_EXISTS },
|
||||
{ "Domain limit exceeded", NT_STATUS_DOMAIN_LIMIT_EXCEEDED },
|
||||
{ "Bad logon session state", NT_STATUS_BAD_LOGON_SESSION_STATE },
|
||||
{ "Logon session collision", NT_STATUS_LOGON_SESSION_COLLISION },
|
||||
{ "Invalid logon type", NT_STATUS_INVALID_LOGON_TYPE },
|
||||
{ "Cancelled", NT_STATUS_CANCELLED },
|
||||
{ "Invalid computer name", NT_STATUS_INVALID_COMPUTER_NAME },
|
||||
{ "Logon server conflict", NT_STATUS_LOGON_SERVER_CONFLICT },
|
||||
{ "Time difference at domain controller", NT_STATUS_TIME_DIFFERENCE_AT_DC },
|
||||
{ "Pipe broken", NT_STATUS_PIPE_BROKEN },
|
||||
{ "Registry corrupt", NT_STATUS_REGISTRY_CORRUPT },
|
||||
{ "Too many secrets", NT_STATUS_TOO_MANY_SECRETS },
|
||||
{ "Too many SIDs", NT_STATUS_TOO_MANY_SIDS },
|
||||
{ "Lanmanager cross encryption required", NT_STATUS_LM_CROSS_ENCRYPTION_REQUIRED },
|
||||
{ "Log file full", NT_STATUS_LOG_FILE_FULL },
|
||||
{ "No trusted LSA secret", NT_STATUS_NO_TRUST_LSA_SECRET },
|
||||
{ "No trusted SAM account", NT_STATUS_NO_TRUST_SAM_ACCOUNT },
|
||||
{ "Trusted domain failure", NT_STATUS_TRUSTED_DOMAIN_FAILURE },
|
||||
{ "Trust relationship failure", NT_STATUS_TRUSTED_RELATIONSHIP_FAILURE },
|
||||
{ "Trust failure", NT_STATUS_TRUST_FAILURE },
|
||||
{ "Netlogon service not started", NT_STATUS_NETLOGON_NOT_STARTED },
|
||||
{ "Account expired", NT_STATUS_ACCOUNT_EXPIRED },
|
||||
{ "Network credential conflict", NT_STATUS_NETWORK_CREDENTIAL_CONFLICT },
|
||||
{ "Remote session limit", NT_STATUS_REMOTE_SESSION_LIMIT },
|
||||
{ "No logon interdomain trust account", NT_STATUS_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT },
|
||||
{ "No logon workstation trust account", NT_STATUS_NOLOGON_WORKSTATION_TRUST_ACCOUNT },
|
||||
{ "No logon server trust account", NT_STATUS_NOLOGON_SERVER_TRUST_ACCOUNT },
|
||||
{ "Domain trust inconsistent", NT_STATUS_DOMAIN_TRUST_INCONSISTENT },
|
||||
{ "No user session key available", NT_STATUS_NO_USER_SESSION_KEY },
|
||||
{ "User session deleted", NT_STATUS_USER_SESSION_DELETED },
|
||||
{ "Insufficient server resources", NT_STATUS_INSUFF_SERVER_RESOURCES },
|
||||
{ "Insufficient logon information", NT_STATUS_INSUFFICIENT_LOGON_INFO },
|
||||
|
||||
{ "License quota exceeded", NT_STATUS_LICENSE_QUOTA_EXCEEDED },
|
||||
|
||||
{ NULL, NT_STATUS(0) }
|
||||
};
|
||||
|
||||
/*****************************************************************************
|
||||
returns an NT error message. not amazingly helpful, but better than a number.
|
||||
*****************************************************************************/
|
||||
const char *nt_errstr(NTSTATUS nt_code)
|
||||
{
|
||||
static char msg[40];
|
||||
int idx = 0;
|
||||
|
||||
while (nt_errs[idx].nt_errstr != NULL) {
|
||||
if (NT_STATUS_V(nt_errs[idx].nt_errcode) ==
|
||||
NT_STATUS_V(nt_code)) {
|
||||
return nt_errs[idx].nt_errstr;
|
||||
}
|
||||
idx++;
|
||||
}
|
||||
|
||||
if (NT_STATUS_IS_LDAP(nt_code)) {
|
||||
slprintf(msg, sizeof(msg), "LDAP code %u", NT_STATUS_LDAP_CODE(nt_code));
|
||||
return msg;
|
||||
}
|
||||
|
||||
slprintf(msg, sizeof(msg), "NT code 0x%08x", NT_STATUS_V(nt_code));
|
||||
|
||||
return msg;
|
||||
}
|
||||
|
||||
/************************************************************************
|
||||
Print friendler version fo NT error code
|
||||
***********************************************************************/
|
||||
const char *get_friendly_nt_error_msg(NTSTATUS nt_code)
|
||||
{
|
||||
int idx = 0;
|
||||
|
||||
while (nt_err_desc[idx].nt_errstr != NULL) {
|
||||
if (NT_STATUS_V(nt_err_desc[idx].nt_errcode) == NT_STATUS_V(nt_code)) {
|
||||
return nt_err_desc[idx].nt_errstr;
|
||||
}
|
||||
idx++;
|
||||
}
|
||||
|
||||
/* fall back to NT_STATUS_XXX string */
|
||||
return nt_errstr(nt_code);
|
||||
}
|
||||
|
||||
/*****************************************************************************
|
||||
returns an NT_STATUS constant as a string for inclusion in autogen C code
|
||||
*****************************************************************************/
|
||||
const char *get_nt_error_c_code(NTSTATUS nt_code)
|
||||
{
|
||||
static pstring out;
|
||||
int idx = 0;
|
||||
|
||||
while (nt_errs[idx].nt_errstr != NULL) {
|
||||
if (NT_STATUS_V(nt_errs[idx].nt_errcode) ==
|
||||
NT_STATUS_V(nt_code)) {
|
||||
return nt_errs[idx].nt_errstr;
|
||||
}
|
||||
idx++;
|
||||
}
|
||||
|
||||
slprintf(out, sizeof(out), "NT_STATUS(0x%08x)", NT_STATUS_V(nt_code));
|
||||
|
||||
return out;
|
||||
}
|
||||
|
||||
/*****************************************************************************
|
||||
returns the NT_STATUS constant matching the string supplied (as an NTSTATUS)
|
||||
*****************************************************************************/
|
||||
NTSTATUS nt_status_string_to_code(const char *nt_status_str)
|
||||
{
|
||||
int idx = 0;
|
||||
|
||||
while (nt_errs[idx].nt_errstr != NULL) {
|
||||
if (strcasecmp(nt_errs[idx].nt_errstr, nt_status_str) == 0) {
|
||||
return nt_errs[idx].nt_errcode;
|
||||
}
|
||||
idx++;
|
||||
}
|
||||
return NT_STATUS_UNSUCCESSFUL;
|
||||
}
|
||||
@@ -0,0 +1,589 @@
|
||||
/*
|
||||
Unix SMB/CIFS implementation.
|
||||
NT error code constants
|
||||
Copyright (C) Andrew Tridgell 1992-2000
|
||||
Copyright (C) John H Terpstra 1996-2000
|
||||
Copyright (C) Luke Kenneth Casson Leighton 1996-2000
|
||||
Copyright (C) Paul Ashton 1998-2000
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
#ifndef _NTERR_H
|
||||
#define _NTERR_H
|
||||
|
||||
/* Win32 Status codes. */
|
||||
|
||||
#define STATUS_BUFFER_OVERFLOW NT_STATUS(0x80000005)
|
||||
#define STATUS_NO_MORE_FILES NT_STATUS(0x80000006)
|
||||
#define STATUS_NO_MORE_EAS NT_STATUS(0x80000012)
|
||||
#define STATUS_INVALID_EA_NAME NT_STATUS(0x80000013)
|
||||
#define STATUS_EA_LIST_INCONSISTENT NT_STATUS(0x80000014)
|
||||
#define STATUS_INVALID_EA_FLAG NT_STATUS(0x80000015)
|
||||
#define NT_STATUS_NO_MORE_ENTRIES NT_STATUS(0x8000001a)
|
||||
|
||||
#define STATUS_PENDING NT_STATUS(0x0103)
|
||||
#define STATUS_MORE_ENTRIES NT_STATUS(0x0105)
|
||||
#define STATUS_SOME_UNMAPPED NT_STATUS(0x0107)
|
||||
#define STATUS_NOTIFY_CLEANUP NT_STATUS(0x010b)
|
||||
#define STATUS_NOTIFY_ENUM_DIR NT_STATUS(0x010c)
|
||||
#define ERROR_INVALID_PARAMETER NT_STATUS(0x0057)
|
||||
#define ERROR_INSUFFICIENT_BUFFER NT_STATUS(0x007a)
|
||||
#define ERROR_INVALID_DATATYPE NT_STATUS(0x070c)
|
||||
|
||||
/* Win32 Error codes extracted using a loop in smbclient then printing a
|
||||
netmon sniff to a file. */
|
||||
|
||||
/*
|
||||
--------------
|
||||
/ \
|
||||
/ REST \
|
||||
/ IN \
|
||||
/ PEACE \
|
||||
/ \
|
||||
| NT_STATUS_NOPROBLEMO |
|
||||
| |
|
||||
| |
|
||||
| 4 September |
|
||||
| |
|
||||
| 2001 |
|
||||
*| * * * | *
|
||||
_________)/\\_//(\/(/\)/\//\/\///|_)_______
|
||||
*/
|
||||
|
||||
#define NT_STATUS_OK NT_STATUS(0x0000)
|
||||
#define NT_STATUS_UNSUCCESSFUL NT_STATUS(0xC0000000 | 0x0001)
|
||||
#define NT_STATUS_NOT_IMPLEMENTED NT_STATUS(0xC0000000 | 0x0002)
|
||||
#define NT_STATUS_INVALID_INFO_CLASS NT_STATUS(0xC0000000 | 0x0003)
|
||||
#define NT_STATUS_INFO_LENGTH_MISMATCH NT_STATUS(0xC0000000 | 0x0004)
|
||||
#define NT_STATUS_ACCESS_VIOLATION NT_STATUS(0xC0000000 | 0x0005)
|
||||
#define NT_STATUS_IN_PAGE_ERROR NT_STATUS(0xC0000000 | 0x0006)
|
||||
#define NT_STATUS_PAGEFILE_QUOTA NT_STATUS(0xC0000000 | 0x0007)
|
||||
#define NT_STATUS_INVALID_HANDLE NT_STATUS(0xC0000000 | 0x0008)
|
||||
#define NT_STATUS_BAD_INITIAL_STACK NT_STATUS(0xC0000000 | 0x0009)
|
||||
#define NT_STATUS_BAD_INITIAL_PC NT_STATUS(0xC0000000 | 0x000a)
|
||||
#define NT_STATUS_INVALID_CID NT_STATUS(0xC0000000 | 0x000b)
|
||||
#define NT_STATUS_TIMER_NOT_CANCELED NT_STATUS(0xC0000000 | 0x000c)
|
||||
#define NT_STATUS_INVALID_PARAMETER NT_STATUS(0xC0000000 | 0x000d)
|
||||
#define NT_STATUS_NO_SUCH_DEVICE NT_STATUS(0xC0000000 | 0x000e)
|
||||
#define NT_STATUS_NO_SUCH_FILE NT_STATUS(0xC0000000 | 0x000f)
|
||||
#define NT_STATUS_INVALID_DEVICE_REQUEST NT_STATUS(0xC0000000 | 0x0010)
|
||||
#define NT_STATUS_END_OF_FILE NT_STATUS(0xC0000000 | 0x0011)
|
||||
#define NT_STATUS_WRONG_VOLUME NT_STATUS(0xC0000000 | 0x0012)
|
||||
#define NT_STATUS_NO_MEDIA_IN_DEVICE NT_STATUS(0xC0000000 | 0x0013)
|
||||
#define NT_STATUS_UNRECOGNIZED_MEDIA NT_STATUS(0xC0000000 | 0x0014)
|
||||
#define NT_STATUS_NONEXISTENT_SECTOR NT_STATUS(0xC0000000 | 0x0015)
|
||||
#define NT_STATUS_MORE_PROCESSING_REQUIRED NT_STATUS(0xC0000000 | 0x0016)
|
||||
#if 0
|
||||
/* this demonstrates a little trick when tracking down error codes */
|
||||
#define NT_STATUS_NO_MEMORY (printf("no memory at %s\n", __location__), NT_STATUS(0xC0000000 | 0x0017))
|
||||
#else
|
||||
#define NT_STATUS_NO_MEMORY NT_STATUS(0xC0000000 | 0x0017)
|
||||
#endif
|
||||
#define NT_STATUS_CONFLICTING_ADDRESSES NT_STATUS(0xC0000000 | 0x0018)
|
||||
#define NT_STATUS_NOT_MAPPED_VIEW NT_STATUS(0xC0000000 | 0x0019)
|
||||
#define NT_STATUS_UNABLE_TO_FREE_VM NT_STATUS(0xC0000000 | 0x001a)
|
||||
#define NT_STATUS_UNABLE_TO_DELETE_SECTION NT_STATUS(0xC0000000 | 0x001b)
|
||||
#define NT_STATUS_INVALID_SYSTEM_SERVICE NT_STATUS(0xC0000000 | 0x001c)
|
||||
#define NT_STATUS_ILLEGAL_INSTRUCTION NT_STATUS(0xC0000000 | 0x001d)
|
||||
#define NT_STATUS_INVALID_LOCK_SEQUENCE NT_STATUS(0xC0000000 | 0x001e)
|
||||
#define NT_STATUS_INVALID_VIEW_SIZE NT_STATUS(0xC0000000 | 0x001f)
|
||||
#define NT_STATUS_INVALID_FILE_FOR_SECTION NT_STATUS(0xC0000000 | 0x0020)
|
||||
#define NT_STATUS_ALREADY_COMMITTED NT_STATUS(0xC0000000 | 0x0021)
|
||||
#if 0
|
||||
/* this demonstrates a little trick when tracking down error codes */
|
||||
#define NT_STATUS_ACCESS_DENIED (printf("access denied at %s\n", __location__), NT_STATUS(0xC0000000 | 0x0022))
|
||||
#else
|
||||
#define NT_STATUS_ACCESS_DENIED NT_STATUS(0xC0000000 | 0x0022)
|
||||
#endif
|
||||
#define NT_STATUS_BUFFER_TOO_SMALL NT_STATUS(0xC0000000 | 0x0023)
|
||||
#define NT_STATUS_OBJECT_TYPE_MISMATCH NT_STATUS(0xC0000000 | 0x0024)
|
||||
#define NT_STATUS_NONCONTINUABLE_EXCEPTION NT_STATUS(0xC0000000 | 0x0025)
|
||||
#define NT_STATUS_INVALID_DISPOSITION NT_STATUS(0xC0000000 | 0x0026)
|
||||
#define NT_STATUS_UNWIND NT_STATUS(0xC0000000 | 0x0027)
|
||||
#define NT_STATUS_BAD_STACK NT_STATUS(0xC0000000 | 0x0028)
|
||||
#define NT_STATUS_INVALID_UNWIND_TARGET NT_STATUS(0xC0000000 | 0x0029)
|
||||
#define NT_STATUS_NOT_LOCKED NT_STATUS(0xC0000000 | 0x002a)
|
||||
#define NT_STATUS_PARITY_ERROR NT_STATUS(0xC0000000 | 0x002b)
|
||||
#define NT_STATUS_UNABLE_TO_DECOMMIT_VM NT_STATUS(0xC0000000 | 0x002c)
|
||||
#define NT_STATUS_NOT_COMMITTED NT_STATUS(0xC0000000 | 0x002d)
|
||||
#define NT_STATUS_INVALID_PORT_ATTRIBUTES NT_STATUS(0xC0000000 | 0x002e)
|
||||
#define NT_STATUS_PORT_MESSAGE_TOO_LONG NT_STATUS(0xC0000000 | 0x002f)
|
||||
#define NT_STATUS_INVALID_PARAMETER_MIX NT_STATUS(0xC0000000 | 0x0030)
|
||||
#define NT_STATUS_INVALID_QUOTA_LOWER NT_STATUS(0xC0000000 | 0x0031)
|
||||
#define NT_STATUS_DISK_CORRUPT_ERROR NT_STATUS(0xC0000000 | 0x0032)
|
||||
#define NT_STATUS_OBJECT_NAME_INVALID NT_STATUS(0xC0000000 | 0x0033)
|
||||
#define NT_STATUS_OBJECT_NAME_NOT_FOUND NT_STATUS(0xC0000000 | 0x0034)
|
||||
#define NT_STATUS_OBJECT_NAME_COLLISION NT_STATUS(0xC0000000 | 0x0035)
|
||||
#define NT_STATUS_HANDLE_NOT_WAITABLE NT_STATUS(0xC0000000 | 0x0036)
|
||||
#define NT_STATUS_PORT_DISCONNECTED NT_STATUS(0xC0000000 | 0x0037)
|
||||
#define NT_STATUS_DEVICE_ALREADY_ATTACHED NT_STATUS(0xC0000000 | 0x0038)
|
||||
#define NT_STATUS_OBJECT_PATH_INVALID NT_STATUS(0xC0000000 | 0x0039)
|
||||
#define NT_STATUS_OBJECT_PATH_NOT_FOUND NT_STATUS(0xC0000000 | 0x003a)
|
||||
#define NT_STATUS_OBJECT_PATH_SYNTAX_BAD NT_STATUS(0xC0000000 | 0x003b)
|
||||
#define NT_STATUS_DATA_OVERRUN NT_STATUS(0xC0000000 | 0x003c)
|
||||
#define NT_STATUS_DATA_LATE_ERROR NT_STATUS(0xC0000000 | 0x003d)
|
||||
#define NT_STATUS_DATA_ERROR NT_STATUS(0xC0000000 | 0x003e)
|
||||
#define NT_STATUS_CRC_ERROR NT_STATUS(0xC0000000 | 0x003f)
|
||||
#define NT_STATUS_SECTION_TOO_BIG NT_STATUS(0xC0000000 | 0x0040)
|
||||
#define NT_STATUS_PORT_CONNECTION_REFUSED NT_STATUS(0xC0000000 | 0x0041)
|
||||
#define NT_STATUS_INVALID_PORT_HANDLE NT_STATUS(0xC0000000 | 0x0042)
|
||||
#define NT_STATUS_SHARING_VIOLATION NT_STATUS(0xC0000000 | 0x0043)
|
||||
#define NT_STATUS_QUOTA_EXCEEDED NT_STATUS(0xC0000000 | 0x0044)
|
||||
#define NT_STATUS_INVALID_PAGE_PROTECTION NT_STATUS(0xC0000000 | 0x0045)
|
||||
#define NT_STATUS_MUTANT_NOT_OWNED NT_STATUS(0xC0000000 | 0x0046)
|
||||
#define NT_STATUS_SEMAPHORE_LIMIT_EXCEEDED NT_STATUS(0xC0000000 | 0x0047)
|
||||
#define NT_STATUS_PORT_ALREADY_SET NT_STATUS(0xC0000000 | 0x0048)
|
||||
#define NT_STATUS_SECTION_NOT_IMAGE NT_STATUS(0xC0000000 | 0x0049)
|
||||
#define NT_STATUS_SUSPEND_COUNT_EXCEEDED NT_STATUS(0xC0000000 | 0x004a)
|
||||
#define NT_STATUS_THREAD_IS_TERMINATING NT_STATUS(0xC0000000 | 0x004b)
|
||||
#define NT_STATUS_BAD_WORKING_SET_LIMIT NT_STATUS(0xC0000000 | 0x004c)
|
||||
#define NT_STATUS_INCOMPATIBLE_FILE_MAP NT_STATUS(0xC0000000 | 0x004d)
|
||||
#define NT_STATUS_SECTION_PROTECTION NT_STATUS(0xC0000000 | 0x004e)
|
||||
#define NT_STATUS_EAS_NOT_SUPPORTED NT_STATUS(0xC0000000 | 0x004f)
|
||||
#define NT_STATUS_EA_TOO_LARGE NT_STATUS(0xC0000000 | 0x0050)
|
||||
#define NT_STATUS_NONEXISTENT_EA_ENTRY NT_STATUS(0xC0000000 | 0x0051)
|
||||
#define NT_STATUS_NO_EAS_ON_FILE NT_STATUS(0xC0000000 | 0x0052)
|
||||
#define NT_STATUS_EA_CORRUPT_ERROR NT_STATUS(0xC0000000 | 0x0053)
|
||||
#define NT_STATUS_FILE_LOCK_CONFLICT NT_STATUS(0xC0000000 | 0x0054)
|
||||
#define NT_STATUS_LOCK_NOT_GRANTED NT_STATUS(0xC0000000 | 0x0055)
|
||||
#define NT_STATUS_DELETE_PENDING NT_STATUS(0xC0000000 | 0x0056)
|
||||
#define NT_STATUS_CTL_FILE_NOT_SUPPORTED NT_STATUS(0xC0000000 | 0x0057)
|
||||
#define NT_STATUS_UNKNOWN_REVISION NT_STATUS(0xC0000000 | 0x0058)
|
||||
#define NT_STATUS_REVISION_MISMATCH NT_STATUS(0xC0000000 | 0x0059)
|
||||
#define NT_STATUS_INVALID_OWNER NT_STATUS(0xC0000000 | 0x005a)
|
||||
#define NT_STATUS_INVALID_PRIMARY_GROUP NT_STATUS(0xC0000000 | 0x005b)
|
||||
#define NT_STATUS_NO_IMPERSONATION_TOKEN NT_STATUS(0xC0000000 | 0x005c)
|
||||
#define NT_STATUS_CANT_DISABLE_MANDATORY NT_STATUS(0xC0000000 | 0x005d)
|
||||
#define NT_STATUS_NO_LOGON_SERVERS NT_STATUS(0xC0000000 | 0x005e)
|
||||
#define NT_STATUS_NO_SUCH_LOGON_SESSION NT_STATUS(0xC0000000 | 0x005f)
|
||||
#define NT_STATUS_NO_SUCH_PRIVILEGE NT_STATUS(0xC0000000 | 0x0060)
|
||||
#define NT_STATUS_PRIVILEGE_NOT_HELD NT_STATUS(0xC0000000 | 0x0061)
|
||||
#define NT_STATUS_INVALID_ACCOUNT_NAME NT_STATUS(0xC0000000 | 0x0062)
|
||||
#define NT_STATUS_USER_EXISTS NT_STATUS(0xC0000000 | 0x0063)
|
||||
#define NT_STATUS_NO_SUCH_USER NT_STATUS(0xC0000000 | 0x0064)
|
||||
#define NT_STATUS_GROUP_EXISTS NT_STATUS(0xC0000000 | 0x0065)
|
||||
#define NT_STATUS_NO_SUCH_GROUP NT_STATUS(0xC0000000 | 0x0066)
|
||||
#define NT_STATUS_MEMBER_IN_GROUP NT_STATUS(0xC0000000 | 0x0067)
|
||||
#define NT_STATUS_MEMBER_NOT_IN_GROUP NT_STATUS(0xC0000000 | 0x0068)
|
||||
#define NT_STATUS_LAST_ADMIN NT_STATUS(0xC0000000 | 0x0069)
|
||||
#define NT_STATUS_WRONG_PASSWORD NT_STATUS(0xC0000000 | 0x006a)
|
||||
#define NT_STATUS_ILL_FORMED_PASSWORD NT_STATUS(0xC0000000 | 0x006b)
|
||||
#define NT_STATUS_PASSWORD_RESTRICTION NT_STATUS(0xC0000000 | 0x006c)
|
||||
#define NT_STATUS_LOGON_FAILURE NT_STATUS(0xC0000000 | 0x006d)
|
||||
#define NT_STATUS_ACCOUNT_RESTRICTION NT_STATUS(0xC0000000 | 0x006e)
|
||||
#define NT_STATUS_INVALID_LOGON_HOURS NT_STATUS(0xC0000000 | 0x006f)
|
||||
#define NT_STATUS_INVALID_WORKSTATION NT_STATUS(0xC0000000 | 0x0070)
|
||||
#define NT_STATUS_PASSWORD_EXPIRED NT_STATUS(0xC0000000 | 0x0071)
|
||||
#define NT_STATUS_ACCOUNT_DISABLED NT_STATUS(0xC0000000 | 0x0072)
|
||||
#define NT_STATUS_NONE_MAPPED NT_STATUS(0xC0000000 | 0x0073)
|
||||
#define NT_STATUS_TOO_MANY_LUIDS_REQUESTED NT_STATUS(0xC0000000 | 0x0074)
|
||||
#define NT_STATUS_LUIDS_EXHAUSTED NT_STATUS(0xC0000000 | 0x0075)
|
||||
#define NT_STATUS_INVALID_SUB_AUTHORITY NT_STATUS(0xC0000000 | 0x0076)
|
||||
#define NT_STATUS_INVALID_ACL NT_STATUS(0xC0000000 | 0x0077)
|
||||
#define NT_STATUS_INVALID_SID NT_STATUS(0xC0000000 | 0x0078)
|
||||
#define NT_STATUS_INVALID_SECURITY_DESCR NT_STATUS(0xC0000000 | 0x0079)
|
||||
#define NT_STATUS_PROCEDURE_NOT_FOUND NT_STATUS(0xC0000000 | 0x007a)
|
||||
#define NT_STATUS_INVALID_IMAGE_FORMAT NT_STATUS(0xC0000000 | 0x007b)
|
||||
#define NT_STATUS_NO_TOKEN NT_STATUS(0xC0000000 | 0x007c)
|
||||
#define NT_STATUS_BAD_INHERITANCE_ACL NT_STATUS(0xC0000000 | 0x007d)
|
||||
#define NT_STATUS_RANGE_NOT_LOCKED NT_STATUS(0xC0000000 | 0x007e)
|
||||
#define NT_STATUS_DISK_FULL NT_STATUS(0xC0000000 | 0x007f)
|
||||
#define NT_STATUS_SERVER_DISABLED NT_STATUS(0xC0000000 | 0x0080)
|
||||
#define NT_STATUS_SERVER_NOT_DISABLED NT_STATUS(0xC0000000 | 0x0081)
|
||||
#define NT_STATUS_TOO_MANY_GUIDS_REQUESTED NT_STATUS(0xC0000000 | 0x0082)
|
||||
#define NT_STATUS_GUIDS_EXHAUSTED NT_STATUS(0xC0000000 | 0x0083)
|
||||
#define NT_STATUS_INVALID_ID_AUTHORITY NT_STATUS(0xC0000000 | 0x0084)
|
||||
#define NT_STATUS_AGENTS_EXHAUSTED NT_STATUS(0xC0000000 | 0x0085)
|
||||
#define NT_STATUS_INVALID_VOLUME_LABEL NT_STATUS(0xC0000000 | 0x0086)
|
||||
#define NT_STATUS_SECTION_NOT_EXTENDED NT_STATUS(0xC0000000 | 0x0087)
|
||||
#define NT_STATUS_NOT_MAPPED_DATA NT_STATUS(0xC0000000 | 0x0088)
|
||||
#define NT_STATUS_RESOURCE_DATA_NOT_FOUND NT_STATUS(0xC0000000 | 0x0089)
|
||||
#define NT_STATUS_RESOURCE_TYPE_NOT_FOUND NT_STATUS(0xC0000000 | 0x008a)
|
||||
#define NT_STATUS_RESOURCE_NAME_NOT_FOUND NT_STATUS(0xC0000000 | 0x008b)
|
||||
#define NT_STATUS_ARRAY_BOUNDS_EXCEEDED NT_STATUS(0xC0000000 | 0x008c)
|
||||
#define NT_STATUS_FLOAT_DENORMAL_OPERAND NT_STATUS(0xC0000000 | 0x008d)
|
||||
#define NT_STATUS_FLOAT_DIVIDE_BY_ZERO NT_STATUS(0xC0000000 | 0x008e)
|
||||
#define NT_STATUS_FLOAT_INEXACT_RESULT NT_STATUS(0xC0000000 | 0x008f)
|
||||
#define NT_STATUS_FLOAT_INVALID_OPERATION NT_STATUS(0xC0000000 | 0x0090)
|
||||
#define NT_STATUS_FLOAT_OVERFLOW NT_STATUS(0xC0000000 | 0x0091)
|
||||
#define NT_STATUS_FLOAT_STACK_CHECK NT_STATUS(0xC0000000 | 0x0092)
|
||||
#define NT_STATUS_FLOAT_UNDERFLOW NT_STATUS(0xC0000000 | 0x0093)
|
||||
#define NT_STATUS_INTEGER_DIVIDE_BY_ZERO NT_STATUS(0xC0000000 | 0x0094)
|
||||
#define NT_STATUS_INTEGER_OVERFLOW NT_STATUS(0xC0000000 | 0x0095)
|
||||
#define NT_STATUS_PRIVILEGED_INSTRUCTION NT_STATUS(0xC0000000 | 0x0096)
|
||||
#define NT_STATUS_TOO_MANY_PAGING_FILES NT_STATUS(0xC0000000 | 0x0097)
|
||||
#define NT_STATUS_FILE_INVALID NT_STATUS(0xC0000000 | 0x0098)
|
||||
#define NT_STATUS_ALLOTTED_SPACE_EXCEEDED NT_STATUS(0xC0000000 | 0x0099)
|
||||
#define NT_STATUS_INSUFFICIENT_RESOURCES NT_STATUS(0xC0000000 | 0x009a)
|
||||
#define NT_STATUS_DFS_EXIT_PATH_FOUND NT_STATUS(0xC0000000 | 0x009b)
|
||||
#define NT_STATUS_DEVICE_DATA_ERROR NT_STATUS(0xC0000000 | 0x009c)
|
||||
#define NT_STATUS_DEVICE_NOT_CONNECTED NT_STATUS(0xC0000000 | 0x009d)
|
||||
#define NT_STATUS_DEVICE_POWER_FAILURE NT_STATUS(0xC0000000 | 0x009e)
|
||||
#define NT_STATUS_FREE_VM_NOT_AT_BASE NT_STATUS(0xC0000000 | 0x009f)
|
||||
#define NT_STATUS_MEMORY_NOT_ALLOCATED NT_STATUS(0xC0000000 | 0x00a0)
|
||||
#define NT_STATUS_WORKING_SET_QUOTA NT_STATUS(0xC0000000 | 0x00a1)
|
||||
#define NT_STATUS_MEDIA_WRITE_PROTECTED NT_STATUS(0xC0000000 | 0x00a2)
|
||||
#define NT_STATUS_DEVICE_NOT_READY NT_STATUS(0xC0000000 | 0x00a3)
|
||||
#define NT_STATUS_INVALID_GROUP_ATTRIBUTES NT_STATUS(0xC0000000 | 0x00a4)
|
||||
#define NT_STATUS_BAD_IMPERSONATION_LEVEL NT_STATUS(0xC0000000 | 0x00a5)
|
||||
#define NT_STATUS_CANT_OPEN_ANONYMOUS NT_STATUS(0xC0000000 | 0x00a6)
|
||||
#define NT_STATUS_BAD_VALIDATION_CLASS NT_STATUS(0xC0000000 | 0x00a7)
|
||||
#define NT_STATUS_BAD_TOKEN_TYPE NT_STATUS(0xC0000000 | 0x00a8)
|
||||
#define NT_STATUS_BAD_MASTER_BOOT_RECORD NT_STATUS(0xC0000000 | 0x00a9)
|
||||
#define NT_STATUS_INSTRUCTION_MISALIGNMENT NT_STATUS(0xC0000000 | 0x00aa)
|
||||
#define NT_STATUS_INSTANCE_NOT_AVAILABLE NT_STATUS(0xC0000000 | 0x00ab)
|
||||
#define NT_STATUS_PIPE_NOT_AVAILABLE NT_STATUS(0xC0000000 | 0x00ac)
|
||||
#define NT_STATUS_INVALID_PIPE_STATE NT_STATUS(0xC0000000 | 0x00ad)
|
||||
#define NT_STATUS_PIPE_BUSY NT_STATUS(0xC0000000 | 0x00ae)
|
||||
#define NT_STATUS_ILLEGAL_FUNCTION NT_STATUS(0xC0000000 | 0x00af)
|
||||
#define NT_STATUS_PIPE_DISCONNECTED NT_STATUS(0xC0000000 | 0x00b0)
|
||||
#define NT_STATUS_PIPE_CLOSING NT_STATUS(0xC0000000 | 0x00b1)
|
||||
#define NT_STATUS_PIPE_CONNECTED NT_STATUS(0xC0000000 | 0x00b2)
|
||||
#define NT_STATUS_PIPE_LISTENING NT_STATUS(0xC0000000 | 0x00b3)
|
||||
#define NT_STATUS_INVALID_READ_MODE NT_STATUS(0xC0000000 | 0x00b4)
|
||||
#define NT_STATUS_IO_TIMEOUT NT_STATUS(0xC0000000 | 0x00b5)
|
||||
#define NT_STATUS_FILE_FORCED_CLOSED NT_STATUS(0xC0000000 | 0x00b6)
|
||||
#define NT_STATUS_PROFILING_NOT_STARTED NT_STATUS(0xC0000000 | 0x00b7)
|
||||
#define NT_STATUS_PROFILING_NOT_STOPPED NT_STATUS(0xC0000000 | 0x00b8)
|
||||
#define NT_STATUS_COULD_NOT_INTERPRET NT_STATUS(0xC0000000 | 0x00b9)
|
||||
#define NT_STATUS_FILE_IS_A_DIRECTORY NT_STATUS(0xC0000000 | 0x00ba)
|
||||
#define NT_STATUS_NOT_SUPPORTED NT_STATUS(0xC0000000 | 0x00bb)
|
||||
#define NT_STATUS_REMOTE_NOT_LISTENING NT_STATUS(0xC0000000 | 0x00bc)
|
||||
#define NT_STATUS_DUPLICATE_NAME NT_STATUS(0xC0000000 | 0x00bd)
|
||||
#define NT_STATUS_BAD_NETWORK_PATH NT_STATUS(0xC0000000 | 0x00be)
|
||||
#define NT_STATUS_NETWORK_BUSY NT_STATUS(0xC0000000 | 0x00bf)
|
||||
#define NT_STATUS_DEVICE_DOES_NOT_EXIST NT_STATUS(0xC0000000 | 0x00c0)
|
||||
#define NT_STATUS_TOO_MANY_COMMANDS NT_STATUS(0xC0000000 | 0x00c1)
|
||||
#define NT_STATUS_ADAPTER_HARDWARE_ERROR NT_STATUS(0xC0000000 | 0x00c2)
|
||||
#define NT_STATUS_INVALID_NETWORK_RESPONSE NT_STATUS(0xC0000000 | 0x00c3)
|
||||
#define NT_STATUS_UNEXPECTED_NETWORK_ERROR NT_STATUS(0xC0000000 | 0x00c4)
|
||||
#define NT_STATUS_BAD_REMOTE_ADAPTER NT_STATUS(0xC0000000 | 0x00c5)
|
||||
#define NT_STATUS_PRINT_QUEUE_FULL NT_STATUS(0xC0000000 | 0x00c6)
|
||||
#define NT_STATUS_NO_SPOOL_SPACE NT_STATUS(0xC0000000 | 0x00c7)
|
||||
#define NT_STATUS_PRINT_CANCELLED NT_STATUS(0xC0000000 | 0x00c8)
|
||||
#define NT_STATUS_NETWORK_NAME_DELETED NT_STATUS(0xC0000000 | 0x00c9)
|
||||
#define NT_STATUS_NETWORK_ACCESS_DENIED NT_STATUS(0xC0000000 | 0x00ca)
|
||||
#define NT_STATUS_BAD_DEVICE_TYPE NT_STATUS(0xC0000000 | 0x00cb)
|
||||
#define NT_STATUS_BAD_NETWORK_NAME NT_STATUS(0xC0000000 | 0x00cc)
|
||||
#define NT_STATUS_TOO_MANY_NAMES NT_STATUS(0xC0000000 | 0x00cd)
|
||||
#define NT_STATUS_TOO_MANY_SESSIONS NT_STATUS(0xC0000000 | 0x00ce)
|
||||
#define NT_STATUS_SHARING_PAUSED NT_STATUS(0xC0000000 | 0x00cf)
|
||||
#define NT_STATUS_REQUEST_NOT_ACCEPTED NT_STATUS(0xC0000000 | 0x00d0)
|
||||
#define NT_STATUS_REDIRECTOR_PAUSED NT_STATUS(0xC0000000 | 0x00d1)
|
||||
#define NT_STATUS_NET_WRITE_FAULT NT_STATUS(0xC0000000 | 0x00d2)
|
||||
#define NT_STATUS_PROFILING_AT_LIMIT NT_STATUS(0xC0000000 | 0x00d3)
|
||||
#define NT_STATUS_NOT_SAME_DEVICE NT_STATUS(0xC0000000 | 0x00d4)
|
||||
#define NT_STATUS_FILE_RENAMED NT_STATUS(0xC0000000 | 0x00d5)
|
||||
#define NT_STATUS_VIRTUAL_CIRCUIT_CLOSED NT_STATUS(0xC0000000 | 0x00d6)
|
||||
#define NT_STATUS_NO_SECURITY_ON_OBJECT NT_STATUS(0xC0000000 | 0x00d7)
|
||||
#define NT_STATUS_CANT_WAIT NT_STATUS(0xC0000000 | 0x00d8)
|
||||
#define NT_STATUS_PIPE_EMPTY NT_STATUS(0xC0000000 | 0x00d9)
|
||||
#define NT_STATUS_CANT_ACCESS_DOMAIN_INFO NT_STATUS(0xC0000000 | 0x00da)
|
||||
#define NT_STATUS_CANT_TERMINATE_SELF NT_STATUS(0xC0000000 | 0x00db)
|
||||
#define NT_STATUS_INVALID_SERVER_STATE NT_STATUS(0xC0000000 | 0x00dc)
|
||||
#define NT_STATUS_INVALID_DOMAIN_STATE NT_STATUS(0xC0000000 | 0x00dd)
|
||||
#define NT_STATUS_INVALID_DOMAIN_ROLE NT_STATUS(0xC0000000 | 0x00de)
|
||||
#define NT_STATUS_NO_SUCH_DOMAIN NT_STATUS(0xC0000000 | 0x00df)
|
||||
#define NT_STATUS_DOMAIN_EXISTS NT_STATUS(0xC0000000 | 0x00e0)
|
||||
#define NT_STATUS_DOMAIN_LIMIT_EXCEEDED NT_STATUS(0xC0000000 | 0x00e1)
|
||||
#define NT_STATUS_OPLOCK_NOT_GRANTED NT_STATUS(0xC0000000 | 0x00e2)
|
||||
#define NT_STATUS_INVALID_OPLOCK_PROTOCOL NT_STATUS(0xC0000000 | 0x00e3)
|
||||
#define NT_STATUS_INTERNAL_DB_CORRUPTION NT_STATUS(0xC0000000 | 0x00e4)
|
||||
#define NT_STATUS_INTERNAL_ERROR NT_STATUS(0xC0000000 | 0x00e5)
|
||||
#define NT_STATUS_GENERIC_NOT_MAPPED NT_STATUS(0xC0000000 | 0x00e6)
|
||||
#define NT_STATUS_BAD_DESCRIPTOR_FORMAT NT_STATUS(0xC0000000 | 0x00e7)
|
||||
#define NT_STATUS_INVALID_USER_BUFFER NT_STATUS(0xC0000000 | 0x00e8)
|
||||
#define NT_STATUS_UNEXPECTED_IO_ERROR NT_STATUS(0xC0000000 | 0x00e9)
|
||||
#define NT_STATUS_UNEXPECTED_MM_CREATE_ERR NT_STATUS(0xC0000000 | 0x00ea)
|
||||
#define NT_STATUS_UNEXPECTED_MM_MAP_ERROR NT_STATUS(0xC0000000 | 0x00eb)
|
||||
#define NT_STATUS_UNEXPECTED_MM_EXTEND_ERR NT_STATUS(0xC0000000 | 0x00ec)
|
||||
#define NT_STATUS_NOT_LOGON_PROCESS NT_STATUS(0xC0000000 | 0x00ed)
|
||||
#define NT_STATUS_LOGON_SESSION_EXISTS NT_STATUS(0xC0000000 | 0x00ee)
|
||||
#define NT_STATUS_INVALID_PARAMETER_1 NT_STATUS(0xC0000000 | 0x00ef)
|
||||
#define NT_STATUS_INVALID_PARAMETER_2 NT_STATUS(0xC0000000 | 0x00f0)
|
||||
#define NT_STATUS_INVALID_PARAMETER_3 NT_STATUS(0xC0000000 | 0x00f1)
|
||||
#define NT_STATUS_INVALID_PARAMETER_4 NT_STATUS(0xC0000000 | 0x00f2)
|
||||
#define NT_STATUS_INVALID_PARAMETER_5 NT_STATUS(0xC0000000 | 0x00f3)
|
||||
#define NT_STATUS_INVALID_PARAMETER_6 NT_STATUS(0xC0000000 | 0x00f4)
|
||||
#define NT_STATUS_INVALID_PARAMETER_7 NT_STATUS(0xC0000000 | 0x00f5)
|
||||
#define NT_STATUS_INVALID_PARAMETER_8 NT_STATUS(0xC0000000 | 0x00f6)
|
||||
#define NT_STATUS_INVALID_PARAMETER_9 NT_STATUS(0xC0000000 | 0x00f7)
|
||||
#define NT_STATUS_INVALID_PARAMETER_10 NT_STATUS(0xC0000000 | 0x00f8)
|
||||
#define NT_STATUS_INVALID_PARAMETER_11 NT_STATUS(0xC0000000 | 0x00f9)
|
||||
#define NT_STATUS_INVALID_PARAMETER_12 NT_STATUS(0xC0000000 | 0x00fa)
|
||||
#define NT_STATUS_REDIRECTOR_NOT_STARTED NT_STATUS(0xC0000000 | 0x00fb)
|
||||
#define NT_STATUS_REDIRECTOR_STARTED NT_STATUS(0xC0000000 | 0x00fc)
|
||||
#define NT_STATUS_STACK_OVERFLOW NT_STATUS(0xC0000000 | 0x00fd)
|
||||
#define NT_STATUS_NO_SUCH_PACKAGE NT_STATUS(0xC0000000 | 0x00fe)
|
||||
#define NT_STATUS_BAD_FUNCTION_TABLE NT_STATUS(0xC0000000 | 0x00ff)
|
||||
#define NT_STATUS_DIRECTORY_NOT_EMPTY NT_STATUS(0xC0000000 | 0x0101)
|
||||
#define NT_STATUS_FILE_CORRUPT_ERROR NT_STATUS(0xC0000000 | 0x0102)
|
||||
#define NT_STATUS_NOT_A_DIRECTORY NT_STATUS(0xC0000000 | 0x0103)
|
||||
#define NT_STATUS_BAD_LOGON_SESSION_STATE NT_STATUS(0xC0000000 | 0x0104)
|
||||
#define NT_STATUS_LOGON_SESSION_COLLISION NT_STATUS(0xC0000000 | 0x0105)
|
||||
#define NT_STATUS_NAME_TOO_LONG NT_STATUS(0xC0000000 | 0x0106)
|
||||
#define NT_STATUS_FILES_OPEN NT_STATUS(0xC0000000 | 0x0107)
|
||||
#define NT_STATUS_CONNECTION_IN_USE NT_STATUS(0xC0000000 | 0x0108)
|
||||
#define NT_STATUS_MESSAGE_NOT_FOUND NT_STATUS(0xC0000000 | 0x0109)
|
||||
#define NT_STATUS_PROCESS_IS_TERMINATING NT_STATUS(0xC0000000 | 0x010a)
|
||||
#define NT_STATUS_INVALID_LOGON_TYPE NT_STATUS(0xC0000000 | 0x010b)
|
||||
#define NT_STATUS_NO_GUID_TRANSLATION NT_STATUS(0xC0000000 | 0x010c)
|
||||
#define NT_STATUS_CANNOT_IMPERSONATE NT_STATUS(0xC0000000 | 0x010d)
|
||||
#define NT_STATUS_IMAGE_ALREADY_LOADED NT_STATUS(0xC0000000 | 0x010e)
|
||||
#define NT_STATUS_ABIOS_NOT_PRESENT NT_STATUS(0xC0000000 | 0x010f)
|
||||
#define NT_STATUS_ABIOS_LID_NOT_EXIST NT_STATUS(0xC0000000 | 0x0110)
|
||||
#define NT_STATUS_ABIOS_LID_ALREADY_OWNED NT_STATUS(0xC0000000 | 0x0111)
|
||||
#define NT_STATUS_ABIOS_NOT_LID_OWNER NT_STATUS(0xC0000000 | 0x0112)
|
||||
#define NT_STATUS_ABIOS_INVALID_COMMAND NT_STATUS(0xC0000000 | 0x0113)
|
||||
#define NT_STATUS_ABIOS_INVALID_LID NT_STATUS(0xC0000000 | 0x0114)
|
||||
#define NT_STATUS_ABIOS_SELECTOR_NOT_AVAILABLE NT_STATUS(0xC0000000 | 0x0115)
|
||||
#define NT_STATUS_ABIOS_INVALID_SELECTOR NT_STATUS(0xC0000000 | 0x0116)
|
||||
#define NT_STATUS_NO_LDT NT_STATUS(0xC0000000 | 0x0117)
|
||||
#define NT_STATUS_INVALID_LDT_SIZE NT_STATUS(0xC0000000 | 0x0118)
|
||||
#define NT_STATUS_INVALID_LDT_OFFSET NT_STATUS(0xC0000000 | 0x0119)
|
||||
#define NT_STATUS_INVALID_LDT_DESCRIPTOR NT_STATUS(0xC0000000 | 0x011a)
|
||||
#define NT_STATUS_INVALID_IMAGE_NE_FORMAT NT_STATUS(0xC0000000 | 0x011b)
|
||||
#define NT_STATUS_RXACT_INVALID_STATE NT_STATUS(0xC0000000 | 0x011c)
|
||||
#define NT_STATUS_RXACT_COMMIT_FAILURE NT_STATUS(0xC0000000 | 0x011d)
|
||||
#define NT_STATUS_MAPPED_FILE_SIZE_ZERO NT_STATUS(0xC0000000 | 0x011e)
|
||||
#define NT_STATUS_TOO_MANY_OPENED_FILES NT_STATUS(0xC0000000 | 0x011f)
|
||||
#define NT_STATUS_CANCELLED NT_STATUS(0xC0000000 | 0x0120)
|
||||
#define NT_STATUS_CANNOT_DELETE NT_STATUS(0xC0000000 | 0x0121)
|
||||
#define NT_STATUS_INVALID_COMPUTER_NAME NT_STATUS(0xC0000000 | 0x0122)
|
||||
#define NT_STATUS_FILE_DELETED NT_STATUS(0xC0000000 | 0x0123)
|
||||
#define NT_STATUS_SPECIAL_ACCOUNT NT_STATUS(0xC0000000 | 0x0124)
|
||||
#define NT_STATUS_SPECIAL_GROUP NT_STATUS(0xC0000000 | 0x0125)
|
||||
#define NT_STATUS_SPECIAL_USER NT_STATUS(0xC0000000 | 0x0126)
|
||||
#define NT_STATUS_MEMBERS_PRIMARY_GROUP NT_STATUS(0xC0000000 | 0x0127)
|
||||
#define NT_STATUS_FILE_CLOSED NT_STATUS(0xC0000000 | 0x0128)
|
||||
#define NT_STATUS_TOO_MANY_THREADS NT_STATUS(0xC0000000 | 0x0129)
|
||||
#define NT_STATUS_THREAD_NOT_IN_PROCESS NT_STATUS(0xC0000000 | 0x012a)
|
||||
#define NT_STATUS_TOKEN_ALREADY_IN_USE NT_STATUS(0xC0000000 | 0x012b)
|
||||
#define NT_STATUS_PAGEFILE_QUOTA_EXCEEDED NT_STATUS(0xC0000000 | 0x012c)
|
||||
#define NT_STATUS_COMMITMENT_LIMIT NT_STATUS(0xC0000000 | 0x012d)
|
||||
#define NT_STATUS_INVALID_IMAGE_LE_FORMAT NT_STATUS(0xC0000000 | 0x012e)
|
||||
#define NT_STATUS_INVALID_IMAGE_NOT_MZ NT_STATUS(0xC0000000 | 0x012f)
|
||||
#define NT_STATUS_INVALID_IMAGE_PROTECT NT_STATUS(0xC0000000 | 0x0130)
|
||||
#define NT_STATUS_INVALID_IMAGE_WIN_16 NT_STATUS(0xC0000000 | 0x0131)
|
||||
#define NT_STATUS_LOGON_SERVER_CONFLICT NT_STATUS(0xC0000000 | 0x0132)
|
||||
#define NT_STATUS_TIME_DIFFERENCE_AT_DC NT_STATUS(0xC0000000 | 0x0133)
|
||||
#define NT_STATUS_SYNCHRONIZATION_REQUIRED NT_STATUS(0xC0000000 | 0x0134)
|
||||
#define NT_STATUS_DLL_NOT_FOUND NT_STATUS(0xC0000000 | 0x0135)
|
||||
#define NT_STATUS_OPEN_FAILED NT_STATUS(0xC0000000 | 0x0136)
|
||||
#define NT_STATUS_IO_PRIVILEGE_FAILED NT_STATUS(0xC0000000 | 0x0137)
|
||||
#define NT_STATUS_ORDINAL_NOT_FOUND NT_STATUS(0xC0000000 | 0x0138)
|
||||
#define NT_STATUS_ENTRYPOINT_NOT_FOUND NT_STATUS(0xC0000000 | 0x0139)
|
||||
#define NT_STATUS_CONTROL_C_EXIT NT_STATUS(0xC0000000 | 0x013a)
|
||||
#define NT_STATUS_LOCAL_DISCONNECT NT_STATUS(0xC0000000 | 0x013b)
|
||||
#define NT_STATUS_REMOTE_DISCONNECT NT_STATUS(0xC0000000 | 0x013c)
|
||||
#define NT_STATUS_REMOTE_RESOURCES NT_STATUS(0xC0000000 | 0x013d)
|
||||
#define NT_STATUS_LINK_FAILED NT_STATUS(0xC0000000 | 0x013e)
|
||||
#define NT_STATUS_LINK_TIMEOUT NT_STATUS(0xC0000000 | 0x013f)
|
||||
#define NT_STATUS_INVALID_CONNECTION NT_STATUS(0xC0000000 | 0x0140)
|
||||
#define NT_STATUS_INVALID_ADDRESS NT_STATUS(0xC0000000 | 0x0141)
|
||||
#define NT_STATUS_DLL_INIT_FAILED NT_STATUS(0xC0000000 | 0x0142)
|
||||
#define NT_STATUS_MISSING_SYSTEMFILE NT_STATUS(0xC0000000 | 0x0143)
|
||||
#define NT_STATUS_UNHANDLED_EXCEPTION NT_STATUS(0xC0000000 | 0x0144)
|
||||
#define NT_STATUS_APP_INIT_FAILURE NT_STATUS(0xC0000000 | 0x0145)
|
||||
#define NT_STATUS_PAGEFILE_CREATE_FAILED NT_STATUS(0xC0000000 | 0x0146)
|
||||
#define NT_STATUS_NO_PAGEFILE NT_STATUS(0xC0000000 | 0x0147)
|
||||
#define NT_STATUS_INVALID_LEVEL NT_STATUS(0xC0000000 | 0x0148)
|
||||
#define NT_STATUS_WRONG_PASSWORD_CORE NT_STATUS(0xC0000000 | 0x0149)
|
||||
#define NT_STATUS_ILLEGAL_FLOAT_CONTEXT NT_STATUS(0xC0000000 | 0x014a)
|
||||
#define NT_STATUS_PIPE_BROKEN NT_STATUS(0xC0000000 | 0x014b)
|
||||
#define NT_STATUS_REGISTRY_CORRUPT NT_STATUS(0xC0000000 | 0x014c)
|
||||
#define NT_STATUS_REGISTRY_IO_FAILED NT_STATUS(0xC0000000 | 0x014d)
|
||||
#define NT_STATUS_NO_EVENT_PAIR NT_STATUS(0xC0000000 | 0x014e)
|
||||
#define NT_STATUS_UNRECOGNIZED_VOLUME NT_STATUS(0xC0000000 | 0x014f)
|
||||
#define NT_STATUS_SERIAL_NO_DEVICE_INITED NT_STATUS(0xC0000000 | 0x0150)
|
||||
#define NT_STATUS_NO_SUCH_ALIAS NT_STATUS(0xC0000000 | 0x0151)
|
||||
#define NT_STATUS_MEMBER_NOT_IN_ALIAS NT_STATUS(0xC0000000 | 0x0152)
|
||||
#define NT_STATUS_MEMBER_IN_ALIAS NT_STATUS(0xC0000000 | 0x0153)
|
||||
#define NT_STATUS_ALIAS_EXISTS NT_STATUS(0xC0000000 | 0x0154)
|
||||
#define NT_STATUS_LOGON_NOT_GRANTED NT_STATUS(0xC0000000 | 0x0155)
|
||||
#define NT_STATUS_TOO_MANY_SECRETS NT_STATUS(0xC0000000 | 0x0156)
|
||||
#define NT_STATUS_SECRET_TOO_LONG NT_STATUS(0xC0000000 | 0x0157)
|
||||
#define NT_STATUS_INTERNAL_DB_ERROR NT_STATUS(0xC0000000 | 0x0158)
|
||||
#define NT_STATUS_FULLSCREEN_MODE NT_STATUS(0xC0000000 | 0x0159)
|
||||
#define NT_STATUS_TOO_MANY_CONTEXT_IDS NT_STATUS(0xC0000000 | 0x015a)
|
||||
#define NT_STATUS_LOGON_TYPE_NOT_GRANTED NT_STATUS(0xC0000000 | 0x015b)
|
||||
#define NT_STATUS_NOT_REGISTRY_FILE NT_STATUS(0xC0000000 | 0x015c)
|
||||
#define NT_STATUS_NT_CROSS_ENCRYPTION_REQUIRED NT_STATUS(0xC0000000 | 0x015d)
|
||||
#define NT_STATUS_DOMAIN_CTRLR_CONFIG_ERROR NT_STATUS(0xC0000000 | 0x015e)
|
||||
#define NT_STATUS_FT_MISSING_MEMBER NT_STATUS(0xC0000000 | 0x015f)
|
||||
#define NT_STATUS_ILL_FORMED_SERVICE_ENTRY NT_STATUS(0xC0000000 | 0x0160)
|
||||
#define NT_STATUS_ILLEGAL_CHARACTER NT_STATUS(0xC0000000 | 0x0161)
|
||||
#define NT_STATUS_UNMAPPABLE_CHARACTER NT_STATUS(0xC0000000 | 0x0162)
|
||||
#define NT_STATUS_UNDEFINED_CHARACTER NT_STATUS(0xC0000000 | 0x0163)
|
||||
#define NT_STATUS_FLOPPY_VOLUME NT_STATUS(0xC0000000 | 0x0164)
|
||||
#define NT_STATUS_FLOPPY_ID_MARK_NOT_FOUND NT_STATUS(0xC0000000 | 0x0165)
|
||||
#define NT_STATUS_FLOPPY_WRONG_CYLINDER NT_STATUS(0xC0000000 | 0x0166)
|
||||
#define NT_STATUS_FLOPPY_UNKNOWN_ERROR NT_STATUS(0xC0000000 | 0x0167)
|
||||
#define NT_STATUS_FLOPPY_BAD_REGISTERS NT_STATUS(0xC0000000 | 0x0168)
|
||||
#define NT_STATUS_DISK_RECALIBRATE_FAILED NT_STATUS(0xC0000000 | 0x0169)
|
||||
#define NT_STATUS_DISK_OPERATION_FAILED NT_STATUS(0xC0000000 | 0x016a)
|
||||
#define NT_STATUS_DISK_RESET_FAILED NT_STATUS(0xC0000000 | 0x016b)
|
||||
#define NT_STATUS_SHARED_IRQ_BUSY NT_STATUS(0xC0000000 | 0x016c)
|
||||
#define NT_STATUS_FT_ORPHANING NT_STATUS(0xC0000000 | 0x016d)
|
||||
#define NT_STATUS_PARTITION_FAILURE NT_STATUS(0xC0000000 | 0x0172)
|
||||
#define NT_STATUS_INVALID_BLOCK_LENGTH NT_STATUS(0xC0000000 | 0x0173)
|
||||
#define NT_STATUS_DEVICE_NOT_PARTITIONED NT_STATUS(0xC0000000 | 0x0174)
|
||||
#define NT_STATUS_UNABLE_TO_LOCK_MEDIA NT_STATUS(0xC0000000 | 0x0175)
|
||||
#define NT_STATUS_UNABLE_TO_UNLOAD_MEDIA NT_STATUS(0xC0000000 | 0x0176)
|
||||
#define NT_STATUS_EOM_OVERFLOW NT_STATUS(0xC0000000 | 0x0177)
|
||||
#define NT_STATUS_NO_MEDIA NT_STATUS(0xC0000000 | 0x0178)
|
||||
#define NT_STATUS_NO_SUCH_MEMBER NT_STATUS(0xC0000000 | 0x017a)
|
||||
#define NT_STATUS_INVALID_MEMBER NT_STATUS(0xC0000000 | 0x017b)
|
||||
#define NT_STATUS_KEY_DELETED NT_STATUS(0xC0000000 | 0x017c)
|
||||
#define NT_STATUS_NO_LOG_SPACE NT_STATUS(0xC0000000 | 0x017d)
|
||||
#define NT_STATUS_TOO_MANY_SIDS NT_STATUS(0xC0000000 | 0x017e)
|
||||
#define NT_STATUS_LM_CROSS_ENCRYPTION_REQUIRED NT_STATUS(0xC0000000 | 0x017f)
|
||||
#define NT_STATUS_KEY_HAS_CHILDREN NT_STATUS(0xC0000000 | 0x0180)
|
||||
#define NT_STATUS_CHILD_MUST_BE_VOLATILE NT_STATUS(0xC0000000 | 0x0181)
|
||||
#define NT_STATUS_DEVICE_CONFIGURATION_ERROR NT_STATUS(0xC0000000 | 0x0182)
|
||||
#define NT_STATUS_DRIVER_INTERNAL_ERROR NT_STATUS(0xC0000000 | 0x0183)
|
||||
#define NT_STATUS_INVALID_DEVICE_STATE NT_STATUS(0xC0000000 | 0x0184)
|
||||
#define NT_STATUS_IO_DEVICE_ERROR NT_STATUS(0xC0000000 | 0x0185)
|
||||
#define NT_STATUS_DEVICE_PROTOCOL_ERROR NT_STATUS(0xC0000000 | 0x0186)
|
||||
#define NT_STATUS_BACKUP_CONTROLLER NT_STATUS(0xC0000000 | 0x0187)
|
||||
#define NT_STATUS_LOG_FILE_FULL NT_STATUS(0xC0000000 | 0x0188)
|
||||
#define NT_STATUS_TOO_LATE NT_STATUS(0xC0000000 | 0x0189)
|
||||
#define NT_STATUS_NO_TRUST_LSA_SECRET NT_STATUS(0xC0000000 | 0x018a)
|
||||
#define NT_STATUS_NO_TRUST_SAM_ACCOUNT NT_STATUS(0xC0000000 | 0x018b)
|
||||
#define NT_STATUS_TRUSTED_DOMAIN_FAILURE NT_STATUS(0xC0000000 | 0x018c)
|
||||
#define NT_STATUS_TRUSTED_RELATIONSHIP_FAILURE NT_STATUS(0xC0000000 | 0x018d)
|
||||
#define NT_STATUS_EVENTLOG_FILE_CORRUPT NT_STATUS(0xC0000000 | 0x018e)
|
||||
#define NT_STATUS_EVENTLOG_CANT_START NT_STATUS(0xC0000000 | 0x018f)
|
||||
#define NT_STATUS_TRUST_FAILURE NT_STATUS(0xC0000000 | 0x0190)
|
||||
#define NT_STATUS_MUTANT_LIMIT_EXCEEDED NT_STATUS(0xC0000000 | 0x0191)
|
||||
#define NT_STATUS_NETLOGON_NOT_STARTED NT_STATUS(0xC0000000 | 0x0192)
|
||||
#define NT_STATUS_ACCOUNT_EXPIRED NT_STATUS(0xC0000000 | 0x0193)
|
||||
#define NT_STATUS_POSSIBLE_DEADLOCK NT_STATUS(0xC0000000 | 0x0194)
|
||||
#define NT_STATUS_NETWORK_CREDENTIAL_CONFLICT NT_STATUS(0xC0000000 | 0x0195)
|
||||
#define NT_STATUS_REMOTE_SESSION_LIMIT NT_STATUS(0xC0000000 | 0x0196)
|
||||
#define NT_STATUS_EVENTLOG_FILE_CHANGED NT_STATUS(0xC0000000 | 0x0197)
|
||||
#define NT_STATUS_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT NT_STATUS(0xC0000000 | 0x0198)
|
||||
#define NT_STATUS_NOLOGON_WORKSTATION_TRUST_ACCOUNT NT_STATUS(0xC0000000 | 0x0199)
|
||||
#define NT_STATUS_NOLOGON_SERVER_TRUST_ACCOUNT NT_STATUS(0xC0000000 | 0x019a)
|
||||
#define NT_STATUS_DOMAIN_TRUST_INCONSISTENT NT_STATUS(0xC0000000 | 0x019b)
|
||||
#define NT_STATUS_FS_DRIVER_REQUIRED NT_STATUS(0xC0000000 | 0x019c)
|
||||
#define NT_STATUS_NO_USER_SESSION_KEY NT_STATUS(0xC0000000 | 0x0202)
|
||||
#define NT_STATUS_USER_SESSION_DELETED NT_STATUS(0xC0000000 | 0x0203)
|
||||
#define NT_STATUS_RESOURCE_LANG_NOT_FOUND NT_STATUS(0xC0000000 | 0x0204)
|
||||
#define NT_STATUS_INSUFF_SERVER_RESOURCES NT_STATUS(0xC0000000 | 0x0205)
|
||||
#define NT_STATUS_INVALID_BUFFER_SIZE NT_STATUS(0xC0000000 | 0x0206)
|
||||
#define NT_STATUS_INVALID_ADDRESS_COMPONENT NT_STATUS(0xC0000000 | 0x0207)
|
||||
#define NT_STATUS_INVALID_ADDRESS_WILDCARD NT_STATUS(0xC0000000 | 0x0208)
|
||||
#define NT_STATUS_TOO_MANY_ADDRESSES NT_STATUS(0xC0000000 | 0x0209)
|
||||
#define NT_STATUS_ADDRESS_ALREADY_EXISTS NT_STATUS(0xC0000000 | 0x020a)
|
||||
#define NT_STATUS_ADDRESS_CLOSED NT_STATUS(0xC0000000 | 0x020b)
|
||||
#define NT_STATUS_CONNECTION_DISCONNECTED NT_STATUS(0xC0000000 | 0x020c)
|
||||
#define NT_STATUS_CONNECTION_RESET NT_STATUS(0xC0000000 | 0x020d)
|
||||
#define NT_STATUS_TOO_MANY_NODES NT_STATUS(0xC0000000 | 0x020e)
|
||||
#define NT_STATUS_TRANSACTION_ABORTED NT_STATUS(0xC0000000 | 0x020f)
|
||||
#define NT_STATUS_TRANSACTION_TIMED_OUT NT_STATUS(0xC0000000 | 0x0210)
|
||||
#define NT_STATUS_TRANSACTION_NO_RELEASE NT_STATUS(0xC0000000 | 0x0211)
|
||||
#define NT_STATUS_TRANSACTION_NO_MATCH NT_STATUS(0xC0000000 | 0x0212)
|
||||
#define NT_STATUS_TRANSACTION_RESPONDED NT_STATUS(0xC0000000 | 0x0213)
|
||||
#define NT_STATUS_TRANSACTION_INVALID_ID NT_STATUS(0xC0000000 | 0x0214)
|
||||
#define NT_STATUS_TRANSACTION_INVALID_TYPE NT_STATUS(0xC0000000 | 0x0215)
|
||||
#define NT_STATUS_NOT_SERVER_SESSION NT_STATUS(0xC0000000 | 0x0216)
|
||||
#define NT_STATUS_NOT_CLIENT_SESSION NT_STATUS(0xC0000000 | 0x0217)
|
||||
#define NT_STATUS_CANNOT_LOAD_REGISTRY_FILE NT_STATUS(0xC0000000 | 0x0218)
|
||||
#define NT_STATUS_DEBUG_ATTACH_FAILED NT_STATUS(0xC0000000 | 0x0219)
|
||||
#define NT_STATUS_SYSTEM_PROCESS_TERMINATED NT_STATUS(0xC0000000 | 0x021a)
|
||||
#define NT_STATUS_DATA_NOT_ACCEPTED NT_STATUS(0xC0000000 | 0x021b)
|
||||
#define NT_STATUS_NO_BROWSER_SERVERS_FOUND NT_STATUS(0xC0000000 | 0x021c)
|
||||
#define NT_STATUS_VDM_HARD_ERROR NT_STATUS(0xC0000000 | 0x021d)
|
||||
#define NT_STATUS_DRIVER_CANCEL_TIMEOUT NT_STATUS(0xC0000000 | 0x021e)
|
||||
#define NT_STATUS_REPLY_MESSAGE_MISMATCH NT_STATUS(0xC0000000 | 0x021f)
|
||||
#define NT_STATUS_MAPPED_ALIGNMENT NT_STATUS(0xC0000000 | 0x0220)
|
||||
#define NT_STATUS_IMAGE_CHECKSUM_MISMATCH NT_STATUS(0xC0000000 | 0x0221)
|
||||
#define NT_STATUS_LOST_WRITEBEHIND_DATA NT_STATUS(0xC0000000 | 0x0222)
|
||||
#define NT_STATUS_CLIENT_SERVER_PARAMETERS_INVALID NT_STATUS(0xC0000000 | 0x0223)
|
||||
#define NT_STATUS_PASSWORD_MUST_CHANGE NT_STATUS(0xC0000000 | 0x0224)
|
||||
#define NT_STATUS_NOT_FOUND NT_STATUS(0xC0000000 | 0x0225)
|
||||
#define NT_STATUS_NOT_TINY_STREAM NT_STATUS(0xC0000000 | 0x0226)
|
||||
#define NT_STATUS_RECOVERY_FAILURE NT_STATUS(0xC0000000 | 0x0227)
|
||||
#define NT_STATUS_STACK_OVERFLOW_READ NT_STATUS(0xC0000000 | 0x0228)
|
||||
#define NT_STATUS_FAIL_CHECK NT_STATUS(0xC0000000 | 0x0229)
|
||||
#define NT_STATUS_DUPLICATE_OBJECTID NT_STATUS(0xC0000000 | 0x022a)
|
||||
#define NT_STATUS_OBJECTID_EXISTS NT_STATUS(0xC0000000 | 0x022b)
|
||||
#define NT_STATUS_CONVERT_TO_LARGE NT_STATUS(0xC0000000 | 0x022c)
|
||||
#define NT_STATUS_RETRY NT_STATUS(0xC0000000 | 0x022d)
|
||||
#define NT_STATUS_FOUND_OUT_OF_SCOPE NT_STATUS(0xC0000000 | 0x022e)
|
||||
#define NT_STATUS_ALLOCATE_BUCKET NT_STATUS(0xC0000000 | 0x022f)
|
||||
#define NT_STATUS_PROPSET_NOT_FOUND NT_STATUS(0xC0000000 | 0x0230)
|
||||
#define NT_STATUS_MARSHALL_OVERFLOW NT_STATUS(0xC0000000 | 0x0231)
|
||||
#define NT_STATUS_INVALID_VARIANT NT_STATUS(0xC0000000 | 0x0232)
|
||||
#define NT_STATUS_DOMAIN_CONTROLLER_NOT_FOUND NT_STATUS(0xC0000000 | 0x0233)
|
||||
#define NT_STATUS_ACCOUNT_LOCKED_OUT NT_STATUS(0xC0000000 | 0x0234)
|
||||
#define NT_STATUS_HANDLE_NOT_CLOSABLE NT_STATUS(0xC0000000 | 0x0235)
|
||||
#define NT_STATUS_CONNECTION_REFUSED NT_STATUS(0xC0000000 | 0x0236)
|
||||
#define NT_STATUS_GRACEFUL_DISCONNECT NT_STATUS(0xC0000000 | 0x0237)
|
||||
#define NT_STATUS_ADDRESS_ALREADY_ASSOCIATED NT_STATUS(0xC0000000 | 0x0238)
|
||||
#define NT_STATUS_ADDRESS_NOT_ASSOCIATED NT_STATUS(0xC0000000 | 0x0239)
|
||||
#define NT_STATUS_CONNECTION_INVALID NT_STATUS(0xC0000000 | 0x023a)
|
||||
#define NT_STATUS_CONNECTION_ACTIVE NT_STATUS(0xC0000000 | 0x023b)
|
||||
#define NT_STATUS_NETWORK_UNREACHABLE NT_STATUS(0xC0000000 | 0x023c)
|
||||
#define NT_STATUS_HOST_UNREACHABLE NT_STATUS(0xC0000000 | 0x023d)
|
||||
#define NT_STATUS_PROTOCOL_UNREACHABLE NT_STATUS(0xC0000000 | 0x023e)
|
||||
#define NT_STATUS_PORT_UNREACHABLE NT_STATUS(0xC0000000 | 0x023f)
|
||||
#define NT_STATUS_REQUEST_ABORTED NT_STATUS(0xC0000000 | 0x0240)
|
||||
#define NT_STATUS_CONNECTION_ABORTED NT_STATUS(0xC0000000 | 0x0241)
|
||||
#define NT_STATUS_BAD_COMPRESSION_BUFFER NT_STATUS(0xC0000000 | 0x0242)
|
||||
#define NT_STATUS_USER_MAPPED_FILE NT_STATUS(0xC0000000 | 0x0243)
|
||||
#define NT_STATUS_AUDIT_FAILED NT_STATUS(0xC0000000 | 0x0244)
|
||||
#define NT_STATUS_TIMER_RESOLUTION_NOT_SET NT_STATUS(0xC0000000 | 0x0245)
|
||||
#define NT_STATUS_CONNECTION_COUNT_LIMIT NT_STATUS(0xC0000000 | 0x0246)
|
||||
#define NT_STATUS_LOGIN_TIME_RESTRICTION NT_STATUS(0xC0000000 | 0x0247)
|
||||
#define NT_STATUS_LOGIN_WKSTA_RESTRICTION NT_STATUS(0xC0000000 | 0x0248)
|
||||
#define NT_STATUS_IMAGE_MP_UP_MISMATCH NT_STATUS(0xC0000000 | 0x0249)
|
||||
#define NT_STATUS_INSUFFICIENT_LOGON_INFO NT_STATUS(0xC0000000 | 0x0250)
|
||||
#define NT_STATUS_BAD_DLL_ENTRYPOINT NT_STATUS(0xC0000000 | 0x0251)
|
||||
#define NT_STATUS_BAD_SERVICE_ENTRYPOINT NT_STATUS(0xC0000000 | 0x0252)
|
||||
#define NT_STATUS_LPC_REPLY_LOST NT_STATUS(0xC0000000 | 0x0253)
|
||||
#define NT_STATUS_IP_ADDRESS_CONFLICT1 NT_STATUS(0xC0000000 | 0x0254)
|
||||
#define NT_STATUS_IP_ADDRESS_CONFLICT2 NT_STATUS(0xC0000000 | 0x0255)
|
||||
#define NT_STATUS_REGISTRY_QUOTA_LIMIT NT_STATUS(0xC0000000 | 0x0256)
|
||||
#define NT_STATUS_PATH_NOT_COVERED NT_STATUS(0xC0000000 | 0x0257)
|
||||
#define NT_STATUS_NO_CALLBACK_ACTIVE NT_STATUS(0xC0000000 | 0x0258)
|
||||
#define NT_STATUS_LICENSE_QUOTA_EXCEEDED NT_STATUS(0xC0000000 | 0x0259)
|
||||
#define NT_STATUS_PWD_TOO_SHORT NT_STATUS(0xC0000000 | 0x025a)
|
||||
#define NT_STATUS_PWD_TOO_RECENT NT_STATUS(0xC0000000 | 0x025b)
|
||||
#define NT_STATUS_PWD_HISTORY_CONFLICT NT_STATUS(0xC0000000 | 0x025c)
|
||||
#define NT_STATUS_PLUGPLAY_NO_DEVICE NT_STATUS(0xC0000000 | 0x025e)
|
||||
#define NT_STATUS_UNSUPPORTED_COMPRESSION NT_STATUS(0xC0000000 | 0x025f)
|
||||
#define NT_STATUS_INVALID_HW_PROFILE NT_STATUS(0xC0000000 | 0x0260)
|
||||
#define NT_STATUS_INVALID_PLUGPLAY_DEVICE_PATH NT_STATUS(0xC0000000 | 0x0261)
|
||||
#define NT_STATUS_DRIVER_ORDINAL_NOT_FOUND NT_STATUS(0xC0000000 | 0x0262)
|
||||
#define NT_STATUS_DRIVER_ENTRYPOINT_NOT_FOUND NT_STATUS(0xC0000000 | 0x0263)
|
||||
#define NT_STATUS_RESOURCE_NOT_OWNED NT_STATUS(0xC0000000 | 0x0264)
|
||||
#define NT_STATUS_TOO_MANY_LINKS NT_STATUS(0xC0000000 | 0x0265)
|
||||
#define NT_STATUS_QUOTA_LIST_INCONSISTENT NT_STATUS(0xC0000000 | 0x0266)
|
||||
#define NT_STATUS_FILE_IS_OFFLINE NT_STATUS(0xC0000000 | 0x0267)
|
||||
#define NT_STATUS_NOT_A_REPARSE_POINT NT_STATUS(0xC0000000 | 0x0275)
|
||||
#define NT_STATUS_OBJECTID_NOT_FOUND NT_STATUS(0xC0000000 | 0x02F0)
|
||||
#define NT_STATUS_NO_SUCH_JOB NT_STATUS(0xC0000000 | 0xEDE) /* scheduler */
|
||||
#define NT_STATUS_RPC_PROTSEQ_NOT_SUPPORTED NT_STATUS(0xC0000000 | 0x20004)
|
||||
#define NT_STATUS_RPC_UNSUPPORTED_NAME_SYNTAX NT_STATUS(0xC0000000 | 0x20026)
|
||||
|
||||
|
||||
/* I use NT_STATUS_FOOBAR when I have no idea what error code to use -
|
||||
* this means we need a torture test */
|
||||
#define NT_STATUS_FOOBAR NT_STATUS_UNSUCCESSFUL
|
||||
|
||||
#endif /* _NTERR_H */
|
||||
Reference in New Issue
Block a user