📄 rpc.pas
字号:
{$EXTERNALSYM RpcMgmtStatsVectorFree}
function RpcMgmtInqStats(Binding: RPC_BINDING_HANDLE; var Statistics: PRPC_STATS_VECTOR): RPC_STATUS; stdcall;
{$EXTERNALSYM RpcMgmtInqStats}
function RpcMgmtIsServerListening(Binding: RPC_BINDING_HANDLE): RPC_STATUS; stdcall;
{$EXTERNALSYM RpcMgmtIsServerListening}
function RpcMgmtStopServerListening(Binding: RPC_BINDING_HANDLE): RPC_STATUS; stdcall;
{$EXTERNALSYM RpcMgmtStopServerListening}
function RpcMgmtWaitServerListen: RPC_STATUS; stdcall;
{$EXTERNALSYM RpcMgmtWaitServerListen}
function RpcMgmtSetServerStackSize(ThreadStackSize: Cardinal): RPC_STATUS; stdcall;
{$EXTERNALSYM RpcMgmtSetServerStackSize}
procedure RpcSsDontSerializeContext; stdcall;
{$EXTERNALSYM RpcSsDontSerializeContext}
function RpcMgmtEnableIdleCleanup: RPC_STATUS; stdcall;
{$EXTERNALSYM RpcMgmtEnableIdleCleanup}
function RpcMgmtInqIfIds(Binding: RPC_BINDING_HANDLE;
var IfIdVector: PRPC_IF_ID_VECTOR): RPC_STATUS; stdcall;
{$EXTERNALSYM RpcMgmtInqIfIds}
function RpcIfIdVectorFree(var IfIdVector: PRPC_IF_ID_VECTOR): RPC_STATUS; stdcall;
{$EXTERNALSYM RpcIfIdVectorFree}
function RpcMgmtInqServerPrincNameA(Binding: RPC_BINDING_HANDLE;
AuthnSvc: Cardinal; var ServerPrincName: PChar): RPC_STATUS; stdcall;
{$EXTERNALSYM RpcMgmtInqServerPrincNameA}
function RpcMgmtInqServerPrincNameW(Binding: RPC_BINDING_HANDLE;
AuthnSvc: Cardinal; var ServerPrincName: PWideChar): RPC_STATUS; stdcall;
{$EXTERNALSYM RpcMgmtInqServerPrincNameW}
{$IFDEF UNICODE}
function RpcMgmtInqServerPrincName(Binding: RPC_BINDING_HANDLE;
AuthnSvc: Cardinal; var ServerPrincName: PWideChar): RPC_STATUS; stdcall;
{$EXTERNALSYM RpcMgmtInqServerPrincName}
{$ELSE}
function RpcMgmtInqServerPrincName(Binding: RPC_BINDING_HANDLE;
AuthnSvc: Cardinal; var ServerPrincName: PChar): RPC_STATUS; stdcall;
{$EXTERNALSYM RpcMgmtInqServerPrincName}
{$ENDIF}
function RpcServerInqDefaultPrincNameA(AuthnSvc: Cardinal; var PrincName: PChar): RPC_STATUS; stdcall;
{$EXTERNALSYM RpcServerInqDefaultPrincNameA}
function RpcServerInqDefaultPrincNameW(AuthnSvc: Cardinal; var PrincName: PWideChar): RPC_STATUS; stdcall;
{$EXTERNALSYM RpcServerInqDefaultPrincNameW}
{$IFDEF UNICODE}
function RpcServerInqDefaultPrincName(AuthnSvc: Cardinal; var PrincName: PWideChar): RPC_STATUS; stdcall;
{$EXTERNALSYM RpcServerInqDefaultPrincName}
{$ELSE}
function RpcServerInqDefaultPrincName(AuthnSvc: Cardinal; var PrincName: PChar): RPC_STATUS; stdcall;
{$EXTERNALSYM RpcServerInqDefaultPrincName}
{$ENDIF}
function RpcEpResolveBinding(Binding: RPC_BINDING_HANDLE; IfSpe: RPC_IF_HANDLE): RPC_STATUS; stdcall;
{$EXTERNALSYM RpcEpResolveBinding}
function RpcNsBindingInqEntryNameA(Binding: RPC_BINDING_HANDLE;
EntryNameSyntax: Cardinal; var EntryName: PChar): RPC_STATUS; stdcall;
{$EXTERNALSYM RpcNsBindingInqEntryNameA}
function RpcNsBindingInqEntryNameW(Binding: RPC_BINDING_HANDLE;
EntryNameSyntax: Cardinal; var EntryName: PWideChar): RPC_STATUS; stdcall;
{$EXTERNALSYM RpcNsBindingInqEntryNameW}
{$IFDEF UNICODE}
function RpcNsBindingInqEntryName(Binding: RPC_BINDING_HANDLE;
EntryNameSyntax: Cardinal; var EntryName: PWideChar): RPC_STATUS; stdcall;
{$EXTERNALSYM RpcNsBindingInqEntryName}
{$ELSE}
function RpcNsBindingInqEntryName(Binding: RPC_BINDING_HANDLE;
EntryNameSyntax: Cardinal; var EntryName: PChar): RPC_STATUS; stdcall;
{$EXTERNALSYM RpcNsBindingInqEntryName}
{$ENDIF}
type
RPC_AUTH_IDENTITY_HANDLE = Pointer;
{$EXTERNALSYM RPC_AUTH_IDENTITY_HANDLE}
RPC_AUTHZ_HANDLE = Pointer;
{$EXTERNALSYM RPC_AUTHZ_HANDLE}
PRPC_AUTHZ_HANDLE = ^RPC_AUTHZ_HANDLE;
{$NODEFINE PRPC_AUTHZ_HANDLE}
PRPC_AUTH_IDENTITY_HANDLE = ^RPC_AUTH_IDENTITY_HANDLE;
{$NODEFINE PRPC_AUTH_IDENTITY_HANDLE}
const
RPC_C_AUTHN_LEVEL_DEFAULT = 0;
{$EXTERNALSYM RPC_C_AUTHN_LEVEL_DEFAULT}
RPC_C_AUTHN_LEVEL_NONE = 1;
{$EXTERNALSYM RPC_C_AUTHN_LEVEL_NONE}
RPC_C_AUTHN_LEVEL_CONNECT = 2;
{$EXTERNALSYM RPC_C_AUTHN_LEVEL_CONNECT}
RPC_C_AUTHN_LEVEL_CALL = 3;
{$EXTERNALSYM RPC_C_AUTHN_LEVEL_CALL}
RPC_C_AUTHN_LEVEL_PKT = 4;
{$EXTERNALSYM RPC_C_AUTHN_LEVEL_PKT}
RPC_C_AUTHN_LEVEL_PKT_INTEGRITY = 5;
{$EXTERNALSYM RPC_C_AUTHN_LEVEL_PKT_INTEGRITY}
RPC_C_AUTHN_LEVEL_PKT_PRIVACY = 6;
{$EXTERNALSYM RPC_C_AUTHN_LEVEL_PKT_PRIVACY}
RPC_C_IMP_LEVEL_DEFAULT = 0;
{$EXTERNALSYM RPC_C_IMP_LEVEL_DEFAULT}
RPC_C_IMP_LEVEL_ANONYMOUS = 1;
{$EXTERNALSYM RPC_C_IMP_LEVEL_ANONYMOUS}
RPC_C_IMP_LEVEL_IDENTIFY = 2;
{$EXTERNALSYM RPC_C_IMP_LEVEL_IDENTIFY}
RPC_C_IMP_LEVEL_IMPERSONATE = 3;
{$EXTERNALSYM RPC_C_IMP_LEVEL_IMPERSONATE}
RPC_C_IMP_LEVEL_DELEGATE = 4;
{$EXTERNALSYM RPC_C_IMP_LEVEL_DELEGATE}
RPC_C_QOS_IDENTITY_STATIC = 0;
{$EXTERNALSYM RPC_C_QOS_IDENTITY_STATIC}
RPC_C_QOS_IDENTITY_DYNAMIC = 1;
{$EXTERNALSYM RPC_C_QOS_IDENTITY_DYNAMIC}
RPC_C_QOS_CAPABILITIES_DEFAULT = 0;
{$EXTERNALSYM RPC_C_QOS_CAPABILITIES_DEFAULT}
RPC_C_QOS_CAPABILITIES_MUTUAL_AUTH = 1;
{$EXTERNALSYM RPC_C_QOS_CAPABILITIES_MUTUAL_AUTH}
RPC_C_QOS_CAPABILITIES_MAKE_FULLSIC = 2;
{$EXTERNALSYM RPC_C_QOS_CAPABILITIES_MAKE_FULLSIC}
RPC_C_QOS_CAPABILITIES_ANY_AUTHORITY = 4;
{$EXTERNALSYM RPC_C_QOS_CAPABILITIES_ANY_AUTHORITY}
RPC_C_PROTECT_LEVEL_DEFAULT = (RPC_C_AUTHN_LEVEL_DEFAULT);
{$EXTERNALSYM RPC_C_PROTECT_LEVEL_DEFAULT}
RPC_C_PROTECT_LEVEL_NONE = (RPC_C_AUTHN_LEVEL_NONE);
{$EXTERNALSYM RPC_C_PROTECT_LEVEL_NONE}
RPC_C_PROTECT_LEVEL_CONNECT = (RPC_C_AUTHN_LEVEL_CONNECT);
{$EXTERNALSYM RPC_C_PROTECT_LEVEL_CONNECT}
RPC_C_PROTECT_LEVEL_CALL = (RPC_C_AUTHN_LEVEL_CALL);
{$EXTERNALSYM RPC_C_PROTECT_LEVEL_CALL}
RPC_C_PROTECT_LEVEL_PKT = (RPC_C_AUTHN_LEVEL_PKT);
{$EXTERNALSYM RPC_C_PROTECT_LEVEL_PKT}
RPC_C_PROTECT_LEVEL_PKT_INTEGRITY = (RPC_C_AUTHN_LEVEL_PKT_INTEGRITY);
{$EXTERNALSYM RPC_C_PROTECT_LEVEL_PKT_INTEGRITY}
RPC_C_PROTECT_LEVEL_PKT_PRIVACY = (RPC_C_AUTHN_LEVEL_PKT_PRIVACY);
{$EXTERNALSYM RPC_C_PROTECT_LEVEL_PKT_PRIVACY}
RPC_C_AUTHN_NONE = 0;
{$EXTERNALSYM RPC_C_AUTHN_NONE}
RPC_C_AUTHN_DCE_PRIVATE = 1;
{$EXTERNALSYM RPC_C_AUTHN_DCE_PRIVATE}
RPC_C_AUTHN_DCE_PUBLIC = 2;
{$EXTERNALSYM RPC_C_AUTHN_DCE_PUBLIC}
RPC_C_AUTHN_DEC_PUBLIC = 4;
{$EXTERNALSYM RPC_C_AUTHN_DEC_PUBLIC}
RPC_C_AUTHN_GSS_NEGOTIATE = 9;
{$EXTERNALSYM RPC_C_AUTHN_GSS_NEGOTIATE}
RPC_C_AUTHN_WINNT = 10;
{$EXTERNALSYM RPC_C_AUTHN_WINNT}
RPC_C_AUTHN_GSS_SCHANNEL = 14;
{$EXTERNALSYM RPC_C_AUTHN_GSS_SCHANNEL}
RPC_C_AUTHN_GSS_KERBEROS = 16;
{$EXTERNALSYM RPC_C_AUTHN_GSS_KERBEROS}
RPC_C_AUTHN_DPA = 17;
{$EXTERNALSYM RPC_C_AUTHN_DPA}
RPC_C_AUTHN_MSN = 18;
{$EXTERNALSYM RPC_C_AUTHN_MSN}
RPC_C_AUTHN_MQ = 100;
{$EXTERNALSYM RPC_C_AUTHN_MQ}
RPC_C_AUTHN_DEFAULT = DWORD($FFFFFFFF);
{$EXTERNALSYM RPC_C_AUTHN_DEFAULT}
RPC_C_NO_CREDENTIALS = RPC_AUTH_IDENTITY_HANDLE(not 0);
{$EXTERNALSYM RPC_C_NO_CREDENTIALS}
RPC_C_SECURITY_QOS_VERSION = 1;
{$EXTERNALSYM RPC_C_SECURITY_QOS_VERSION}
type
_RPC_SECURITY_QOS = record
Version: Longint;
Capabilities: Longint;
IdentityTracking: Longint;
ImpersonationType: Longint;
end;
{$EXTERNALSYM _RPC_SECURITY_QOS}
RPC_SECURITY_QOS = _RPC_SECURITY_QOS;
{$EXTERNALSYM RPC_SECURITY_QOS}
PRPC_SECURITY_QOS = ^RPC_SECURITY_QOS;
{$EXTERNALSYM PRPC_SECURITY_QOS}
TRpcSecurityQos = RPC_SECURITY_QOS;
PRpcSecurityQos = PRPC_SECURITY_QOS;
const
SEC_WINNT_AUTH_IDENTITY_ANSI = $1;
{$EXTERNALSYM SEC_WINNT_AUTH_IDENTITY_ANSI}
SEC_WINNT_AUTH_IDENTITY_UNICODE = $2;
{$EXTERNALSYM SEC_WINNT_AUTH_IDENTITY_UNICODE}
type
_SEC_WINNT_AUTH_IDENTITY_W = record
User: PWideChar;
UserLength: Longint;
Domain: PWideChar;
DomainLength: Longint;
Password: PWideChar;
PasswordLength: Longint;
Flags: Longint;
end;
{$EXTERNALSYM _SEC_WINNT_AUTH_IDENTITY_W}
SEC_WINNT_AUTH_IDENTITY_W = _SEC_WINNT_AUTH_IDENTITY_W;
{$EXTERNALSYM SEC_WINNT_AUTH_IDENTITY_W}
PSEC_WINNT_AUTH_IDENTITY_W = ^SEC_WINNT_AUTH_IDENTITY_W;
{$EXTERNALSYM PSEC_WINNT_AUTH_IDENTITY_W}
TSecWinNTAuthIdentityW = SEC_WINNT_AUTH_IDENTITY_W;
PSecWinNTAuthIdentityW = PSEC_WINNT_AUTH_IDENTITY_W;
_SEC_WINNT_AUTH_IDENTITY_A = record
User: PChar;
UserLength: Longint;
Domain: PChar;
DomainLength: Longint;
Password: PChar;
PasswordLength: Longint;
Flags: Longint;
end;
{$EXTERNALSYM _SEC_WINNT_AUTH_IDENTITY_A}
SEC_WINNT_AUTH_IDENTITY_A = _SEC_WINNT_AUTH_IDENTITY_A;
{$EXTERNALSYM SEC_WINNT_AUTH_IDENTITY_A}
PSEC_WINNT_AUTH_IDENTITY_A = ^SEC_WINNT_AUTH_IDENTITY_A;
{$EXTERNALSYM PSEC_WINNT_AUTH_IDENTITY_A}
TSecWinNTAuthIdentityA = SEC_WINNT_AUTH_IDENTITY_A;
PSecWinNTAuthIdentityA = PSEC_WINNT_AUTH_IDENTITY_A;
{$IFDEF UNICODE}
SEC_WINNT_AUTH_IDENTITY = SEC_WINNT_AUTH_IDENTITY_W;
{$EXTERNALSYM SEC_WINNT_AUTH_IDENTITY}
PSEC_WINNT_AUTH_IDENTITY = PSEC_WINNT_AUTH_IDENTITY_W;
{$EXTERNALSYM PSEC_WINNT_AUTH_IDENTITY}
_SEC_WINNT_AUTH_IDENTITY = _SEC_WINNT_AUTH_IDENTITY_W;
{$EXTERNALSYM _SEC_WINNT_AUTH_IDENTITY}
TSecWinNTAuthIdentity = TSecWinNTAuthIdentityW;
PSecWinNTAuthIdentity = PSecWinNTAuthIdentityW;
{$ELSE}
SEC_WINNT_AUTH_IDENTITY = SEC_WINNT_AUTH_IDENTITY_A;
{$EXTERNALSYM SEC_WINNT_AUTH_IDENTITY}
PSEC_WINNT_AUTH_IDENTITY = PSEC_WINNT_AUTH_IDENTITY_A;
{$EXTERNALSYM PSEC_WINNT_AUTH_IDENTITY}
_SEC_WINNT_AUTH_IDENTITY = _SEC_WINNT_AUTH_IDENTITY_A;
{$EXTERNALSYM _SEC_WINNT_AUTH_IDENTITY}
TSecWinNTAuthIdentity = TSecWinNTAuthIdentityA;
PSecWinNTAuthIdentity = PSecWinNTAuthIdentityA;
{$ENDIF}
const
RPC_C_AUTHZ_NONE = 0;
{$EXTERNALSYM RPC_C_AUTHZ_NONE}
RPC_C_AUTHZ_NAME = 1;
{$EXTERNALSYM RPC_C_AUTHZ_NAME}
RPC_C_AUTHZ_DCE = 2;
{$EXTERNALSYM RPC_C_AUTHZ_DCE}
RPC_C_AUTHZ_DEFAULT = DWORD($ffffffff);
{$EXTERNALSYM RPC_C_AUTHZ_DEFAULT}
function RpcImpersonateClient(BindingHandle: RPC_BINDING_HANDLE): RPC_STATUS; stdcall;
{$EXTERNALSYM RpcImpersonateClient}
function RpcRevertToSelfEx(BindingHandle: RPC_BINDING_HANDLE): RPC_STATUS; stdcall;
{$EXTERNALSYM RpcRevertToSelfEx}
function RpcRevertToSelf: RPC_STATUS; stdcall;
{$EXTERNALSYM RpcRevertToSelf}
function RpcBindingInqAuthClientA(ClientBinding: RPC_BINDING_HANDLE;
Privs: PRPC_AUTHZ_HANDLE; ServerPrincName: PPChar; AuthnLevel, AuthnSvc,
AuthzSvc: PCardinal): RPC_STATUS; stdcall;
{$EXTERNALSYM RpcBindingInqAuthClientA}
function RpcBindingInqAuthClientW(ClientBinding: RPC_BINDING_HANDLE;
Privs: PRPC_AUTHZ_HANDLE; ServerPrincName: PPWideChar; AuthnLevel, AuthnSvc,
AuthzSvc: PCardinal): RPC_STATUS; stdcall;
{$EXTERNALSYM RpcBindingInqAuthClientW}
function RpcBindingInqAuthClientExA(ClientBinding: RPC_BINDING_HANDLE;
Privs: PRPC_AUTHZ_HANDLE; ServerPrincName: PPChar; AuthnLevel, AuthnSvc,
AuthzSvc: PCardinal; Flags: Cardinal): RPC_STATUS; stdcall;
{$EXTERNALSYM RpcBindingInqAuthClientExA}
function RpcBindingInqAuthClientExW(ClientBinding: RPC_BINDING_HANDLE;
Privs: PRPC_AUTHZ_HANDLE; ServerPrincName: PPWideChar; AuthnLevel, AuthnSvc,
AuthzSvc: PCardinal; Flags: Cardinal): RPC_STATUS; stdcall;
{$EXTERNALSYM RpcBindingInqAuthClientExW}
function RpcBindingInqAuthInfoA(Binding: RPC_BINDING_HANDLE; ServerPrincName: PPChar;
AuthnLevel, AuthnSvc: PCardinal; AuthIdentity: PRPC_AUTH_IDENTITY_HANDLE;
AuthzSvc: PCardinal): RPC_STATUS; stdcall;
{$EXTERNALSYM RpcBindingInqAuthInfoA}
function RpcBindingInqAuthInfoW(Binding: RPC_BINDING_HANDLE; ServerPrincName: PPWideChar;
AuthnLevel, AuthnSvc: PCardinal; AuthIdentity: PRPC_AUTH_IDENTITY_HANDLE;
AuthzSvc: PCardinal): RPC_STATUS; stdcall;
{$EXTERNALSYM RpcBindingInqAuthInfoW}
function RpcBindingSetAuthInfoA(Binding: RPC_BINDING_HANDLE; ServerPrincName: PChar;
AuthnLevel, AuthnSvc: Cardinal; AuthIdentity: RPC_AUTH_IDENTITY_HANDLE;
AuthzSvc: Cardinal): RPC_STATUS; stdcall;
{$EXTERNALSYM RpcBindingSetAuthInfoA}
function RpcBindingSetAuthInfoW(Binding: RPC_BINDING_HANDLE; ServerPrincName: PWideChar;
AuthnLevel, AuthnSvc: Cardinal; AuthIdentity: RPC_AUTH_IDENTITY_HANDLE;
AuthzSvc: Cardinal): RPC_STATUS; stdcall;
{$EXTERNALSYM RpcBindingSetAuthInfoW}
function RpcBindingSetAuthInfoExA(Binding: RPC_BINDING_HANDLE;
ServerPrincName: PChar; AuthnLevel, AuthnSvc: Cardinal;
AuthIdentity: RPC_AUTH_IDENTITY_HANDLE; AuthzSvc: Cardinal;
const SecurityQOS: RPC_SECURITY_QOS): RPC_STATUS; stdcall;
{$EXTERNALSYM RpcBindingSetAuthInfoExA}
function RpcBindingSetAuthInfoExW(Binding: RPC_BINDING_HANDLE;
ServerPrincName: PWideChar; AuthnLevel, AuthnSvc: Cardinal;
AuthIdentity: RPC_AUTH_IDENTITY_HANDLE; AuthzSvc: Cardinal;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -