nspi

package
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 30, 2024 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// Syntax UUID
	NspiSyntaxUUID = &uuid.UUID{TimeLow: 0xf5cc5a18, TimeMid: 0x4264, TimeHiAndVersion: 0x101a, ClockSeqHiAndReserved: 0x8c, ClockSeqLow: 0x59, Node: [6]uint8{0x8, 0x0, 0x2b, 0x2f, 0x84, 0x26}}
	// Syntax ID
	NspiSyntaxV56_0 = &dcerpc.SyntaxID{IfUUID: NspiSyntaxUUID, IfVersionMajor: 56, IfVersionMinor: 0}
)
View Source
var (
	// import guard
	GoPackage = "nspi"
)

Functions

func NewNspiServerHandle

func NewNspiServerHandle(o NspiServer) dcerpc.ServerHandle

func NspiServerHandle

func NspiServerHandle(ctx context.Context, o NspiServer, opNum int, r ndr.Reader) (dcerpc.Operation, error)

func RegisterNspiServer

func RegisterNspiServer(conn dcerpc.Conn, o NspiServer, opts ...dcerpc.Option)

Types

type AndRestriction

type AndRestriction struct {
	// cRes:  Encodes the RestrictCount field of the AndRestriction and OrRestriction data
	// structures. This value MUST NOT exceed 100,000.
	RestrictionCount uint32 `idl:"name:cRes" json:"restriction_count"`
	// lpRes:  Encodes the Restricts field of the AndRestriction and OrRestriction data
	// structures.
	Restriction []*Restriction `idl:"name:lpRes;size_is:(cRes)" json:"restriction"`
}

AndRestriction structure represents AndRestriction_r RPC structure.

The AndRestriction_r, OrRestriction_r restriction types share a single RPC encoding. The AndOrRestriction_r structure is an encoding of the both the AndRestriction data structure and the OrRestriction data structure defined in [MS-OXCDATA]. These two data structures share the same data layout, so a single encoding is included in the NSPI Protocol. The sense of the data structure's use is derived from the context of its inclusion in the RestrictionUnion_r data structure defined in this specification.

The permissible number of Restriction structures in the AndRestriction_r and OrRestriction_r data structures exceeds that of the AndRestriction and OrRestriction structures. The semantic meaning is otherwise unchanged from the AndRestriction and OrRestriction data structures, as context dictates.

func (*AndRestriction) MarshalNDR

func (o *AndRestriction) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*AndRestriction) UnmarshalNDR

func (o *AndRestriction) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type Binary

type Binary struct {
	// cb:  The number of uninterpreted bytes represented in this structure. This value
	// MUST NOT exceed 2,097,152.
	Length uint32 `idl:"name:cb" json:"length"`
	// lpb:  The uninterpreted bytes.
	Value []byte `idl:"name:lpb;size_is:(cb)" json:"value"`
}

Binary structure represents Binary_r RPC structure.

The Binary_r structure encodes an array of uninterpreted bytes.

func (*Binary) MarshalNDR

func (o *Binary) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*Binary) UnmarshalNDR

func (o *Binary) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type BinaryArray

type BinaryArray struct {
	// cValues:  The number of Binary_r data structures represented in the BinaryArray_r
	// structure. This value MUST NOT exceed 100,000.
	ValuesCount uint32 `idl:"name:cValues" json:"values_count"`
	// lpbin:  The Binary_r data structures.
	Values []*Binary `idl:"name:lpbin;size_is:(cValues)" json:"values"`
}

BinaryArray structure represents BinaryArray_r RPC structure.

The BinaryArray_r structure is an array of Binary_r data structures.

func (*BinaryArray) MarshalNDR

func (o *BinaryArray) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*BinaryArray) UnmarshalNDR

func (o *BinaryArray) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type BindRequest

type BindRequest struct {
	// dwFlags:  A DWORD value containing a set of bit flags. The server MUST ignore values
	// other than the bit flag fAnonymousLogin.
	Flags uint32 `idl:"name:dwFlags" json:"flags"`
	// pStat: A pointer to a STAT block describing a logical position in a specific address
	// book container. This parameter is used to specify both input parameters from the
	// client and return values from the NSPI server.
	Stat *Stat `idl:"name:pStat" json:"stat"`
	// pServerGuid: The value NULL or a pointer to a GUID value associated with the specific
	// NSPI server.
	ServerGUID *FlatUID `idl:"name:pServerGuid;pointer:unique" json:"server_guid"`
}

BindRequest structure represents the NspiBind operation request

func (*BindRequest) MarshalNDR

func (o *BindRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*BindRequest) UnmarshalNDR

func (o *BindRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type BindResponse

type BindResponse struct {
	// pServerGuid: The value NULL or a pointer to a GUID value associated with the specific
	// NSPI server.
	ServerGUID *FlatUID `idl:"name:pServerGuid;pointer:unique" json:"server_guid"`
	// contextHandle: An RPC context handle as specified in section 2.3.9.
	ContextHandle *Handle `idl:"name:contextHandle;pointer:ref" json:"context_handle"`
	// Return: The NspiBind return value.
	Return int32 `idl:"name:Return" json:"return"`
}

BindResponse structure represents the NspiBind operation response

func (*BindResponse) MarshalNDR

func (o *BindResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*BindResponse) UnmarshalNDR

func (o *BindResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type BitMaskRestriction

type BitMaskRestriction struct {
	// relBMR:  Encodes the BitmapRelOp field of the BitMaskRestriction data structure.
	BitMaskRestriction uint32 `idl:"name:relBMR" json:"bit_mask_restriction"`
	// ulPropTag:  Encodes the PropTag field of the BitMaskRestriction data structure.
	PropertyTag uint32 `idl:"name:ulPropTag" json:"property_tag"`
	// ulMask:  Encodes the Mask field of the BitMaskRestriction data structure.
	Mask uint32 `idl:"name:ulMask" json:"mask"`
}

BitMaskRestriction structure represents BitMaskRestriction_r RPC structure.

The BitMaskRestriction_r structure is an encoding of the BitMaskRestriction data structure defined in [MS-OXCDATA]. The semantic meaning is unchanged from the BitMaskRestriction data structure.

func (*BitMaskRestriction) MarshalNDR

func (o *BitMaskRestriction) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*BitMaskRestriction) UnmarshalNDR

func (o *BitMaskRestriction) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type CharStringArray

type CharStringArray struct {
	// cValues:  The number of 8-bit character strings references represented in the StringArray_r
	// structure. This value MUST NOT exceed 100,000.
	ValuesCount uint32 `idl:"name:cValues" json:"values_count"`
	// lppszA:  The 8-bit character string references. The strings referred to are NULL-terminated.
	Values []string `idl:"name:lppszA;size_is:(cValues);string" json:"values"`
}

CharStringArray structure represents StringArray_r RPC structure.

The StringArray_r structure encodes an array of references to 8-bit character strings.

func (*CharStringArray) MarshalNDR

func (o *CharStringArray) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*CharStringArray) UnmarshalNDR

func (o *CharStringArray) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type CharStringsArray

type CharStringsArray struct {
	// Count:  The number of character string structures in this aggregation. The value
	// MUST NOT exceed 100,000.
	Count uint32 `idl:"name:Count" json:"count"`
	// Strings:  The list of character type strings in this aggregation. The strings in
	// this list are NULL-terminated.
	Strings string `idl:"name:Strings;size_is:(Count);string" json:"strings"`
}

CharStringsArray structure represents StringsArray_r RPC structure.

The StringsArray_r structure is used to aggregate a number of character type strings into a single data structure.

func (*CharStringsArray) MarshalNDR

func (o *CharStringsArray) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*CharStringsArray) UnmarshalNDR

func (o *CharStringsArray) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type CompareMIDsRequest

type CompareMIDsRequest struct {
	// hRpc:  An RPC context handle as specified in section 2.3.9.
	Handle *Handle `idl:"name:hRpc" json:"handle"`
	// pStat: pStat: A reference to a STAT block describing a logical position in a specific
	// address book container.
	Stat *Stat `idl:"name:pStat" json:"stat"`
	// MId1: A DWORD value containing a MId.
	MID1 uint32 `idl:"name:MId1" json:"m_id1"`
	// MId2: A DWORD value containing a MId.
	MID2 uint32 `idl:"name:MId2" json:"m_id2"`
}

CompareMIDsRequest structure represents the NspiCompareMIds operation request

func (*CompareMIDsRequest) MarshalNDR

func (o *CompareMIDsRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*CompareMIDsRequest) UnmarshalNDR

func (o *CompareMIDsRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type CompareMIDsResponse

type CompareMIDsResponse struct {
	// plResult: A DWORD value. On return, it contains the result of the comparison.
	Result int32 `idl:"name:plResult" json:"result"`
	// Return: The NspiCompareMIds return value.
	Return int32 `idl:"name:Return" json:"return"`
}

CompareMIDsResponse structure represents the NspiCompareMIds operation response

func (*CompareMIDsResponse) MarshalNDR

func (o *CompareMIDsResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*CompareMIDsResponse) UnmarshalNDR

func (o *CompareMIDsResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type ComparePropertiesRestriction

type ComparePropertiesRestriction struct {
	// relop:  Encodes the RelOp field of the ComparePropsRestriction data structure.
	Op uint32 `idl:"name:relop" json:"op"`
	// ulPropTag1:  Encodes the PropTag1 field of the ComparePropsRestriction data structure.
	PropertyTag1 uint32 `idl:"name:ulPropTag1" json:"property_tag1"`
	// ulPropTag2:  Encodes the PropTag2 field of the ComparePropsRestriction data structure.
	PropertyTag2 uint32 `idl:"name:ulPropTag2" json:"property_tag2"`
}

ComparePropertiesRestriction structure represents ComparePropsRestriction_r RPC structure.

The ComparePropsRestriction_r structure is an encoding of the ComparePropsRestriction data structure defined in [MS-OXCDATA]. The semantic meaning is unchanged from the ComparePropsRestriction data structure.

func (*ComparePropertiesRestriction) MarshalNDR

func (*ComparePropertiesRestriction) UnmarshalNDR

func (o *ComparePropertiesRestriction) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type ContentRestriction

type ContentRestriction struct {
	FuzzyLevel  uint32         `idl:"name:ulFuzzyLevel" json:"fuzzy_level"`
	PropertyTag uint32         `idl:"name:ulPropTag" json:"property_tag"`
	Property    *PropertyValue `idl:"name:lpProp" json:"property"`
}

ContentRestriction structure represents ContentRestriction_r RPC structure.

func (*ContentRestriction) MarshalNDR

func (o *ContentRestriction) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*ContentRestriction) UnmarshalNDR

func (o *ContentRestriction) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type DNToMIDRequest

type DNToMIDRequest struct {
	// hRpc:  An RPC context handle as specified in section 2.3.9.
	Handle *Handle `idl:"name:hRpc" json:"handle"`
	// pNames: A StringsArray_r value. It holds a list of strings containing DNs, according
	// to [MS-OXOABK].
	Names *CharStringsArray `idl:"name:pNames" json:"names"`
}

DNToMIDRequest structure represents the NspiDNToMId operation request

func (*DNToMIDRequest) MarshalNDR

func (o *DNToMIDRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*DNToMIDRequest) UnmarshalNDR

func (o *DNToMIDRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type DNToMIDResponse

type DNToMIDResponse struct {
	// ppOutMIds: A PropertyTagArray_r value. On return, it holds a list of MIds.
	OutMIDs *PropertyTagArray `idl:"name:ppOutMIds" json:"out_m_ids"`
	// Return: The NspiDNToMId return value.
	Return int32 `idl:"name:Return" json:"return"`
}

DNToMIDResponse structure represents the NspiDNToMId operation response

func (*DNToMIDResponse) MarshalNDR

func (o *DNToMIDResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*DNToMIDResponse) UnmarshalNDR

func (o *DNToMIDResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type DateTimeArray

type DateTimeArray struct {
	// cValues:  The number of FILETIME data structures represented in the DateTimeArray_r
	// structure. This value MUST NOT exceed 100,000.
	ValuesCount uint32 `idl:"name:cValues" json:"values_count"`
	// lpft:  The FILETIME data structures.
	Values []*dtyp.Filetime `idl:"name:lpft;size_is:(cValues)" json:"values"`
}

DateTimeArray structure represents DateTimeArray_r RPC structure.

The DateTimeArray_r structure encodes an array of FILETIME structures.

func (*DateTimeArray) MarshalNDR

func (o *DateTimeArray) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*DateTimeArray) UnmarshalNDR

func (o *DateTimeArray) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type ExistRestriction

type ExistRestriction struct {

	// ulPropTag:  Encodes the PropTag field of the ExistRestriction data structure.
	PropertyTag uint32 `idl:"name:ulPropTag" json:"property_tag"`
	// contains filtered or unexported fields
}

ExistRestriction structure represents ExistRestriction_r RPC structure.

The ExistRestriction_r structure is an encoding of the ExistRestriction data structure defined in [MS-OXCDATA]. The semantic meaning is unchanged from the ExistRestriction data structure.

func (*ExistRestriction) MarshalNDR

func (o *ExistRestriction) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*ExistRestriction) UnmarshalNDR

func (o *ExistRestriction) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type FlatUID

type FlatUID struct {
	// ab:  Encodes the ordered bytes of the FlatUID data structure.
	Value []byte `idl:"name:ab" json:"value"`
}

FlatUID structure represents FlatUID_r RPC structure.

The FlatUID_r structure is an encoding of the FlatUID data structure defined in [MS-OXCDATA]. The semantic meaning is unchanged from the FlatUID data structure.

func (*FlatUID) MarshalNDR

func (o *FlatUID) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*FlatUID) UnmarshalNDR

func (o *FlatUID) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type FlatUIDArray

type FlatUIDArray struct {
	// cValues:  The number of FlatUID_r structures represented in the FlatUIDArray_r structure.
	// This value MUST NOT exceed 100,000.
	ValuesCount uint32 `idl:"name:cValues" json:"values_count"`
	// lpguid:   The FlatUID_r data structures.
	GUID []*FlatUID `idl:"name:lpguid;size_is:(cValues)" json:"guid"`
}

FlatUIDArray structure represents FlatUIDArray_r RPC structure.

The FlatUIDArray_r structure encodes an array of FlatUID_r data structures.

func (*FlatUIDArray) MarshalNDR

func (o *FlatUIDArray) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*FlatUIDArray) UnmarshalNDR

func (o *FlatUIDArray) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type GetIDsFromNamesRequest

type GetIDsFromNamesRequest struct {
	// hRpc: An RPC context handle as specified in section 2.3.9.
	Handle *Handle `idl:"name:hRpc" json:"handle"`
	// dwFlags: A DWORD value. All clients MUST set this value to either 0 or the flag NspiVerifyNames.
	Flags uint32 `idl:"name:dwFlags" json:"flags"`
	// cPropNames: A DWORD value containing the number property names supplied by the client.
	// The value is limited to 100,000.
	PropertyNamesCount uint32 `idl:"name:cPropNames" json:"property_names_count"`
	// pNames: A reference to a PropertyName_r value. Contains a list of property names
	// supplied by the client.
	Names []*PropertyName `idl:"name:pNames;size_is:(cPropNames)" json:"names"`
}

GetIDsFromNamesRequest structure represents the NspiGetIDsFromNames operation request

func (*GetIDsFromNamesRequest) MarshalNDR

func (o *GetIDsFromNamesRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetIDsFromNamesRequest) UnmarshalNDR

func (o *GetIDsFromNamesRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetIDsFromNamesResponse

type GetIDsFromNamesResponse struct {
	// ppPropTags: A reference to a PropertyTagArray_r value. On successful return to the
	// client, contains a list of proptags.
	PropertyTags *PropertyTagArray `idl:"name:ppPropTags" json:"property_tags"`
	// Return: The NspiGetIDsFromNames return value.
	Return int32 `idl:"name:Return" json:"return"`
}

GetIDsFromNamesResponse structure represents the NspiGetIDsFromNames operation response

func (*GetIDsFromNamesResponse) MarshalNDR

func (o *GetIDsFromNamesResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetIDsFromNamesResponse) UnmarshalNDR

func (o *GetIDsFromNamesResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetMatchesRequest

type GetMatchesRequest struct {
	// hRpc: An RPC context handle as specified in section 2.3.9.
	Handle *Handle `idl:"name:hRpc" json:"handle"`
	// pStat: A reference to a STAT block describing a logical position in a specific address
	// book container.
	Stat *Stat `idl:"name:pStat" json:"stat"`
	// Filter: The value NULL or a Restriction_r value. Holds a logical restriction to apply
	// to the rows in the address book container specified in the pStat parameter.
	Filter *Restriction `idl:"name:Filter;pointer:unique" json:"filter"`
	// lpPropName: The value NULL or a PropertyName_r value. Holds the property to be opened
	// as a restricted address book container.
	PropertyName *PropertyName `idl:"name:lpPropName;pointer:unique" json:"property_name"`
	// ulRequested: A DWORD value. Contains the maximum number of rows to return in a restricted
	// address book container.
	Requested uint32 `idl:"name:ulRequested" json:"requested"`
	// pPropTags:  The value NULL or a reference to a PropertyTagArray_r value. Contains
	// list of the proptags of the columns that client wants to be returned for each row
	// returned.
	PropertyTags *PropertyTagArray `idl:"name:pPropTags;pointer:unique" json:"property_tags"`
}

GetMatchesRequest structure represents the NspiGetMatches operation request

func (*GetMatchesRequest) MarshalNDR

func (o *GetMatchesRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetMatchesRequest) UnmarshalNDR

func (o *GetMatchesRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetMatchesResponse

type GetMatchesResponse struct {
	// pStat: A reference to a STAT block describing a logical position in a specific address
	// book container.
	Stat *Stat `idl:"name:pStat" json:"stat"`
	// ppOutMIds:  A PropertyTagArray_r value. On return, it holds a list of MId that comprise
	// a restricted address book container.
	OutMIDs *PropertyTagArray `idl:"name:ppOutMIds" json:"out_m_ids"`
	// ppRows:  A reference to a PropertyRowSet_r value. Contains the address book container
	// rows the server returns in response to the request.
	Rows *PropertyRowSet `idl:"name:ppRows" json:"rows"`
	// Return: The NspiGetMatches return value.
	Return int32 `idl:"name:Return" json:"return"`
}

GetMatchesResponse structure represents the NspiGetMatches operation response

func (*GetMatchesResponse) MarshalNDR

func (o *GetMatchesResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetMatchesResponse) UnmarshalNDR

func (o *GetMatchesResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetNamesFromIDsRequest

type GetNamesFromIDsRequest struct {
	// hRpc: An RPC context handle as specified in section 2.3.9.
	Handle *Handle `idl:"name:hRpc" json:"handle"`
	// lpguid: The value NULL or a FlatUID_r value. Specifies the property set about which
	// the client is requesting information.
	GUID *FlatUID `idl:"name:lpguid;pointer:unique" json:"guid"`
	// pPropTags: The value NULL or a PropertyTagArray_r value. Specifies the specific Property
	// IDs about which the client is requesting information.
	PropertyTags *PropertyTagArray `idl:"name:pPropTags;pointer:unique" json:"property_tags"`
}

GetNamesFromIDsRequest structure represents the NspiGetNamesFromIDs operation request

func (*GetNamesFromIDsRequest) MarshalNDR

func (o *GetNamesFromIDsRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetNamesFromIDsRequest) UnmarshalNDR

func (o *GetNamesFromIDsRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetNamesFromIDsResponse

type GetNamesFromIDsResponse struct {
	// ppReturnedPropTags: Contains an SPropTagArray. On return, it contains a list of all
	// the proptags in the property set specified in the input parameter lpguid. If lpguid
	// is NULL, this value MUST be NULL.
	ReturnedPropertyTags *PropertyTagArray `idl:"name:ppReturnedPropTags" json:"returned_property_tags"`
	// ppNames:  A PropertyNameSet_r value. On return, it contains a list of property names
	// satisfying the client's request.
	Names *PropertyNameSet `idl:"name:ppNames" json:"names"`
	// Return: The NspiGetNamesFromIDs return value.
	Return int32 `idl:"name:Return" json:"return"`
}

GetNamesFromIDsResponse structure represents the NspiGetNamesFromIDs operation response

func (*GetNamesFromIDsResponse) MarshalNDR

func (o *GetNamesFromIDsResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetNamesFromIDsResponse) UnmarshalNDR

func (o *GetNamesFromIDsResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetPropertiesRequest

type GetPropertiesRequest struct {
	// hRpc: An RPC context handle as specified in section 2.3.9.
	Handle *Handle `idl:"name:hRpc" json:"handle"`
	// dwFlags: A DWORD value, containing a set of bit flags. The server MUST ignore values
	// other than the bit flags fEphID and fSkipObjects.
	Flags uint32 `idl:"name:dwFlags" json:"flags"`
	// pStat: A pointer to a STAT block describing a logical position in a specific address
	// book container. This parameter is used to both specify input parameters from the
	// client and return values from the NSPI server.
	Stat *Stat `idl:"name:pStat" json:"stat"`
	// pPropTags: The value NULL or a reference to a PropertyTagArray_r value. Contains
	// list of the proptags of the properties that the client wants to be returned.
	PropertyTags *PropertyTagArray `idl:"name:pPropTags;pointer:unique" json:"property_tags"`
}

GetPropertiesRequest structure represents the NspiGetProps operation request

func (*GetPropertiesRequest) MarshalNDR

func (o *GetPropertiesRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetPropertiesRequest) UnmarshalNDR

func (o *GetPropertiesRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetPropertiesResponse

type GetPropertiesResponse struct {
	// ppRows: A reference to a PropertyRow_r value. Contains the address book container
	// row the server returns in response to the request.
	Rows *PropertyRow `idl:"name:ppRows" json:"rows"`
	// Return: The NspiGetProps return value.
	Return int32 `idl:"name:Return" json:"return"`
}

GetPropertiesResponse structure represents the NspiGetProps operation response

func (*GetPropertiesResponse) MarshalNDR

func (o *GetPropertiesResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetPropertiesResponse) UnmarshalNDR

func (o *GetPropertiesResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetPropertyListRequest

type GetPropertyListRequest struct {
	// hRpc: An RPC context handle as specified in section 2.3.9.
	Handle *Handle `idl:"name:hRpc" json:"handle"`
	// dwFlags: A DWORD value, containing a set of bit flags. The server MUST ignore values
	// other than the bit flag fSkipObjects.
	Flags uint32 `idl:"name:dwFlags" json:"flags"`
	// dwMId: A DWORD value, containing a MId.
	MID uint32 `idl:"name:dwMId" json:"m_id"`
	// CodePage: The codepage in which the client wishes the server to express string values
	// properties.
	CodePage uint32 `idl:"name:CodePage" json:"code_page"`
}

GetPropertyListRequest structure represents the NspiGetPropList operation request

func (*GetPropertyListRequest) MarshalNDR

func (o *GetPropertyListRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetPropertyListRequest) UnmarshalNDR

func (o *GetPropertyListRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetPropertyListResponse

type GetPropertyListResponse struct {
	// ppPropTags: A PropertyTagArray_r value. On return, it holds a list of properties.
	PropertyTags *PropertyTagArray `idl:"name:ppPropTags" json:"property_tags"`
	// Return: The NspiGetPropList return value.
	Return int32 `idl:"name:Return" json:"return"`
}

GetPropertyListResponse structure represents the NspiGetPropList operation response

func (*GetPropertyListResponse) MarshalNDR

func (o *GetPropertyListResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetPropertyListResponse) UnmarshalNDR

func (o *GetPropertyListResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetSpecialTableRequest

type GetSpecialTableRequest struct {
	// hRpc: An RPC context handle as specified in section 2.3.9.
	Handle *Handle `idl:"name:hRpc" json:"handle"`
	// dwFlags:  A DWORD value containing a set of bit flags. The server MUST ignore values
	// other than the bit flags NspiAddressCreationTemplates and NspiUnicodeStrings.
	Flags uint32 `idl:"name:dwFlags" json:"flags"`
	// pStat: A pointer to a STAT block describing a logical position in a specific address
	// book container. This parameter is used to both specify input parameters from the
	// client and return values from the NSPI server.
	Stat *Stat `idl:"name:pStat" json:"stat"`
	// lpVersion: A reference to a DWORD. On input, holds the value of the version number
	// of the address book hierarchy table that the client has.
	Version uint32 `idl:"name:lpVersion" json:"version"`
}

GetSpecialTableRequest structure represents the NspiGetSpecialTable operation request

func (*GetSpecialTableRequest) MarshalNDR

func (o *GetSpecialTableRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetSpecialTableRequest) UnmarshalNDR

func (o *GetSpecialTableRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetSpecialTableResponse

type GetSpecialTableResponse struct {
	// lpVersion: A reference to a DWORD. On input, holds the value of the version number
	// of the address book hierarchy table that the client has.
	Version uint32 `idl:"name:lpVersion" json:"version"`
	// ppRows:  An PropertyRowSet_r. On return, holds the rows for the table that the client
	// is requesting.
	Rows *PropertyRowSet `idl:"name:ppRows" json:"rows"`
	// Return: The NspiGetSpecialTable return value.
	Return int32 `idl:"name:Return" json:"return"`
}

GetSpecialTableResponse structure represents the NspiGetSpecialTable operation response

func (*GetSpecialTableResponse) MarshalNDR

func (o *GetSpecialTableResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetSpecialTableResponse) UnmarshalNDR

func (o *GetSpecialTableResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetTemplateInfoRequest

type GetTemplateInfoRequest struct {
	// hRpc: An RPC context handle as specified in section 2.3.9.
	Handle *Handle `idl:"name:hRpc" json:"handle"`
	// dwFlags: A DWORD value containing a set of bit flags. The server MUST ignore values
	// other than the bit flags TI_HELPFILE_NAME, TI_HELPFILE_CONTENTS, TI_SCRIPT, TI_TEMPLATE,
	// and TI_EMT.
	Flags uint32 `idl:"name:dwFlags" json:"flags"`
	// ulType: A DWORD value. Specifies the display type of the template for which information
	// is requested.
	Type uint32 `idl:"name:ulType" json:"type"`
	// pDN: The value NULL or the DN of the template requested. The value is NULL-terminated.
	DN string `idl:"name:pDN;string;pointer:unique" json:"dn"`
	// dwCodePage: A DWORD value. Specifies the codepage of the template for which information
	// is requested.
	CodePage uint32 `idl:"name:dwCodePage" json:"code_page"`
	// dwLocaleID: A DWORD value. Specifies the LCID of the template for which information
	// is requested.
	LocaleID uint32 `idl:"name:dwLocaleID" json:"locale_id"`
}

GetTemplateInfoRequest structure represents the NspiGetTemplateInfo operation request

func (*GetTemplateInfoRequest) MarshalNDR

func (o *GetTemplateInfoRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetTemplateInfoRequest) UnmarshalNDR

func (o *GetTemplateInfoRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetTemplateInfoResponse

type GetTemplateInfoResponse struct {
	// ppData: A reference to a PropertyRow_r value. On return, it contains the information
	// requested.
	Data *PropertyRow `idl:"name:ppData" json:"data"`
	// Return: The NspiGetTemplateInfo return value.
	Return int32 `idl:"name:Return" json:"return"`
}

GetTemplateInfoResponse structure represents the NspiGetTemplateInfo operation response

func (*GetTemplateInfoResponse) MarshalNDR

func (o *GetTemplateInfoResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetTemplateInfoResponse) UnmarshalNDR

func (o *GetTemplateInfoResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type Handle

type Handle dcetypes.ContextHandle

Handle structure represents NSPI_HANDLE RPC structure.

func (*Handle) ContextHandle

func (o *Handle) ContextHandle() *dcetypes.ContextHandle

func (*Handle) MarshalNDR

func (o *Handle) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*Handle) UnmarshalNDR

func (o *Handle) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type LongArray

type LongArray struct {
	// cValues:  The number of 32-bit integers represented in this structure. This value
	// MUST NOT exceed 100,000.
	ValuesCount uint32 `idl:"name:cValues" json:"values_count"`
	// lpl:  The 32-bit integer values.
	Values []int32 `idl:"name:lpl;size_is:(cValues)" json:"values"`
}

LongArray structure represents LongArray_r RPC structure.

The LongArray_r structure encodes an array of 32-bit integers.

func (*LongArray) MarshalNDR

func (o *LongArray) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*LongArray) UnmarshalNDR

func (o *LongArray) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type ModifyLinkAttributeRequest

type ModifyLinkAttributeRequest struct {
	// hRpc: An RPC context handle as specified in section 2.3.9.
	Handle *Handle `idl:"name:hRpc" json:"handle"`
	// dwFlags: A DWORD value containing a set of bit flags. The server MUST ignore values
	// other than the bit flag fDelete.
	Flags uint32 `idl:"name:dwFlags" json:"flags"`
	// ulPropTag: A DWORD value. Contains the proptag of the property that the client wishes
	// to modify.
	PropertyTag uint32 `idl:"name:ulPropTag" json:"property_tag"`
	// dwMId:  A DWORD value containing the MId of the address book row that the client
	// wishes to modify.
	MID uint32 `idl:"name:dwMId" json:"m_id"`
	// lpEntryIds: A BinaryArray value. Contains a list of Entry IDs to be used to modify
	// the requested property on the requested address book row. These Entry IDs can be
	// either Ephemeral Entry IDs or Permanent Entry IDs or both.
	EntryIDs *BinaryArray `idl:"name:lpEntryIds" json:"entry_ids"`
}

ModifyLinkAttributeRequest structure represents the NspiModLinkAtt operation request

func (*ModifyLinkAttributeRequest) MarshalNDR

func (o *ModifyLinkAttributeRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*ModifyLinkAttributeRequest) UnmarshalNDR

func (o *ModifyLinkAttributeRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type ModifyLinkAttributeResponse

type ModifyLinkAttributeResponse struct {
	// Return: The NspiModLinkAtt return value.
	Return int32 `idl:"name:Return" json:"return"`
}

ModifyLinkAttributeResponse structure represents the NspiModLinkAtt operation response

func (*ModifyLinkAttributeResponse) MarshalNDR

func (*ModifyLinkAttributeResponse) UnmarshalNDR

func (o *ModifyLinkAttributeResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type ModifyPropertiesRequest

type ModifyPropertiesRequest struct {
	// hRpc:  An RPC context handle as specified in section 2.3.9.
	Handle *Handle `idl:"name:hRpc" json:"handle"`
	// pStat:  A reference to a STAT block describing a logical position in a specific
	// address book container.
	Stat *Stat `idl:"name:pStat" json:"stat"`
	// pPropTags: The value NULL or a reference to a PropertyTagArray_r. Contains list of
	// the proptags of the columns that client requests all values to be removed from.
	PropertyTags *PropertyTagArray `idl:"name:pPropTags;pointer:unique" json:"property_tags"`
	// pRow: A PropertyRow_r value. Contains an address book row.
	Row *PropertyRow `idl:"name:pRow" json:"row"`
}

ModifyPropertiesRequest structure represents the NspiModProps operation request

func (*ModifyPropertiesRequest) MarshalNDR

func (o *ModifyPropertiesRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*ModifyPropertiesRequest) UnmarshalNDR

func (o *ModifyPropertiesRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type ModifyPropertiesResponse

type ModifyPropertiesResponse struct {
	// Return: The NspiModProps return value.
	Return int32 `idl:"name:Return" json:"return"`
}

ModifyPropertiesResponse structure represents the NspiModProps operation response

func (*ModifyPropertiesResponse) MarshalNDR

func (o *ModifyPropertiesResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*ModifyPropertiesResponse) UnmarshalNDR

func (o *ModifyPropertiesResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type NotRestriction

type NotRestriction struct {
	// lpRes:  Encodes the Restriction field of the NotRestriction data structure.
	Restriction *Restriction `idl:"name:lpRes" json:"restriction"`
}

NotRestriction structure represents NotRestriction_r RPC structure.

The NotRestriction_r structure is an encoding of the NotRestriction data structure defined in [MS-OXCDATA]. The semantic meaning is unchanged from the NotRestriction data structure.

func (*NotRestriction) MarshalNDR

func (o *NotRestriction) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*NotRestriction) UnmarshalNDR

func (o *NotRestriction) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type NspiClient

type NspiClient interface {

	// The NspiBind method initiates a session between a client and the NSPI server.
	//
	// Return Values: The server returns a long value specifying the return status of the
	// method.
	//
	// # Exceptions Thrown
	//
	// No exceptions are thrown beyond those thrown by the underlying RPC protocol, as specified
	// in [MS-RPCE].
	Bind(context.Context, *BindRequest, ...dcerpc.CallOption) (*BindResponse, error)

	// The NspiUnbind method destroys the context handle. No other action is taken.
	//
	// Return Values: The server returns a DWORD value specifying the return status of the
	// method.
	//
	// # Exceptions Thrown
	//
	// No exceptions are thrown beyond those thrown by the underlying RPC protocol, as specified
	// in [MS-RPCE].
	Unbind(context.Context, *UnbindRequest, ...dcerpc.CallOption) (*UnbindResponse, error)

	// The NspiUpdateStat method updates the STAT block representing position in a table
	// to reflect positioning changes requested by the client.
	//
	// Return Values: The server returns a long value specifying the return status of the
	// method.
	//
	// # Exceptions Thrown
	//
	// No exceptions are thrown beyond those thrown by the underlying RPC protocol, as specified
	// in [MS-RPCE].
	UpdateStat(context.Context, *UpdateStatRequest, ...dcerpc.CallOption) (*UpdateStatResponse, error)

	// The NspiQueryRows method returns to the client a number of rows from a specified
	// table. The server MUST return no more rows than the number specified in the input
	// parameter Count. Although the protocol places no further boundary or requirements
	// on the minimum number of rows the server returns, implementations SHOULD return as
	// many rows as possible subject to this maximum limit to improve usability of the NSPI
	// server for clients.
	//
	// Return Values:  The server returns a long value specifying the return status of
	// the method.
	//
	// # Exceptions Thrown
	//
	// No exceptions are thrown beyond those thrown by the underlying RPC protocol, as specified
	// in [MS-RPCE].
	QueryRows(context.Context, *QueryRowsRequest, ...dcerpc.CallOption) (*QueryRowsResponse, error)

	// The NspiSeekEntries method searches for and sets the logical position in a specific
	// table to the first entry greater than or equal to a specified value. Optionally,
	// it might also return information about rows in the table.
	//
	// Return Values: The server returns a long value specifying the return status of the
	// method.
	//
	// # Exceptions Thrown
	//
	// No exceptions are thrown beyond those thrown by the underlying RPC protocol, as specified
	// in [MS-RPCE].
	SeekEntries(context.Context, *SeekEntriesRequest, ...dcerpc.CallOption) (*SeekEntriesResponse, error)

	// The NspiGetMatches method returns an Explicit Table. The rows in the table are chosen
	// based on a two possible criteria: a restriction applied to an address book container
	// or the values of a property on a single object that hold references to other objects.
	//
	// Return Values: The server returns a long value specifying the return status of the
	// method.
	//
	// # Exceptions Thrown
	//
	// No exceptions are thrown beyond those thrown by the underlying RPC protocol, as specified
	// in [MS-RPCE].
	GetMatches(context.Context, *GetMatchesRequest, ...dcerpc.CallOption) (*GetMatchesResponse, error)

	// The NspiResortRestriction method applies a sort order to the objects in a restricted
	// address book container.
	//
	// Return Values: The server returns a long value specifying the return status of the
	// method.
	//
	// # Exceptions Thrown
	//
	// No exceptions are thrown beyond those thrown by the underlying RPC protocol, as specified
	// in [MS-RPCE].
	ResortRestriction(context.Context, *ResortRestrictionRequest, ...dcerpc.CallOption) (*ResortRestrictionResponse, error)

	// The NspiDNToMId method maps a set of DN to a set of MId.
	//
	// Return Values: The server returns a long value specifying the return status of the
	// method.
	//
	// # Exceptions Thrown
	//
	// No exceptions are thrown beyond those thrown by the underlying RPC protocol, as specified
	// in [MS-RPCE].
	DNToMID(context.Context, *DNToMIDRequest, ...dcerpc.CallOption) (*DNToMIDResponse, error)

	// The NspiGetPropList method returns a list of all the properties that have values
	// on a specified object.
	//
	// Return Values: The server returns a long value specifying the return status of the
	// method.
	//
	// # Exceptions Thrown
	//
	// No exceptions are thrown beyond those thrown by the underlying RPC protocol, as specified
	// in [MS-RPCE].
	GetPropertyList(context.Context, *GetPropertyListRequest, ...dcerpc.CallOption) (*GetPropertyListResponse, error)

	// The NspiGetProps method returns an address book row containing a set of the properties
	// and values that exist on an object.
	//
	// Return Values: The server returns a long value specifying the return status of the
	// method.
	//
	// # Exceptions Thrown
	//
	// No exceptions are thrown beyond those thrown by the underlying RPC protocol, as specified
	// in [MS-RPCE].
	GetProperties(context.Context, *GetPropertiesRequest, ...dcerpc.CallOption) (*GetPropertiesResponse, error)

	// The NspiCompareMIds method compares the position in an address book container of
	// two objects identified by MId and returns the value of the comparison.
	//
	// Return Values: The server returns a long value specifying the return status of the
	// method.
	//
	// # Exceptions Thrown
	//
	// No exceptions are thrown beyond those thrown by the underlying RPC protocol, as specified
	// in [MS-RPCE].
	CompareMIDs(context.Context, *CompareMIDsRequest, ...dcerpc.CallOption) (*CompareMIDsResponse, error)

	// The NspiModProps method is used to modify the properties of an object in the address
	// book.
	//
	// Return Values: The server returns a long value specifying the return status of the
	// method.
	//
	// # Exceptions Thrown
	//
	// No exceptions are thrown beyond those thrown by the underlying RPC protocol, as specified
	// in [MS-RPCE].
	ModifyProperties(context.Context, *ModifyPropertiesRequest, ...dcerpc.CallOption) (*ModifyPropertiesResponse, error)

	// The NspiGetSpecialTable method returns the rows of a special table to the client.
	// The special table can be an Address Book Hierarchy Table or an Address Creation Table.
	//
	// Return Values: The server returns a long value specifying the return status of the
	// method.
	//
	// # Exceptions Thrown
	//
	// No exceptions are thrown beyond those thrown by the underlying RPC protocol, as specified
	// in [MS-RPCE].
	GetSpecialTable(context.Context, *GetSpecialTableRequest, ...dcerpc.CallOption) (*GetSpecialTableResponse, error)

	// The NspiGetTemplateInfo method returns information about template objects in the
	// address book.
	//
	// Return Values: The server returns a long value specifying the return status of the
	// method.
	//
	// # Exceptions Thrown
	//
	// No exceptions are thrown beyond those thrown by the underlying RPC protocol, as specified
	// in [MS-RPCE].
	GetTemplateInfo(context.Context, *GetTemplateInfoRequest, ...dcerpc.CallOption) (*GetTemplateInfoResponse, error)

	// The NspiModLinkAtt method modifies the values of a specific property of a specific
	// row in the address book.
	//
	// Return Values: The server returns a long value specifying the return status of the
	// method.
	//
	// # Exceptions Thrown
	//
	// No exceptions are thrown beyond those thrown by the underlying RPC protocol, as specified
	// in [MS-RPCE].
	ModifyLinkAttribute(context.Context, *ModifyLinkAttributeRequest, ...dcerpc.CallOption) (*ModifyLinkAttributeResponse, error)

	// The NspiQueryColumns method returns a list of all the properties the NSPI server
	// is aware of. It returns this list as an array of proptags.
	//
	// Return Values: The server returns a long value specifying the return status of the
	// method.
	//
	// # Exceptions Thrown
	//
	// No exceptions are thrown beyond those thrown by the underlying RPC protocol, as specified
	// in [MS-RPCE].
	QueryColumns(context.Context, *QueryColumnsRequest, ...dcerpc.CallOption) (*QueryColumnsResponse, error)

	// The NspiGetNamesFromIDs method returns a list of property names for a set of proptags.
	//
	// Return Values: The server returns a long value specifying the return status of the
	// method.
	//
	// # Exceptions Thrown
	//
	// No exceptions are thrown beyond those thrown by the underlying RPC protocol, as specified
	// in [MS-RPCE].
	GetNamesFromIDs(context.Context, *GetNamesFromIDsRequest, ...dcerpc.CallOption) (*GetNamesFromIDsResponse, error)

	// The NspiGetIDsFromNames method returns a list of proptags for a set of property names.
	//
	// Return Values: The server returns a long value specifying the return status of the
	// method.
	//
	// # Exceptions Thrown
	//
	// No exceptions are thrown beyond those thrown by the underlying RPC protocol, as specified
	// in [MS-RPCE].
	GetIDsFromNames(context.Context, *GetIDsFromNamesRequest, ...dcerpc.CallOption) (*GetIDsFromNamesResponse, error)

	// The NspiResolveNames method takes a set of string values in an 8-bit character set
	// and performs ANR (as specified in 3.1.1.6) on those strings. The server reports the
	// MId that are the result of the ANR process. Certain property values are returned
	// for any valid MIds identified by the ANR process.
	//
	// Return Values: The server returns a long value specifying the return status of the
	// method.
	//
	// # Exceptions Thrown
	//
	// No exceptions are thrown beyond those thrown by the underlying RPC protocol, as specified
	// in [MS-RPCE].
	ResolveNames(context.Context, *ResolveNamesRequest, ...dcerpc.CallOption) (*ResolveNamesResponse, error)

	// The NspiResolveNamesW method takes a set of string values in the Unicode character
	// set and performs ANR (as specified in 3.1.1.6) on those strings. The server reports
	// the MId that are the result of the ANR process. Certain property values are returned
	// for any valid MIds identified by the ANR process.
	//
	// Return Values: The server returns a long value specifying the return status of the
	// method.
	//
	// # Exceptions Thrown
	//
	// No exceptions are thrown beyond those thrown by the underlying RPC protocol, as specified
	// in [MS-RPCE].
	ResolveNamesW(context.Context, *ResolveNamesWRequest, ...dcerpc.CallOption) (*ResolveNamesWResponse, error)

	// AlterContext alters the client context.
	AlterContext(context.Context, ...dcerpc.Option) error
}

nspi interface.

func NewNspiClient

func NewNspiClient(ctx context.Context, cc dcerpc.Conn, opts ...dcerpc.Option) (NspiClient, error)

type NspiServer

type NspiServer interface {

	// The NspiBind method initiates a session between a client and the NSPI server.
	//
	// Return Values: The server returns a long value specifying the return status of the
	// method.
	//
	// # Exceptions Thrown
	//
	// No exceptions are thrown beyond those thrown by the underlying RPC protocol, as specified
	// in [MS-RPCE].
	Bind(context.Context, *BindRequest) (*BindResponse, error)

	// The NspiUnbind method destroys the context handle. No other action is taken.
	//
	// Return Values: The server returns a DWORD value specifying the return status of the
	// method.
	//
	// # Exceptions Thrown
	//
	// No exceptions are thrown beyond those thrown by the underlying RPC protocol, as specified
	// in [MS-RPCE].
	Unbind(context.Context, *UnbindRequest) (*UnbindResponse, error)

	// The NspiUpdateStat method updates the STAT block representing position in a table
	// to reflect positioning changes requested by the client.
	//
	// Return Values: The server returns a long value specifying the return status of the
	// method.
	//
	// # Exceptions Thrown
	//
	// No exceptions are thrown beyond those thrown by the underlying RPC protocol, as specified
	// in [MS-RPCE].
	UpdateStat(context.Context, *UpdateStatRequest) (*UpdateStatResponse, error)

	// The NspiQueryRows method returns to the client a number of rows from a specified
	// table. The server MUST return no more rows than the number specified in the input
	// parameter Count. Although the protocol places no further boundary or requirements
	// on the minimum number of rows the server returns, implementations SHOULD return as
	// many rows as possible subject to this maximum limit to improve usability of the NSPI
	// server for clients.
	//
	// Return Values:  The server returns a long value specifying the return status of
	// the method.
	//
	// # Exceptions Thrown
	//
	// No exceptions are thrown beyond those thrown by the underlying RPC protocol, as specified
	// in [MS-RPCE].
	QueryRows(context.Context, *QueryRowsRequest) (*QueryRowsResponse, error)

	// The NspiSeekEntries method searches for and sets the logical position in a specific
	// table to the first entry greater than or equal to a specified value. Optionally,
	// it might also return information about rows in the table.
	//
	// Return Values: The server returns a long value specifying the return status of the
	// method.
	//
	// # Exceptions Thrown
	//
	// No exceptions are thrown beyond those thrown by the underlying RPC protocol, as specified
	// in [MS-RPCE].
	SeekEntries(context.Context, *SeekEntriesRequest) (*SeekEntriesResponse, error)

	// The NspiGetMatches method returns an Explicit Table. The rows in the table are chosen
	// based on a two possible criteria: a restriction applied to an address book container
	// or the values of a property on a single object that hold references to other objects.
	//
	// Return Values: The server returns a long value specifying the return status of the
	// method.
	//
	// # Exceptions Thrown
	//
	// No exceptions are thrown beyond those thrown by the underlying RPC protocol, as specified
	// in [MS-RPCE].
	GetMatches(context.Context, *GetMatchesRequest) (*GetMatchesResponse, error)

	// The NspiResortRestriction method applies a sort order to the objects in a restricted
	// address book container.
	//
	// Return Values: The server returns a long value specifying the return status of the
	// method.
	//
	// # Exceptions Thrown
	//
	// No exceptions are thrown beyond those thrown by the underlying RPC protocol, as specified
	// in [MS-RPCE].
	ResortRestriction(context.Context, *ResortRestrictionRequest) (*ResortRestrictionResponse, error)

	// The NspiDNToMId method maps a set of DN to a set of MId.
	//
	// Return Values: The server returns a long value specifying the return status of the
	// method.
	//
	// # Exceptions Thrown
	//
	// No exceptions are thrown beyond those thrown by the underlying RPC protocol, as specified
	// in [MS-RPCE].
	DNToMID(context.Context, *DNToMIDRequest) (*DNToMIDResponse, error)

	// The NspiGetPropList method returns a list of all the properties that have values
	// on a specified object.
	//
	// Return Values: The server returns a long value specifying the return status of the
	// method.
	//
	// # Exceptions Thrown
	//
	// No exceptions are thrown beyond those thrown by the underlying RPC protocol, as specified
	// in [MS-RPCE].
	GetPropertyList(context.Context, *GetPropertyListRequest) (*GetPropertyListResponse, error)

	// The NspiGetProps method returns an address book row containing a set of the properties
	// and values that exist on an object.
	//
	// Return Values: The server returns a long value specifying the return status of the
	// method.
	//
	// # Exceptions Thrown
	//
	// No exceptions are thrown beyond those thrown by the underlying RPC protocol, as specified
	// in [MS-RPCE].
	GetProperties(context.Context, *GetPropertiesRequest) (*GetPropertiesResponse, error)

	// The NspiCompareMIds method compares the position in an address book container of
	// two objects identified by MId and returns the value of the comparison.
	//
	// Return Values: The server returns a long value specifying the return status of the
	// method.
	//
	// # Exceptions Thrown
	//
	// No exceptions are thrown beyond those thrown by the underlying RPC protocol, as specified
	// in [MS-RPCE].
	CompareMIDs(context.Context, *CompareMIDsRequest) (*CompareMIDsResponse, error)

	// The NspiModProps method is used to modify the properties of an object in the address
	// book.
	//
	// Return Values: The server returns a long value specifying the return status of the
	// method.
	//
	// # Exceptions Thrown
	//
	// No exceptions are thrown beyond those thrown by the underlying RPC protocol, as specified
	// in [MS-RPCE].
	ModifyProperties(context.Context, *ModifyPropertiesRequest) (*ModifyPropertiesResponse, error)

	// The NspiGetSpecialTable method returns the rows of a special table to the client.
	// The special table can be an Address Book Hierarchy Table or an Address Creation Table.
	//
	// Return Values: The server returns a long value specifying the return status of the
	// method.
	//
	// # Exceptions Thrown
	//
	// No exceptions are thrown beyond those thrown by the underlying RPC protocol, as specified
	// in [MS-RPCE].
	GetSpecialTable(context.Context, *GetSpecialTableRequest) (*GetSpecialTableResponse, error)

	// The NspiGetTemplateInfo method returns information about template objects in the
	// address book.
	//
	// Return Values: The server returns a long value specifying the return status of the
	// method.
	//
	// # Exceptions Thrown
	//
	// No exceptions are thrown beyond those thrown by the underlying RPC protocol, as specified
	// in [MS-RPCE].
	GetTemplateInfo(context.Context, *GetTemplateInfoRequest) (*GetTemplateInfoResponse, error)

	// The NspiModLinkAtt method modifies the values of a specific property of a specific
	// row in the address book.
	//
	// Return Values: The server returns a long value specifying the return status of the
	// method.
	//
	// # Exceptions Thrown
	//
	// No exceptions are thrown beyond those thrown by the underlying RPC protocol, as specified
	// in [MS-RPCE].
	ModifyLinkAttribute(context.Context, *ModifyLinkAttributeRequest) (*ModifyLinkAttributeResponse, error)

	// The NspiQueryColumns method returns a list of all the properties the NSPI server
	// is aware of. It returns this list as an array of proptags.
	//
	// Return Values: The server returns a long value specifying the return status of the
	// method.
	//
	// # Exceptions Thrown
	//
	// No exceptions are thrown beyond those thrown by the underlying RPC protocol, as specified
	// in [MS-RPCE].
	QueryColumns(context.Context, *QueryColumnsRequest) (*QueryColumnsResponse, error)

	// The NspiGetNamesFromIDs method returns a list of property names for a set of proptags.
	//
	// Return Values: The server returns a long value specifying the return status of the
	// method.
	//
	// # Exceptions Thrown
	//
	// No exceptions are thrown beyond those thrown by the underlying RPC protocol, as specified
	// in [MS-RPCE].
	GetNamesFromIDs(context.Context, *GetNamesFromIDsRequest) (*GetNamesFromIDsResponse, error)

	// The NspiGetIDsFromNames method returns a list of proptags for a set of property names.
	//
	// Return Values: The server returns a long value specifying the return status of the
	// method.
	//
	// # Exceptions Thrown
	//
	// No exceptions are thrown beyond those thrown by the underlying RPC protocol, as specified
	// in [MS-RPCE].
	GetIDsFromNames(context.Context, *GetIDsFromNamesRequest) (*GetIDsFromNamesResponse, error)

	// The NspiResolveNames method takes a set of string values in an 8-bit character set
	// and performs ANR (as specified in 3.1.1.6) on those strings. The server reports the
	// MId that are the result of the ANR process. Certain property values are returned
	// for any valid MIds identified by the ANR process.
	//
	// Return Values: The server returns a long value specifying the return status of the
	// method.
	//
	// # Exceptions Thrown
	//
	// No exceptions are thrown beyond those thrown by the underlying RPC protocol, as specified
	// in [MS-RPCE].
	ResolveNames(context.Context, *ResolveNamesRequest) (*ResolveNamesResponse, error)

	// The NspiResolveNamesW method takes a set of string values in the Unicode character
	// set and performs ANR (as specified in 3.1.1.6) on those strings. The server reports
	// the MId that are the result of the ANR process. Certain property values are returned
	// for any valid MIds identified by the ANR process.
	//
	// Return Values: The server returns a long value specifying the return status of the
	// method.
	//
	// # Exceptions Thrown
	//
	// No exceptions are thrown beyond those thrown by the underlying RPC protocol, as specified
	// in [MS-RPCE].
	ResolveNamesW(context.Context, *ResolveNamesWRequest) (*ResolveNamesWResponse, error)
}

nspi server interface.

type OrRestriction

type OrRestriction struct {
	RestrictionCount uint32         `idl:"name:cRes" json:"restriction_count"`
	Restriction      []*Restriction `idl:"name:lpRes;size_is:(cRes)" json:"restriction"`
}

OrRestriction structure represents OrRestriction_r RPC structure.

func (*OrRestriction) MarshalNDR

func (o *OrRestriction) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*OrRestriction) UnmarshalNDR

func (o *OrRestriction) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type PropertyName

type PropertyName struct {
	// lpguid:  Encodes the GUID field of the PropertyName data structure. This field is
	// encoded as a FlatUID_r data structure.
	GUID *FlatUID `idl:"name:lpguid" json:"guid"`

	// lID:  Encodes the lID field of the PropertyName data structure. In addition to the
	// definition of the LID field, this field is always present in the PropertyName_r data
	// structure; it is not optional.
	ID int32 `idl:"name:lID" json:"id"`
	// contains filtered or unexported fields
}

PropertyName structure represents PropertyName_r RPC structure.

The PropertyName_r structure is an encoding of the PropertyName data structure defined in [MS-OXCDATA]. The semantic meaning is unchanged from the PropertyName data structure.

func (*PropertyName) MarshalNDR

func (o *PropertyName) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*PropertyName) UnmarshalNDR

func (o *PropertyName) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type PropertyNameSet

type PropertyNameSet struct {
	// cNames:  The number of PropertyName_r structures in this aggregation. The value MUST
	// NOT exceed 100,000.
	NamesCount uint32 `idl:"name:cNames" json:"names_count"`
	// aNames:  The list of PropertyName_r structures in this aggregation.
	Names []*PropertyName `idl:"name:aNames;size_is:(cNames)" json:"names"`
}

PropertyNameSet structure represents PropertyNameSet_r RPC structure.

The PropertyNameSet_r structure is used to aggregate a number of PropertyName_r structures into a single data structure.

func (*PropertyNameSet) MarshalNDR

func (o *PropertyNameSet) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*PropertyNameSet) NDRSizeInfo

func (o *PropertyNameSet) NDRSizeInfo() []uint64

func (*PropertyNameSet) UnmarshalNDR

func (o *PropertyNameSet) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type PropertyRestriction

type PropertyRestriction struct {
	// relop:   Encodes the RelOp field of the PropertyRestriction data structure.
	Op uint32 `idl:"name:relop" json:"op"`
	// ulPropTag:  Encodes the PropTag field of the PropertyRestriction data structure.
	PropertyTag uint32 `idl:"name:ulPropTag" json:"property_tag"`
	// lpProp:  Encodes the TaggedValue field of the PropertyRestriction data structure.
	Property *PropertyValue `idl:"name:lpProp" json:"property"`
}

PropertyRestriction structure represents PropertyRestriction_r RPC structure.

The PropertyRestriction_r structure is an encoding of the PropertyRestriction data structure defined in [MS-OXCDATA]. The semantic meaning is unchanged from the PropertyRestriction data structure.

func (*PropertyRestriction) MarshalNDR

func (o *PropertyRestriction) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*PropertyRestriction) UnmarshalNDR

func (o *PropertyRestriction) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type PropertyRow

type PropertyRow struct {

	// cValues:  The number of PropertyValue_r structures represented in the PropertyRow_r
	// structure. This value MUST NOT exceed 100,000.
	ValuesCount uint32 `idl:"name:cValues" json:"values_count"`
	// lpProps:  Encodes the ValueArray field of the StandardPropertyRow data structure.
	Properties []*PropertyValue `idl:"name:lpProps;size_is:(cValues)" json:"properties"`
	// contains filtered or unexported fields
}

PropertyRow structure represents PropertyRow_r RPC structure.

The PropertyRow_r structure is an encoding of the StandardPropertyRow data structure defined in [MS-OXCDATA]. The semantic meaning is unchanged from the StandardPropertyRow data structure.

func (*PropertyRow) MarshalNDR

func (o *PropertyRow) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*PropertyRow) UnmarshalNDR

func (o *PropertyRow) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type PropertyRowSet

type PropertyRowSet struct {
	// cRows:   Encodes the RowCount field of the PropertyRowSet data structures. This value
	// MUST NOT exceed 100,000.
	RowsCount uint32 `idl:"name:cRows" json:"rows_count"`
	// aRow:  Encodes the Rows field of the PropertyRowSet data structure.
	Row []*PropertyRow `idl:"name:aRow;size_is:(cRows)" json:"row"`
}

PropertyRowSet structure represents PropertyRowSet_r RPC structure.

The PropertyRowSet_r structure is an encoding of the PropertyRowSet data structure defined in [MS-OXCDATA] section 2.19.2, PropertyRowSet.

The permissible number of PropertyRows in the PropertyRowSet_r data structure exceeds that of the PropertyRowSet data structure. The semantic meaning is otherwise unchanged from the PropertyRowSet data structure.

func (*PropertyRowSet) MarshalNDR

func (o *PropertyRowSet) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*PropertyRowSet) NDRSizeInfo

func (o *PropertyRowSet) NDRSizeInfo() []uint64

func (*PropertyRowSet) UnmarshalNDR

func (o *PropertyRowSet) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type PropertyTagArray

type PropertyTagArray struct {
	// cValues:  Encodes the Count field of PropTagArray. This field MUST NOT exceed 100,000.
	ValuesCount uint32 `idl:"name:cValues" json:"values_count"`
	// aulPropTag:  Encodes the PropertyTags field of PropTagArray.
	PropertyTag []uint32 `idl:"name:aulPropTag;size_is:((cValues+1));length_is:(cValues)" json:"property_tag"`
}

PropertyTagArray structure represents PropertyTagArray_r RPC structure.

The PropertyTagArray_r structure is an encoding of the PropTagArray data structure defined in [MS-OXCDATA]. The permissible number of proptag values in the PropertyTagArray_r structure exceeds that of the PropTagArray data structure. The semantic meaning is otherwise unchanged from the PropTagArray data structure.

func (*PropertyTagArray) MarshalNDR

func (o *PropertyTagArray) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*PropertyTagArray) NDRSizeInfo

func (o *PropertyTagArray) NDRSizeInfo() []uint64

func (*PropertyTagArray) UnmarshalNDR

func (o *PropertyTagArray) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type PropertyValue

type PropertyValue struct {
	// ulPropTag:  Encodes the proptag of the property whose value is represented by the
	// PropertyValue_r data structure.
	PropertyTag uint32 `idl:"name:ulPropTag" json:"property_tag"`

	// Value:  Encodes the actual value of the property represented by the PropertyValue_r
	// data structure. The type value held is specified by the Property Type of the proptag
	// in the field ulPropTag.
	Value *PropertyValueUnion `idl:"name:Value;switch_is:(ulPropTag 65535 &)" json:"value"`
	// contains filtered or unexported fields
}

PropertyValue structure represents PropertyValue_r RPC structure.

The PropertyValue_r structure is an encoding of the PropertyValue data structure defined in [MS-OXCDATA].

For property values with uninterpreted byte values, the permissible number of bytes in the PropertyValue_r structure exceeds that of the PropertyValue data structure. For property values with multiple values, the permissible number of values in the PropertyValue_r structure exceeds that of the PropertyValue data structure. The semantic meaning is otherwise unchanged from the PropertyValue data structure.

func (*PropertyValue) MarshalNDR

func (o *PropertyValue) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*PropertyValue) UnmarshalNDR

func (o *PropertyValue) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type PropertyValueUnion

type PropertyValueUnion struct {
	// Types that are assignable to Value
	//
	// *PropertyValueUnion_Int16
	// *PropertyValueUnion_Int32
	// *PropertyValueUnion_Bool
	// *PropertyValueUnion_CharString
	// *PropertyValueUnion_Binary
	// *PropertyValueUnion_String
	// *PropertyValueUnion_GUID
	// *PropertyValueUnion_DateTime
	// *PropertyValueUnion_Error
	// *PropertyValueUnion_Int16Array
	// *PropertyValueUnion_Int32Array
	// *PropertyValueUnion_CharStringArray
	// *PropertyValueUnion_BinaryArray
	// *PropertyValueUnion_GUIDArray
	// *PropertyValueUnion_StringArray
	// *PropertyValueUnion_DateTimeArray
	// *PropertyValueUnion_Reserved
	Value is_PropertyValueUnion `json:"value"`
}

PropertyValueUnion structure represents PROP_VAL_UNION RPC union.

The PROP_VAL_UNION structure encodes a single instance of any type of property value. It is an aggregation data structure, allowing a single parameter to an NSPI method to contain any type of property value.

func (*PropertyValueUnion) GetValue

func (o *PropertyValueUnion) GetValue() any

func (*PropertyValueUnion) MarshalUnionNDR

func (o *PropertyValueUnion) MarshalUnionNDR(ctx context.Context, w ndr.Writer, sw int32) error

func (*PropertyValueUnion) NDRSwitchValue

func (o *PropertyValueUnion) NDRSwitchValue(sw int32) int32

func (*PropertyValueUnion) UnmarshalUnionNDR

func (o *PropertyValueUnion) UnmarshalUnionNDR(ctx context.Context, w ndr.Reader, sw int32) error

type PropertyValueUnion_Binary

type PropertyValueUnion_Binary struct {
	// bin:  PROP_VAL_UNION contains an encoding of the value of a property that can contain
	// a single binary data value. The number of bytes that can be encoded in this structure
	// is 2,097,152.
	Binary *Binary `idl:"name:bin" json:"binary"`
}

PropertyValueUnion_Binary structure represents PROP_VAL_UNION RPC union arm.

It has following labels: 258

func (*PropertyValueUnion_Binary) MarshalNDR

func (o *PropertyValueUnion_Binary) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*PropertyValueUnion_Binary) UnmarshalNDR

func (o *PropertyValueUnion_Binary) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type PropertyValueUnion_BinaryArray

type PropertyValueUnion_BinaryArray struct {
	// MVbin:  PROP_VAL_UNION contains an encoding of the values of a property that can
	// contain multiple binary data values. The number of bytes that can be encoded in each
	// value of this structure is 2,097,152. The number of values that can be encoded in
	// this structure is 100,000.
	BinaryArray *BinaryArray `idl:"name:MVbin" json:"binary_array"`
}

PropertyValueUnion_BinaryArray structure represents PROP_VAL_UNION RPC union arm.

It has following labels: 4354

func (*PropertyValueUnion_BinaryArray) MarshalNDR

func (*PropertyValueUnion_BinaryArray) UnmarshalNDR

type PropertyValueUnion_Bool

type PropertyValueUnion_Bool struct {
	// b:  PROP_VAL_UNION contains an encoding of the value of a property that can contain
	// a single Boolean value. The client and server MUST NOT set this to values other than
	// 1 or 0.
	Bool uint16 `idl:"name:b" json:"bool"`
}

PropertyValueUnion_Bool structure represents PROP_VAL_UNION RPC union arm.

It has following labels: 11

func (*PropertyValueUnion_Bool) MarshalNDR

func (o *PropertyValueUnion_Bool) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*PropertyValueUnion_Bool) UnmarshalNDR

func (o *PropertyValueUnion_Bool) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type PropertyValueUnion_CharString

type PropertyValueUnion_CharString struct {
	// lpszA:  PROP_VAL_UNION contains an encoding of the value of a property that can contain
	// a single 8-bit character string value. This value is NULL-terminated.
	CharString string `idl:"name:lpszA;string" json:"char_string"`
}

PropertyValueUnion_CharString structure represents PROP_VAL_UNION RPC union arm.

It has following labels: 30

func (*PropertyValueUnion_CharString) MarshalNDR

func (*PropertyValueUnion_CharString) UnmarshalNDR

func (o *PropertyValueUnion_CharString) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type PropertyValueUnion_CharStringArray

type PropertyValueUnion_CharStringArray struct {
	// MVszA:  PROP_VAL_UNION contains an encoding of the values of a property that can
	// contain multiple 8-bit character string values. These string values are NULL-terminated.
	// The number of values that can be encoded in this structure is 100,000.
	CharStringArray *CharStringArray `idl:"name:MVszA" json:"char_string_array"`
}

PropertyValueUnion_CharStringArray structure represents PROP_VAL_UNION RPC union arm.

It has following labels: 4126

func (*PropertyValueUnion_CharStringArray) MarshalNDR

func (*PropertyValueUnion_CharStringArray) UnmarshalNDR

type PropertyValueUnion_DateTime

type PropertyValueUnion_DateTime struct {
	// ft:  PROP_VAL_UNION contains an encoding of the value of a property that can contain
	// a single 64-bit integer value. The value is encoded as a FILETIME structure.
	DateTime *dtyp.Filetime `idl:"name:ft" json:"date_time"`
}

PropertyValueUnion_DateTime structure represents PROP_VAL_UNION RPC union arm.

It has following labels: 64

func (*PropertyValueUnion_DateTime) MarshalNDR

func (*PropertyValueUnion_DateTime) UnmarshalNDR

func (o *PropertyValueUnion_DateTime) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type PropertyValueUnion_DateTimeArray

type PropertyValueUnion_DateTimeArray struct {
	// MVft:  PROP_VAL_UNION contains an encoding of the value of a property that can contain
	// multiple 64-bit integer values. The values are encoded as FILETIME structures. The
	// number of values that can be encoded in this structure is 100,000.
	DateTimeArray *DateTimeArray `idl:"name:MVft" json:"date_time_array"`
}

PropertyValueUnion_DateTimeArray structure represents PROP_VAL_UNION RPC union arm.

It has following labels: 4160

func (*PropertyValueUnion_DateTimeArray) MarshalNDR

func (*PropertyValueUnion_DateTimeArray) UnmarshalNDR

type PropertyValueUnion_Error

type PropertyValueUnion_Error struct {
	// err:  PROP_VAL_UNION contains an encoding of the value of a property that can contain
	// a single PtypErrorCode value.
	Error int32 `idl:"name:err" json:"error"`
}

PropertyValueUnion_Error structure represents PROP_VAL_UNION RPC union arm.

It has following labels: 10

func (*PropertyValueUnion_Error) MarshalNDR

func (o *PropertyValueUnion_Error) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*PropertyValueUnion_Error) UnmarshalNDR

func (o *PropertyValueUnion_Error) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type PropertyValueUnion_GUID

type PropertyValueUnion_GUID struct {
	// lpguid:  PROP_VAL_UNION contains an encoding of the value of a property that can
	// contain a single GUID value. The value is encoded as a FlatUID_r data structure.
	GUID *FlatUID `idl:"name:lpguid" json:"guid"`
}

PropertyValueUnion_GUID structure represents PROP_VAL_UNION RPC union arm.

It has following labels: 72

func (*PropertyValueUnion_GUID) MarshalNDR

func (o *PropertyValueUnion_GUID) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*PropertyValueUnion_GUID) UnmarshalNDR

func (o *PropertyValueUnion_GUID) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type PropertyValueUnion_GUIDArray

type PropertyValueUnion_GUIDArray struct {
	// MVguid:  PROP_VAL_UNION contains an encoding of the values of a property that can
	// contain multiple GUID values. The values are encoded as FlatUID_r data structures.
	// The number of values that can be encoded in this structure is 100,000.
	GUIDArray *FlatUIDArray `idl:"name:MVguid" json:"guid_array"`
}

PropertyValueUnion_GUIDArray structure represents PROP_VAL_UNION RPC union arm.

It has following labels: 4168

func (*PropertyValueUnion_GUIDArray) MarshalNDR

func (*PropertyValueUnion_GUIDArray) UnmarshalNDR

func (o *PropertyValueUnion_GUIDArray) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type PropertyValueUnion_Int16

type PropertyValueUnion_Int16 struct {
	// i:  PROP_VAL_UNION contains an encoding of the value of a property that can contain
	// a single 16-bit integer value.
	Int16 int16 `idl:"name:i" json:"int16"`
}

PropertyValueUnion_Int16 structure represents PROP_VAL_UNION RPC union arm.

It has following labels: 2

func (*PropertyValueUnion_Int16) MarshalNDR

func (o *PropertyValueUnion_Int16) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*PropertyValueUnion_Int16) UnmarshalNDR

func (o *PropertyValueUnion_Int16) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type PropertyValueUnion_Int16Array

type PropertyValueUnion_Int16Array struct {
	// MVi:  PROP_VAL_UNION contains an encoding of the values of a property that can contain
	// multiple 16-bit integer values. The number of values that can be encoded in this
	// structure is 100,000.
	Int16Array *ShortArray `idl:"name:MVi" json:"int16_array"`
}

PropertyValueUnion_Int16Array structure represents PROP_VAL_UNION RPC union arm.

It has following labels: 4098

func (*PropertyValueUnion_Int16Array) MarshalNDR

func (*PropertyValueUnion_Int16Array) UnmarshalNDR

func (o *PropertyValueUnion_Int16Array) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type PropertyValueUnion_Int32

type PropertyValueUnion_Int32 struct {
	// l:  PROP_VAL_UNION contains an encoding of the value of a property that can contain
	// a single 32-bit integer value.
	Int32 int32 `idl:"name:l" json:"int32"`
}

PropertyValueUnion_Int32 structure represents PROP_VAL_UNION RPC union arm.

It has following labels: 3

func (*PropertyValueUnion_Int32) MarshalNDR

func (o *PropertyValueUnion_Int32) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*PropertyValueUnion_Int32) UnmarshalNDR

func (o *PropertyValueUnion_Int32) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type PropertyValueUnion_Int32Array

type PropertyValueUnion_Int32Array struct {
	// MVl:  PROP_VAL_UNION contains an encoding of the values of a property that can contain
	// multiple 32-bit integer values. The number of values that can be encoded in this
	// structure is 100,000.
	Int32Array *LongArray `idl:"name:MVl" json:"int32_array"`
}

PropertyValueUnion_Int32Array structure represents PROP_VAL_UNION RPC union arm.

It has following labels: 4099

func (*PropertyValueUnion_Int32Array) MarshalNDR

func (*PropertyValueUnion_Int32Array) UnmarshalNDR

func (o *PropertyValueUnion_Int32Array) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type PropertyValueUnion_Reserved

type PropertyValueUnion_Reserved struct {
	// contains filtered or unexported fields
}

PropertyValueUnion_Reserved structure represents PROP_VAL_UNION RPC union arm.

It has following labels: 1, 13

func (*PropertyValueUnion_Reserved) MarshalNDR

func (*PropertyValueUnion_Reserved) UnmarshalNDR

func (o *PropertyValueUnion_Reserved) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type PropertyValueUnion_String

type PropertyValueUnion_String struct {
	// lpszW:  PROP_VAL_UNION contains an encoding of the value of a property that can contain
	// a single Unicode string value. This value is NULL-terminated.
	String string `idl:"name:lpszW;string" json:"string"`
}

PropertyValueUnion_String structure represents PROP_VAL_UNION RPC union arm.

It has following labels: 31

func (*PropertyValueUnion_String) MarshalNDR

func (o *PropertyValueUnion_String) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*PropertyValueUnion_String) UnmarshalNDR

func (o *PropertyValueUnion_String) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type PropertyValueUnion_StringArray

type PropertyValueUnion_StringArray struct {
	// MVszW:  PROP_VAL_UNION contains an encoding of the values of a property that can
	// contain multiple Unicode string values. These string values are NULL-terminated.
	// The number of values that can be encoded in this structure is 100,000.
	StringArray *StringArray `idl:"name:MVszW" json:"string_array"`
}

PropertyValueUnion_StringArray structure represents PROP_VAL_UNION RPC union arm.

It has following labels: 4127

func (*PropertyValueUnion_StringArray) MarshalNDR

func (*PropertyValueUnion_StringArray) UnmarshalNDR

type QueryColumnsRequest

type QueryColumnsRequest struct {
	// hRpc: An RPC context handle as specified in section 2.3.9.
	Handle *Handle `idl:"name:hRpc" json:"handle"`
	// dwFlags: A DWORD value containing a set of bit flags. The server MUST ignore values
	// other than the bit flag NspiUnicodeProptypes.
	Flags uint32 `idl:"name:dwFlags" json:"flags"`
}

QueryColumnsRequest structure represents the NspiQueryColumns operation request

func (*QueryColumnsRequest) MarshalNDR

func (o *QueryColumnsRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*QueryColumnsRequest) UnmarshalNDR

func (o *QueryColumnsRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type QueryColumnsResponse

type QueryColumnsResponse struct {
	// ppColumns: A reference to a PropertyTagArray_r structure. On return, contains a list
	// of proptags.
	Columns *PropertyTagArray `idl:"name:ppColumns" json:"columns"`
	// Return: The NspiQueryColumns return value.
	Return int32 `idl:"name:Return" json:"return"`
}

QueryColumnsResponse structure represents the NspiQueryColumns operation response

func (*QueryColumnsResponse) MarshalNDR

func (o *QueryColumnsResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*QueryColumnsResponse) UnmarshalNDR

func (o *QueryColumnsResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type QueryRowsRequest

type QueryRowsRequest struct {
	// hRpc: An RPC context handle as specified in section 2.3.9.
	Handle *Handle `idl:"name:hRpc" json:"handle"`
	// dwFlags:  A DWORD value, containing a set of bit flags. The server MUST ignore values
	// other than the bit flags fEphID and fSkipObjects.
	Flags uint32 `idl:"name:dwFlags" json:"flags"`
	// pStat: A pointer to a STAT block describing a logical position in a specific address
	// book container. This parameter is used to specify both input parameters from the
	// client and return values from the NSPI server.
	Stat *Stat `idl:"name:pStat" json:"stat"`
	// dwETableCount: A DWORD value containing the number values in the input parameter
	// lpETable. This value is limited to 100,000.
	ETableCount uint32 `idl:"name:dwETableCount" json:"e_table_count"`
	// lpETable:  An array of DWORD values, representing an Explicit Table (see Explicit
	// Tables (section 3.1.1.3.2)).
	ETable []uint32 `idl:"name:lpETable;size_is:(dwETableCount);pointer:unique" json:"e_table"`
	// Count: A DWORD value containing the number of rows the client is requesting.
	Count uint32 `idl:"name:Count" json:"count"`
	// pPropTags: The value NULL or a reference to a PropertyTagArray_r value, containing
	// a list of the proptags of the properties that client requires to be returned for
	// each row returned.
	PropertyTags *PropertyTagArray `idl:"name:pPropTags;pointer:unique" json:"property_tags"`
}

QueryRowsRequest structure represents the NspiQueryRows operation request

func (*QueryRowsRequest) MarshalNDR

func (o *QueryRowsRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*QueryRowsRequest) UnmarshalNDR

func (o *QueryRowsRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type QueryRowsResponse

type QueryRowsResponse struct {
	// pStat: A pointer to a STAT block describing a logical position in a specific address
	// book container. This parameter is used to specify both input parameters from the
	// client and return values from the NSPI server.
	Stat *Stat `idl:"name:pStat" json:"stat"`
	// ppRows: A reference to a PropertyRowSet_r value. Contains the address book container
	// rows the server returns in response to the request.
	Rows *PropertyRowSet `idl:"name:ppRows" json:"rows"`
	// Return: The NspiQueryRows return value.
	Return int32 `idl:"name:Return" json:"return"`
}

QueryRowsResponse structure represents the NspiQueryRows operation response

func (*QueryRowsResponse) MarshalNDR

func (o *QueryRowsResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*QueryRowsResponse) UnmarshalNDR

func (o *QueryRowsResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type ResolveNamesRequest

type ResolveNamesRequest struct {
	// hRpc: An RPC context handle as specified in section 2.3.9.
	Handle *Handle `idl:"name:hRpc" json:"handle"`
	// pStat: A reference to a STAT block describing a logical position in a specific address
	// book container.
	Stat *Stat `idl:"name:pStat" json:"stat"`
	// pPropTags: The value NULL or a reference to a PropertyTagArray_r value containing
	// a list of the proptags of the columns that the client requests to be returned for
	// each row returned.
	PropertyTags *PropertyTagArray `idl:"name:pPropTags;pointer:unique" json:"property_tags"`
	// paStr: A StringsArray_r value. Specifies the values the client is requesting the
	// server to do ANR on. The server MUST apply any necessary character set conversion
	// as specified in String Handling (section 3.1.1.2).
	Strings *CharStringsArray `idl:"name:paStr" json:"strings"`
}

ResolveNamesRequest structure represents the NspiResolveNames operation request

func (*ResolveNamesRequest) MarshalNDR

func (o *ResolveNamesRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*ResolveNamesRequest) UnmarshalNDR

func (o *ResolveNamesRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type ResolveNamesResponse

type ResolveNamesResponse struct {
	// ppMIds: A PropertyTagArray_r value. On return, contains a list of MIds matching the
	// array of strings, as specified in the input parameter paStr.
	MIDs *PropertyTagArray `idl:"name:ppMIds" json:"m_ids"`
	// ppRows: A reference to a PropertyRowSet_r value. Contains the address book container
	// rows that the server returns in response to the request.
	Rows *PropertyRowSet `idl:"name:ppRows" json:"rows"`
	// Return: The NspiResolveNames return value.
	Return int32 `idl:"name:Return" json:"return"`
}

ResolveNamesResponse structure represents the NspiResolveNames operation response

func (*ResolveNamesResponse) MarshalNDR

func (o *ResolveNamesResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*ResolveNamesResponse) UnmarshalNDR

func (o *ResolveNamesResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type ResolveNamesWRequest

type ResolveNamesWRequest struct {
	// hRpc: An RPC context handle as specified in section 2.3.9.
	Handle *Handle `idl:"name:hRpc" json:"handle"`
	// pStat: A reference to a STAT block describing a logical position in a specific address
	// book container.
	Stat *Stat `idl:"name:pStat" json:"stat"`
	// pPropTags: The value NULL or a reference to a PropertyTagArray_r containing a list
	// of the proptags of the columns that the client requests to be returned for each row
	// returned.
	PropertyTags *PropertyTagArray `idl:"name:pPropTags;pointer:unique" json:"property_tags"`
	// paWStr: A WStringsArray_r value. Specifies the values on which the client is requesting
	// that the server perform ANR. The server MUST apply any necessary character set conversion
	// as specified in String Handling (section 3.1.1.2).
	Strings *StringsArray `idl:"name:paWStr" json:"strings"`
}

ResolveNamesWRequest structure represents the NspiResolveNamesW operation request

func (*ResolveNamesWRequest) MarshalNDR

func (o *ResolveNamesWRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*ResolveNamesWRequest) UnmarshalNDR

func (o *ResolveNamesWRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type ResolveNamesWResponse

type ResolveNamesWResponse struct {
	// ppMIds: A PropertyTagArray_r value. On return, contains a list of MIds matching the
	// array of strings, as specified in the input parameter paWStr
	MIDs *PropertyTagArray `idl:"name:ppMIds" json:"m_ids"`
	// ppRows: A reference to a PropertyRowSet_r. Contains the address book container rows
	// that the server returns in response to the request.
	Rows *PropertyRowSet `idl:"name:ppRows" json:"rows"`
	// Return: The NspiResolveNamesW return value.
	Return int32 `idl:"name:Return" json:"return"`
}

ResolveNamesWResponse structure represents the NspiResolveNamesW operation response

func (*ResolveNamesWResponse) MarshalNDR

func (o *ResolveNamesWResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*ResolveNamesWResponse) UnmarshalNDR

func (o *ResolveNamesWResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type ResortRestrictionRequest

type ResortRestrictionRequest struct {
	// hRpc: An RPC context handle as specified in section 2.3.9.
	Handle *Handle `idl:"name:hRpc" json:"handle"`
	// pStat: A reference to a STAT block describing a logical position in a specific address
	// book container.
	Stat *Stat `idl:"name:pStat" json:"stat"`
	// pInMIds: A PropertyTagArray_r value. It holds a list of MIds that comprise a restricted
	// address book container.
	InMIDs *PropertyTagArray `idl:"name:pInMIds" json:"in_m_ids"`
	// ppOutMIds: A PropertyTagArray_r value. On return, it holds a list of MIds that comprise
	// a restricted address book container.
	OutMIDs *PropertyTagArray `idl:"name:ppOutMIds" json:"out_m_ids"`
}

ResortRestrictionRequest structure represents the NspiResortRestriction operation request

func (*ResortRestrictionRequest) MarshalNDR

func (o *ResortRestrictionRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*ResortRestrictionRequest) UnmarshalNDR

func (o *ResortRestrictionRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type ResortRestrictionResponse

type ResortRestrictionResponse struct {
	// pStat: A reference to a STAT block describing a logical position in a specific address
	// book container.
	Stat *Stat `idl:"name:pStat" json:"stat"`
	// ppOutMIds: A PropertyTagArray_r value. On return, it holds a list of MIds that comprise
	// a restricted address book container.
	OutMIDs *PropertyTagArray `idl:"name:ppOutMIds" json:"out_m_ids"`
	// Return: The NspiResortRestriction return value.
	Return int32 `idl:"name:Return" json:"return"`
}

ResortRestrictionResponse structure represents the NspiResortRestriction operation response

func (*ResortRestrictionResponse) MarshalNDR

func (o *ResortRestrictionResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*ResortRestrictionResponse) UnmarshalNDR

func (o *ResortRestrictionResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type Restriction

type Restriction struct {
	// rt:  Encodes the RestrictType field common to all restriction structures.
	RestrictionType uint32 `idl:"name:rt" json:"restriction_type"`
	// res:  Encodes the actual restriction specified by the type in the rt field.
	Restriction *RestrictionUnion `idl:"name:res;switch_is:rt" json:"restriction"`
}

Restriction structure represents Restriction_r RPC structure.

The Restriction_r structure is an encoding of the Restriction filters defined in [MS-OXCDATA].

The permissible number of Restriction structures encoded in AndRestriction_r and OrRestriction_r data structures recursively included in the Restriction_r data type exceeds that of the AndRestriction_r and OrRestriction_r data structures recursively included in the Restriction filters. The semantic meaning is otherwise unchanged from the Restriction filters.

func (*Restriction) MarshalNDR

func (o *Restriction) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*Restriction) UnmarshalNDR

func (o *Restriction) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type RestrictionUnion

type RestrictionUnion struct {
	// Types that are assignable to Value
	//
	// *RestrictionUnion_And
	// *RestrictionUnion_Or
	// *RestrictionUnion_Not
	// *RestrictionUnion_Content
	// *RestrictionUnion_Property
	// *RestrictionUnion_CompareProperties
	// *RestrictionUnion_BitMask
	// *RestrictionUnion_Size
	// *RestrictionUnion_Exist
	// *RestrictionUnion_SubRestriction
	Value is_RestrictionUnion `json:"value"`
}

RestrictionUnion structure represents RestrictionUnion_r RPC union.

The RestrictionUnion_r structure encodes a single instance of any type of restriction. It is an aggregation data structure, allowing a single parameter to a Name Service Provider Interface (NSPI) method to contain any type of restriction data structure.

func (*RestrictionUnion) GetValue

func (o *RestrictionUnion) GetValue() any

func (*RestrictionUnion) MarshalUnionNDR

func (o *RestrictionUnion) MarshalUnionNDR(ctx context.Context, w ndr.Writer, sw int32) error

func (*RestrictionUnion) NDRSwitchValue

func (o *RestrictionUnion) NDRSwitchValue(sw int32) int32

func (*RestrictionUnion) UnmarshalUnionNDR

func (o *RestrictionUnion) UnmarshalUnionNDR(ctx context.Context, w ndr.Reader, sw int32) error

type RestrictionUnion_And

type RestrictionUnion_And struct {
	// resAnd:  RestrictionUnion_r contains an encoding of an AndRestriction.
	And *AndRestriction `idl:"name:resAnd" json:"and"`
}

RestrictionUnion_And structure represents RestrictionUnion_r RPC union arm.

It has following labels: 0

func (*RestrictionUnion_And) MarshalNDR

func (o *RestrictionUnion_And) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*RestrictionUnion_And) UnmarshalNDR

func (o *RestrictionUnion_And) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type RestrictionUnion_BitMask

type RestrictionUnion_BitMask struct {
	// resBitMask:  RestrictionUnion_r contains an encoding of a BitMaskRestriction.
	BitMask *BitMaskRestriction `idl:"name:resBitMask" json:"bit_mask"`
}

RestrictionUnion_BitMask structure represents RestrictionUnion_r RPC union arm.

It has following labels: 6

func (*RestrictionUnion_BitMask) MarshalNDR

func (o *RestrictionUnion_BitMask) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*RestrictionUnion_BitMask) UnmarshalNDR

func (o *RestrictionUnion_BitMask) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type RestrictionUnion_CompareProperties

type RestrictionUnion_CompareProperties struct {
	// resCompareProps:  RestrictionUnion_r contains an encoding of a CompareRestriction.
	CompareProperties *ComparePropertiesRestriction `idl:"name:resCompareProps" json:"compare_properties"`
}

RestrictionUnion_CompareProperties structure represents RestrictionUnion_r RPC union arm.

It has following labels: 5

func (*RestrictionUnion_CompareProperties) MarshalNDR

func (*RestrictionUnion_CompareProperties) UnmarshalNDR

type RestrictionUnion_Content

type RestrictionUnion_Content struct {
	// resContent:  RestrictionUnion_r contains an encoding of a ContentRestriction.
	Content *ContentRestriction `idl:"name:resContent" json:"content"`
}

RestrictionUnion_Content structure represents RestrictionUnion_r RPC union arm.

It has following labels: 3

func (*RestrictionUnion_Content) MarshalNDR

func (o *RestrictionUnion_Content) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*RestrictionUnion_Content) UnmarshalNDR

func (o *RestrictionUnion_Content) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type RestrictionUnion_Exist

type RestrictionUnion_Exist struct {
	// resExist:  RestrictionUnion_r contains an encoding of an ExistRestriction.
	Exist *ExistRestriction `idl:"name:resExist" json:"exist"`
}

RestrictionUnion_Exist structure represents RestrictionUnion_r RPC union arm.

It has following labels: 8

func (*RestrictionUnion_Exist) MarshalNDR

func (o *RestrictionUnion_Exist) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*RestrictionUnion_Exist) UnmarshalNDR

func (o *RestrictionUnion_Exist) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type RestrictionUnion_Not

type RestrictionUnion_Not struct {
	// resNot:  RestrictionUnion_r contains an encoding of a NotRestriction.
	Not *NotRestriction `idl:"name:resNot" json:"not"`
}

RestrictionUnion_Not structure represents RestrictionUnion_r RPC union arm.

It has following labels: 2

func (*RestrictionUnion_Not) MarshalNDR

func (o *RestrictionUnion_Not) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*RestrictionUnion_Not) UnmarshalNDR

func (o *RestrictionUnion_Not) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type RestrictionUnion_Or

type RestrictionUnion_Or struct {
	// resOr:  RestrictionUnion_r contains an encoding of an OrRestriction.
	Or *OrRestriction `idl:"name:resOr" json:"or"`
}

RestrictionUnion_Or structure represents RestrictionUnion_r RPC union arm.

It has following labels: 1

func (*RestrictionUnion_Or) MarshalNDR

func (o *RestrictionUnion_Or) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*RestrictionUnion_Or) UnmarshalNDR

func (o *RestrictionUnion_Or) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type RestrictionUnion_Property

type RestrictionUnion_Property struct {
	// resProperty:  RestrictionUnion_r contains an encoding of a PropertyRestriction.
	Property *PropertyRestriction `idl:"name:resProperty" json:"property"`
}

RestrictionUnion_Property structure represents RestrictionUnion_r RPC union arm.

It has following labels: 4

func (*RestrictionUnion_Property) MarshalNDR

func (o *RestrictionUnion_Property) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*RestrictionUnion_Property) UnmarshalNDR

func (o *RestrictionUnion_Property) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type RestrictionUnion_Size

type RestrictionUnion_Size struct {
	// resSize:  RestrictionUnion_r contains an encoding of a SizeRestriction.
	Size *SizeRestriction `idl:"name:resSize" json:"size"`
}

RestrictionUnion_Size structure represents RestrictionUnion_r RPC union arm.

It has following labels: 7

func (*RestrictionUnion_Size) MarshalNDR

func (o *RestrictionUnion_Size) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*RestrictionUnion_Size) UnmarshalNDR

func (o *RestrictionUnion_Size) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type RestrictionUnion_SubRestriction

type RestrictionUnion_SubRestriction struct {
	// resSubRestriction:  RestrictionUnion_r contains an encoding of a SubRestriction.
	SubRestriction *SubRestriction `idl:"name:resSubRestriction" json:"sub_restriction"`
}

RestrictionUnion_SubRestriction structure represents RestrictionUnion_r RPC union arm.

It has following labels: 9

func (*RestrictionUnion_SubRestriction) MarshalNDR

func (*RestrictionUnion_SubRestriction) UnmarshalNDR

type SeekEntriesRequest

type SeekEntriesRequest struct {
	// hRpc:  An RPC context handle as specified in section 2.3.9.
	Handle *Handle `idl:"name:hRpc" json:"handle"`
	// pStat: A pointer to a STAT block describing a logical position in a specific address
	// book container. This parameter is used to both specify input parameters from the
	// client and return values from the NSPI server.
	Stat *Stat `idl:"name:pStat" json:"stat"`
	// pTarget: A PropertyValue_r value holding the value that is being sought.
	Target *PropertyValue `idl:"name:pTarget" json:"target"`
	// lpETable: The value NULL or a PropertyTagArray_r value. It holds a list of Mids that
	// comprises a restricted address book container.
	ETable *PropertyTagArray `idl:"name:lpETable;pointer:unique" json:"e_table"`
	// pPropTags: The value NULL or a reference to a PropertyTagArray_r value. Contains
	// list of the proptags of the columns that client wants to be returned for each row
	// returned.
	PropertyTags *PropertyTagArray `idl:"name:pPropTags;pointer:unique" json:"property_tags"`
}

SeekEntriesRequest structure represents the NspiSeekEntries operation request

func (*SeekEntriesRequest) MarshalNDR

func (o *SeekEntriesRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*SeekEntriesRequest) UnmarshalNDR

func (o *SeekEntriesRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type SeekEntriesResponse

type SeekEntriesResponse struct {
	// pStat: A pointer to a STAT block describing a logical position in a specific address
	// book container. This parameter is used to both specify input parameters from the
	// client and return values from the NSPI server.
	Stat *Stat `idl:"name:pStat" json:"stat"`
	// ppRows: A reference to a PropertyRowSet_r value. Contains the address book container
	// rows the server returns in response to the request.
	Rows *PropertyRowSet `idl:"name:ppRows" json:"rows"`
	// Return: The NspiSeekEntries return value.
	Return int32 `idl:"name:Return" json:"return"`
}

SeekEntriesResponse structure represents the NspiSeekEntries operation response

func (*SeekEntriesResponse) MarshalNDR

func (o *SeekEntriesResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*SeekEntriesResponse) UnmarshalNDR

func (o *SeekEntriesResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type ShortArray

type ShortArray struct {
	// cValues:  The number of 16-bit integer values represented in the ShortArray_r structure.
	// This value MUST NOT exceed 100,000.
	ValuesCount uint32 `idl:"name:cValues" json:"values_count"`
	// lpi:  The 16-bit integer values.
	Values []int16 `idl:"name:lpi;size_is:(cValues)" json:"values"`
}

ShortArray structure represents ShortArray_r RPC structure.

The ShortArray_r structure encodes an array of 16-bit integers.

func (*ShortArray) MarshalNDR

func (o *ShortArray) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*ShortArray) UnmarshalNDR

func (o *ShortArray) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type SizeRestriction

type SizeRestriction struct {
	// relop:  Encodes the RelOp field of the SizeRestriction data structure.
	Op uint32 `idl:"name:relop" json:"op"`
	// ulPropTag:  Encodes the PropTag field of the SizeRestriction data structure.
	PropertyTag uint32 `idl:"name:ulPropTag" json:"property_tag"`
	// cb:  Encodes the Size field of the SizeRestriction data structure.
	Length uint32 `idl:"name:cb" json:"length"`
}

SizeRestriction structure represents SizeRestriction_r RPC structure.

The SizeRestriction_r structure is an encoding of the SizeRestriction data structure defined in [MS-OXCDATA]. The semantic meaning is unchanged from the SizeRestriction data structure.

func (*SizeRestriction) MarshalNDR

func (o *SizeRestriction) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*SizeRestriction) UnmarshalNDR

func (o *SizeRestriction) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type Stat

type Stat struct {
	// SortType:  This field contains a DWORD representing a sort order. The client sets
	// this field to specify the sort type of this table. Possible values are specified
	// in Table Sort Orders (section 2.2.10). The server MUST NOT modify this field.
	SortType uint32 `idl:"name:SortType" json:"sort_type"`
	// ContainerID:  This field contains a MId. The client sets this field to specify the
	// MId of the address book container that this STAT represents. The client obtains these
	// MIds from the server's address book hierarchy table. The server MUST NOT modify this
	// field in any NSPI method except NspiGetMatches.
	ContainerID uint32 `idl:"name:ContainerID" json:"container_id"`
	// CurrentRec:  This field contains a MId. The client sets this field to specify a beginning
	// position in the table for the start of an NSPI method. The server sets this field
	// to report the end position in the table after processing an NSPI method.
	CurrentRecord uint32 `idl:"name:CurrentRec" json:"current_record"`
	// Delta:  This field contains a long value. The client sets this field to specify an
	// offset from the beginning position in the table for the start of an NSPI method.
	// If the NSPI method returns a success value, the server MUST set this field to 0.
	Delta int32 `idl:"name:Delta" json:"delta"`
	// NumPos:  This field contains a DWORD value specifying a position in the table. The
	// client sets this field to specify a fractional position for the beginning position
	// in the table for the start of an NSPI method (section 3.1.1.4.2). The server sets
	// this field to specify the approximate fractional position at the end of an NSPI method.
	// This value is a zero index; the first element in a table has the numeric position
	// 0. Although the protocol places no boundary or requirements on the accuracy of the
	// approximation the server reports, it is recommended that implementations maximize
	// the accuracy of the approximation to improve usability of the NSPI server for clients.
	PosLength uint32 `idl:"name:NumPos" json:"pos_length"`
	// TotalRecs:  This field contains a DWORD specifying the number of rows in the table.
	// The client sets this field to specify a fractional position for the beginning position
	// in the table for the start of an NSPI method (section 3.1.1.4.2). The server sets
	// this field to specify the total number of rows in the table. Unlike the NumPos field,
	// the server MUST report this number accurately; an approximation is insufficient.
	TotalRecords uint32 `idl:"name:TotalRecs" json:"total_records"`
	// CodePage:  This field contains a DWORD value representing a codepage. The client
	// sets this field to specify the codepage the client uses for non-Unicode strings.
	// The server MUST use this value during string handling (section 3.1.1.2). The server
	// MUST NOT modify this field.
	CodePage uint32 `idl:"name:CodePage" json:"code_page"`
	// TemplateLocale:  This field contains a DWORD value representing a language code identifier
	// (LCID). The client sets this field to specify the LCID associated with the template
	// the client wishes the server to return. The server MUST NOT modify this field.
	TemplateLocale uint32 `idl:"name:TemplateLocale" json:"template_locale"`
	// SortLocale:  This field contains a DWORD value representing an LCID. The client sets
	// this field to specify the LCID that it wishes the server to use when sorting any
	// strings. The server MUST use this value during sorting (section 3.1.1.2). The server
	// MUST NOT modify this field.
	SortLocale uint32 `idl:"name:SortLocale" json:"sort_locale"`
}

Stat structure represents STAT RPC structure.

The STAT structure is used to specify the state of a table and location information that applies to that table. It appears as both an input parameter and an output parameter in many Name Service Provider Interface (NSPI) methods.

func (*Stat) MarshalNDR

func (o *Stat) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*Stat) UnmarshalNDR

func (o *Stat) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type StringArray

type StringArray struct {
	// cValues:  The number of Unicode character strings references represented in the WStringArray_r
	// structure. This value MUST NOT exceed 100,000.
	ValuesCount uint32 `idl:"name:cValues" json:"values_count"`
	// lppszW:  The Unicode character string references. The strings referred to are NULL-terminated.
	Values []string `idl:"name:lppszW;size_is:(cValues);string" json:"values"`
}

StringArray structure represents WStringArray_r RPC structure.

The WStringArray_r structure encodes an array of references to Unicode strings.

func (*StringArray) MarshalNDR

func (o *StringArray) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*StringArray) UnmarshalNDR

func (o *StringArray) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type StringsArray

type StringsArray struct {
	// Count:  The number of character strings structures in this aggregation. The value
	// MUST NOT exceed 100,000.
	Count uint32 `idl:"name:Count" json:"count"`
	// Strings:  The list of wchar_t type strings in this aggregation. The strings in this
	// list are NULL-terminated.
	Strings string `idl:"name:Strings;size_is:(Count);string" json:"strings"`
}

StringsArray structure represents WStringsArray_r RPC structure.

The WStringsArray_r structure is used to aggregate a number of wchar_t type strings into a single data structure.

func (*StringsArray) MarshalNDR

func (o *StringsArray) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*StringsArray) UnmarshalNDR

func (o *StringsArray) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type SubRestriction

type SubRestriction struct {
	// ulSubObject:  Encodes the SubObject field of the SubObjectRestriction data structure.
	SubObject uint32 `idl:"name:ulSubObject" json:"sub_object"`
	// lpRes:  Encodes the Restriction field of the SubObjectRestriction data structure.
	Restriction *Restriction `idl:"name:lpRes" json:"restriction"`
}

SubRestriction structure represents SubRestriction_r RPC structure.

The SubRestriction_r structure is an encoding of the SubObjectRestriction data structure defined in [MS-OXCDATA]. The semantic meaning is unchanged from the SubObjectRestriction data structure.

func (*SubRestriction) MarshalNDR

func (o *SubRestriction) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*SubRestriction) UnmarshalNDR

func (o *SubRestriction) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type UnbindRequest

type UnbindRequest struct {
	// contextHandle: An RPC context handle as specified in section 2.3.9.
	ContextHandle *Handle `idl:"name:contextHandle" json:"context_handle"`
}

UnbindRequest structure represents the NspiUnbind operation request

func (*UnbindRequest) MarshalNDR

func (o *UnbindRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*UnbindRequest) UnmarshalNDR

func (o *UnbindRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type UnbindResponse

type UnbindResponse struct {
	// contextHandle: An RPC context handle as specified in section 2.3.9.
	ContextHandle *Handle `idl:"name:contextHandle" json:"context_handle"`
	// Return: The NspiUnbind return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

UnbindResponse structure represents the NspiUnbind operation response

func (*UnbindResponse) MarshalNDR

func (o *UnbindResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*UnbindResponse) UnmarshalNDR

func (o *UnbindResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type UpdateStatRequest

type UpdateStatRequest struct {
	// hRpc: An RPC context handle as specified in section 2.3.9.
	Handle *Handle `idl:"name:hRpc" json:"handle"`
	// pStat: A pointer to a STAT block describing a logical position in a specific address
	// book container. This parameter is used to specify both input parameters from the
	// client and return values from the NSPI server.
	Stat *Stat `idl:"name:pStat" json:"stat"`
	// plDelta: The value NULL or a pointer to a long value indicating movement within the
	// address book container specified by the input parameter pStat.
	Delta int32 `idl:"name:plDelta;pointer:unique" json:"delta"`
}

UpdateStatRequest structure represents the NspiUpdateStat operation request

func (*UpdateStatRequest) MarshalNDR

func (o *UpdateStatRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*UpdateStatRequest) UnmarshalNDR

func (o *UpdateStatRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type UpdateStatResponse

type UpdateStatResponse struct {
	// pStat: A pointer to a STAT block describing a logical position in a specific address
	// book container. This parameter is used to specify both input parameters from the
	// client and return values from the NSPI server.
	Stat *Stat `idl:"name:pStat" json:"stat"`
	// plDelta: The value NULL or a pointer to a long value indicating movement within the
	// address book container specified by the input parameter pStat.
	Delta int32 `idl:"name:plDelta;pointer:unique" json:"delta"`
	// Return: The NspiUpdateStat return value.
	Return int32 `idl:"name:Return" json:"return"`
}

UpdateStatResponse structure represents the NspiUpdateStat operation response

func (*UpdateStatResponse) MarshalNDR

func (o *UpdateStatResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*UpdateStatResponse) UnmarshalNDR

func (o *UpdateStatResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL