As contribuições do usuário no php.net têm um artigo sobre como executar um procedimento armazenado usando o sqlsrv-prepare.
Caso isso seja removido das contribuições do usuário do php.net no futuro, aqui está o que havia listado:
$procedure_params = array(
array(&$myparams['Item_ID'], SQLSRV_PARAM_OUT),
array(&$myparams['Item_Name'], SQLSRV_PARAM_OUT)
);
// EXEC the procedure, {call stp_Create_Item (@Item_ID = ?, @Item_Name = ?)} seems to fail with various errors in my experiments
$sql = "EXEC stp_Create_Item @Item_ID = ?, @Item_Name = ?";
$stmt = sqlsrv_prepare($conn, $sql, $procedure_params);
Aqui está a página do manual, http://php.net/manual/en/ function.sqlsrv-prepare.php