Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

propvar.h File Reference

#include <debnot.h>
#include <propset.h>

Go to the source code of this file.

Classes

class  CBufferAllocator

Defines

#define StatusOverflow(pstatus, szReason)
#define StatusAccessDenied(pstatus, szReason)
#define StatusInvalidParameter(pstatus, szReason)
#define StatusNoMemory(pstatus, szReason)
#define StatusDiskFull(pstatus, szReason)
#define StatusError(pstatus, szReason, Status)
#define StatusKBufferOverflow(pstatus, szReason)   StatusNoMemory(pstatus, szReason)
#define KERNELSELECT(k, u)   u
#define DBGPROPASSERT   KERNELSELECT(DBGPROP, DBG)
#define TraceStatus(szReason)
#define AssertVarField(field, cb)
#define AssertVarVector(field, cbElem)
#define AssertByteField(field)   AssertVarField(field, sizeof(BYTE))
#define AssertShortField(field)   AssertVarField(field, sizeof(SHORT))
#define AssertLongField(field)   AssertVarField(field, sizeof(LONG))
#define AssertLongLongField(field)   AssertVarField(field, sizeof(LONGLONG))
#define AssertStringField(field)   AssertVarField(field, sizeof(VOID *))
#define AssertByteVector(field)   AssertVarVector(field, sizeof(BYTE))
#define AssertShortVector(field)   AssertVarVector(field, sizeof(SHORT))
#define AssertLongVector(field)   AssertVarVector(field, sizeof(LONG))
#define AssertLongLongVector(field)   AssertVarVector(field, sizeof(LONGLONG))
#define AssertStringVector(field)   AssertVarVector(field, sizeof(VOID *))
#define AssertVariantVector(field)   AssertVarVector(field, sizeof(PROPVARIANT))
#define BSTRLEN(bstrVal)   *((ULONG *) bstrVal - 1)
#define DEFINE_CBufferAllocator__Allocate

Functions

SERIALIZEDPROPERTYVALUERtlConvertVariantToProperty (IN PROPVARIANT const *pvar, IN USHORT CodePage, OUT SERIALIZEDPROPERTYVALUE *pprop, IN OUT ULONG *pcb, IN PROPID pid, IN BOOLEAN fVariantVector, OPTIONAL OUT ULONG *pcIndirect)
SERIALIZEDPROPERTYVALUERtlConvertVariantToPropertyNoEH (IN PROPVARIANT const *pvar, IN USHORT CodePage, OUT SERIALIZEDPROPERTYVALUE *pprop, IN OUT ULONG *pcb, IN PROPID pid, IN BOOLEAN fVariantVector, OPTIONAL OUT ULONG *pcIndirect, OUT NTSTATUS *pstatus)
BOOLEAN RtlConvertPropertyToVariant (IN SERIALIZEDPROPERTYVALUE const *pprop, IN USHORT CodePage, OUT PROPVARIANT *pvar, IN PMemoryAllocator *pma)
BOOLEAN RtlConvertPropertyToVariantNoEH (IN SERIALIZEDPROPERTYVALUE const *pprop, IN USHORT CodePage, OUT PROPVARIANT *pvar, IN PMemoryAllocator *pma, OUT NTSTATUS *pstatus)
SERIALIZEDPROPERTYVALUEPrConvertVariantToProperty (IN PROPVARIANT const *pvar, IN USHORT CodePage, OUT SERIALIZEDPROPERTYVALUE *pprop, IN OUT ULONG *pcb, IN PROPID pid, IN BOOLEAN fVariantVector, OPTIONAL OUT ULONG *pcIndirect)
SERIALIZEDPROPERTYVALUEPrConvertVariantToPropertyNoEH (IN PROPVARIANT const *pvar, IN USHORT CodePage, OUT SERIALIZEDPROPERTYVALUE *pprop, IN OUT ULONG *pcb, IN PROPID pid, IN BOOLEAN fVariantVector, OPTIONAL OUT ULONG *pcIndirect, OUT NTSTATUS *pstatus)
BOOLEAN PrConvertPropertyToVariant (IN SERIALIZEDPROPERTYVALUE const *pprop, IN USHORT CodePage, OUT PROPVARIANT *pvar, IN PMemoryAllocator *pma)
BOOLEAN PrConvertPropertyToVariantNoEH (IN SERIALIZEDPROPERTYVALUE const *pprop, IN USHORT CodePage, OUT PROPVARIANT *pvar, IN PMemoryAllocator *pma, OUT NTSTATUS *pstatus)
VOID CleanupVariants (IN PROPVARIANT *pvar, IN ULONG cprop, IN PMemoryAllocator *pma)


Define Documentation

#define AssertByteField field   )     AssertVarField(field, sizeof(BYTE))
 

Definition at line 190 of file propvar.h.

#define AssertByteVector field   )     AssertVarVector(field, sizeof(BYTE))
 

Definition at line 196 of file propvar.h.

#define AssertLongField field   )     AssertVarField(field, sizeof(LONG))
 

Definition at line 192 of file propvar.h.

#define AssertLongLongField field   )     AssertVarField(field, sizeof(LONGLONG))
 

Definition at line 193 of file propvar.h.

#define AssertLongLongVector field   )     AssertVarVector(field, sizeof(LONGLONG))
 

Definition at line 199 of file propvar.h.

#define AssertLongVector field   )     AssertVarVector(field, sizeof(LONG))
 

Definition at line 198 of file propvar.h.

#define AssertShortField field   )     AssertVarField(field, sizeof(SHORT))
 

Definition at line 191 of file propvar.h.

#define AssertShortVector field   )     AssertVarVector(field, sizeof(SHORT))
 

Definition at line 197 of file propvar.h.

#define AssertStringField field   )     AssertVarField(field, sizeof(VOID *))
 

Definition at line 194 of file propvar.h.

#define AssertStringVector field   )     AssertVarVector(field, sizeof(VOID *))
 

Definition at line 200 of file propvar.h.

#define AssertVarField field,
cb   ) 
 

Value:

PROPASSERT(FIELD_OFFSET(PROPVARIANT, iVal) == FIELD_OFFSET(PROPVARIANT, field) && \ sizeof(((PROPVARIANT *) 0)->field) == (cb))

Definition at line 179 of file propvar.h.

#define AssertVariantVector field   )     AssertVarVector(field, sizeof(PROPVARIANT))
 

Definition at line 201 of file propvar.h.

#define AssertVarVector field,
cbElem   ) 
 

Value:

PROPASSERT(FIELD_OFFSET(PROPVARIANT, cai.cElems) == \ FIELD_OFFSET(PROPVARIANT, field.cElems) && \ FIELD_OFFSET(PROPVARIANT, cai.pElems) == \ FIELD_OFFSET(PROPVARIANT, field.pElems) && \ sizeof(((PROPVARIANT *) 0)->field.pElems[0]) == (cbElem))

Definition at line 183 of file propvar.h.

#define BSTRLEN bstrVal   )     *((ULONG *) bstrVal - 1)
 

Definition at line 204 of file propvar.h.

#define DBGPROPASSERT   KERNELSELECT(DBGPROP, DBG)
 

Definition at line 163 of file propvar.h.

#define DEFINE_CBufferAllocator__Allocate
 

Value:

VOID * \ CBufferAllocator::Allocate(ULONG cb) \ { \ VOID *pv; \ \ cb = (cb + sizeof(LONGLONG) - 1) & ~(sizeof(LONGLONG) - 1); \ if (cb > _cbFree) \ { \ return(NULL); \ } \ pv = _pvCur; \ _pvCur = (BYTE *) _pvCur + cb; \ _cbFree -= cb; \ return(pv); \ }

Definition at line 252 of file propvar.h.

#define KERNELSELECT k,
 )     u
 

Definition at line 160 of file propvar.h.

#define StatusAccessDenied pstatus,
szReason   ) 
 

Value:

*(pstatus) = STATUS_ACCESS_DENIED; \ TraceStatus(szReason);

Definition at line 130 of file propvar.h.

#define StatusDiskFull pstatus,
szReason   ) 
 

Value:

*(pstatus) = STATUS_DISK_FULL; \ TraceStatus(szReason);

Definition at line 142 of file propvar.h.

#define StatusError pstatus,
szReason,
Status   ) 
 

Value:

*(pstatus) = Status; \ TraceStatus(szReason);

Definition at line 146 of file propvar.h.

#define StatusInvalidParameter pstatus,
szReason   ) 
 

Value:

*(pstatus) = STATUS_INVALID_PARAMETER; \ TraceStatus(szReason);

Definition at line 134 of file propvar.h.

#define StatusKBufferOverflow pstatus,
szReason   )     StatusNoMemory(pstatus, szReason)
 

Definition at line 153 of file propvar.h.

#define StatusNoMemory pstatus,
szReason   ) 
 

Value:

*(pstatus) = STATUS_INSUFFICIENT_RESOURCES;\ TraceStatus(szReason);

Definition at line 138 of file propvar.h.

#define StatusOverflow pstatus,
szReason   ) 
 

Value:

*(pstatus) = STATUS_BUFFER_OVERFLOW; \ TraceStatus(szReason)

Definition at line 126 of file propvar.h.

#define TraceStatus szReason   ) 
 

Definition at line 174 of file propvar.h.


Function Documentation

VOID CleanupVariants IN PROPVARIANT *  pvar,
IN ULONG  cprop,
IN PMemoryAllocator *  pma
 

BOOLEAN PrConvertPropertyToVariant IN SERIALIZEDPROPERTYVALUE const *  pprop,
IN USHORT  CodePage,
OUT PROPVARIANT *  pvar,
IN PMemoryAllocator *  pma
 

BOOLEAN PrConvertPropertyToVariantNoEH IN SERIALIZEDPROPERTYVALUE const *  pprop,
IN USHORT  CodePage,
OUT PROPVARIANT *  pvar,
IN PMemoryAllocator *  pma,
OUT NTSTATUS *  pstatus
 

SERIALIZEDPROPERTYVALUE* PrConvertVariantToProperty IN PROPVARIANT const *  pvar,
IN USHORT  CodePage,
OUT SERIALIZEDPROPERTYVALUE pprop,
IN OUT ULONG *  pcb,
IN PROPID  pid,
IN BOOLEAN  fVariantVector,
OPTIONAL OUT ULONG *  pcIndirect
 

SERIALIZEDPROPERTYVALUE* PrConvertVariantToPropertyNoEH IN PROPVARIANT const *  pvar,
IN USHORT  CodePage,
OUT SERIALIZEDPROPERTYVALUE pprop,
IN OUT ULONG *  pcb,
IN PROPID  pid,
IN BOOLEAN  fVariantVector,
OPTIONAL OUT ULONG *  pcIndirect,
OUT NTSTATUS *  pstatus
 

BOOLEAN RtlConvertPropertyToVariant IN SERIALIZEDPROPERTYVALUE const *  pprop,
IN USHORT  CodePage,
OUT PROPVARIANT *  pvar,
IN PMemoryAllocator *  pma
 

BOOLEAN RtlConvertPropertyToVariantNoEH IN SERIALIZEDPROPERTYVALUE const *  pprop,
IN USHORT  CodePage,
OUT PROPVARIANT *  pvar,
IN PMemoryAllocator *  pma,
OUT NTSTATUS *  pstatus
 

SERIALIZEDPROPERTYVALUE* RtlConvertVariantToProperty IN PROPVARIANT const *  pvar,
IN USHORT  CodePage,
OUT SERIALIZEDPROPERTYVALUE pprop,
IN OUT ULONG *  pcb,
IN PROPID  pid,
IN BOOLEAN  fVariantVector,
OPTIONAL OUT ULONG *  pcIndirect
 

SERIALIZEDPROPERTYVALUE* RtlConvertVariantToPropertyNoEH IN PROPVARIANT const *  pvar,
IN USHORT  CodePage,
OUT SERIALIZEDPROPERTYVALUE pprop,
IN OUT ULONG *  pcb,
IN PROPID  pid,
IN BOOLEAN  fVariantVector,
OPTIONAL OUT ULONG *  pcIndirect,
OUT NTSTATUS *  pstatus
 


Generated on Sat May 15 19:45:21 2004 for test by doxygen 1.3.7