huago-corrcet_tools/HuaGoCorrect/pub/ddk/sdplib.h

367 lines
5.8 KiB
C

#ifndef __SDPLIB_H__
#define __SDPLIB_H__
#ifdef __cplusplus
extern "C" {
#endif
#include "sdpnode.h"
#ifndef NTSTATUS
typedef LONG NTSTATUS;
#endif
#ifdef _NTDDK_
#define SDPLIB_KERNEL
#endif
#ifdef SDPLIB_KERNEL
__checkReturn
__drv_sameIRQL
__drv_when(return!=0, __drv_allocatesMem(Mem))
PSDP_TREE_ROOT_NODE
SdpCreateNodeTree(
__in ULONG tag
);
__checkReturn
__drv_sameIRQL
__drv_when(return!=0, __drv_allocatesMem(Mem))
PSDP_NODE
SdpCreateNodeNil(
__in ULONG tag
);
__checkReturn
__drv_sameIRQL
__drv_when(return!=0, __drv_allocatesMem(Mem))
PSDP_NODE
SdpCreateNodeUInt128(
__in PSDP_ULARGE_INTEGER_16 puli16Val,
__in ULONG tag
);
__checkReturn
__drv_sameIRQL
__drv_when(return!=0, __drv_allocatesMem(Mem))
PSDP_NODE
SdpCreateNodeUInt64(
__in ULONGLONG ullVal,
__in ULONG tag
);
__checkReturn
__drv_sameIRQL
__drv_when(return!=0, __drv_allocatesMem(Mem))
PSDP_NODE
SdpCreateNodeUInt32(
__in ULONG ulVal,
__in ULONG tag
);
__checkReturn
__drv_sameIRQL
__drv_when(return!=0, __drv_allocatesMem(Mem))
PSDP_NODE
SdpCreateNodeUInt16(
__in USHORT usVal,
__in ULONG tag
);
__checkReturn
__drv_sameIRQL
__drv_when(return!=0, __drv_allocatesMem(Mem))
PSDP_NODE
SdpCreateNodeUInt8(
__in UCHAR ucVal,
__in ULONG tag
);
__checkReturn
__drv_sameIRQL
__drv_when(return!=0, __drv_allocatesMem(Mem))
PSDP_NODE
SdpCreateNodeInt128(
__in PSDP_LARGE_INTEGER_16 uil16Val,
__in ULONG tag
);
__checkReturn
__drv_sameIRQL
__drv_when(return!=0, __drv_allocatesMem(Mem))
PSDP_NODE
SdpCreateNodeInt64(
__in LONGLONG llVal,
__in ULONG tag
);
__checkReturn
__drv_sameIRQL
__drv_when(return!=0, __drv_allocatesMem(Mem))
PSDP_NODE
SdpCreateNodeInt32(
__in LONG lVal,
__in ULONG tag
);
__checkReturn
__drv_sameIRQL
__drv_when(return!=0, __drv_allocatesMem(Mem))
PSDP_NODE
SdpCreateNodeInt16(
__in SHORT sVal,
__in ULONG tag
);
__checkReturn
__drv_sameIRQL
__drv_when(return!=0, __drv_allocatesMem(Mem))
PSDP_NODE
SdpCreateNodeInt8(
__in CHAR cVal,
__in ULONG tag
);
__checkReturn
__drv_sameIRQL
__drv_when(return!=0, __drv_allocatesMem(Mem))
PSDP_NODE
SdpCreateNodeUUID128(
__in const GUID *uuid,
__in ULONG tag
);
__checkReturn
__drv_sameIRQL
__drv_when(return!=0, __drv_allocatesMem(Mem))
PSDP_NODE
SdpCreateNodeUUID32(
__in ULONG uuidVal4,
__in ULONG tag
);
__checkReturn
__drv_sameIRQL
__drv_when(return!=0, __drv_allocatesMem(Mem))
PSDP_NODE
SdpCreateNodeUUID16(
__in USHORT uuidVal2,
__in ULONG tag
);
__checkReturn
__drv_sameIRQL
__drv_when(return!=0, __drv_allocatesMem(Mem))
PSDP_NODE
SdpCreateNodeBoolean(
__in SDP_BOOLEAN bVal,
__in ULONG tag
);
__checkReturn
__drv_sameIRQL
__drv_when(return!=0, __drv_allocatesMem(Mem))
PSDP_NODE
SdpCreateNodeSequence(
__in ULONG tag
);
__checkReturn
__drv_sameIRQL
__drv_when(return!=0, __drv_allocatesMem(Mem))
PSDP_NODE
SdpCreateNodeAlternative(
__in ULONG tag
);
__checkReturn
__drv_sameIRQL
__drv_when(return!=0, __drv_allocatesMem(Mem))
PSDP_NODE
SdpCreateNodeUrl(
__in_bcount(UrlLength) PCHAR url,
__in_bound ULONG urlLength,
__in ULONG tag
);
__checkReturn
__drv_sameIRQL
NTSTATUS
SdpAddAttributeToTree(
__in PSDP_TREE_ROOT_NODE Tree,
__in USHORT AttribId,
__in __drv_when(return==0, __drv_aliasesMem) PSDP_NODE AttribValue,
__in ULONG tag
);
__checkReturn
__drv_sameIRQL
__drv_when(return!=0, __drv_allocatesMem(Mem))
PSDP_NODE
SdpCreateNodeString(
__in_bcount(StringLength) PCHAR string,
__in_bound ULONG stringLength,
__in ULONG tag
);
#else //SDPLIB_KERNEL
__checkReturn
PSDP_TREE_ROOT_NODE
SdpCreateNodeTree();
__checkReturn
PSDP_NODE
SdpCreateNodeNil();
__checkReturn
PSDP_NODE
SdpCreateNodeUInt128(
__in PSDP_ULARGE_INTEGER_16 puli16Val
);
__checkReturn
PSDP_NODE
SdpCreateNodeUInt64(
__in ULONGLONG ullVal
);
__checkReturn
PSDP_NODE
SdpCreateNodeUInt32(
__in ULONG ulVal
);
__checkReturn
PSDP_NODE
SdpCreateNodeUInt16(
__in USHORT usVal
);
__checkReturn
PSDP_NODE
SdpCreateNodeUInt8(
__in UCHAR ucVal
);
__checkReturn
PSDP_NODE
SdpCreateNodeInt128(
__in PSDP_LARGE_INTEGER_16 uil16Val
);
__checkReturn
PSDP_NODE
SdpCreateNodeInt64(
__in LONGLONG llVal
);
__checkReturn
PSDP_NODE
SdpCreateNodeInt32(
__in LONG lVal
);
__checkReturn
PSDP_NODE
SdpCreateNodeInt16(
__in SHORT sVal
);
__checkReturn
PSDP_NODE
SdpCreateNodeInt8(
__in CHAR cVal
);
__checkReturn
PSDP_NODE
SdpCreateNodeUUID128(
__in const GUID *uuid
);
__checkReturn
PSDP_NODE
SdpCreateNodeUUID32(
__in ULONG uuidVal4
);
__checkReturn
PSDP_NODE
SdpCreateNodeUUID16(
__in USHORT uuidVal2
);
__checkReturn
PSDP_NODE
SdpCreateNodeBoolean(
__in SDP_BOOLEAN bVal
);
__checkReturn
PSDP_NODE
SdpCreateNodeSequence();
__checkReturn
PSDP_NODE
SdpCreateNodeAlternative();
__checkReturn
PSDP_NODE
SdpCreateNodeUrl(
__in_bcount(UrlLength) PCHAR url,
__in_bound ULONG urlLength
);
__checkReturn
NTSTATUS
SdpAddAttributeToTree(
__in PSDP_TREE_ROOT_NODE Tree,
__in USHORT AttribId,
__in PSDP_NODE AttribValue
);
__checkReturn
PSDP_NODE
SdpCreateNodeString(
__in_bcount(StringLength) PCHAR string,
__in_bound ULONG stringLength
);
#endif //SDPLIB_KERNEL
__drv_sameIRQL
__success(TRUE)
NTSTATUS
SdpFreeTree(
__in __drv_freesMem(Mem) PSDP_TREE_ROOT_NODE Tree
);
#define SdpCreateNodeUUID SdpCreateNodeUUID128
__checkReturn
__drv_sameIRQL
NTSTATUS
SdpAppendNodeToContainerNode(
__in PSDP_NODE Parent,
__in __drv_aliasesMem PSDP_NODE Node
);
__checkReturn
__drv_sameIRQL
NTSTATUS
SdpFindAttributeInTree(
__in PSDP_TREE_ROOT_NODE Tree,
__in USHORT AttribId,
__out PSDP_NODE *Attribute
);
#ifdef __cplusplus
};
#endif
#endif