データ構造 | |
| struct | _CACSIDINFO |
| Stores information about a SID [詳細] | |
| struct | _REGBINARYDATA |
| Binary data of some kind [詳細] | |
| struct | _REGMULTISZDATA |
| array of strings [詳細] | |
| union | _REGVALUEDATA |
| struct | _CACLOOKUPRIDSRECORD |
| struct | _CACUSERINFO |
| struct | _CACGROUPINFO |
| struct | _CACTIME |
| Represents a period (duration) of time [詳細] | |
| struct | _CACDOMINFO |
| struct | _CACSERVICE |
| struct | __CACSERVICECONFIG |
| struct | _CACSERVERHANDLE |
| Server handle used to keep track of client/server/pipe information. [詳細] | |
| struct | LsaOpenPolicy |
| struct | LsaGetNamesFromSids |
| struct | LsaGetSidsFromNames |
| struct | LsaFetchSid |
| struct | LsaQueryInfoPolicy |
| struct | LsaEnumSids |
| struct | LsaEnumAccountRights |
| struct | LsaEnumTrustedDomains |
| struct | LsaOpenTrustedDomain |
| struct | LsaQueryTrustedDomainInfo |
| struct | LsaEnumPrivileges |
| struct | LsaOpenAccount |
| struct | LsaAddPrivileges |
| struct | LsaRemovePrivileges |
| struct | LsaClearPrivileges |
| struct | LsaGetSecurityObject |
| struct | RegConnect |
| struct | RegOpenKey |
| struct | RegEnumKeys |
| struct | RegCreateKey |
| struct | RegDeleteKey |
| struct | RegDeleteValue |
| struct | RegQueryKeyInfo |
| struct | RegSaveKey |
| struct | RegQueryValue |
| struct | RegEnumValues |
| struct | RegSetValue |
| struct | RegGetVersion |
| struct | RegGetKeySecurity |
| struct | RegSetKeySecurity |
| struct | Shutdown |
| struct | SamConnect |
| struct | SamOpenDomain |
| struct | SamCreateUser |
| struct | SamOpenUser |
| struct | SamEnumUsers |
| struct | SamGetNamesFromRids |
| struct | SamGetRidsFromNames |
| struct | SamGetGroupsForUser |
| struct | SamOpenGroup |
| struct | SamCreateGroup |
| struct | SamGetGroupMembers |
| struct | SamAddGroupMember |
| struct | SamRemoveGroupMember |
| struct | SamSetGroupMembers |
| struct | SamEnumGroups |
| struct | SamEnumAliases |
| struct | SamCreateAlias |
| struct | SamOpenAlias |
| struct | SamAddAliasMember |
| struct | SamRemoveAliasMember |
| struct | SamGetAliasMembers |
| struct | SamSetAliasMembers |
| struct | SamUserChangePasswd |
| struct | SamSetPassword |
| struct | SamGetUserInfo |
| struct | SamSetUserInfo |
| struct | SamGetUserInfoCtr |
| struct | SamSetUserInfoCtr |
| struct | SamRenameUser |
| struct | SamGetGroupInfo |
| struct | SamSetGroupInfo |
| struct | SamRenameGroup |
| struct | SamGetAliasInfo |
| struct | SamSetAliasInfo |
| struct | SamGetDomainInfo |
| struct | SamGetDomainInfoCtr |
| struct | SamGetDisplayInfo |
| struct | SamLookupDomain |
| struct | SamGetSecurityObject |
| struct | SamFlush |
| struct | SvcOpenScm |
| struct | SvcEnumServices |
| struct | SvcOpenService |
| struct | SvcGetStatus |
| struct | SvcStartService |
| struct | SvcControlService |
| struct | SvcStopService |
| struct | SvcPauseService |
| struct | SvcContinueService |
| struct | SvcGetDisplayName |
| struct | SvcGetServiceConfig |
型定義 | |
| typedef _CACSIDINFO | CacSidInfo |
| Stores information about a SID | |
| typedef char * | REG_SZ_DATA |
| Null terminated string | |
| typedef char * | REG_EXPAND_SZ_DATA |
| Null terminated string with windows environment variables that should be expanded | |
| typedef _REGBINARYDATA | REG_BINARY_DATA |
| Binary data of some kind | |
| typedef uint32 | REG_DWORD_DATA |
| 32-bit (little endian) number | |
| typedef uint32 | REG_DWORD_BE_DATA |
| 32-bit big endian number | |
| typedef _REGMULTISZDATA | REG_MULTI_SZ_DATA |
| array of strings | |
| typedef _REGVALUEDATA | REG_VALUE_DATA |
| typedef _CACLOOKUPRIDSRECORD | CacLookupRidsRecord |
| typedef _CACUSERINFO | CacUserInfo |
| typedef _CACGROUPINFO | CacGroupInfo |
| typedef _CACGROUPINFO | CacAliasInfo |
| typedef _CACTIME | CacTime |
| Represents a period (duration) of time | |
| typedef _CACDOMINFO | CacDomainInfo |
| typedef _CACSERVICE | CacService |
| typedef __CACSERVICECONFIG | CacServiceConfig |
| typedef _CACSERVERHANDLE | CacServerHandle |
| Server handle used to keep track of client/server/pipe information. | |
関数 | |
| SMBCSRV * | cac_GetServer (CacServerHandle *hnd) |
| internal function. | |
| void | cac_Init (int debug) |
| Initializes the library - do not need to call this function. | |
| CacServerHandle * | cac_NewServerHandle (BOOL allocate_fields) |
| Creates an un-initialized CacServerHandle | |
| void | cac_SetAuthDataFn (CacServerHandle *hnd, smbc_get_auth_data_fn auth_fn) |
| Specifies the smbc_get_auth_data_fn to use if you do not want to use the default. | |
| void | cac_SetSmbcContext (CacServerHandle *hnd, SMBCCTX *ctx) |
| Use your own libsmbclient context - not necessary. | |
| int | cac_Connect (CacServerHandle *hnd, const char *srv) |
| Connects to a specified server. | |
| void | cac_FreeHandle (CacServerHandle *hnd) |
| Cleans up any data used by the CacServerHandle. | |
| void | cac_InitCacTime (CacTime *cactime, NTTIME nttime) |
| Initializes a CacTime structure based on an NTTIME structure If the function fails, then the CacTime structure will be zero'd out | |
| int | cac_InitHandleMem (CacServerHandle *hnd) |
| Called by cac_NewServerHandle() if allocate_fields = True. | |
| void | cac_GetAuthDataFn (const char *pServer, const char *pShare, char *pWorkgroup, int maxLenWorkgroup, char *pUsername, int maxLenUsername, char *pPassword, int maxLenPassword) |
| Default smbc_get_auth_data_fn for libmsrpc. | |
| int | cac_LsaOpenPolicy (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct LsaOpenPolicy *op) |
| Opens a policy handle on a remote machine. | |
| int | cac_LsaClosePolicy (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, POLICY_HND *pol) |
| Closes an LSA policy handle (Retrieved using cac_LsaOpenPolicy). | |
| int | cac_LsaGetNamesFromSids (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct LsaGetNamesFromSids *op) |
| Looks up the names for a list of SIDS | |
| int | cac_LsaGetSidsFromNames (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct LsaGetSidsFromNames *op) |
| Looks up the SIDs for a list of names | |
| int | cac_LsaFetchSid (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct LsaFetchSid *op) |
| Looks up the domain or local sid of a machine with an open LSA policy handle | |
| int | cac_LsaQueryInfoPolicy (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct LsaQueryInfoPolicy *op) |
| Retrieves information about the LSA machine/domain | |
| int | cac_LsaEnumSids (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct LsaEnumSids *op) |
| Enumerates the SIDs in the LSA. | |
| int | cac_LsaEnumAccountRights (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct LsaEnumAccountRights *op) |
| Enumerates rights assigned to a given account. | |
| int | cac_LsaEnumTrustedDomains (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct LsaEnumTrustedDomains *op) |
| Enumerates the trusted domains in the LSA. | |
| int | cac_LsaOpenTrustedDomain (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct LsaOpenTrustedDomain *op) |
| Opens a trusted domain by SID. | |
| int | cac_LsaQueryTrustedDomainInfo (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct LsaQueryTrustedDomainInfo *op) |
| Retrieves information a trusted domain. | |
| int | cac_LsaEnumPrivileges (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct LsaEnumPrivileges *op) |
| Enumerates the Privileges supported by the LSA. | |
| int | cac_LsaOpenAccount (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct LsaOpenAccount *op) |
| Opens a handle to an account in the LSA | |
| int | cac_LsaAddPrivileges (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct LsaAddPrivileges *op) |
| Adds Privileges an account. | |
| int | cac_LsaRemovePrivileges (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct LsaRemovePrivileges *op) |
| Removes a _specific_ set of privileges from an account | |
| int | cac_LsaClearPrivileges (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct LsaClearPrivileges *op) |
| Removes ALL privileges from an account | |
| int | cac_LsaSetPrivileges (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct LsaAddPrivileges *op) |
| Sets an accounts priviliges. | |
| int | cac_LsaGetSecurityObject (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct LsaGetSecurityObject *op) |
| Retrieves Security Descriptor information about the LSA | |
| int | cac_RegConnect (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct RegConnect *op) |
| Opens a handle to the registry on the server | |
| int | cac_RegClose (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, POLICY_HND *key) |
| Closes an open registry handle | |
| int | cac_RegOpenKey (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct RegOpenKey *op) |
| Opens a registry key | |
| int | cac_RegEnumKeys (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct RegEnumKeys *op) |
| Enumerates Subkeys of a given key. | |
| int | cac_RegCreateKey (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct RegCreateKey *op) |
| Creates a registry key, if the key already exists, it will be opened __Creating keys is not currently working__. | |
| int | cac_RegDeleteKey (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct RegDeleteKey *op) |
| Deletes a subkey of an open key. | |
| int | cac_RegDeleteValue (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct RegDeleteValue *op) |
| Deletes a registry value. | |
| int | cac_RegQueryKeyInfo (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct RegQueryKeyInfo *op) |
| Retrieves information about an open key | |
| int | cac_RegSaveKey (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct RegSaveKey *op) |
| Saves a key to a file on the remote machine __Not currently working__. | |
| int | cac_RegQueryValue (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct RegQueryValue *op) |
| Retrieves a value (type and data) _not currently working_. | |
| int | cac_RegEnumValues (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct RegEnumValues *op) |
| Enumerates a number of Registry values in an open registry key. | |
| int | cac_RegSetValue (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct RegSetValue *op) |
| Sets or creates value (type and data). | |
| int | cac_RegGetVersion (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct RegGetVersion *op) |
| Retrieves the registry version number | |
| int | cac_RegGetKeySecurity (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct RegGetKeySecurity *op) |
| Retrieves a key security descriptor. | |
| int | cac_RegSetKeySecurity (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct RegSetKeySecurity *op) |
| Sets the key security descriptor. | |
| int | cac_Shutdown (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct Shutdown *op) |
| Shutdown the server _not currently working_. | |
| int | cac_AbortShutdown (CacServerHandle *hnd, TALLOC_CTX *mem_ctx) |
| Attempt to abort initiated shutdown on the server _not currently working_. | |
| int | cac_SamConnect (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct SamConnect *op) |
| Connects to the SAM. | |
| int | cac_SamClose (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, POLICY_HND *sam) |
| Closes any (SAM, domain, user, group, etc. | |
| int | cac_SamOpenDomain (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct SamOpenDomain *op) |
| Opens a handle to a domain. | |
| int | cac_SamCreateUser (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct SamCreateUser *op) |
| Creates a new domain user, if the account already exists it will _not_ be opened and hnd->status will be NT_STATUS_USER_EXISTS | |
| int | cac_SamOpenUser (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct SamOpenUser *op) |
| Opens a domain user. | |
| int | cac_SamDeleteUser (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, POLICY_HND *user_hnd) |
| Deletes a domain user. | |
| int | cac_SamEnumUsers (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct SamEnumUsers *op) |
| Enumerates domain users. | |
| int | cac_SamGetNamesFromRids (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct SamGetNamesFromRids *op) |
| Returns a list of names which map to a list of RIDs. | |
| int | cac_SamGetRidsFromNames (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct SamGetRidsFromNames *op) |
| Returns a list of RIDs which map to a list of names. | |
| int | cac_SamGetGroupsForUser (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct SamGetGroupsForUser *op) |
| Retrieves a list of groups that a user is a member of. | |
| int | cac_SamOpenGroup (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct SamOpenGroup *op) |
| Opens a domain group. | |
| int | cac_SamCreateGroup (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct SamCreateGroup *op) |
| Creates a group. | |
| int | cac_SamDeleteGroup (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, POLICY_HND *group_hnd) |
| Deletes a domain group. | |
| int | cac_SamGetGroupMembers (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct SamGetGroupMembers *op) |
| Retrives a list of users in a group. | |
| int | cac_SamAddGroupMember (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct SamAddGroupMember *op) |
| Adds a user to a group. | |
| int | cac_SamRemoveGroupMember (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct SamRemoveGroupMember *op) |
| Removes a user from a group. | |
| int | cac_SamClearGroupMembers (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, POLICY_HND *group_hnd) |
| Removes all the members of a group - warning: if this function fails is is possible that some but not all members were removed | |
| int | cac_SamSetGroupMembers (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct SamSetGroupMembers *op) |
| Clears the members of a group and adds a list of members to the group | |
| int | cac_SamEnumGroups (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct SamEnumGroups *op) |
| Enumerates domain groups. | |
| int | cac_SamEnumAliases (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct SamEnumAliases *op) |
| Enumerates domain aliases. | |
| int | cac_SamCreateAlias (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct SamCreateAlias *op) |
| Creates an alias. | |
| int | cac_SamOpenAlias (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct SamOpenAlias *op) |
| Opens a handle to an alias. | |
| int | cac_SamDeleteAlias (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, POLICY_HND *alias_hnd) |
| Deletes an alias. | |
| int | cac_SamAddAliasMember (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct SamAddAliasMember *op) |
| Adds an account to an alias. | |
| int | cac_SamRemoveAliasMember (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct SamRemoveAliasMember *op) |
| Removes an account from an alias. | |
| int | cac_SamGetAliasMembers (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct SamGetAliasMembers *op) |
| Retrieves a list of all accounts in an alias. | |
| int | cac_SamClearAliasMembers (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, POLICY_HND *alias_hnd) |
| Removes all the members of an alias - warning: if this function fails is is possible that some but not all members were removed | |
| int | cac_SamSetAliasMembers (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct SamSetAliasMembers *op) |
| Clears the members of an alias and adds a list of members to the alias | |
| int | cac_SamUserChangePasswd (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct SamUserChangePasswd *op) |
| Used by a user to change their password | |
| int | cac_SamEnableUser (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, POLICY_HND *user_hnd) |
| Enables a user | |
| int | cac_SamDisableUser (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, POLICY_HND *user_hnd) |
| Disables a user | |
| int | cac_SamSetPassword (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct SamSetPassword *op) |
| Sets a user's password | |
| int | cac_SamGetUserInfo (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct SamGetUserInfo *op) |
| Retrieves user information using a CacUserInfo structure. | |
| int | cac_SamSetUserInfo (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct SamSetUserInfo *op) |
| Sets the user info using a CacUserInfo structure. | |
| int | cac_SamGetUserInfoCtr (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct SamGetUserInfoCtr *op) |
| Retrieves user information using a SAM_USERINFO_CTR structure. | |
| int | cac_SamSetUserInfoCtr (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct SamSetUserInfoCtr *op) |
| Sets the user info using a SAM_USERINFO_CTR structure. | |
| int | cac_SamRenameUser (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct SamRenameUser *op) |
| Changes the name of a user. | |
| int | cac_SamGetGroupInfo (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct SamGetGroupInfo *op) |
| Retrieves information about a group. | |
| int | cac_SamSetGroupInfo (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct SamSetGroupInfo *op) |
| Sets information about a group. | |
| int | cac_SamRenameGroup (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct SamRenameGroup *op) |
| Changes the name of a group | |
| int | cac_SamGetAliasInfo (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct SamGetAliasInfo *op) |
| Retrieves information about an alias. | |
| int | cac_SamSetAliasInfo (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct SamSetAliasInfo *op) |
| Sets information about an alias. | |
| int | cac_SamGetDomainInfo (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct SamGetDomainInfo *op) |
| Gets domain information in the form of a CacDomainInfo structure. | |
| int | cac_SamGetDomainInfoCtr (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct SamGetDomainInfoCtr *op) |
| Gets domain information in the form of a SAM_UNK_CTR structure. | |
| int | cac_SamGetDisplayInfo (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct SamGetDisplayInfo *op) |
| Gets dislpay information using a SAM_DISPINFO_CTR. | |
| int | cac_SamLookupDomain (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct SamLookupDomain *op) |
| Looks up a Domain SID given it's name. | |
| int | cac_SamGetSecurityObject (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct SamGetSecurityObject *op) |
| Retrievies Security descriptor information for a SAM/Domain/user | |
| int | cac_SamFlush (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct SamFlush *op) |
| Closes the domain handle, then re-opens it - effectively flushing any changes made. | |
| int | cac_SvcOpenScm (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct SvcOpenScm *op) |
| Opens a handle to the SCM on the remote machine. | |
| int | cac_SvcClose (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, POLICY_HND *scm_hnd) |
| Closes an Svc handle (SCM or Service) | |
| int | cac_SvcEnumServices (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct SvcEnumServices *op) |
| Enumerates services on the remote machine. | |
| int | cac_SvcOpenService (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct SvcOpenService *op) |
| Opens a handle to a service. | |
| int | cac_SvcGetStatus (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct SvcGetStatus *op) |
| Retrieves the status of a service. | |
| int | cac_SvcStartService (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct SvcStartService *op) |
| Attempts to start a service. | |
| int | cac_SvcControlService (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct SvcControlService *op) |
| Performs a control operation on a service and _immediately_ returns. | |
| int | cac_SvcStopService (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct SvcStopService *op) |
| Attempts to stop a service. | |
| int | cac_SvcPauseService (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct SvcPauseService *op) |
| Attempts to pause a service. | |
| int | cac_SvcContinueService (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct SvcContinueService *op) |
| Attempts to continue a paused service. | |
| int | cac_SvcGetDisplayName (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct SvcGetDisplayName *op) |
| Retrieves the display name of a service _not currently working_ | |
| int | cac_SvcGetServiceConfig (CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct SvcGetServiceConfig *op) |
| Retrieves configuration information about a service. | |
| rpc_pipe_client * | cac_GetPipe (CacServerHandle *hnd, int pi_idx) |
| SMBCSRV* cac_GetServer | ( | CacServerHandle * | hnd | ) |
internal function.
do not call this function
libmsrpc.c の 162 行で定義されています。
参照先 _CACSERVERHANDLE::_internal・CacServerHandleInternal::ctx・_CACSERVERHANDLE::domain・_CACSERVERHANDLE::password・_CACSERVERHANDLE::server・smbc_attr_server()・_CACSERVERHANDLE::status・_CACSERVERHANDLE::username.
参照元 cac_Connect()・cac_GetPipe()・cac_LsaOpenPolicy()・cac_RegConnect()・cac_SamConnect()・cac_SamDisableUser()・cac_SamEnableUser()・cac_SamRenameUser()・cac_SamSetPassword()・cac_SamSetUserInfo()・cac_SamSetUserInfoCtr()・cac_SamUserChangePasswd()・cac_Shutdown()・cac_SvcOpenScm().
00163 { 00164 SMBCSRV *srv; 00165 00166 if ( !hnd || !hnd->_internal.ctx ) { 00167 return NULL; 00168 } 00169 00170 srv = smbc_attr_server( hnd->_internal.ctx, hnd->server, "IPC$", 00171 hnd->domain, hnd->username, hnd->password, 00172 NULL ); 00173 if ( !srv ) { 00174 hnd->status = NT_STATUS_UNSUCCESSFUL; 00175 DEBUG( 1, 00176 ( "cac_GetServer: Could not find server connection.\n" ) ); 00177 } 00178 00179 return srv; 00180 }
| int cac_Shutdown | ( | CacServerHandle * | hnd, | |
| TALLOC_CTX * | mem_ctx, | |||
| struct Shutdown * | op | |||
| ) |
Shutdown the server _not currently working_.
| hnd | Initialized and connected server handle | |
| mem_ctx | Context for memory allocation | |
| op | Initialized parameters |
CAC_SUCCESS The operation completed successfully
cac_winreg.c の 1035 行で定義されています。
参照先 _CACSERVERHANDLE::_internal・cac_GetPipe()・cac_GetServer()・_SMBCSRV::cli・cli_rpc_pipe_open_noauth()・CacServerHandleInternal::ctx・Shutdown::force・Shutdown::in・Shutdown::message・CacServerHandleInternal::pipes・Shutdown::reason・Shutdown::reboot・rpccli_shutdown_init()・rpccli_shutdown_init_ex()・CacServerHandleInternal::srv_level・_CACSERVERHANDLE::status・talloc_strdup()・Shutdown::timeout.
01037 { 01038 SMBCSRV *srv = NULL; 01039 struct rpc_pipe_client *pipe_hnd = NULL; 01040 01041 char *msg; 01042 01043 if ( !hnd ) 01044 return CAC_FAILURE; 01045 01046 if ( !hnd->_internal.ctx ) { 01047 hnd->status = NT_STATUS_INVALID_HANDLE; 01048 return CAC_FAILURE; 01049 } 01050 01051 if ( !op || !mem_ctx ) { 01052 hnd->status = NT_STATUS_INVALID_PARAMETER; 01053 return CAC_FAILURE; 01054 } 01055 01056 srv = cac_GetServer( hnd ); 01057 if ( !srv ) { 01058 hnd->status = NT_STATUS_INVALID_HANDLE; 01059 return CAC_FAILURE; 01060 } 01061 01062 /*initialize for winreg pipe if we have to */ 01063 if ( !hnd->_internal.pipes[PI_SHUTDOWN] ) { 01064 if ( ! 01065 ( pipe_hnd = 01066 cli_rpc_pipe_open_noauth( srv->cli, PI_SHUTDOWN, 01067 &( hnd->status ) ) ) ) { 01068 return CAC_FAILURE; 01069 } 01070 01071 hnd->_internal.pipes[PI_SHUTDOWN] = True; 01072 } 01073 01074 pipe_hnd = cac_GetPipe( hnd, PI_SHUTDOWN ); 01075 if ( !pipe_hnd ) { 01076 hnd->status = NT_STATUS_INVALID_HANDLE; 01077 return CAC_FAILURE; 01078 } 01079 01080 msg = ( op->in.message != 01081 NULL ) ? op->in.message : talloc_strdup( mem_ctx, "" ); 01082 01083 hnd->status = NT_STATUS_OK; 01084 01085 if ( hnd->_internal.srv_level > SRV_WIN_NT4 ) { 01086 hnd->status = 01087 rpccli_shutdown_init_ex( pipe_hnd, mem_ctx, msg, 01088 op->in.timeout, 01089 op->in.reboot, op->in.force, 01090 op->in.reason ); 01091 } 01092 01093 if ( hnd->_internal.srv_level < SRV_WIN_2K 01094 || !NT_STATUS_IS_OK( hnd->status ) ) { 01095 hnd->status = 01096 rpccli_shutdown_init( pipe_hnd, mem_ctx, msg, 01097 op->in.timeout, op->in.reboot, 01098 op->in.force ); 01099 01100 hnd->_internal.srv_level = SRV_WIN_NT4; 01101 } 01102 01103 if ( !NT_STATUS_IS_OK( hnd->status ) ) { 01104 return CAC_FAILURE; 01105 } 01106 01107 return CAC_SUCCESS; 01108 }
| int cac_AbortShutdown | ( | CacServerHandle * | hnd, | |
| TALLOC_CTX * | mem_ctx | |||
| ) |
Attempt to abort initiated shutdown on the server _not currently working_.
| hnd | Initialized and connected server handle | |
| mem_ctx | Context for memory allocation |
CAC_SUCCESS The operation completed successfully
cac_winreg.c の 1110 行で定義されています。
参照先 _CACSERVERHANDLE::_internal・cac_GetPipe()・CacServerHandleInternal::ctx・CacServerHandleInternal::pipes・rpccli_shutdown_abort()・_CACSERVERHANDLE::status.
01111 { 01112 struct rpc_pipe_client *pipe_hnd = NULL; 01113 01114 if ( !hnd ) 01115 return CAC_FAILURE; 01116 01117 if ( !hnd->_internal.ctx || !hnd->_internal.pipes[PI_SHUTDOWN] ) { 01118 hnd->status = NT_STATUS_INVALID_HANDLE; 01119 return CAC_FAILURE; 01120 } 01121 01122 pipe_hnd = cac_GetPipe( hnd, PI_SHUTDOWN ); 01123 if ( !pipe_hnd ) { 01124 hnd->status = NT_STATUS_INVALID_HANDLE; 01125 return CAC_FAILURE; 01126 } 01127 01128 hnd->status = rpccli_shutdown_abort( pipe_hnd, mem_ctx ); 01129 01130 if ( !NT_STATUS_IS_OK( hnd->status ) ) 01131 return CAC_FAILURE; 01132 01133 return CAC_SUCCESS; 01134 }
| struct rpc_pipe_client* cac_GetPipe | ( | CacServerHandle * | hnd, | |
| int | pi_idx | |||
| ) |
libmsrpc_internal.c の 31 行で定義されています。
参照先 _CACSERVERHANDLE::_internal・cac_GetServer()・_SMBCSRV::cli・rpc_pipe_client::next・rpc_pipe_client::pipe_idx・cli_state::pipe_list・CacServerHandleInternal::pipes・_CACSERVERHANDLE::status.
参照元 cac_AbortShutdown()・cac_LsaAddPrivileges()・cac_LsaClearPrivileges()・cac_LsaClosePolicy()・cac_LsaEnumAccountRights()・cac_LsaEnumPrivileges()・cac_LsaEnumSids()・cac_LsaEnumTrustedDomains()・cac_LsaFetchSid()・cac_LsaGetNamesFromSids()・cac_LsaGetSecurityObject()・cac_LsaGetSidsFromNames()・cac_LsaOpenAccount()・cac_LsaOpenPolicy()・cac_LsaOpenTrustedDomain()・cac_LsaQueryInfoPolicy()・cac_LsaQueryTrustedDomainInfo()・cac_LsaRemovePrivileges()・cac_LsaSetPrivileges()・cac_RegClose()・cac_RegConnect()・cac_RegCreateKey()・cac_RegDeleteKey()・cac_RegDeleteValue()・cac_RegEnumKeys()・cac_RegEnumValues()・cac_RegGetKeySecurity()・cac_RegGetVersion()・cac_RegOpenKey()・cac_RegQueryKeyInfo()・cac_RegQueryValue()・cac_RegSaveKey()・cac_RegSetKeySecurity()・cac_RegSetValue()・cac_SamAddAliasMember()・cac_SamAddGroupMember()・cac_SamClearAliasMembers()・cac_SamClearGroupMembers()・cac_SamClose()・cac_SamConnect()・cac_SamCreateAlias()・cac_SamCreateGroup()・cac_SamCreateUser()・cac_SamDeleteAlias()・cac_SamDeleteGroup()・cac_SamDeleteUser()・cac_SamDisableUser()・cac_SamEnableUser()・cac_SamEnumAliases()・cac_SamEnumGroups()・cac_SamEnumUsers()・cac_SamGetAliasInfo()・cac_SamGetAliasMembers()・cac_SamGetDisplayInfo()・cac_SamGetDomainInfo()・cac_SamGetDomainInfoCtr()・cac_SamGetGroupInfo()・cac_SamGetGroupMembers()・cac_SamGetGroupsForUser()・cac_SamGetNamesFromRids()・cac_SamGetRidsFromNames()・cac_SamGetSecurityObject()・cac_SamGetUserInfo()・cac_SamGetUserInfoCtr()・cac_SamLookupDomain()・cac_SamOpenAlias()・cac_SamOpenDomain()・cac_SamOpenGroup()・cac_SamOpenUser()・cac_SamRemoveAliasMember()・cac_SamRemoveGroupMember()・cac_SamRenameGroup()・cac_SamRenameUser()・cac_SamSetAliasInfo()・cac_SamSetAliasMembers()・cac_SamSetGroupInfo()・cac_SamSetGroupMembers()・cac_SamSetPassword()・cac_SamSetUserInfo()・cac_SamSetUserInfoCtr()・cac_SamUserChangePasswd()・cac_Shutdown()・cac_SvcClose()・cac_SvcContinueService()・cac_SvcControlService()・cac_SvcEnumServices()・cac_SvcGetDisplayName()・cac_SvcGetServiceConfig()・cac_SvcGetStatus()・cac_SvcOpenService()・cac_SvcPauseService()・cac_SvcStartService()・cac_SvcStopService()・cac_WaitForService().
00032 { 00033 SMBCSRV *srv = NULL; 00034 struct rpc_pipe_client *pipe_hnd = NULL; 00035 00036 if ( !hnd ) { 00037 return NULL; 00038 } 00039 00040 if ( hnd->_internal.pipes[pi_idx] == False ) { 00041 hnd->status = NT_STATUS_INVALID_HANDLE; 00042 return NULL; 00043 } 00044 00045 srv = cac_GetServer( hnd ); 00046 if ( !srv ) { 00047 hnd->status = NT_STATUS_INVALID_CONNECTION; 00048 return NULL; 00049 } 00050 00051 pipe_hnd = srv->cli->pipe_list; 00052 00053 while ( pipe_hnd != NULL && pipe_hnd->pipe_idx != pi_idx ) { 00054 pipe_hnd = pipe_hnd->next; 00055 } 00056 00057 return pipe_hnd; 00058 }
1.4.7