static BOOL api_svcctl_close_service | ( | pipes_struct * | p | ) | [static] |
srv_svcctl.c の 29 行で定義されています。
参照先 _svcctl_close_service()・_input_data::data・pipes_struct::in_data・pipes_struct::out_data・_output_data::rdata・SVCCTL_R_CLOSE_SERVICE::status・svcctl_io_q_close_service()・svcctl_io_r_close_service().
00030 { 00031 SVCCTL_Q_CLOSE_SERVICE q_u; 00032 SVCCTL_R_CLOSE_SERVICE r_u; 00033 prs_struct *data = &p->in_data.data; 00034 prs_struct *rdata = &p->out_data.rdata; 00035 00036 ZERO_STRUCT(q_u); 00037 ZERO_STRUCT(r_u); 00038 00039 if(!svcctl_io_q_close_service("", &q_u, data, 0)) 00040 return False; 00041 00042 r_u.status = _svcctl_close_service(p, &q_u, &r_u); 00043 00044 if(!svcctl_io_r_close_service("", &r_u, rdata, 0)) 00045 return False; 00046 00047 return True; 00048 }
static BOOL api_svcctl_open_scmanager | ( | pipes_struct * | p | ) | [static] |
srv_svcctl.c の 53 行で定義されています。
参照先 _svcctl_open_scmanager()・_input_data::data・pipes_struct::in_data・pipes_struct::out_data・_output_data::rdata・SVCCTL_R_OPEN_SCMANAGER::status・svcctl_io_q_open_scmanager()・svcctl_io_r_open_scmanager().
00054 { 00055 SVCCTL_Q_OPEN_SCMANAGER q_u; 00056 SVCCTL_R_OPEN_SCMANAGER r_u; 00057 prs_struct *data = &p->in_data.data; 00058 prs_struct *rdata = &p->out_data.rdata; 00059 00060 ZERO_STRUCT(q_u); 00061 ZERO_STRUCT(r_u); 00062 00063 if(!svcctl_io_q_open_scmanager("", &q_u, data, 0)) 00064 return False; 00065 00066 r_u.status = _svcctl_open_scmanager(p, &q_u, &r_u); 00067 00068 if(!svcctl_io_r_open_scmanager("", &r_u, rdata, 0)) 00069 return False; 00070 00071 return True; 00072 }
static BOOL api_svcctl_open_service | ( | pipes_struct * | p | ) | [static] |
srv_svcctl.c の 77 行で定義されています。
参照先 _svcctl_open_service()・_input_data::data・pipes_struct::in_data・pipes_struct::out_data・_output_data::rdata・SVCCTL_R_OPEN_SERVICE::status・svcctl_io_q_open_service()・svcctl_io_r_open_service().
00078 { 00079 SVCCTL_Q_OPEN_SERVICE q_u; 00080 SVCCTL_R_OPEN_SERVICE r_u; 00081 prs_struct *data = &p->in_data.data; 00082 prs_struct *rdata = &p->out_data.rdata; 00083 00084 ZERO_STRUCT(q_u); 00085 ZERO_STRUCT(r_u); 00086 00087 if(!svcctl_io_q_open_service("", &q_u, data, 0)) 00088 return False; 00089 00090 r_u.status = _svcctl_open_service(p, &q_u, &r_u); 00091 00092 if(!svcctl_io_r_open_service("", &r_u, rdata, 0)) 00093 return False; 00094 00095 return True; 00096 }
static BOOL api_svcctl_get_display_name | ( | pipes_struct * | p | ) | [static] |
srv_svcctl.c の 101 行で定義されています。
参照先 _svcctl_get_display_name()・_input_data::data・pipes_struct::in_data・pipes_struct::out_data・_output_data::rdata・SVCCTL_R_GET_DISPLAY_NAME::status・svcctl_io_q_get_display_name()・svcctl_io_r_get_display_name().
00102 { 00103 SVCCTL_Q_GET_DISPLAY_NAME q_u; 00104 SVCCTL_R_GET_DISPLAY_NAME r_u; 00105 prs_struct *data = &p->in_data.data; 00106 prs_struct *rdata = &p->out_data.rdata; 00107 00108 ZERO_STRUCT(q_u); 00109 ZERO_STRUCT(r_u); 00110 00111 if(!svcctl_io_q_get_display_name("", &q_u, data, 0)) 00112 return False; 00113 00114 r_u.status = _svcctl_get_display_name(p, &q_u, &r_u); 00115 00116 if(!svcctl_io_r_get_display_name("", &r_u, rdata, 0)) 00117 return False; 00118 00119 return True; 00120 }
static BOOL api_svcctl_query_status | ( | pipes_struct * | p | ) | [static] |
srv_svcctl.c の 125 行で定義されています。
参照先 _svcctl_query_status()・_input_data::data・pipes_struct::in_data・pipes_struct::out_data・_output_data::rdata・SVCCTL_R_QUERY_STATUS::status・svcctl_io_q_query_status()・svcctl_io_r_query_status().
00126 { 00127 SVCCTL_Q_QUERY_STATUS q_u; 00128 SVCCTL_R_QUERY_STATUS r_u; 00129 prs_struct *data = &p->in_data.data; 00130 prs_struct *rdata = &p->out_data.rdata; 00131 00132 ZERO_STRUCT(q_u); 00133 ZERO_STRUCT(r_u); 00134 00135 if(!svcctl_io_q_query_status("", &q_u, data, 0)) 00136 return False; 00137 00138 r_u.status = _svcctl_query_status(p, &q_u, &r_u); 00139 00140 if(!svcctl_io_r_query_status("", &r_u, rdata, 0)) 00141 return False; 00142 00143 return True; 00144 }
static BOOL api_svcctl_enum_services_status | ( | pipes_struct * | p | ) | [static] |
srv_svcctl.c の 149 行で定義されています。
参照先 _svcctl_enum_services_status()・_input_data::data・pipes_struct::in_data・pipes_struct::out_data・_output_data::rdata・SVCCTL_R_ENUM_SERVICES_STATUS::status・svcctl_io_q_enum_services_status()・svcctl_io_r_enum_services_status().
00150 { 00151 SVCCTL_Q_ENUM_SERVICES_STATUS q_u; 00152 SVCCTL_R_ENUM_SERVICES_STATUS r_u; 00153 prs_struct *data = &p->in_data.data; 00154 prs_struct *rdata = &p->out_data.rdata; 00155 00156 ZERO_STRUCT(q_u); 00157 ZERO_STRUCT(r_u); 00158 00159 if(!svcctl_io_q_enum_services_status("", &q_u, data, 0)) 00160 return False; 00161 00162 r_u.status = _svcctl_enum_services_status(p, &q_u, &r_u); 00163 00164 if(!svcctl_io_r_enum_services_status("", &r_u, rdata, 0)) 00165 return False; 00166 00167 return True; 00168 }
static BOOL api_svcctl_query_service_status_ex | ( | pipes_struct * | p | ) | [static] |
srv_svcctl.c の 172 行で定義されています。
参照先 _svcctl_query_service_status_ex()・_input_data::data・pipes_struct::in_data・pipes_struct::out_data・_output_data::rdata・SVCCTL_R_QUERY_SERVICE_STATUSEX::status・svcctl_io_q_query_service_status_ex()・svcctl_io_r_query_service_status_ex().
00173 { 00174 SVCCTL_Q_QUERY_SERVICE_STATUSEX q_u; 00175 SVCCTL_R_QUERY_SERVICE_STATUSEX r_u; 00176 prs_struct *data = &p->in_data.data; 00177 prs_struct *rdata = &p->out_data.rdata; 00178 00179 ZERO_STRUCT(q_u); 00180 ZERO_STRUCT(r_u); 00181 00182 if(!svcctl_io_q_query_service_status_ex("", &q_u, data, 0)) 00183 return False; 00184 00185 r_u.status = _svcctl_query_service_status_ex(p, &q_u, &r_u); 00186 00187 if(!svcctl_io_r_query_service_status_ex("", &r_u, rdata, 0)) 00188 return False; 00189 00190 return True; 00191 }
static BOOL api_svcctl_enum_dependent_services | ( | pipes_struct * | p | ) | [static] |
srv_svcctl.c の 195 行で定義されています。
参照先 _svcctl_enum_dependent_services()・_input_data::data・pipes_struct::in_data・pipes_struct::out_data・_output_data::rdata・SVCCTL_R_ENUM_DEPENDENT_SERVICES::status・svcctl_io_q_enum_dependent_services()・svcctl_io_r_enum_dependent_services().
00196 { 00197 SVCCTL_Q_ENUM_DEPENDENT_SERVICES q_u; 00198 SVCCTL_R_ENUM_DEPENDENT_SERVICES r_u; 00199 prs_struct *data = &p->in_data.data; 00200 prs_struct *rdata = &p->out_data.rdata; 00201 00202 ZERO_STRUCT(q_u); 00203 ZERO_STRUCT(r_u); 00204 00205 if(!svcctl_io_q_enum_dependent_services("", &q_u, data, 0)) 00206 return False; 00207 00208 r_u.status = _svcctl_enum_dependent_services(p, &q_u, &r_u); 00209 00210 if(!svcctl_io_r_enum_dependent_services("", &r_u, rdata, 0)) 00211 return False; 00212 00213 return True; 00214 }
static BOOL api_svcctl_start_service | ( | pipes_struct * | p | ) | [static] |
srv_svcctl.c の 219 行で定義されています。
参照先 _svcctl_start_service()・_input_data::data・pipes_struct::in_data・pipes_struct::out_data・_output_data::rdata・SVCCTL_R_START_SERVICE::status・svcctl_io_q_start_service()・svcctl_io_r_start_service().
00220 { 00221 SVCCTL_Q_START_SERVICE q_u; 00222 SVCCTL_R_START_SERVICE r_u; 00223 prs_struct *data = &p->in_data.data; 00224 prs_struct *rdata = &p->out_data.rdata; 00225 00226 ZERO_STRUCT(q_u); 00227 ZERO_STRUCT(r_u); 00228 00229 if(!svcctl_io_q_start_service("", &q_u, data, 0)) 00230 return False; 00231 00232 r_u.status = _svcctl_start_service(p, &q_u, &r_u); 00233 00234 if(!svcctl_io_r_start_service("", &r_u, rdata, 0)) 00235 return False; 00236 00237 return True; 00238 }
static BOOL api_svcctl_control_service | ( | pipes_struct * | p | ) | [static] |
srv_svcctl.c の 243 行で定義されています。
参照先 _svcctl_control_service()・_input_data::data・pipes_struct::in_data・pipes_struct::out_data・_output_data::rdata・SVCCTL_R_CONTROL_SERVICE::status・svcctl_io_q_control_service()・svcctl_io_r_control_service().
00244 { 00245 SVCCTL_Q_CONTROL_SERVICE q_u; 00246 SVCCTL_R_CONTROL_SERVICE r_u; 00247 prs_struct *data = &p->in_data.data; 00248 prs_struct *rdata = &p->out_data.rdata; 00249 00250 ZERO_STRUCT(q_u); 00251 ZERO_STRUCT(r_u); 00252 00253 if(!svcctl_io_q_control_service("", &q_u, data, 0)) 00254 return False; 00255 00256 r_u.status = _svcctl_control_service(p, &q_u, &r_u); 00257 00258 if(!svcctl_io_r_control_service("", &r_u, rdata, 0)) 00259 return False; 00260 00261 return True; 00262 }
static BOOL api_svcctl_query_service_config | ( | pipes_struct * | p | ) | [static] |
srv_svcctl.c の 267 行で定義されています。
参照先 _svcctl_query_service_config()・_input_data::data・pipes_struct::in_data・pipes_struct::out_data・_output_data::rdata・SVCCTL_R_QUERY_SERVICE_CONFIG::status・svcctl_io_q_query_service_config()・svcctl_io_r_query_service_config().
00268 { 00269 SVCCTL_Q_QUERY_SERVICE_CONFIG q_u; 00270 SVCCTL_R_QUERY_SERVICE_CONFIG r_u; 00271 prs_struct *data = &p->in_data.data; 00272 prs_struct *rdata = &p->out_data.rdata; 00273 00274 ZERO_STRUCT(q_u); 00275 ZERO_STRUCT(r_u); 00276 00277 if(!svcctl_io_q_query_service_config("", &q_u, data, 0)) 00278 return False; 00279 00280 r_u.status = _svcctl_query_service_config(p, &q_u, &r_u); 00281 00282 if(!svcctl_io_r_query_service_config("", &r_u, rdata, 0)) 00283 return False; 00284 00285 return True; 00286 }
static BOOL api_svcctl_query_service_config2 | ( | pipes_struct * | p | ) | [static] |
srv_svcctl.c の 291 行で定義されています。
参照先 _svcctl_query_service_config2()・_input_data::data・pipes_struct::in_data・pipes_struct::out_data・_output_data::rdata・SVCCTL_R_QUERY_SERVICE_CONFIG2::status・svcctl_io_q_query_service_config2()・svcctl_io_r_query_service_config2().
00292 { 00293 SVCCTL_Q_QUERY_SERVICE_CONFIG2 q_u; 00294 SVCCTL_R_QUERY_SERVICE_CONFIG2 r_u; 00295 prs_struct *data = &p->in_data.data; 00296 prs_struct *rdata = &p->out_data.rdata; 00297 00298 ZERO_STRUCT(q_u); 00299 ZERO_STRUCT(r_u); 00300 00301 if(!svcctl_io_q_query_service_config2("", &q_u, data, 0)) 00302 return False; 00303 00304 r_u.status = _svcctl_query_service_config2(p, &q_u, &r_u); 00305 00306 if(!svcctl_io_r_query_service_config2("", &r_u, rdata, 0)) 00307 return False; 00308 00309 return True; 00310 }
static BOOL api_svcctl_lock_service_db | ( | pipes_struct * | p | ) | [static] |
srv_svcctl.c の 315 行で定義されています。
参照先 _svcctl_lock_service_db()・_input_data::data・pipes_struct::in_data・pipes_struct::out_data・_output_data::rdata・SVCCTL_R_LOCK_SERVICE_DB::status・svcctl_io_q_lock_service_db()・svcctl_io_r_lock_service_db().
00316 { 00317 SVCCTL_Q_LOCK_SERVICE_DB q_u; 00318 SVCCTL_R_LOCK_SERVICE_DB r_u; 00319 prs_struct *data = &p->in_data.data; 00320 prs_struct *rdata = &p->out_data.rdata; 00321 00322 ZERO_STRUCT(q_u); 00323 ZERO_STRUCT(r_u); 00324 00325 if(!svcctl_io_q_lock_service_db("", &q_u, data, 0)) 00326 return False; 00327 00328 r_u.status = _svcctl_lock_service_db(p, &q_u, &r_u); 00329 00330 if(!svcctl_io_r_lock_service_db("", &r_u, rdata, 0)) 00331 return False; 00332 00333 return True; 00334 }
static BOOL api_svcctl_unlock_service_db | ( | pipes_struct * | p | ) | [static] |
srv_svcctl.c の 340 行で定義されています。
参照先 _svcctl_unlock_service_db()・_input_data::data・pipes_struct::in_data・pipes_struct::out_data・_output_data::rdata・SVCCTL_R_UNLOCK_SERVICE_DB::status・svcctl_io_q_unlock_service_db()・svcctl_io_r_unlock_service_db().
00341 { 00342 SVCCTL_Q_UNLOCK_SERVICE_DB q_u; 00343 SVCCTL_R_UNLOCK_SERVICE_DB r_u; 00344 prs_struct *data = &p->in_data.data; 00345 prs_struct *rdata = &p->out_data.rdata; 00346 00347 ZERO_STRUCT(q_u); 00348 ZERO_STRUCT(r_u); 00349 00350 if(!svcctl_io_q_unlock_service_db("", &q_u, data, 0)) 00351 return False; 00352 00353 r_u.status = _svcctl_unlock_service_db(p, &q_u, &r_u); 00354 00355 if(!svcctl_io_r_unlock_service_db("", &r_u, rdata, 0)) 00356 return False; 00357 00358 return True; 00359 }
static BOOL api_svcctl_query_security_sec | ( | pipes_struct * | p | ) | [static] |
srv_svcctl.c の 364 行で定義されています。
参照先 _svcctl_query_service_sec()・_input_data::data・pipes_struct::in_data・pipes_struct::out_data・_output_data::rdata・SVCCTL_R_QUERY_SERVICE_SEC::status・svcctl_io_q_query_service_sec()・svcctl_io_r_query_service_sec().
00365 { 00366 SVCCTL_Q_QUERY_SERVICE_SEC q_u; 00367 SVCCTL_R_QUERY_SERVICE_SEC r_u; 00368 prs_struct *data = &p->in_data.data; 00369 prs_struct *rdata = &p->out_data.rdata; 00370 00371 ZERO_STRUCT(q_u); 00372 ZERO_STRUCT(r_u); 00373 00374 if(!svcctl_io_q_query_service_sec("", &q_u, data, 0)) 00375 return False; 00376 00377 r_u.status = _svcctl_query_service_sec(p, &q_u, &r_u); 00378 00379 if(!svcctl_io_r_query_service_sec("", &r_u, rdata, 0)) 00380 return False; 00381 00382 return True; 00383 }
static BOOL api_svcctl_set_security_sec | ( | pipes_struct * | p | ) | [static] |
srv_svcctl.c の 388 行で定義されています。
参照先 _svcctl_set_service_sec()・_input_data::data・pipes_struct::in_data・pipes_struct::out_data・_output_data::rdata・SVCCTL_R_SET_SERVICE_SEC::status・svcctl_io_q_set_service_sec()・svcctl_io_r_set_service_sec().
00389 { 00390 SVCCTL_Q_SET_SERVICE_SEC q_u; 00391 SVCCTL_R_SET_SERVICE_SEC r_u; 00392 prs_struct *data = &p->in_data.data; 00393 prs_struct *rdata = &p->out_data.rdata; 00394 00395 ZERO_STRUCT(q_u); 00396 ZERO_STRUCT(r_u); 00397 00398 if(!svcctl_io_q_set_service_sec("", &q_u, data, 0)) 00399 return False; 00400 00401 r_u.status = _svcctl_set_service_sec(p, &q_u, &r_u); 00402 00403 if(!svcctl_io_r_set_service_sec("", &r_u, rdata, 0)) 00404 return False; 00405 00406 return True; 00407 }
void svcctl_get_pipe_fns | ( | struct api_struct ** | fns, | |
int * | n_fns | |||
) |
srv_svcctl.c の 435 行で定義されています。
参照先 api_svcctl_cmds.
参照元 get_pipe_fns().
00436 { 00437 *fns = api_svcctl_cmds; 00438 *n_fns = sizeof(api_svcctl_cmds) / sizeof(struct api_struct); 00439 }
NTSTATUS rpc_svcctl_init | ( | void | ) |
srv_svcctl.c の 441 行で定義されています。
参照先 api_svcctl_cmds・rpc_pipe_register_commands().
00442 { 00443 return rpc_pipe_register_commands(SMB_RPC_INTERFACE_VERSION, "svcctl", "ntsvcs", api_svcctl_cmds, 00444 sizeof(api_svcctl_cmds) / sizeof(struct api_struct)); 00445 }
struct api_struct api_svcctl_cmds[] [static] |
初期値:
{ { "SVCCTL_CLOSE_SERVICE" , SVCCTL_CLOSE_SERVICE , api_svcctl_close_service }, { "SVCCTL_OPEN_SCMANAGER_W" , SVCCTL_OPEN_SCMANAGER_W , api_svcctl_open_scmanager }, { "SVCCTL_OPEN_SERVICE_W" , SVCCTL_OPEN_SERVICE_W , api_svcctl_open_service }, { "SVCCTL_GET_DISPLAY_NAME" , SVCCTL_GET_DISPLAY_NAME , api_svcctl_get_display_name }, { "SVCCTL_QUERY_STATUS" , SVCCTL_QUERY_STATUS , api_svcctl_query_status }, { "SVCCTL_QUERY_SERVICE_CONFIG_W" , SVCCTL_QUERY_SERVICE_CONFIG_W , api_svcctl_query_service_config }, { "SVCCTL_QUERY_SERVICE_CONFIG2_W" , SVCCTL_QUERY_SERVICE_CONFIG2_W , api_svcctl_query_service_config2 }, { "SVCCTL_ENUM_SERVICES_STATUS_W" , SVCCTL_ENUM_SERVICES_STATUS_W , api_svcctl_enum_services_status }, { "SVCCTL_ENUM_DEPENDENT_SERVICES_W" , SVCCTL_ENUM_DEPENDENT_SERVICES_W , api_svcctl_enum_dependent_services }, { "SVCCTL_START_SERVICE_W" , SVCCTL_START_SERVICE_W , api_svcctl_start_service }, { "SVCCTL_CONTROL_SERVICE" , SVCCTL_CONTROL_SERVICE , api_svcctl_control_service }, { "SVCCTL_QUERY_SERVICE_STATUSEX_W" , SVCCTL_QUERY_SERVICE_STATUSEX_W , api_svcctl_query_service_status_ex }, { "SVCCTL_LOCK_SERVICE_DB" , SVCCTL_LOCK_SERVICE_DB , api_svcctl_lock_service_db }, { "SVCCTL_UNLOCK_SERVICE_DB" , SVCCTL_UNLOCK_SERVICE_DB , api_svcctl_unlock_service_db }, { "SVCCTL_QUERY_SERVICE_SEC" , SVCCTL_QUERY_SERVICE_SEC , api_svcctl_query_security_sec }, { "SVCCTL_SET_SERVICE_SEC" , SVCCTL_SET_SERVICE_SEC , api_svcctl_set_security_sec } }
srv_svcctl.c の 414 行で定義されています。