Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
[ uuid(14a8831c-bc82-11d2-8a64-0008c7457e5d), version(1.0), pointer_default(unique) ] interface ExtendedError {
typedef struct tagEEAString { short nLength; [size_is(nLength)] byte *pString; } EEAString;
typedef struct tagEEUString { short nLength; [size_is(nLength)] unsigned short *pString; } EEUString;
typedef struct tagBinaryEEInfo { short nSize; [size_is(nSize)] unsigned char *pBlob; } BinaryEEInfo;
typedef enum tagExtendedErrorParamTypesInternal { eeptiAnsiString = 1, eeptiUnicodeString, eeptiLongVal, eeptiShortVal, eeptiPointerVal, eeptiNone, eeptiBinary } ExtendedErrorParamTypesInternal;
typedef struct tagParam { ExtendedErrorParamTypesInternal Type; [switch_type(short),switch_is(Type)] union { [case(1)] EEAString AnsiString; [case(2)] EEUString UnicodeString; [case(3)] long LVal; [case(4)] short IVal; [case(5)] __int64 PVal; [case(6)] ; [case(7)] BinaryEEInfo Blob; }; } ExtendedErrorParam;
typedef enum tagEEComputerNamePresent { eecnpPresent = 1, eecnpNotPresent } EEComputerNamePresent;
typedef struct tagEEComputerName { EEComputerNamePresent Type; [switch_type(short),switch_is(Type)] union { [case(1)] EEUString Name; [case(2)] ; }; } EEComputerName;
typedef struct tagExtendedErrorInfo { struct tagExtendedErrorInfo * Next; EEComputerName ComputerName; unsigned long ProcessID; __int64 TimeStamp; unsigned long GeneratingComponent; unsigned long Status; unsigned short DetectionLocation; unsigned short Flags; short nLen; [size_is(nLen)] ExtendedErrorParam Params[]; } ExtendedErrorInfo;
typedef ExtendedErrorInfo *ExtendedErrorInfoPtr;
} // End of interface ExtendedError
|