Windows NT 4.0 source code leak
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.
 
 
 
 
 
 

146 lines
2.4 KiB

/*++
Copyright (c) 1991 Microsoft Corporation
Module Name:
rpcuuid.hxx
Abstract:
We provide a class which is wrapped around UUIDs in this file.
This class will be used internally by the runtime to deal with
UUIDs.
Author:
Michael Montague (mikemon) 15-Nov-1991
Revision History:
Danny Glasser (dannygl) 03-Mar-1992
Created worker functions for IsNullUuid, CopyUuid, and
ConvertToString. This is necessary for medium-model
(i.e. Win16) support, because the Glock C++ translator
doesn't support far "this" pointers.
Danny Glasser (dannygl) 07-Mar-1992
Same as above for ConvertFromString.
Michael Montague (mikemon) 30-Nov-1992
Remove the I_ routines.
--*/
#ifndef __RPCUUID_HXX__
#define __RPCUUID_HXX__
#ifdef WIN
class __far RPC_UUID
#else // WIN
class RPC_UUID
#endif // WIN
/*++
Class Description:
This class is simply a wrapper around the UUID data structure.
Doing this isolates the rest of the program from the internal
representation of UUIDs.
Fields:
Uuid - Contains the UUID which this class is a wrapper around.
--*/
{
private:
UUID Uuid;
public:
int
ConvertFromString (
IN RPC_CHAR PAPI * String
);
void
SetToNullUuid (
);
unsigned short HashUuid(
);
RPC_CHAR PAPI *
ConvertToString (
OUT RPC_CHAR PAPI * String
);
int
IsNullUuid (
);
void
CopyUuid (
IN RPC_UUID PAPI * FromUuid
);
int
MatchUuid (
IN RPC_UUID PAPI * RpcUuid
);
};
inline int
RPC_UUID::MatchUuid (
IN RPC_UUID PAPI * RpcUuid
)
/*++
Routine Description:
This method compares the supplies UUID against this UUID.
Arguments:
RpcUuid - Supplies the UUID to compare with this UUID.
Return Value:
Zero will be returned if the supplied UUID is the same as this
UUID; otherwise, non-zero will be returned.
--*/
{
return(RpcpMemoryCompare(&(this->Uuid),&(RpcUuid->Uuid),sizeof(UUID)));
}
inline void
RPC_UUID::CopyUuid (
IN RPC_UUID PAPI * FromUuid
)
/*++
Routine Description:
The supplied uuid will be copied into this uuid.
Arguments:
FromUuid - Supplies the uuid to copy from.
--*/
{
RpcpMemoryCopy(&(this->Uuid), &(FromUuid->Uuid), sizeof(UUID));
}
extern "C" void
ByteSwapUuid(
RPC_UUID PAPI *pRpcUuid
);
#endif // __RPCUUID_HXX__