Generated from Manticore v1.1.6 • 388 packages. View on pkg.go.dev

rpcinterface_0b6edbfa4a244fc68a23942b1eca65d1_1_0

import "github.com/TheManticoreProject/Manticore/network/dcerpc/interfaces/0b6edbfa-4a24-4fc6-8a23-942b1eca65d1/1.0"

Package rpcinterface_0b6edbfa4a244fc68a23942b1eca65d1_1_0 is the descriptor for the IRPCAsyncNotify RPC interface, abstract syntax 0b6edbfa-4a24-4fc6-8a23-942b1eca65d1 version 1.0 ([MS-PAN]).

IRPCAsyncNotify lets a print client register for print status notifications, open unidirectional/bidirectional notification channels, and exchange notification data with the server ([MS-PAN] 3.1). Its methods take the remote-object context handle produced by the IRPCRemoteObject interface (ae33069b-…).

Index

Constants

Opnums for the on-the-wire methods. Opnum 2 (Opnum2NotUsedOnWire) is “not used on the wire” and is omitted.

const (
    OpnumIRPCAsyncNotify_RegisterClient              uint16 = 0
    OpnumIRPCAsyncNotify_UnregisterClient            uint16 = 1
    OpnumIRPCAsyncNotify_GetNewChannel               uint16 = 3
    OpnumIRPCAsyncNotify_GetNotificationSendResponse uint16 = 4
    OpnumIRPCAsyncNotify_GetNotification             uint16 = 5
    OpnumIRPCAsyncNotify_CloseChannel                uint16 = 6
)

Status codes. IRPCAsyncNotify methods return an HRESULT: ZERO (S_OK, 0x00000000) on success, or a common [MS-ERREF] HRESULT / one of the protocol-specific values below on failure ([MS-PAN] 3.1.4). The client SHOULD treat all error return values the same, except where noted in the per-method processing rules.

const (
    StatusSuccess uint32 = 0x00000000 // S_OK

    // Protocol-specific error values ([MS-PAN] 3.1.4.1 IRPCAsyncNotify_RegisterClient).
    ErrorAccessDenied     uint32 = 0x80070005 // E_ACCESSDENIED: caller not authorized to register
    ErrorNotEnoughMemory  uint32 = 0x8007000E // E_OUTOFMEMORY: no memory for the new registration
    ErrorRegistrationFull uint32 = 0x80070015 // HRESULT_FROM_WIN32(ERROR_NOT_READY): registration limit reached
    ErrorInvalidName      uint32 = 0x8007007B // HRESULT_FROM_WIN32(ERROR_INVALID_NAME): pName format invalid
)

Access rights checked by the server when authorizing a registration ([MS-PAN] 3.1.4.1). These combine the standard [MS-DTYP] ACCESS_MASK bits with printing-specific bits.

const (
    SERVER_ALL_ACCESS  uint32 = 0x000F0003 // administer/enumerate print servers
    PRINTER_ALL_ACCESS uint32 = 0x000F000C // basic/administrative use of print queues
)

PipeName is empty: IRPCAsyncNotify has no named-pipe endpoint. Per [MS-PAN] section 2.1 the interface is bound over RPC-on-TCP (ncacn_ip_tcp) at an RPC dynamic endpoint assigned by the endpoint mapper ([C706] Part 4), located by the interface UUID rather than a well-known port or pipe.

const PipeName = ``

Variables

NameToOpnum is the reverse of OpnumToName, built at init so the two never drift.

var NameToOpnum = func() map[string]uint16 {
    m := make(map[string]uint16, len(OpnumToName))
    for op, name := range OpnumToName {
        m[name] = op
    }
    return m
}()

OpnumToName maps each on-the-wire opnum to its method name; the single source of truth.

var OpnumToName = map[uint16]string{
    OpnumIRPCAsyncNotify_RegisterClient:              "IRPCAsyncNotify_RegisterClient",
    OpnumIRPCAsyncNotify_UnregisterClient:            "IRPCAsyncNotify_UnregisterClient",
    OpnumIRPCAsyncNotify_GetNewChannel:               "IRPCAsyncNotify_GetNewChannel",
    OpnumIRPCAsyncNotify_GetNotificationSendResponse: "IRPCAsyncNotify_GetNotificationSendResponse",
    OpnumIRPCAsyncNotify_GetNotification:             "IRPCAsyncNotify_GetNotification",
    OpnumIRPCAsyncNotify_CloseChannel:                "IRPCAsyncNotify_CloseChannel",
}

func StatusString

func StatusString(status uint32) string

StatusString returns a mnemonic for the documented status codes, otherwise the hex value.

func SyntaxID

func SyntaxID() syntax.SyntaxID

SyntaxID returns the IRPCAsyncNotify abstract syntax identifier: 0b6edbfa-4a24-4fc6-8a23-942b1eca65d1, version 1.0.

Subpackages