IAS_QUERY

This structure contains data for an Data Access Service (IAS) object obtained from querying a remote device.

At a Glance

Header file: Af_irda.h
Windows CE versions: 2.0 and later

Syntax

typedef struct IAS_QUERY {
u_char
irdaDeviceID[4];
char irdaClassName[61];
char irdaAttribName[61];
u_short irdaAttribType;
union
{
  int
irdaAttribInt;
  struct
  {
  int
Len;
  u_char
OctetSeq[1];
  u_char
Reserved[3];
  } irdaAttribOctetSeq;
  struct
  {
  int   
Len;
  u_char
CharSet;
  u_char
UsrStr[1];
  u_char
Reserved[2];
  } irda AttribUsrStr;
} irdaAttribute;
} _IAS_QUERY, *PIAS_QUERY;

Members

irdaDeviceID

Device identifier of the remote device to query.

irdaClassName

Null-terminated string that is the class name for an IAS object. Maximum of 60 characters.

irdaAttribName

Null-terminated string that is the attribute name for an IAS object. Maximum of 60 characters.

irdaAttribType

Attribute type. It is one of the following values:

Value Description
IAS_ATTRIB_INT Identifies an integer attribute value.
IAS_ATTRIB_OCTETSEQ Identifies a binary, or octet, attribute value.
IAS_ATTRIB_STR Identifies a string attribute value.

irdaAttribInt

32-bit signed integer attribute value.

Len (IAS_ATTRIB_OCTETSEQ)

Length of OctetSeq in octets, or bytes. It is a value from 0 through 1024.

OctetSeq (IAS_ATTRIB_OCTETSEQ)

Binary value to associate with irdaAttribName.

Reserved

Used to DWORD-align the structure.

Len (IAS_ATTRIB_STR)

Length of UsrStr, in octets. It is a value from 0 through 255.

CharSet (IAS_ATTRIB_STR)

Selected character set. It is one of the following values:

LmCharSetASCII LmCharSetISO_8859_6
LmCharSetISO_8859_1 LmCharSetISO_8859_7
LmCharSetISO_8859_2 LmCharSetISO_8859_8
LmCharSetISO_8859_3 LmCharSetISO_8859_9
LmCharSetISO_8859_4 LmCharSetUNICODE
LmCharSetISO_8859_5  

UsrStr (IAS_ATTRIB_STR)

User string to associate with irdaAttribName.

Reserved

Used to DWORD-align the structure.

Remarks

If either the octet sequence specified in OctetSeq, or the user string specified in UsrStr is associated with irdaAttribName, it is necessary to allocate additional buffer space.

The remote device is queried for the attributes of an IAS object with the specified irdaClassName and irdaAttribName. If an attribute of the specified object is not found on the remote device, then the irdaAttribType is set to IAS_ATTRIB_NO_ATTRIB to indicate that no attribute was found.

The Windows CE irdaClassName and irdaAttribName members have different maximum lengths than their Windows counterparts. The irdaAttribType, Len, and irdaAttribInt members also have different types.

The Windows CE IAS_SET structure does not contain the required buffer space for either the octet sequence attributes or user string sequence attributes. To ensure that the buffer is large enough to query all remote objects, the maximum required buffer is sizeof(IAS_SET) +1024, which is the maximum attribute value length for an octet sequence.