カテゴリ: 仕事, PCサポート

ページ: << 1 ... 2 3 4 5 6 7 8 9 10 11 12 ... 27 >>

Windows Media Serviceの制御 on VBScript

パーマリンク 2009/03/31 23:31:41 著者: kumaold メール
カテゴリ: 仕事, サーバ関係, プログラミング, WSH/VBScript

前回はWindows Media Serviceサービス単位での制御まではしましたが、公開ポイントごとの操作などができないと運用上実用的ではありません。

もちろん標準ではGUI画面からしか制御は無理で、コマンドラインから制御するためのコマンドなども一切ありません。


日本語の解説やドキュメントも一切なく、どうも色々調べてみる限りでは「APIだけは提供してやるんでC#, C++, VBで自分で作れ」のようです。

そこで一番取り掛かりやすいVBScriptにて制御スクリプトを作成しました。


まずは、「Windows Server 2003 SP1 Platform SDK(Windows Media サービス 9 シリーズ SDK)」をインストール。(Windows Server 2008でも同じ)

参考になるのはProgramming Reference (Visual Basic .NET)のみ。

これ以外に資料があるわけでもなく、しかもVBと若干オブジェクト名・メソッド名が違っていたりしたので苦労しました。


まだ公開まではできない状態なので主なところだけ抜粋。

'WMSのCOMオブジェクトを作成
Set Server = CreateObject("WMSServer.Server")

'公開ポイントの数取得(これでForループにする)
PubPointCnt = Server.PublishingPoints.Count

'i番目の公開ポイントを参照
Set PubPoint = Server.PublishingPoints.Item(i)

'公開ポイントを開始する
PubPoint.Start()

'公開ポイントを停止する
PubPoint.Stop()

'公開ポイントのソースのパスを指定
PubPoint.Path = "http://example.com/publishing_point"

'公開ポイントの現在の再生者数を取得
Player = PubPoint.Players.Count

この辺をコマンドラインから引数を渡して操作できるようにすることで、PHPからでもsystem()やexec()などで操作・データ取得ができるわけです。

一応これで汎用性の高い制御用スクリプトはできたのであとは組み込むだけです。
 

[改訂版] VBScriptポケットリファレンス (POCKET REFERENCE)[改訂版] VBScriptポケットリファレンス (POCKET REFERENCE)
(株)アンク
技術評論社 2006-05-30
おすすめ平均

CakePHPでパラメータにスラッシュが使えない

パーマリンク 2009/03/04 23:45:27 著者: kumaold メール
カテゴリ: 仕事, プログラミング, PHP, CakePHP

アクセス解析の製作中、CakePHPでURLにスラッシュ(/)を含むパラメータの取り扱いに苦労したので書いておきます。


アクセス解析に限らず、URLを扱うような場面ではURLのパラメータにスラッシュを使いたいということがあると思います。

もちろん、urlencode()で%2Fにしてから渡すのは当たり前ですが、それでもCakePHPのコントローラの引数で普通に受け取ることができません。


以下のようなmod_rewriteの問題もありますが、とりあえずそれは抜きにして。

mod_rewriteの「%2F」問題の解決法(ElectronicBrain is eating BreakFast)


どうやら内部処理で初めにurldecode()をしているのか、%2Fもデコードされて通常のスラッシュ(/)と同等となり、区切りがずれてしまうのが原因のようです。

URLのパラメータとしてスラッシュを渡すと処理ができない(cakephp.jp)


通常のGET(?url=....&....)で渡せば解決するのは分かりきったことですが、他に3つほどパラメータを渡す関係でURLが長くなるのも嫌です。

方法としては、$this->params['url']['url']を毎度正規表現で分割する手もありですが、面倒なので極力やりたくありません。

・・・・・・・

そこで仕方なく、スラッシュを置換する方法をとることにしました。

 置換前:www.example.com/hoge/path/
  ↓
 置換後:www.example.com__hoge__path__


別にアンダーバーでなくてもよかったんですが、一番見た目がすっきりするので。

これなら、ファイル名にまず2連アンダーバー(__)が使われることもなく、_で始まるか終わるファイル/ディレクトリ名もまずないので大丈夫かと。


これをビューにエンコード用関数、コンポーネントにデコード用関数を実装することで解決できました。


NO IMAGEスラッシュ自伝 (仮) (単行本)
シンコーミュージック 2009-03-31

type="text/javascript">
type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js">

コピーHDDの相性問題 on UnixWare

パーマリンク 2009/02/27 12:45:08 著者: kumaold メール
カテゴリ: 仕事, PCサポート

今日も昨日の続きで多治見まで出向いてきました。

昨日のDOS起動不可PCのために、今日は動作確認済のデスクトップのテストマシンをしっかり用意をして万全の体制で行きました。


必要作業を終えて、改めて例の問題のマシンと悪戦苦闘!

HDDはもともとIBM製の2.1GBでOSにはUnixWare 2.xです。
これを単純コピーしてもカーネルパニックで起動できないんですよ。

The system is coming up. Please wait.

PANIC: vfs_mountroot: cannot mount root
Processor registers:
[以下略]

交換先HDDが80GBだと容量が大きすぎて認識が怪しいはずなので、今度こそテストマシンにてDOSを起動しそこから論理容量を減らします。

これでHDDのROMを一部書き換え、見た目の全容量を任意に小さくできます。


ある程度小さくすればうまくいくはず、と思ってエラー→容量縮小…を繰り返し、最終的に元HDDと同容量になったのに相変わらず同じエラーで起動せず。


もう迷宮入りかな~と思いかけたとき、なんとなく持参したテストマシンの40GB HDD(Western Digital製WD400)にだめもとでコピーしてみました。

まったく同じ方法でコピーしたのに今回に限って詳細なエラーメッセージが。

WARNING: Disk Driver (HA 0 TC 0), Unit 0, : disk size parameters have changed.
Filesystems on this disk can not be accessed, see advtoc(1m) for details.


どうも以前とディスクの容量情報が違うので起動できません、とのことなので元と完全一緒のLBA4233600(4200Cyl/16Head/63Sec)に揃えました。

それだけで見事完全起動し、動作にも特に問題ありませんでした。


Western Digital 40GはOKで、Seagateの80GはNGとか謎にもほどがあるw

まったくネット上にも情報がないんで地道にテストするしかないなぁ

ハード・ディスク装置の構造と応用―記録・再生の原理とメカニズム&インターフェース (C&E基礎解説シリーズ)ハード・ディスク装置の構造と応用―記録・再生の原理とメカニズム&インターフェース (C&E基礎解説シリーズ)
岡村 博司

おすすめ平均

 

type="text/javascript">
type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js">

<< 1 ... 2 3 4 5 6 7 8 9 10 11 12 ... 27 >>

一六社で働くITエンジニアのブログ。

普段はWeb系システム開発と地元のPCサポートをやってます。いつの間にやら会社に8年目。
技術ネタ中心に日々の仕事と生活と趣味やらを気が向いたら書いてます。

2017年3月
 << <   > >>
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  

検索

XMLフィード

16ブログ     powered by b2evolution free blog software