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.