/*
 * This file is generated by the automatic RPC Parser generator. (Version 0.21)
 *
 * Created on 04/09/97 at 00:00:13.
 */

#include "precomp.h"
#pragma hdrstop

#include <stdio.h>

/*
 * The following functions are generated by default and used by
 * the AttachProperties functions below.
 */

void WINAPIV GenericFormatSummary(LPPROPERTYINST lpPropertyInst)
{
	PDWORD  Data = lpPropertyInst->lpPropertyInstEx->Dword;
    DWORD   exDataLength = lpPropertyInst->lpPropertyInstEx->LengthEx;
	BOOL    fIsRequest = ((Data[0] & 0x80000000) != 0);
	WORD    nProcedure = (WORD)(Data[0] & 0xffff);
	WORD    nInterface = ((WORD)((Data[0] >> 16) & 0x7fff));

    if ( exDataLength > sizeof( DWORD )) {
        wsprintf(lpPropertyInst->szPropertyText, "RPC %s %s:%s(%d)",
                 (fIsRequest) ? "Request" : "Response",
                 InterfaceNames[nInterface],
                 ProcedureNames[ProcedureNameIndex[nInterface] + nProcedure - FirstProcedureNumber[nInterface]],
                 Data[1]);
    }
    else {
        wsprintf(lpPropertyInst->szPropertyText, "RPC %s %s:%s(..)",
                 (fIsRequest) ? "Request" : "Response",
                 InterfaceNames[nInterface],
                 ProcedureNames[ProcedureNameIndex[nInterface] + nProcedure - FirstProcedureNumber[nInterface]]);
    }
}

void GenericAttachByte(HPROPERTY hProperty,
                       HFRAME    hFrame,
                       LPBYTE    lpData,
                       DWORD     IndentLevel)
{
	if (IndentLevel > 14) IndentLevel = 14;
	AttachPropertyInstance(hFrame,
	                       hProperty,
	                       sizeof(BYTE),
	                       lpData,
	                       0, IndentLevel, 0);
}

void GenericAttachWord(HPROPERTY hProperty,
                       HFRAME    hFrame,
                       LPBYTE    lpData,
                       DWORD     IndentLevel)
{
	if (IndentLevel > 14) IndentLevel = 14;
	AttachPropertyInstance(hFrame,
	                       hProperty,
	                       sizeof(WORD),
	                       lpData,
	                       0, IndentLevel,
	                       (fIsFlipped)?IFLAG_SWAPPED:0);
}

void GenericAttachDword(HPROPERTY hProperty,
                        HFRAME    hFrame,
                        LPBYTE    lpData,
                        DWORD     IndentLevel)
{
	if (IndentLevel > 14) IndentLevel = 14;
	AttachPropertyInstance(hFrame,
	                       hProperty,
	                       sizeof(DWORD),
	                       lpData,
	                       0, IndentLevel,
	                       (fIsFlipped)?IFLAG_SWAPPED:0);
}

void GenericAttachLargeint(HPROPERTY hProperty,
                           HFRAME    hFrame,
                           LPBYTE    lpData,
                           DWORD     IndentLevel)
{
	if (IndentLevel > 14) IndentLevel = 14;
	AttachPropertyInstance(hFrame,
	                       hProperty,
	                       8,
	                       lpData,
	                       0, IndentLevel,
	                       (fIsFlipped)?IFLAG_SWAPPED:0);
}

void GenericAttachString(HPROPERTY hProperty,
                         HFRAME    hFrame,
                         LPBYTE    lpData,
                         DWORD     nLength,
                         DWORD     IndentLevel)
{
	if (IndentLevel > 14) IndentLevel = 14;
	AttachPropertyInstance(hFrame,
	                       hProperty,
	                       nLength,
	                       lpData,
	                       0, IndentLevel, 0);
}

void GenericAttachUnicodeString(HPROPERTY hProperty,
                                HFRAME    hFrame,
                                LPBYTE    lpData,
                                DWORD     nLength,
                                DWORD     IndentLevel)
{
	TYPED_STRING ts;

	ts.StringType = TYPED_STRING_UNICODE;
	ts.lpString = lpData;
	if (IndentLevel > 14) IndentLevel = 14;
	if (nLength)
		AttachPropertyInstanceEx(hFrame,
		                         hProperty,
		                         nLength,
		                         lpData,
		                         nLength,
		                         &ts,
		                         0, IndentLevel, 0);
}

void GenericAttachAnything(HPROPERTY hProperty,
                           HFRAME    hFrame,
                           LPBYTE    lpData,
                           DWORD     nLength,
                           DWORD     IndentLevel)
{
	if (IndentLevel > 14) IndentLevel = 14;
	AttachPropertyInstance(hFrame,
	                       hProperty,
	                       nLength,
	                       lpData,
	                       0, IndentLevel, 0);
}

void GenericAttachStruct(HPROPERTY hProperty,
                         HFRAME    hFrame,
                         LPBYTE    lpData,
                         DWORD     nLength,
                         DWORD     IndentLevel)
{
	if (IndentLevel > 14) IndentLevel = 14;
	AttachPropertyInstance(hFrame,
	                       hProperty,
	                       nLength,
	                       lpData,
	                       0, IndentLevel, 0);
}

void GenericAttachID(HPROPERTY hProperty,
                       HFRAME    hFrame,
                       LPBYTE    lpData,
                       DWORD     IndentLevel)
{
	if (IndentLevel > 14) IndentLevel = 14;
	AttachPropertyInstance(hFrame,
	                       hProperty,
	                       16,
	                       lpData,
	                       0, IndentLevel, 0);
}